From 15de434e686aac13a38b1201e91709554a42891a Mon Sep 17 00:00:00 2001 From: jun Date: Thu, 30 May 2024 09:29:59 +0800 Subject: [PATCH] =?UTF-8?q?41053=20MES=EF=BC=9A=E7=94=9F=E4=BA=A7=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E9=97=AE=E9=A2=98=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/MesWorkOrderService.java | 48 +++++++++++++++++----- .../ext/mes/pojo/constant/MesCommonConstant.java | 6 +-- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 33d9e9b..6f220fb 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; +import cn.estsh.i3plus.ext.mes.api.base.IMesPartProdGroupService; import cn.estsh.i3plus.ext.mes.api.base.IMesPartService; import cn.estsh.i3plus.ext.mes.api.base.IMesProductOffLineService; import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService; @@ -61,6 +62,10 @@ public class MesWorkOrderService extends BaseMesService implements private MesShiftRepository mesShiftRDao; @Autowired private MesProductPlanRepository mesProductPlanRDao; + @Autowired + private IMesPartProdGroupService mesPartProdGroupService; + @Autowired + private MesCustomerPartRepository mesCustomerPartRDao; @Override public MesWorkOrder insert(MesWorkOrder bean) { @@ -84,15 +89,14 @@ public class MesWorkOrderService extends BaseMesService implements } //生成工单号 - genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_JIS_SORT); - genSerialNoModel.setPartNo(bean.getPartNo()); + genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO); List resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList(); MesWorkOrder copyMesWorkOrder = new MesWorkOrder(); BeanUtils.copyProperties(bean, copyMesWorkOrder); copyMesWorkOrder.setProduceSeq(produceSeq + 1); copyMesWorkOrder.setQty(1D); - copyMesWorkOrder.setWorkOrderNo(resultList.get(0) + "_" + copyMesWorkOrder.getOrganizeCode()); + copyMesWorkOrder.setWorkOrderNo(resultList.get(0)); ConvertBean.serviceModelInitialize(copyMesWorkOrder, bean.getCreateUser()); MesWorkOrderLog workOrderLog = new MesWorkOrderLog(); @@ -105,24 +109,22 @@ public class MesWorkOrderService extends BaseMesService implements return bean; } else if (bean.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) { //生成工单号 - genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_JIS_UN_SORT); + genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO); } else { //生成工单号 - genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO); + genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO); Integer produceSeq = 0; if (null != result && result.getProduceSeq() != null) { produceSeq = result.getProduceSeq(); } bean.setProduceSeq(produceSeq + 1); GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO_SEQ); - orderSeqSerialNoModel.setPartNo(bean.getPartNo()); List resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList(); bean.setWorkOrderSeq(resultList.get(0)); // bean.setOrderSeq(Integer.parseInt(resultList.get(0))); } - genSerialNoModel.setPartNo(bean.getPartNo()); List resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList(); - bean.setWorkOrderNo(resultList.get(0) + "_" + bean.getOrganizeCode()); + bean.setWorkOrderNo(resultList.get(0)); bean.setQty(bean.getQty()); ConvertBean.serviceModelInitialize(bean, bean.getCreateUser()); @@ -327,8 +329,17 @@ public class MesWorkOrderService extends BaseMesService implements MesException.throwMesBusiException("vin号【%s】重复", item.getVinCode()); } } + //校验零件生产组信息 +// MesPartProdGroupDetail mesPartProdGroupDetail = new MesPartProdGroupDetail(); +// mesPartProdGroupDetail.setWorkCenterCode(item.getWorkCenterCode()); +// mesPartProdGroupDetail.setPartNo(item.getPartNo()); +// mesPartProdGroupDetail.setOrganizeCode(item.getOrganizeCode()); +// List mesPartProdGroup = mesPartProdGroupService.findMesPartProdGroup(mesPartProdGroupDetail); + + //排序工单数量为1 item.setQty(1d); + item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue()); } else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) { ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空"); @@ -345,9 +356,12 @@ public class MesWorkOrderService extends BaseMesService implements if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) { packPlanTime(item); } + if(StringUtil.isEmpty(item.getCustomerPartNo())){ + getCustomerPart(item); + } //校验物料生产版本是否存在 checkMesProductVersion(item, mesWorkCenter); - + item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()); } else { ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空"); ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空"); @@ -356,16 +370,30 @@ public class MesWorkOrderService extends BaseMesService implements MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter); item.setProductVersion(mesProductVersion.getProductVersion()); } + if(StringUtil.isEmpty(item.getCustomerPartNo())){ + getCustomerPart(item); + } //拼接 // item.setPlanStartTime(item.getPlanStartTime() + " " + "00:00:00"); // item.setPlanEndTime(item.getPlanEndTime() + " " + "23:59:59"); + item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()); } //物料名称不存在,从物料信息中获取 MesPart mesPart = iMesPartService.getPartByPartNo(item.getPartNo(), item.getOrganizeCode()); item.setPartNameRdd(mesPart.getPartName()); item.setUnit(mesPart.getUnit()); - item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue()); + + } + + private void getCustomerPart(MesWorkOrder item) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "erpPartNo", ddlPackBean); + MesCustomerPart customerPart = mesCustomerPartRDao.getByProperty(ddlPackBean); + if(!Objects.isNull(customerPart)){ + item.setCustomerPartNo(customerPart.getCustomerPartNo()); + item.setCustomerPartName(customerPart.getCustomerPartName()); + } } private void checkMesProductVersion(MesWorkOrder item, MesWorkCenter mesWorkCenter) { diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/constant/MesCommonConstant.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/constant/MesCommonConstant.java index 15751c1..3479b9a 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/constant/MesCommonConstant.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/constant/MesCommonConstant.java @@ -22,12 +22,8 @@ public class MesCommonConstant { */ //BTO工单顺序号 public static final String ORDER_NO_BTO_SEQ = "ORDER_NO_BTO_SEQ"; - //BTO单号规则 - public static final String ORDER_NO_BTO = "ORDER_NO_BTO"; - //非排序单号规则 - public static final String ORDER_NO_JIS_UN_SORT = "ORDER_NO_JIS_UN_SORT"; //排序单号规则 - public static final String ORDER_NO_JIS_SORT = "ORDER_NO_JIS_SORT"; + public static final String MES_WORK_ORDER_NO = "MES_WORK_ORDER_NO"; //报工条码规则 public static final String REPORT_SN = "REPORT_SN"; //装车单号