| | |
| | | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; |
| | | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| | | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeBindBatchReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeBindReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeGenerateRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeGenerateReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodePageReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeReplaceReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeReplaceRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeTraceRespVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO; |
| | |
| | | private MesMdmItemService mdmItemService; |
| | | |
| | | @PostMapping("/generate") |
| | | @Operation(summary = "生成袋码数据包(一袋一码)") |
| | | @Operation(summary = "生成袋码数据包(一袋一码),累计达到阈值时自动生成托盘码") |
| | | @PreAuthorize("@ss.hasPermission('mes:pro-bag-code:create')") |
| | | public CommonResult<String> generateBagCodes(@Valid @RequestBody MesProBagCodeGenerateReqVO generateReqVO) { |
| | | public CommonResult<MesProBagCodeGenerateRespVO> generateBagCodes(@Valid @RequestBody MesProBagCodeGenerateReqVO generateReqVO) { |
| | | return success(bagCodeService.generateBagCodes(generateReqVO)); |
| | | } |
| | | |
| | | @PostMapping("/replace") |
| | | @Operation(summary = "作废破损袋码并生成等量替换袋码") |
| | | @PreAuthorize("@ss.hasPermission('mes:pro-bag-code:replace')") |
| | | public CommonResult<MesProBagCodeReplaceRespVO> replaceBagCodes( |
| | | @Valid @RequestBody MesProBagCodeReplaceReqVO replaceReqVO) { |
| | | return success(bagCodeService.replaceBagCodes(replaceReqVO)); |
| | | } |
| | | |
| | | @DeleteMapping("/delete-by-uuid") |
| | |
| | | @PreAuthorize("@ss.hasPermission('mes:pro-bag-code:delete')") |
| | | public CommonResult<Boolean> deleteBagCodesByUuid(@RequestParam("uuid") String uuid) { |
| | | bagCodeService.deleteBagCodesByUuid(uuid); |
| | | return success(true); |
| | | } |
| | | |
| | | @PutMapping("/bind-batch") |
| | | @Operation(summary = "袋码录入生产批次") |
| | | @PreAuthorize("@ss.hasPermission('mes:pro-bag-code:update')") |
| | | public CommonResult<Boolean> bindBatch(@Valid @RequestBody MesProBagCodeBindBatchReqVO bindReqVO) { |
| | | bagCodeService.bindBatch(bindReqVO); |
| | | return success(true); |
| | | } |
| | | |
| | |
| | | |
| | | private MesProBagCodeTraceRespVO buildBagCodeTraceRespVO(MesProBagCodeDO bagCode) { |
| | | MesProBagCodeTraceRespVO respVO = BeanUtils.toBean(bagCode, MesProBagCodeTraceRespVO.class); |
| | | var replacement = bagCode.getStatus() != null |
| | | && bagCode.getStatus().equals(cn.iocoder.yudao.module.mes.enums.pro.MesProBagCodeStatusEnum.CANCELED.getStatus()) |
| | | ? bagCodeService.getReplacementByOldBagCodeId(bagCode.getId()) |
| | | : bagCodeService.getReplacementByNewBagCodeId(bagCode.getId()); |
| | | if (replacement != null) { |
| | | respVO.setReplacementUuid(replacement.getReplaceUuid()); |
| | | if (bagCode.getId().equals(replacement.getOldBagCodeId())) { |
| | | respVO.setReplacedByCode(replacement.getNewCode()); |
| | | } else { |
| | | respVO.setReplacementOfCode(replacement.getOldCode()); |
| | | } |
| | | } |
| | | // 批次信息 |
| | | MesProBatchDO batch = batchService.getBatch(bagCode.getBatchId()); |
| | | if (batch != null) { |