From 338dd627ca26477c350e92bb2c0fb8ce384bf44c Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Wed, 15 Jan 2025 18:13:41 +0800 Subject: [PATCH] =?UTF-8?q?44838=20=20MES:=E8=A3=81=E7=89=87=E8=A1=A5?= =?UTF-8?q?=E7=89=87=E9=80=BB=E8=BE=91=E6=9B=B4=E6=96=B0=EF=BC=86=E8=A3=81?= =?UTF-8?q?=E7=89=87=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/api/base/IMesWorkOrderCutService.java | 5 ++ .../controller/base/MesWorkOrderCutController.java | 46 ++++++++++++++-- .../serviceimpl/base/MesWorkOrderCutService.java | 62 +++++++++++++++++----- .../ext/mes/pojo/model/WorkOrderCutModel.java | 24 +++++++++ .../mes/pojo/model/WorkOrderMaterialCutModel.java | 17 ++++++ 5 files changed, 136 insertions(+), 18 deletions(-) create mode 100644 modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/WorkOrderCutModel.java create mode 100644 modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/WorkOrderMaterialCutModel.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderCutService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderCutService.java index 36f5761..6516f9b 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderCutService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderCutService.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.ext.mes.api.base; +import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderMaterialCutModel; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg; @@ -21,6 +22,10 @@ public interface IMesWorkOrderCutService extends IBaseMesService workOrderIds, String cutCode, String remark, String organizeCode, String userName, Integer editionNumber, boolean isFree, List mesCutSchemeFgs); + @ApiOperation("生成裁片工单") + void generateCutWorkOrderMaterial(WorkOrderMaterialCutModel workOrderMaterialCutModel); + + @ApiOperation("分页查询裁片工单明细") ListPager queryWorkOrderCutDetailByPager(MesWorkOrderCutDetail workOrderCutDetail, Pager pager); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderCutController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderCutController.java index 7996749..9b017c2 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderCutController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderCutController.java @@ -2,6 +2,8 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base; import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderCutService; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderCutModel; +import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderMaterialCutModel; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg; @@ -15,10 +17,7 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; @@ -36,7 +35,7 @@ public class MesWorkOrderCutController extends BaseMesController mesCutSchemeFgs) { + public ResultBean doGenerateCutWorkOrder(Long[] workOrderIds, String cutCode, String remark, Integer editionNumber) { try { ValidatorBean.checkNotNull(workOrderIds, "工单不存在"); @@ -53,6 +52,43 @@ public class MesWorkOrderCutController extends BaseMesController impl MesCutScheme cutScheme = getMesCutScheme(cutCode, organizeCode); - List cutSchemeMaterialList = getMesCutSchemeMaterials(cutCode, organizeCode); List cutSchemeFgList = new ArrayList<>(); if (!isFree) { @@ -141,17 +142,20 @@ public class MesWorkOrderCutService extends BaseMesService impl } workOrderCut.setPrintStatus(printStatus); workOrderCuttList.add(workOrderCut); - - for (MesCutSchemeMaterial cutSchemeMaterial : cutSchemeMaterialList) { - MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial(); - BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID); - ConvertBean.serviceModelInitialize(workOrderCutMaterial, userName); - workOrderCutMaterial.setOrganizeCode(organizeCode); - workOrderCutMaterial.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo()); - workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE); - workOrderCutMaterialList.add(workOrderCutMaterial); - } + if (!isFree) { + List cutSchemeMaterialList = getMesCutSchemeMaterials(cutCode, organizeCode); + + for (MesCutSchemeMaterial cutSchemeMaterial : cutSchemeMaterialList) { + MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial(); + BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID); + ConvertBean.serviceModelInitialize(workOrderCutMaterial, userName); + workOrderCutMaterial.setOrganizeCode(organizeCode); + workOrderCutMaterial.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo()); + workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE); + workOrderCutMaterialList.add(workOrderCutMaterial); + } + } for (MesCutSchemeFg cutSchemeFg : cutSchemeFgList) { List workOrders = workOrderListMapByPartNo.get(cutSchemeFg.getPartNo()); for (MesWorkOrder workOrder : workOrders) { @@ -168,8 +172,9 @@ public class MesWorkOrderCutService extends BaseMesService impl } } } - - workOrderCutMaterialRepository.saveAll(workOrderCutMaterialList); + if (!isFree) { + workOrderCutMaterialRepository.saveAll(workOrderCutMaterialList); + } workOrderCutDetailRepository.saveAll(workOrderCutDetailtList); workOrderCutRepository.saveAll(workOrderCuttList); @@ -186,6 +191,37 @@ public class MesWorkOrderCutService extends BaseMesService impl } @Override + public void generateCutWorkOrderMaterial(WorkOrderMaterialCutModel workOrderMaterialCutModel) { + String organizeCode = AuthUtil.getOrganizeCode(); + String userName = AuthUtil.getSessionUser().getUserName(); + + List workOrderCutMaterialList = new ArrayList<>(); + + for (MesCutSchemeMaterial cutSchemeMaterial : workOrderMaterialCutModel.getMesCutSchemeMaterialList()) { + MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial(); + BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID); + ConvertBean.serviceModelInitialize(workOrderCutMaterial, userName); + workOrderCutMaterial.setOrganizeCode(organizeCode); + workOrderCutMaterial.setCutWorkOrderNo(workOrderMaterialCutModel.getCutWorkOrderNo()); + workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE); + workOrderCutMaterialList.add(workOrderCutMaterial); + } + workOrderCutMaterialRepository.saveAll(workOrderCutMaterialList); + + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(workOrderMaterialCutModel.getCutWorkOrderNo(), MesExtConstWords.CUT_WORK_ORDER_NO, packBean); + MesWorkOrderCut workOrderCut = workOrderCutRepository.getByProperty(packBean); + + if (workOrderCut == null) MesException.throwMesBusiException("裁片工单不存在", workOrderCut); + workOrderCut.setPrintStatus(MesExtEnumUtil.PRINT_STATUS.UNPRINT.getValue()); + + workOrderCutRepository.update(workOrderCut); + + + } + + @Override public ListPager queryWorkOrderCutDetailByPager(MesWorkOrderCutDetail workOrderCutDetail, Pager pager) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderCutDetail.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(workOrderCutDetail.getCutWorkOrderNo(), MesExtConstWords.CUT_WORK_ORDER_NO, packBean); diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/WorkOrderCutModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/WorkOrderCutModel.java new file mode 100644 index 0000000..d8cad73 --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/WorkOrderCutModel.java @@ -0,0 +1,24 @@ +package cn.estsh.i3plus.ext.mes.pojo.model; + +import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg; +import lombok.Data; + +import java.util.List; + +@Data +public class WorkOrderCutModel { + + + private Long[] workOrderIds; + + private String cutCode; + + private String remark; + + private Integer editionNumber; + + private boolean isFree = false ; + + private List mesCutSchemeFgs; + +} diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/WorkOrderMaterialCutModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/WorkOrderMaterialCutModel.java new file mode 100644 index 0000000..d8564e7 --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/WorkOrderMaterialCutModel.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.ext.mes.pojo.model; + +import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg; +import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeMaterial; +import lombok.Data; + +import java.util.List; + + +@Data +public class WorkOrderMaterialCutModel { + + private String cutWorkOrderNo; + + private List mesCutSchemeMaterialList; + +}