package com.chinaztt.mes.warehouse.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.mes.warehouse.dto.DeliveryDetailDTO; import com.chinaztt.mes.warehouse.dto.ReceivingDetailDTO; import com.chinaztt.mes.warehouse.dto.ReceivingMainDTO; import com.chinaztt.mes.warehouse.entity.DeliveryDetail; import com.chinaztt.mes.warehouse.entity.ReceivingDetail; import com.chinaztt.mes.warehouse.entity.ReceivingMain; import com.chinaztt.mes.warehouse.service.DeliveryDetailService; import com.chinaztt.mes.warehouse.service.ReceivingDetailService; import com.chinaztt.mes.warehouse.service.ReceivingMainService; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; /** * 收货主表 * * @author cxf * @date 2020-10-12 14:11:33 */ @RestController @AllArgsConstructor @RequestMapping("/receiving") @Api(value = "receiving", tags = "收货主表管理") public class ReceivingController { private final ReceivingMainService receivingMainService; private final ReceivingDetailService receivingDetailService; private final DeliveryDetailService deliveryDetailService; /** * 分页查询 * * @param page 分页对象 * @param receivingMainDTO 收货主表 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('warehouse_receiving_view')") public R getWarehouseReceivingMainPage(Page page, ReceivingMainDTO receivingMainDTO) { return R.ok(receivingMainService.getWarehouseReceivingMainPage(page, QueryWrapperUtil.gen(receivingMainDTO), null)); } /** * 通过id查询收货主表 * * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}") @PreAuthorize("@pms.hasPermission('warehouse_receiving_view')") public R getById(@PathVariable("id") Long id) { return R.ok(receivingMainService.getById(id)); } /** * 新增收货主表 * * @param receivingMain 收货主表 * @return R */ @ApiOperation(value = "新增收货主表", notes = "新增收货主表") @SysLog("新增收货主表") @PostMapping @PreAuthorize("@pms.hasPermission('warehouse_receiving_add')") public R save(@RequestBody ReceivingMain receivingMain) { receivingMainService.save(receivingMain); return R.ok(receivingMain.getId()); } /** * 修改收货主表 * * @param receivingMain 收货主表 * @return R */ @ApiOperation(value = "修改收货主表", notes = "修改收货主表") @SysLog("修改收货主表") @PutMapping @PreAuthorize("@pms.hasPermission('warehouse_receiving_edit')") public R updateById(@RequestBody ReceivingMain receivingMain) { receivingMainService.updateById(receivingMain); return R.ok(receivingMain.getId()); } /** * 通过id删除收货主表 * * @param id id * @return R */ @ApiOperation(value = "通过id删除收货主表", notes = "通过id删除收货主表") @SysLog("通过id删除收货主表") @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('warehouse_receiving_del')") public R removeById(@PathVariable Long id) { ReceivingMain receivingMain = receivingMainService.getById(id); if (receivingMain.getReceiveStatus()) { throw new RuntimeException("已审核,无法删除"); } return R.ok(receivingMainService.deleteById(id)); } /** * 分页查询 * * @param page 分页对象 * @param receivingDetailDTO 收货明细表 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/receivingDetail/page") public R getReceivingDetailPage(Page page, ReceivingDetailDTO receivingDetailDTO) { return R.ok(receivingDetailService.getReceivingDetailPage(page, QueryWrapperUtil.gen(receivingDetailDTO))); } /** * 通过id查询收货明细表 * * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/receivingDetail/{id}") public R getReceivingDetailById(@PathVariable("id") Long id) { return R.ok(receivingDetailService.getReceivingDetailById(id)); } /** * 新增收货明细表 * * @param receivingDetail 收货明细表 * @return R */ @ApiOperation(value = "新增收货明细表", notes = "新增收货明细表") @SysLog("新增收货明细表") @PostMapping("/receivingDetail") public R save(@RequestBody ReceivingDetail receivingDetail) { return R.ok(receivingDetailService.save(receivingDetail)); } /** * 修改收货明细表 * * @param receivingDetail 收货明细表 * @return R */ @ApiOperation(value = "修改收货明细表", notes = "修改收货明细表") @SysLog("修改收货明细表") @PutMapping("/receivingDetail") public R updateById(@RequestBody ReceivingDetail receivingDetail) { return R.ok(receivingDetailService.updateById(receivingDetail)); } /** * 通过id删除收货明细表 * * @param id id * @return R */ @ApiOperation(value = "通过id删除收货明细表", notes = "通过id删除收货明细表") @SysLog("通过id删除收货明细表") @DeleteMapping("/receivingDetail/{id}") public R removeReceivingDetailById(@PathVariable Long id) { return R.ok(receivingDetailService.deleteById(id)); } /** * 分页查询 * * @param page 分页对象 * @param deliveryDetailDTO 送货清单表 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/deliveryDetail/page") public R getDeliveryDetailPage(Page page, DeliveryDetailDTO deliveryDetailDTO) { return R.ok(deliveryDetailService.getDeliveryDetailPage(page, QueryWrapperUtil.gen(deliveryDetailDTO))); } /** * 通过id查询送货清单表 * * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/deliveryDetail/{id}") public R getDeliveryDetailById(@PathVariable("id") Long id) { return R.ok(deliveryDetailService.getDeliveryDetailById(id)); } /** * 新增送货清单表 * * @param deliveryDetail 送货清单表 * @return R */ @ApiOperation(value = "新增送货清单表", notes = "新增送货清单表") @SysLog("新增送货清单表") @PostMapping("/deliveryDetail") public R save(@RequestBody DeliveryDetail deliveryDetail) { return R.ok(deliveryDetailService.save(deliveryDetail)); } /** * 修改送货清单表 * * @param deliveryDetail 送货清单表 * @return R */ @ApiOperation(value = "修改送货清单表", notes = "修改送货清单表") @SysLog("修改送货清单表") @PutMapping("/deliveryDetail") public R updateById(@RequestBody DeliveryDetail deliveryDetail) { return R.ok(deliveryDetailService.updateById(deliveryDetail)); } /** * 通过id删除送货清单表 * * @param id id * @return R */ @ApiOperation(value = "通过id删除送货清单表", notes = "通过id删除送货清单表") @SysLog("通过id删除送货清单表") @DeleteMapping("/deliveryDetail/{id}") public R removeDeliveryDetailById(@PathVariable Long id) { return R.ok(deliveryDetailService.deleteById(id)); } /** * 审核是否存在差异数量 * * @param mainId * @return */ @ApiOperation(value = "根据主表id审核", notes = "根据主表id审核") @GetMapping("/auditDeliveryDetail/{mainId}") public R auditDeliveryDetail(@PathVariable("mainId") Long mainId) { return R.ok(deliveryDetailService.auditDeliveryDetail(mainId)); } /** * 审核是否存在差异数量 * * @param mainId * @return */ @ApiOperation(value = "核实入库", notes = "核实入库") @GetMapping("/putInStorage/{mainId}") public R putInStorage(@PathVariable("mainId") Long mainId) { return R.ok(receivingMainService.fullUpdate(mainId)); } }