From e74faf5db2f039a9bf19d4edf6b275d07a8746ba Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Mon, 23 Dec 2024 10:39:22 +0800 Subject: [PATCH 01/26] =?UTF-8?q?=E7=A7=AF=E5=8D=95=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java index 9034a1d..ff52a7c 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java @@ -435,9 +435,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { } mesKanBanShowModel.setSummaryRealSupplyRealCount(summaryRealSupplyRealCount); Long summaryWorkOrderYellowCount = kanBan.getSummaryWorkOrderYellowCount(); - if (summaryRealSupplyRealCount > summaryWorkOrderYellowCount){ + if (summaryRealSupplyRealCount > summaryWorkOrderYellowCount && summaryRealSupplyRealCount < summaryWorkOrderRedCount){ mesKanBanShowModel.setSummaryWorkOrderColor("orange"); - }else if (summaryRealSupplyRealCount > summaryWorkOrderRedCount){ + }else if (summaryRealSupplyRealCount >= summaryWorkOrderRedCount){ mesKanBanShowModel.setSummaryWorkOrderColor("red"); } //成品缓冲 From ac05a41dc24c4973d7b4d504b448c49ab9d9bd09 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Mon, 23 Dec 2024 17:28:09 +0800 Subject: [PATCH 02/26] =?UTF-8?q?BTO=E5=B7=A5=E5=8D=95=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E6=8A=A5=E8=A1=A8=E4=BF=AE=E6=94=B9=E5=92=8C?= =?UTF-8?q?bom=E5=A4=B1=E6=95=88=E6=97=B6=E9=97=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java | 7 +++++++ .../ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java index d476ce5..5fc9c88 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java @@ -40,6 +40,8 @@ public class MesBomService extends BaseMesService implements IMesBomServ @Autowired private IMesConfigService mesConfigService; + private final String MES_REPORT_FIND_BOM_WITH_EFFENDTIME = "MES_REPORT_FIND_BOM_WITH_EFFENDTIME"; + protected void setPackQueryBean(MesBom bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getBomVersion(), "bomVersion", packBean); DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); @@ -96,6 +98,11 @@ public class MesBomService extends BaseMesService implements IMesBomServ DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), "bomVersion", packBean); DdlPreparedPack.getStringEqualPack(bom.getBomCode(), "bomCode", packBean); DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), "effStartTime", packBean); + MesConfig config = mesConfigService.getCfgValueByCode(bom.getOrganizeCode(), MES_REPORT_FIND_BOM_WITH_EFFENDTIME); + Boolean isWithEffEndTime = (null != config && !StringUtils.isEmpty(config.getCfgValue()) && config.getCfgValue().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) ? true : false; + if (isWithEffEndTime) { + DdlPreparedPack.getStringBiggerPack(bom.getEffStartTime(), "effEndTime", packBean); + } packBean.setOrderByStr(" order by createDatetime desc "); pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean)); 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 9083eab..62eab50 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 @@ -2093,7 +2093,7 @@ public class MesWorkOrderService extends BaseMesService implements sqlStr += " and mwo.work_center_code = :workCenterCode "; } - sqlStr += "order by mwo.create_date_time limit 16"; + sqlStr += "order by mwo.create_date_time "; String dateTime = new SimpleDateFormat("yyyy-MM-dd").format(TimeTool.getDateBefore(new Date(), 30)) + " 00:00:00"; Query query = entityManager.createNativeQuery(sqlStr); @@ -2184,7 +2184,7 @@ public class MesWorkOrderService extends BaseMesService implements } } mesWorkOrderBoardResModels = mesWorkOrderBoardResModels.stream().filter(mesWorkOrderBoardResModel -> mesWorkOrderBoardResModel.getQty() > mesWorkOrderBoardResModel.getCompleteQty()).collect(Collectors.toList()); - + mesWorkOrderBoardResModels = mesWorkOrderBoardResModels.subList(0, 16); return mesWorkOrderBoardResModels; } From ed761df83d80926738777a3ea1c3520017da0be3 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Wed, 25 Dec 2024 17:19:27 +0800 Subject: [PATCH 03/26] =?UTF-8?q?=E9=9C=80=E6=B1=82=2044430=20=E5=BE=85?= =?UTF-8?q?=E5=BC=80=E7=A5=A8=E4=B8=9A=E5=8A=A1=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesCustomerCarModelDetailService.java | 50 +++++++++++++++++++++ .../base/MesPartProdGroupDetailService.java | 44 +++++++++++++++++++ .../base/MesPartShippingGroupDetailService.java | 51 ++++++++++++++++++++++ .../base/MesPartTransferDetailService.java | 37 +++++++++++++++- .../serviceimpl/base/MesPartTransferService.java | 11 +++-- 5 files changed, 188 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerCarModelDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerCarModelDetailService.java index b0b1458..d428420 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerCarModelDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerCarModelDetailService.java @@ -5,19 +5,69 @@ import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModel; import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModelDetail; +import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerCarModelRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; +import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service @Slf4j public class MesCustomerCarModelDetailService extends BaseMesService implements IMesCustomerCarModelDetailService { + @Autowired + private MesCustPartInvoicedRepository mesCustPartInvoicedRao; + + @Autowired + private MesCustomerPartRepository customerPartRao; + + @Autowired + private MesCustomerCarModelRepository customerCarModelRao; + + private boolean check(String organizeCode,String custPartNo,String carModelCode){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(carModelCode,"carModelCode", ddlPackBean); + List carModelList = customerCarModelRao.findByHqlTopWhere(ddlPackBean, 1); + if (carModelList == null || carModelList.isEmpty()) { + return false; + } + String custCode = carModelList.get(0).getCustCode(); + DdlPackBean ddlPackBean1 = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean1); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",ddlPackBean1); + + int count = mesCustPartInvoicedRao.findByHqlWhereCount(ddlPackBean1); + if (count > 0) { + return true; + }else { + DdlPackBean custPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",custPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",custPackBean); + int count1 = customerPartRao.findByHqlWhereCount(custPackBean); + return count1 > 0; + } + } protected void setPackQueryBean(MesCustomerCarModelDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getCarModelCode(),"carModelCode",packBean); } protected void onInsertBean(MesCustomerCarModelDetail item) { + boolean check = check(AuthUtil.getOrganizeCode(), item.getCustPartNo(), item.getCarModelCode()); + if (!check) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("待开票表及客户零件表不存在客户零件号【%s】,请检查数据", + item.getCustPartNo()) + .build(); + } // 数据校验 DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java index 08b2e30..33485d7 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java @@ -9,9 +9,13 @@ import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail; import cn.estsh.i3plus.pojo.mes.bean.MesPartProduceType; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesPartProdGroupRepository; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -20,7 +24,14 @@ import java.util.List; @Slf4j public class MesPartProdGroupDetailService extends BaseMesService implements IMesPartProdGroupDetailService { + @Autowired + private MesPartProdGroupRepository partProdGroupRao; + @Autowired + private MesCustPartInvoicedRepository mesCustPartInvoicedRao; + + @Autowired + private MesCustomerPartRepository customerPartRao; protected void setPackQueryBean(MesPartProdGroupDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean); @@ -40,6 +51,16 @@ public class MesPartProdGroupDetailService extends BaseMesService mesPartProdGroupList = partProdGroupRao.findByHqlTopWhere(ddlPackBean, 1); + if (mesPartProdGroupList == null || mesPartProdGroupList.isEmpty()) { + return false; + } + String custCode = mesPartProdGroupList.get(0).getCustCode(); + DdlPackBean ddlPackBean1 = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean1); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",ddlPackBean1); + + int count = mesCustPartInvoicedRao.findByHqlWhereCount(ddlPackBean1); + if (count > 0) { + return true; + }else { + DdlPackBean custPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",custPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",custPackBean); + int count1 = customerPartRao.findByHqlWhereCount(custPackBean); + return count1 > 0; + } + } @Override public void validateImport(List beanList) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartShippingGroupDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartShippingGroupDetailService.java index 448feaa..b012f8a 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartShippingGroupDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartShippingGroupDetailService.java @@ -5,10 +5,17 @@ import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup; +import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup; import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesPartShippingGroupRepository; +import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -16,6 +23,50 @@ import java.util.List; @Service @Slf4j public class MesPartShippingGroupDetailService extends BaseMesService implements IMesPartShippingGroupDetailService { + @Autowired + private MesCustPartInvoicedRepository mesCustPartInvoicedRao; + + @Autowired + private MesCustomerPartRepository customerPartRao; + @Autowired + private MesPartShippingGroupRepository shippingGroupRao; + + private boolean check(String organizeCode,String custPartNo,String shippingGroupCode){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(shippingGroupCode,"partProdGroupCode", ddlPackBean); + List shippingGroupList = shippingGroupRao.findByHqlTopWhere(ddlPackBean, 1); + if (shippingGroupList == null || shippingGroupList.isEmpty()) { + return false; + } + String custCode = shippingGroupList.get(0).getCustCode(); + DdlPackBean ddlPackBean1 = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean1); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",ddlPackBean1); + + int count = mesCustPartInvoicedRao.findByHqlWhereCount(ddlPackBean1); + if (count > 0) { + return true; + }else { + DdlPackBean custPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",custPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",custPackBean); + int count1 = customerPartRao.findByHqlWhereCount(custPackBean); + return count1 > 0; + } + } + + @Override + protected void onInsertBean(MesPartShippingGroupDetail item) { + boolean check = check(AuthUtil.getOrganizeCode(), item.getCustPartNo(), item.getShippingGroupCode()); + if (!check) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("待开票表及客户零件表不存在客户零件号【%s】,请检查数据", + item.getCustPartNo()) + .build(); + } + } protected void setPackQueryBean(MesPartShippingGroupDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getShippingGroupCode(), "shippingGroupCode", packBean); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTransferDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTransferDetailService.java index 6bb94ad..52a902f 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTransferDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTransferDetailService.java @@ -10,11 +10,14 @@ import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheck; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheckPart; import cn.estsh.i3plus.pojo.mes.bean.MesPartTransfer; import cn.estsh.i3plus.pojo.mes.bean.MesPartTransferDetail; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; import cn.estsh.i3plus.pojo.mes.repository.MesPartTransferDetailRepository; import cn.estsh.i3plus.pojo.mes.repository.MesPartTransferRepository; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; +import org.python.antlr.ast.Str; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,8 +28,32 @@ import java.util.List; public class MesPartTransferDetailService extends BaseMesService implements IMesPartTransferDetailService { @Autowired + private MesCustPartInvoicedRepository mesCustPartInvoicedRao; + + @Autowired + private MesCustomerPartRepository customerPartRao; + + @Autowired private MesPartTransferRepository partTransferRepository; + private boolean check(String custCode, String custPartNo, String organizeCode) { + + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",ddlPackBean); + + int count = mesCustPartInvoicedRao.findByHqlWhereCount(ddlPackBean); + if (count > 0) { + return true; + }else { + DdlPackBean custPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",custPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",custPackBean); + int count1 = customerPartRao.findByHqlWhereCount(custPackBean); + return count1 > 0; + } + } + protected void setPackQueryBean(MesPartTransferDetail bean, DdlPackBean packBean) { DdlPreparedPack.getNumEqualPack(bean.getPid(),"pid",packBean); DdlPreparedPack.getStringEqualPack(bean.getCustCode(),"custCode",packBean); @@ -46,7 +73,15 @@ public class MesPartTransferDetailService extends BaseMesService implements IMesPartTransferService { + @Override protected void setPackQueryBean(MesPartTransfer bean, DdlPackBean packBean) { DdlPreparedPack.getStringLikerPack(bean.getCustCode(), "custCode", packBean); @@ -48,6 +49,8 @@ public class MesPartTransferService extends BaseMesService impl .build(); } } + + @Override protected void onUpdateBean(MesPartTransfer item) { // 数据校验 From efa93153a5ce87a268c4cc3a0f62e4a9b13a3500 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Wed, 25 Dec 2024 17:44:55 +0800 Subject: [PATCH 04/26] =?UTF-8?q?bom=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E6=97=B6=E9=97=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/apiservice/serviceimpl/base/MesBomService.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java index 5fc9c88..5db3630 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java @@ -91,19 +91,20 @@ public class MesBomService extends BaseMesService implements IMesBomServ MesBomTreeModel organize = new MesBomTreeModel(); organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); - organize.setName(AuthUtil.getOrganize().getName()); - + // organize.setName(AuthUtil.getOrganize().getName()); + organize.setName("zxw"); DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(bom.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), "bomVersion", packBean); DdlPreparedPack.getStringEqualPack(bom.getBomCode(), "bomCode", packBean); DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), "effStartTime", packBean); - MesConfig config = mesConfigService.getCfgValueByCode(bom.getOrganizeCode(), MES_REPORT_FIND_BOM_WITH_EFFENDTIME); - Boolean isWithEffEndTime = (null != config && !StringUtils.isEmpty(config.getCfgValue()) && config.getCfgValue().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) ? true : false; - if (isWithEffEndTime) { - DdlPreparedPack.getStringBiggerPack(bom.getEffStartTime(), "effEndTime", packBean); - } + + + + String sql = " and (model.effEndTime = '' or model.effEndTime is null or model.effEndTime >= '" + bom.getEffStartTime() + "' )" ; + packBean.setWhereAppend(packBean.getWhereAppend() + sql); packBean.setOrderByStr(" order by createDatetime desc "); + pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean)); List bomList = baseRDao.findByHqlWherePage(packBean, pager); From ffa70f634eaa4da242c82de40e33fa93e011911b Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Wed, 25 Dec 2024 18:00:21 +0800 Subject: [PATCH 05/26] =?UTF-8?q?bom=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E6=97=B6=E9=97=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/apiservice/controller/base/MesBomController.java | 1 + .../i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesBomController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesBomController.java index a3212fd..4746e67 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesBomController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesBomController.java @@ -82,6 +82,7 @@ public class MesBomController extends BaseMesController { ValidatorBean.checkNotNull(bom.getBomCode(), "BOM代码不能为空"); ValidatorBean.checkNotNull(bom.getEffStartTime(), "生效时间不能为空"); bom.setOrganizeCode(AuthUtil.getOrganizeCode()); + //bom.setOrganizeCode("C901"); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) .setListPager(bomService.queryMesDataTree(bom, pager)); } catch (ImppBusiException busExcep) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java index 5db3630..30e6039 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java @@ -91,8 +91,8 @@ public class MesBomService extends BaseMesService implements IMesBomServ MesBomTreeModel organize = new MesBomTreeModel(); organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); - // organize.setName(AuthUtil.getOrganize().getName()); - organize.setName("zxw"); + organize.setName(AuthUtil.getOrganize().getName()); + //organize.setName("zxw"); DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(bom.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), "bomVersion", packBean); From 54adc62fdccb692c22d9eab3ea38c96b979963a1 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Fri, 27 Dec 2024 10:04:05 +0800 Subject: [PATCH 06/26] =?UTF-8?q?44316=20bom=E6=98=AF=E5=90=A6=E5=90=AF?= =?UTF-8?q?=E5=8A=A8bomVersion=20merge=20=E8=A7=A3=E5=86=B3=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java index 0338d94..4bf4a79 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java @@ -40,8 +40,6 @@ public class MesBomService extends BaseMesService implements IMesBomServ @Autowired private IMesConfigService mesConfigService; - private final String MES_REPORT_FIND_BOM_WITH_EFFENDTIME = "MES_REPORT_FIND_BOM_WITH_EFFENDTIME"; - protected void setPackQueryBean(MesBom bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getBomVersion(), "bomVersion", packBean); DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); From 40d041a3cd1f4a17f4da43f3dcc4b0df636916db Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Wed, 8 Jan 2025 16:05:17 +0800 Subject: [PATCH 07/26] =?UTF-8?q?44670=20PC:=20=E6=A8=A1=E6=9D=BF=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=97=B6=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/base/IMesEquipmentProdParamCfgService.java | 3 ++ .../base/MesEquipmentProdParamCfgController.java | 50 ++++++++++++++++++++++ .../base/MesTimeEfficientCfgController.java | 48 +++++++++++++++++++++ 3 files changed, 101 insertions(+) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentProdParamCfgService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentProdParamCfgService.java index 5ca665e..c57f46a 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentProdParamCfgService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentProdParamCfgService.java @@ -12,4 +12,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentProdParamCfg; public interface IMesEquipmentProdParamCfgService extends IBaseMesService{ + + + } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentProdParamCfgController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentProdParamCfgController.java index ff7a0ed..4ae1cec 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentProdParamCfgController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentProdParamCfgController.java @@ -1,9 +1,24 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base; +import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.excel.MesExcelTool; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentProdParamCfg; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.RedisCacheTool; +import cn.estsh.impp.framework.boot.util.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; /** * @Description : 设备加工参数维护 @@ -15,4 +30,39 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesEquipmentProdParamCfg") public class MesEquipmentProdParamCfgController extends BaseMesController { + + + @PostMapping(value = "/import-data") + @ApiOperation(value = "导入数据") + public ResultBean importNew(@RequestParam("file") MultipartFile file, @RequestParam("sourceId")Long sourceId) { + try { + MesExcelTool excelTool = new MesExcelTool(entityManager, RedisCacheTool.getImppRedis()); + List beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), mesClass); + + // 校验导入数据 + baseService.validateImport(beanList); + + beanList.forEach(mesEquipmentProdParamCfg -> { + mesEquipmentProdParamCfg.setSourceId(sourceId); + }); + + String userName = AuthUtil.getSessionUser().getUserName(); + String organizeCode = AuthUtil.getOrganize().getOrganizeCode(); + // 导入数据初始化 + for (MesEquipmentProdParamCfg bean : beanList) { + ConvertBean.serviceModelInitialize(bean, userName); + bean.setOrganizeCode(organizeCode); + bean.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + } + baseService.insertBatch(beanList); + + // 导入后 + afterImport(beanList); + return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesTimeEfficientCfgController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesTimeEfficientCfgController.java index 6628d3c..4785072 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesTimeEfficientCfgController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesTimeEfficientCfgController.java @@ -1,11 +1,27 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base; +import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.excel.MesExcelTool; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentProdParamCfg; import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesTimeEfficientCfg; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.RedisCacheTool; +import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; /** * 时效性维护 @@ -16,5 +32,37 @@ import org.springframework.web.bind.annotation.RestController; public class MesTimeEfficientCfgController extends BaseMesController{ + @PostMapping(value = "/import-data") + @ApiOperation(value = "导入数据") + public ResultBean importNew(@RequestParam("file") MultipartFile file, @RequestParam("sourceId")Long sourceId) { + try { + MesExcelTool excelTool = new MesExcelTool(entityManager, RedisCacheTool.getImppRedis()); + List beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), mesClass); + + // 校验导入数据 + baseService.validateImport(beanList); + + beanList.forEach(mesEquipmentProdParamCfg -> { + mesEquipmentProdParamCfg.setSourceId(sourceId); + }); + + String userName = AuthUtil.getSessionUser().getUserName(); + String organizeCode = AuthUtil.getOrganize().getOrganizeCode(); + // 导入数据初始化 + for (MesTimeEfficientCfg bean : beanList) { + ConvertBean.serviceModelInitialize(bean, userName); + bean.setOrganizeCode(organizeCode); + bean.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + } + baseService.insertBatch(beanList); + // 导入后 + afterImport(beanList); + return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } From 10131f750edb4463ccfee49667c5e5c5a9b2e1f4 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Wed, 15 Jan 2025 14:58:33 +0800 Subject: [PATCH 08/26] =?UTF-8?q?44838=20=20MES:=E8=A3=81=E7=89=87?= =?UTF-8?q?=E8=A1=A5=E7=89=87=E9=80=BB=E8=BE=91=E6=9B=B4=E6=96=B0=EF=BC=86?= =?UTF-8?q?=E8=A3=81=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 | 3 ++- .../controller/base/MesWorkOrderCutController.java | 7 +++++-- .../serviceimpl/base/MesWorkOrderCutService.java | 20 +++++++++++++++++--- 3 files changed, 24 insertions(+), 6 deletions(-) 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 3650596..36f5761 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 @@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.api.base; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCut; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCutDetail; import io.swagger.annotations.ApiOperation; @@ -18,7 +19,7 @@ public interface IMesWorkOrderCutService extends IBaseMesService workOrderIds, String cutCode, String remark, String organizeCode, - String userName, Integer editionNumber); + String userName, Integer editionNumber, boolean isFree, List mesCutSchemeFgs); @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 344cd69..7996749 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 @@ -4,6 +4,7 @@ import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderCutService; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCut; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCutDetail; import cn.estsh.impp.framework.boot.auth.AuthUtil; @@ -20,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Arrays; +import java.util.List; + /** * 裁片工单 */ @@ -33,14 +36,14 @@ public class MesWorkOrderCutController extends BaseMesController mesCutSchemeFgs) { try { ValidatorBean.checkNotNull(workOrderIds, "工单不存在"); ValidatorBean.checkNotNull(cutCode, "裁片方案不存在"); workOrderCutService.doGenerateCutWorkOrder(Arrays.asList(workOrderIds), cutCode, remark, - AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName(), editionNumber); + AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName(), editionNumber, isFree, mesCutSchemeFgs); return ResultBean.success("生成成功") .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java index c5462d3..1cffe10 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java @@ -21,6 +21,7 @@ import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; import cn.estsh.i3plus.pojo.mes.repository.*; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.util.SpringContextsUtil; +import cn.hutool.core.stream.CollectorUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -80,7 +81,7 @@ public class MesWorkOrderCutService extends BaseMesService impl @Override public void doGenerateCutWorkOrder(List workOrderIds, String cutCode, String remark, String organizeCode, - String userName, Integer editionNumber) { + String userName, Integer editionNumber, boolean isFree, List mesCutSchemeFgs) { List workOrderList = getMesWorkOrders(workOrderIds, organizeCode); @@ -90,7 +91,15 @@ public class MesWorkOrderCutService extends BaseMesService impl List cutSchemeMaterialList = getMesCutSchemeMaterials(cutCode, organizeCode); - List cutSchemeFgList = getMesCutSchemeFgs(cutCode, organizeCode); + List cutSchemeFgList = new ArrayList<>(); + if (!isFree) { + cutSchemeFgList = getMesCutSchemeFgs(cutCode, organizeCode); + } else { + if (CollectionUtils.isEmpty(mesCutSchemeFgs)) { + MesException.throwMesBusiException("未选择裁片成品"); + } + cutSchemeFgList.addAll(mesCutSchemeFgs); + } // 校验工单物料是否已在成品配置中进行维护 checkWorkOrderPartValid(workOrderList, cutSchemeFgList); @@ -125,7 +134,12 @@ public class MesWorkOrderCutService extends BaseMesService impl workOrderCut.setCutWorkOrderNo(cutWorkOrderNo); workOrderCut.setOrganizeCode(organizeCode); - workOrderCut.setPrintStatus(MesExtEnumUtil.PRINT_STATUS.UNPRINT.getValue()); + // 44838 如果isFree 是 默认已打印 + Integer printStatus = MesExtEnumUtil.PRINT_STATUS.UNPRINT.getValue(); + if (isFree) { + printStatus = MesExtEnumUtil.PRINT_STATUS.PRINTED.getValue(); + } + workOrderCut.setPrintStatus(printStatus); workOrderCuttList.add(workOrderCut); for (MesCutSchemeMaterial cutSchemeMaterial : cutSchemeMaterialList) { 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 09/26] =?UTF-8?q?44838=20=20MES:=E8=A3=81=E7=89=87?= =?UTF-8?q?=E8=A1=A5=E7=89=87=E9=80=BB=E8=BE=91=E6=9B=B4=E6=96=B0=EF=BC=86?= =?UTF-8?q?=E8=A3=81=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; + +} From f6b3a3656099342936ead3b49aaea36ff61d6207 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Wed, 15 Jan 2025 18:27:00 +0800 Subject: [PATCH 10/26] =?UTF-8?q?44838=20=20MES:=E8=A3=81=E7=89=87?= =?UTF-8?q?=E8=A1=A5=E7=89=87=E9=80=BB=E8=BE=91=E6=9B=B4=E6=96=B0=EF=BC=86?= =?UTF-8?q?=E8=A3=81=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/apiservice/controller/base/MesWorkOrderCutController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 9b017c2..c8b642f 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 @@ -42,7 +42,7 @@ public class MesWorkOrderCutController extends BaseMesController Date: Fri, 17 Jan 2025 11:27:08 +0800 Subject: [PATCH 11/26] =?UTF-8?q?=E9=87=8D=E5=BA=86=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/api/base/IMesPackingPartTypeService.java | 7 +++++++ .../base/MesPackingPartTypeController.java | 13 +++++++++++++ .../serviceimpl/base/MesPackingPartTypeService.java | 21 +++++++++++++++++++++ .../i3plus/ext/mes/pojo/util/MesExtConstWords.java | 2 ++ 4 files changed, 43 insertions(+) create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPackingPartTypeService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPackingPartTypeController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPackingPartTypeService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPackingPartTypeService.java new file mode 100644 index 0000000..c0f2ea5 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPackingPartTypeService.java @@ -0,0 +1,7 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesPackingPartType; + +public interface IMesPackingPartTypeService extends IBaseMesService { + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPackingPartTypeController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPackingPartTypeController.java new file mode 100644 index 0000000..947dbc5 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPackingPartTypeController.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.mes.bean.MesPackingPartType; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api("成品包装类型") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPackingPartType") +public class MesPackingPartTypeController extends BaseMesController{ +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java new file mode 100644 index 0000000..07aafbe --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java @@ -0,0 +1,21 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesPackingPartTypeService; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesPackingPartType; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class MesPackingPartTypeService extends BaseMesService implements IMesPackingPartTypeService { + + @Override + protected void setPackQueryBean(MesPackingPartType bean, DdlPackBean packBean) { + DdlPreparedPack.getStringLikerPack(bean.getPartType(), MesExtConstWords.PART_TYPE, packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartTypeName(), MesExtConstWords.PART_TYPE_NAME, packBean); + } + +} diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java index e262114..5f1f85a 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java @@ -239,6 +239,8 @@ public class MesExtConstWords { public static final String DEFAULT_FLAG = "defaultFlag"; //零件类型 public static final String PART_TYPE = "partType"; + //零件类型名称 + public static final String PART_TYPE_NAME = "partTypeName"; //时间[开始/结束]条件 public static final String START_TIME_START = "startTimeStart"; From e834732d74673309903f8794f9807d34629fdfb5 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Mon, 20 Jan 2025 10:03:00 +0800 Subject: [PATCH 12/26] =?UTF-8?q?44838=20=20MES:=E8=A3=81=E7=89=87?= =?UTF-8?q?=E8=A1=A5=E7=89=87=E9=80=BB=E8=BE=91=E6=9B=B4=E6=96=B0=EF=BC=86?= =?UTF-8?q?=E8=A3=81=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/apiservice/controller/base/MesWorkOrderCutController.java | 2 +- .../ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 c8b642f..9bd9c90 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 @@ -61,7 +61,7 @@ public class MesWorkOrderCutController extends BaseMesController impl MesCutScheme cutScheme = getMesCutScheme(cutCode, organizeCode); - + log.info("isFree={}", isFree); List cutSchemeFgList = new ArrayList<>(); if (!isFree) { cutSchemeFgList = getMesCutSchemeFgs(cutCode, organizeCode); From 08301bc9a2de880771767a42690eca60b3525baa Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Mon, 20 Jan 2025 13:47:11 +0800 Subject: [PATCH 13/26] =?UTF-8?q?44905=20=20MES-=E5=8F=91=E8=BF=90?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IMesShippingOrderManagementDetailService.java | 15 +++++ ...MesShippingOrderManagementDetailController.java | 49 ++++++++++++++++ .../MesShippingOrderManagementDetailDaoImpl.java | 2 + .../MesShippingOrderManagementDetailService.java | 67 +++++++++++++++++++++- 4 files changed, 130 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java index d035341..333ceb9 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; +import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -22,6 +23,20 @@ public interface IMesShippingOrderManagementDetailService extends IBaseMesServic @ApiOperation("查询发运单明细") ListPager queryMesShippingDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager); + @ApiOperation("查询发运单明细") + ListPager queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager); + + + @ApiOperation("根据客户零件匹配零件号") + public ResultBean supplyBycustPartNo(Long[] ids); + + + @ApiOperation("根据CBR匹配零件号") + public ResultBean supplyByCBR(Long[] ids); + + @ApiOperation("手动发运改数量") + public ResultBean updateQty(Long[] ids, double qty); + @ApiOperation("发运退回") void doShippingBack(Long[] idList,String organizeCode,String userName); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java index 62010e7..62db6ab 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java @@ -55,6 +55,55 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle } } + @ApiOperation(value = "发运单异常明细", notes = "发运单异常明细") + @GetMapping("/master/error/query") + public ResultBean queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) { + try { + return ResultBean.success("查询成功").setListPager(shippingOrderManagementDetailService.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel,pager)); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @ApiOperation(value = "根据客户零件匹配零件号", notes = "根据客户零件匹配零件号") + @GetMapping("/master/part/supplyBycustPartNo") + public ResultBean supplyBycustPartNo(Long[] ids) { + try { + return shippingOrderManagementDetailService.supplyBycustPartNo(ids); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @ApiOperation(value = "根据CBR匹配零件号", notes = "根据CBR匹配零件号") + @GetMapping("/master/part/supplyByCBR") + public ResultBean supplyByCBR(Long[] ids) { + try { + return shippingOrderManagementDetailService.supplyByCBR(ids); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @ApiOperation(value = "根据CBR匹配零件号", notes = "根据CBR匹配零件号") + @GetMapping("/master/part/updateQty") + public ResultBean supplyByCBR(Long[] ids, double qty) { + try { + return shippingOrderManagementDetailService.updateQty(ids, qty); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @ApiOperation(value = "发运退回", notes = "发运退回") @PutMapping("/doShippingBack") public ResultBean doShippingBack(@RequestBody Long[] idList) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java index e196c50..3728278 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java @@ -188,6 +188,8 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde commonHql.append(" and m.publishTime >= :publishTimeStart "); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPublishTimeEnd())) commonHql.append(" and m.publishTime <= :publishTimeEnd "); + if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getDetailsStatus())) + commonHql.append(" and d.status = " + mesShippingOrderManagementDetailModel.getDetailsStatus() + ""); return commonHql.toString(); } @Override diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index f98a89c..65f21b0 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -12,13 +12,15 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail; -import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart; +import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; +import cn.estsh.i3plus.pojo.mes.repository.MesCimGmCbrRuleRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository; import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementDetailRepository; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.util.ResultBean; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,6 +48,11 @@ public class MesShippingOrderManagementDetailService extends BaseMesService queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) { + return shippingOrderManagementDetailDao.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel, pager); + } + + + @Override + public ResultBean supplyBycustPartNo(Long[] ids) { + + String organizeCode = AuthUtil.getOrganizeCode(); + String userName = AuthUtil.getSessionUser().getUserName(); + List detailList = getManagementDetails(ids, organizeCode, userName); + + for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(mesShippingOrderManagementDetail.getCustPartNo(), "custPartNo", ddlPackBean); + MesCustomerPart mesCustomerPart = mesCustomerPartRepository.getByProperty(ddlPackBean); + if (mesCustomerPart == null) { + log.info("客户零件号不存在:{}", mesShippingOrderManagementDetail.getCustPartNo()); + } + mesShippingOrderManagementDetail.setPartNo(mesCustomerPart.getErpPartNo()); + mesShippingOrderManagementDetail.setPartName(mesCustomerPart.getErpPartName()); + } + + return ResultBean.success().setResultList(detailList); + } + + @Override + public ResultBean supplyByCBR(Long[] ids) { + + String organizeCode = AuthUtil.getOrganizeCode(); + String userName = AuthUtil.getSessionUser().getUserName(); + List detailList = getManagementDetails(ids, organizeCode, userName); + + for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(mesShippingOrderManagementDetail.getCustPartNo(), "custPartNo", ddlPackBean); + MesCimGmCbrRule mesCimGmCbrRule = mesCimGmCbrRuleRepository.getByProperty(ddlPackBean); + if (mesCimGmCbrRule == null) { + log.info("CBR规则未配置:客户零件号:{}", mesShippingOrderManagementDetail.getCustPartNo()); + } + mesShippingOrderManagementDetail.setPartNo(mesCimGmCbrRule.getErpPartNo()); + mesShippingOrderManagementDetail.setPartName(mesCimGmCbrRule.getErpPartName()); + } + + return ResultBean.success().setResultList(detailList); + } + + + @Override + public ResultBean updateQty(Long[] ids, double qty) { + return null; + } + + @Override public void doShippingBack(Long[] idList, String organizeCode, String userName) { List detailList = getManagementDetails(idList, organizeCode, userName); if (CollectionUtils.isEmpty(detailList)) MesException.throwMesBusiException("选择数据无效,请检查"); From d152a464ca00206132b1bbfdd6b331f1baf8e25c Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Mon, 20 Jan 2025 14:02:29 +0800 Subject: [PATCH 14/26] =?UTF-8?q?=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesPackingRuleDetailService.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingRuleDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingRuleDetailService.java index 2a0f5f5..0b9e0a8 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingRuleDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingRuleDetailService.java @@ -1,17 +1,28 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; +import cn.estsh.i3plus.ext.mes.api.base.IMesPackingPartTypeService; import cn.estsh.i3plus.ext.mes.api.base.IMesPackingRuleDetailService; import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesPackingPartType; import cn.estsh.i3plus.pojo.mes.bean.MesPackingRuleDetail; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service @Slf4j public class MesPackingRuleDetailService extends BaseMesService implements IMesPackingRuleDetailService { + @Autowired + private IMesPackingPartTypeService packingPartTypeService; + @Override protected void setPackQueryBean(MesPackingRuleDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringLikerPack(bean.getPackageCode(), MesExtConstWords.PACKAGE_CODE, packBean); @@ -19,4 +30,20 @@ public class MesPackingRuleDetailService extends BaseMesService list) { + if (CollectionUtils.isEmpty(list)) return; + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(list.get(0).getOrganizeCode()); + List packingPartTypeList = packingPartTypeService.findAll(packBean); + Map packingPartTypeMap = CollectionUtils.isEmpty(packingPartTypeList) ? null : + packingPartTypeList.stream().filter(o -> null != o).collect(Collectors.toMap(MesPackingPartType::getPartType, MesPackingPartType::getPartTypeName)); + + if (!CollectionUtils.isEmpty(packingPartTypeMap)) { + list.forEach(o -> { + o.setPartTypeName(packingPartTypeMap.get(o.getPartType())); + }); + } + } + } From b633fbaeb9cc453040e22cbaf22806bdf3185b08 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Mon, 20 Jan 2025 14:46:28 +0800 Subject: [PATCH 15/26] =?UTF-8?q?44838=20=20MES:=E8=A3=81=E7=89=87?= =?UTF-8?q?=E8=A1=A5=E7=89=87=E9=80=BB=E8=BE=91=E6=9B=B4=E6=96=B0=EF=BC=86?= =?UTF-8?q?=E8=A3=81=E7=89=87=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/serviceimpl/base/MesWorkOrderCutService.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java index 2ac907d..ccb918b 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java @@ -28,6 +28,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -191,6 +192,7 @@ public class MesWorkOrderCutService extends BaseMesService impl } @Override + @Transactional public void generateCutWorkOrderMaterial(WorkOrderMaterialCutModel workOrderMaterialCutModel) { String organizeCode = AuthUtil.getOrganizeCode(); String userName = AuthUtil.getSessionUser().getUserName(); @@ -211,13 +213,9 @@ public class MesWorkOrderCutService extends BaseMesService impl 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); + workOrderCutRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "isDeleted", "printStatus"}, + new Object[]{userName, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(),MesExtEnumUtil.PRINT_STATUS.UNPRINT.getValue() }, packBean); } From 6ef72a6beed7c0a726709569a272ac4db9904415 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Mon, 20 Jan 2025 17:20:25 +0800 Subject: [PATCH 16/26] =?UTF-8?q?=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/apiservice/controller/base/MesPackingPartTypeController.java | 2 +- .../mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPackingPartTypeController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPackingPartTypeController.java index 947dbc5..598dec7 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPackingPartTypeController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPackingPartTypeController.java @@ -6,7 +6,7 @@ import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Api("成品包装类型") +@Api("成品包装类型零件信息") @RestController @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPackingPartType") public class MesPackingPartTypeController extends BaseMesController{ diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java index 07aafbe..4097701 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingPartTypeService.java @@ -14,8 +14,8 @@ public class MesPackingPartTypeService extends BaseMesService Date: Mon, 20 Jan 2025 19:14:13 +0800 Subject: [PATCH 17/26] =?UTF-8?q?44905=20=20MES-=E5=8F=91=E8=BF=90?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IMesShippingOrderManagementDetailService.java | 2 +- ...MesShippingOrderManagementDetailController.java | 7 +- .../MesShippingOrderManagementDetailService.java | 103 +++++++++++++++++++-- 3 files changed, 97 insertions(+), 15 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java index 333ceb9..61137fd 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java @@ -35,7 +35,7 @@ public interface IMesShippingOrderManagementDetailService extends IBaseMesServic public ResultBean supplyByCBR(Long[] ids); @ApiOperation("手动发运改数量") - public ResultBean updateQty(Long[] ids, double qty); + public ResultBean updateQty(Long[] ids); @ApiOperation("发运退回") void doShippingBack(Long[] idList,String organizeCode,String userName); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java index 62db6ab..c3b3bcd 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java @@ -91,11 +91,11 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle } } - @ApiOperation(value = "根据CBR匹配零件号", notes = "根据CBR匹配零件号") + @ApiOperation(value = "手工发运", notes = "手工发运") @GetMapping("/master/part/updateQty") - public ResultBean supplyByCBR(Long[] ids, double qty) { + public ResultBean updateQty(Long[] ids) { try { - return shippingOrderManagementDetailService.updateQty(ids, qty); + return shippingOrderManagementDetailService.updateQty(ids); } catch (ImppBusiException e) { return ResultBean.fail(e); } catch (Exception e) { @@ -103,7 +103,6 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle } } - @ApiOperation(value = "发运退回", notes = "发运退回") @PutMapping("/doShippingBack") public ResultBean doShippingBack(@RequestBody Long[] idList) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index 65f21b0..f3335a3 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -6,6 +6,7 @@ import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesShippingOrderManagementDetailD import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException; import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel; import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -13,24 +14,21 @@ import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.*; +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; -import cn.estsh.i3plus.pojo.mes.repository.MesCimGmCbrRuleRepository; -import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; -import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository; -import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementDetailRepository; +import cn.estsh.i3plus.pojo.mes.repository.*; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.util.ResultBean; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; @Service @@ -44,6 +42,9 @@ public class MesShippingOrderManagementDetailService extends BaseMesService queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) { + mesShippingOrderManagementDetailModel.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SKIP.getValue()); return shippingOrderManagementDetailDao.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel, pager); } @@ -127,8 +138,80 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); + List orderNoList = detailList.stream().map(MesShippingOrderManagementDetail::getShippingCode).distinct().collect(Collectors.toList()); + + DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(orderNoList, "shippingCode", orderPackBean); + List shippingOrderManagements = shippingOrderRepository.findByHqlWhere(orderPackBean); + + Map orderMap = shippingOrderManagements.stream().collect(Collectors.toMap(MesShippingOrderManagement::getShippingCode, Function.identity())); + + List mesJisShippings = new ArrayList<>(); + + + + for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { + MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getShippingCode()); + if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getPartNo())) { + log.info("客户零件号对应的零件号为空:{}", mesShippingOrderManagementDetail.getCustPartNo()); + return ResultBean.fail(String.format("客户零件号对应的零件号为空:%s", mesShippingOrderManagementDetail.getCustPartNo())); + } + mesShippingOrderManagementDetail.setActualQty((int)mesShippingOrderManagementDetail.getPlanQty()); + mesShippingOrderManagementDetail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + ConvertBean.serviceModelUpdate(mesShippingOrderManagementDetail, userName); + + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MOVE_RULE_GROUP_TYPE.MOVE_RULE_GROUP_TYPE_10.getValue(), "groupType", ddlPackBean); + DdlPreparedPack.getStringEqualPack(mesShippingOrderManagement.getShippingGroupCode(), "code", ddlPackBean); + MesMoveRule moveRule = mesMoveRuleRepository.getByProperty(ddlPackBean); + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(mesShippingOrderManagementDetail.getVisualOrderNo(), "workOrderNo", packBean); + + MesWorkOrderPart workOrderPart = mesWorkOrderPartRepository.getByProperty(packBean); + + mesJisShippings.add(getMesJisShipping(mesShippingOrderManagement, mesShippingOrderManagementDetail,moveRule.getErpSrcLocateNo(), workOrderPart,userName)); + } + if (!CollectionUtils.isEmpty(detailList)) { + shippingOrderDetailRepository.saveAll(detailList); + } + // jis同步 + if(!CollectionUtils.isEmpty(mesJisShippings)){ + jisShippingRepository.saveAll(mesJisShippings); + } + return ResultBean.success("操作成功"); + } + + + public MesJisShipping getMesJisShipping(MesShippingOrderManagement orderManagement,MesShippingOrderManagementDetail detail, String srcLocateNo, MesWorkOrderPart orderPart, String userName) { + MesJisShipping jisShipping = new MesJisShipping(); + BeanUtils.copyProperties(orderManagement, jisShipping); + BeanUtils.copyProperties(detail, jisShipping); + jisShipping.setFactoryCode(orderManagement.getCustOrganizeCode()); + jisShipping.setShippingTime(TimeTool.getNowTime(true)); + jisShipping.setErpWarerhouse(srcLocateNo); + jisShipping.setErpWarehous(srcLocateNo); + jisShipping.setDock(orderManagement.getSendDockCode()); + jisShipping.setCusCode(orderManagement.getCustCode()); + jisShipping.setCusDock(orderManagement.getCustDockCode()); + jisShipping.setCustOrderNo(detail.getCustOrderNo()); + // 子零件信息赋值 + jisShipping.setPartNo(orderPart.getPartNo()); + jisShipping.setUnit(orderPart.getItemUnit()); + // 20241115 没有给carNo赋值 + jisShipping.setCarNo(detail.getVin()); + jisShipping.setSerialNumber(orderPart.getWorkOrderNo()); + jisShipping.setQuantityPerCar(orderPart.getItemQty()); + jisShipping.setOffTime(TimeTool.getNowTime(true)); + jisShipping.setShippingOrderCode(orderManagement.getShippingCode()); + jisShipping.setFid(UUID.randomUUID().toString()); + jisShipping.setSystemSyncStatus(CommonEnumUtil.FALSE); + ConvertBean.serviceModelInitialize(jisShipping, userName); + return jisShipping; } @Override From 463ec92cbf8959d976aa7a330f45c795006e049c Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Tue, 21 Jan 2025 19:46:23 +0800 Subject: [PATCH 18/26] =?UTF-8?q?44905=20=20MES-=E5=8F=91=E8=BF=90?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...MesShippingOrderManagementDetailController.java | 2 +- .../MesShippingOrderManagementDetailDaoImpl.java | 9 ++++- .../MesShippingOrderManagementDetailService.java | 38 ++++++++++++++++------ 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java index c3b3bcd..4b00413 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java @@ -59,7 +59,7 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle @GetMapping("/master/error/query") public ResultBean queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) { try { - return ResultBean.success("查询成功").setListPager(shippingOrderManagementDetailService.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel,pager)); + return ResultBean.success("查询成功").setListPager(shippingOrderManagementDetailService.queryMesShippingErrorDetailsByPager(mesShippingOrderManagementDetailModel,pager)); } catch (ImppBusiException e) { return ResultBean.fail(e); } catch (Exception e) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java index 3728278..0e65b6b 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java @@ -132,7 +132,11 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter("organizeCode", mesShippingOrderManagementDetailModel.getOrganizeCode()); - query.setParameter("status", MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + if (mesShippingOrderManagementDetailModel.getStatus() == null) { + query.setParameter("status", MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + } else { + query.setParameter("status", mesShippingOrderManagementDetailModel.getStatus()); + } if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingType())) query.setParameter("shippingType", mesShippingOrderManagementDetailModel.getShippingType()); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getStartScanTimeStart())) @@ -147,6 +151,7 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde query.setParameter("publishTimeStart", mesShippingOrderManagementDetailModel.getPublishTimeStart()); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPublishTimeEnd())) query.setParameter("publishTimeEnd", mesShippingOrderManagementDetailModel.getPublishTimeEnd()); + } private String getOrderBy(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel) { @@ -166,6 +171,8 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde commonHql.append(" and d.status = :status "); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingCode())) commonHql.append(" and m.shippingCode like '%").append(mesShippingOrderManagementDetailModel.getShippingCode()).append("%' "); + if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingGroupCode())) + commonHql.append(" and m.shippingGroupCode like '%").append(mesShippingOrderManagementDetailModel.getShippingGroupCode()).append("%' "); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getBarcode())) commonHql.append(" and d.barcode like '%").append(mesShippingOrderManagementDetailModel.getBarcode()).append("%' "); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPartNo())) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index f3335a3..1cb90fc 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -97,8 +97,10 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { @@ -107,19 +109,23 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { @@ -128,10 +134,12 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); - List orderNoList = detailList.stream().map(MesShippingOrderManagementDetail::getShippingCode).distinct().collect(Collectors.toList()); + List idList = detailList.stream().map(MesShippingOrderManagementDetail::getPid).distinct().collect(Collectors.toList()); DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(orderNoList, "shippingCode", orderPackBean); + DdlPreparedPack.getInPackList(idList, "id", orderPackBean); List shippingOrderManagements = shippingOrderRepository.findByHqlWhere(orderPackBean); - Map orderMap = shippingOrderManagements.stream().collect(Collectors.toMap(MesShippingOrderManagement::getShippingCode, Function.identity())); + Map orderMap = shippingOrderManagements.stream().collect(Collectors.toMap(MesShippingOrderManagement::getId, Function.identity())); List mesJisShippings = new ArrayList<>(); - - for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { - MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getShippingCode()); + MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getPid()); if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getPartNo())) { log.info("客户零件号对应的零件号为空:{}", mesShippingOrderManagementDetail.getCustPartNo()); return ResultBean.fail(String.format("客户零件号对应的零件号为空:%s", mesShippingOrderManagementDetail.getCustPartNo())); } mesShippingOrderManagementDetail.setActualQty((int)mesShippingOrderManagementDetail.getPlanQty()); mesShippingOrderManagementDetail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + mesShippingOrderManagementDetail.setRemark("手工发运"); ConvertBean.serviceModelUpdate(mesShippingOrderManagementDetail, userName); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MOVE_RULE_GROUP_TYPE.MOVE_RULE_GROUP_TYPE_10.getValue(), "groupType", ddlPackBean); DdlPreparedPack.getStringEqualPack(mesShippingOrderManagement.getShippingGroupCode(), "code", ddlPackBean); MesMoveRule moveRule = mesMoveRuleRepository.getByProperty(ddlPackBean); + if (moveRule == null) { + log.info("移库规则不存在:发运组代码:{}", mesShippingOrderManagement.getShippingGroupCode()); + return ResultBean.fail(String.format("移库规则不存在:发运单编号:%s,发运组代码:%s,", mesShippingOrderManagement.getShippingCode(),mesShippingOrderManagement.getShippingGroupCode())); + } + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(mesShippingOrderManagementDetail.getVisualOrderNo(), "workOrderNo", packBean); - MesWorkOrderPart workOrderPart = mesWorkOrderPartRepository.getByProperty(packBean); + if (workOrderPart == null) { + log.info("工单零件信息不存在:工单号:{}", mesShippingOrderManagementDetail.getVisualOrderNo()); + return ResultBean.fail(String.format("工单零件信息不存在:工单号:%s", mesShippingOrderManagementDetail.getVisualOrderNo())); + } + mesJisShippings.add(getMesJisShipping(mesShippingOrderManagement, mesShippingOrderManagementDetail,moveRule.getErpSrcLocateNo(), workOrderPart,userName)); } From 939c515fc29770e9e1321dda8bb5303efbdf09d5 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Tue, 21 Jan 2025 20:40:09 +0800 Subject: [PATCH 19/26] =?UTF-8?q?44905=20=20MES-=E5=8F=91=E8=BF=90?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/MesShippingOrderManagementDetailService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index 1cb90fc..0976597 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -122,10 +122,10 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { From a4d6e8009a7c05812323b505713de9a14deb2675 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Tue, 21 Jan 2025 22:02:58 +0800 Subject: [PATCH 20/26] =?UTF-8?q?44905=20=20MES-=E5=8F=91=E8=BF=90?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IMesShippingOrderManagementDetailService.java | 3 +++ ...MesShippingOrderManagementDetailController.java | 15 +++++++++-- .../MesShippingOrderManagementDetailService.java | 31 +++++++++++++++++++--- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java index 61137fd..62002ab 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java @@ -37,6 +37,9 @@ public interface IMesShippingOrderManagementDetailService extends IBaseMesServic @ApiOperation("手动发运改数量") public ResultBean updateQty(Long[] ids); + @ApiOperation("同步") + public ResultBean syncShip(Long[] ids); + @ApiOperation("发运退回") void doShippingBack(Long[] idList,String organizeCode,String userName); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java index 4b00413..bc5af0f 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java @@ -90,8 +90,7 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } - - @ApiOperation(value = "手工发运", notes = "手工发运") + @ApiOperation(value = "修改数量", notes = "修改数量") @GetMapping("/master/part/updateQty") public ResultBean updateQty(Long[] ids) { try { @@ -103,6 +102,18 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle } } + @ApiOperation(value = "发运同步", notes = "发运同步") + @GetMapping("/master/part/syncShip") + public ResultBean syncShip(Long[] ids) { + try { + return shippingOrderManagementDetailService.syncShip(ids); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + @ApiOperation(value = "发运退回", notes = "发运退回") @PutMapping("/doShippingBack") public ResultBean doShippingBack(@RequestBody Long[] idList) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index 0976597..ba6db7b 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -152,6 +152,27 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); + + for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { + if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getPartNo())) { + log.info("发运单明细对应零件号为空"); + return ResultBean.fail(String.format("发运单明细对应零件号为空")); + } + mesShippingOrderManagementDetail.setActualQty((int)mesShippingOrderManagementDetail.getPlanQty()); + ConvertBean.serviceModelUpdate(mesShippingOrderManagementDetail, userName); } + if (!CollectionUtils.isEmpty(detailList)) { + shippingOrderDetailRepository.saveAll(detailList); + } + return ResultBean.success("操作成功"); + } + + @Override + public ResultBean syncShip(Long[] ids) { + String organizeCode = AuthUtil.getOrganizeCode(); + String userName = AuthUtil.getSessionUser().getUserName(); + /*String organizeCode = "CR01"; + String userName ="zxw";*/ + List detailList = getManagementDetails(ids, organizeCode, userName); List idList = detailList.stream().map(MesShippingOrderManagementDetail::getPid).distinct().collect(Collectors.toList()); DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode); @@ -165,10 +186,13 @@ public class MesShippingOrderManagementDetailService extends BaseMesService Date: Tue, 21 Jan 2025 22:35:28 +0800 Subject: [PATCH 21/26] =?UTF-8?q?44905=20=20MES-=E5=8F=91=E8=BF=90?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesShippingOrderManagementDetailService.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index ba6db7b..9ab930f 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -168,10 +168,10 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); List idList = detailList.stream().map(MesShippingOrderManagementDetail::getPid).distinct().collect(Collectors.toList()); @@ -189,7 +189,7 @@ public class MesShippingOrderManagementDetailService extends BaseMesService Date: Tue, 21 Jan 2025 22:49:32 +0800 Subject: [PATCH 22/26] =?UTF-8?q?44905=20=20MES-=E5=8F=91=E8=BF=90?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/MesShippingOrderManagementDetailService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index 9ab930f..3242344 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -168,10 +168,10 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); List idList = detailList.stream().map(MesShippingOrderManagementDetail::getPid).distinct().collect(Collectors.toList()); From fb9282ed55452f83e2d6f252bb66485378dc7f93 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 22 Jan 2025 20:35:44 +0800 Subject: [PATCH 23/26] =?UTF-8?q?=2044907=20MES=EF=BC=9A=E6=A3=80=E9=AA=8C?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E6=95=B0=E6=8D=AE=E6=80=BB=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/model/report/MesInspectionProductDataAmountReportModel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesInspectionProductDataAmountReportModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesInspectionProductDataAmountReportModel.java index 819a3fc..678ef8b 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesInspectionProductDataAmountReportModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesInspectionProductDataAmountReportModel.java @@ -90,7 +90,7 @@ public class MesInspectionProductDataAmountReportModel implements Serializable { private String sn; @ApiParam("数量") - private Integer qty; + private Double qty; @ApiParam("生产线名称") private String workCenterName; @@ -121,7 +121,7 @@ public class MesInspectionProductDataAmountReportModel implements Serializable { public MesInspectionProductDataAmountReportModel() {} - public MesInspectionProductDataAmountReportModel(Long id, Long pid, String inspectionDate, String modifyDatetime, String partName, String partNo, String sn, Integer qty, String workCenterCode, + public MesInspectionProductDataAmountReportModel(Long id, Long pid, String inspectionDate, String modifyDatetime, String partName, String partNo, String sn, Double qty, String workCenterCode, String createUser, String ncModifyUser, Integer inspectionStatus, Integer ncStatus, String defectLocation, Integer frontBack, String defectTypeName, String lgort, String umlgo, String zrsum, Integer taskStatus, String reworkOrder, String modifyUser, String partTypeCode, String workCenterName) { this.id = id; From 58f87b6e8546ccbee054382ccbf244fb6b79a80d Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 23 Jan 2025 09:41:01 +0800 Subject: [PATCH 24/26] =?UTF-8?q?=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesPackingRuleDetailService.java | 27 ---------------------- 1 file changed, 27 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingRuleDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingRuleDetailService.java index 0b9e0a8..2a0f5f5 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingRuleDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPackingRuleDetailService.java @@ -1,28 +1,17 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; -import cn.estsh.i3plus.ext.mes.api.base.IMesPackingPartTypeService; import cn.estsh.i3plus.ext.mes.api.base.IMesPackingRuleDetailService; import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.mes.bean.MesPackingPartType; import cn.estsh.i3plus.pojo.mes.bean.MesPackingRuleDetail; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; @Service @Slf4j public class MesPackingRuleDetailService extends BaseMesService implements IMesPackingRuleDetailService { - @Autowired - private IMesPackingPartTypeService packingPartTypeService; - @Override protected void setPackQueryBean(MesPackingRuleDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringLikerPack(bean.getPackageCode(), MesExtConstWords.PACKAGE_CODE, packBean); @@ -30,20 +19,4 @@ public class MesPackingRuleDetailService extends BaseMesService list) { - if (CollectionUtils.isEmpty(list)) return; - - DdlPackBean packBean = DdlPackBean.getDdlPackBean(list.get(0).getOrganizeCode()); - List packingPartTypeList = packingPartTypeService.findAll(packBean); - Map packingPartTypeMap = CollectionUtils.isEmpty(packingPartTypeList) ? null : - packingPartTypeList.stream().filter(o -> null != o).collect(Collectors.toMap(MesPackingPartType::getPartType, MesPackingPartType::getPartTypeName)); - - if (!CollectionUtils.isEmpty(packingPartTypeMap)) { - list.forEach(o -> { - o.setPartTypeName(packingPartTypeMap.get(o.getPartType())); - }); - } - } - } From a0e07ca940f6553474a782c5bc04caa14083a941 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Sat, 25 Jan 2025 12:52:48 +0800 Subject: [PATCH 25/26] =?UTF-8?q?44915=20=E6=8E=92=E5=BA=8F=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E8=A7=84=E5=88=99=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E4=BB=A3=E7=A0=81=E3=80=81=E8=BD=A6=E5=9E=8B?= =?UTF-8?q?=E5=A4=A7=E7=B1=BB=E4=BB=A3=E7=A0=81=E3=80=81=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E8=A7=84=E5=88=99=E5=B1=95=E7=A4=BA=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E4=BB=A3=E7=A0=81=E3=80=81=E8=BD=A6=E5=9E=8B?= =?UTF-8?q?=E5=A4=A7=E7=B1=BB=E5=90=8D=E7=A7=B0=E6=90=9C=E7=B4=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesProdRuleSortCfgService.java | 4 + .../serviceimpl/base/MesWorkOrderService.java | 41 +++- .../src/main/resources/application-241.properties | 242 +++++++++++++++++++++ .../src/main/resources/application.properties | 4 +- 4 files changed, 284 insertions(+), 7 deletions(-) create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/resources/application-241.properties diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProdRuleSortCfgService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProdRuleSortCfgService.java index 8fe3a79..901e8f1 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProdRuleSortCfgService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProdRuleSortCfgService.java @@ -25,6 +25,10 @@ public class MesProdRuleSortCfgService extends BaseMesService implements //查询产线信息 MesWorkCenter mesWorkCenter = getMesWorkCenter(mesWorkOrderDb.getOrganizeCode(),mesWorkOrderDb.getWorkCenterCode()); - MesProductVersion mesProductVersion = getMesProductVersion(mesWorkOrderDb.getOrganizeCode(),mesWorkOrderDb.getPartNo(),mesWorkOrderDb.getProductVersion()); - + String partProdGroupCode = mesWorkOrder.getPartProdGroupCode(); + MesProductVersion mesProductVersion = getMesProductVersion(mesWorkOrder.getOrganizeCode(), mesWorkOrder.getPartNo(), mesWorkOrder.getProductVersion()); + String bomVersion = mesProductVersion.getAlternativePartList(); + if (!StringUtil.isEmpty(partProdGroupCode)) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", ddlPackBean); + List mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(ddlPackBean, 1); + // 没有零件生产组用默认找生产版本、有的话找获取bom方式枚举,枚举是基于默认BOM 则直接找 + if (!mesPartProdGroupList.isEmpty()) { + MesPartProdGroup mesPartProdGroup = mesPartProdGroupList.get(0); + if (mesPartProdGroup.getEnableBomVersion() != null && mesPartProdGroup.getEnableBomVersion() == MesExtEnumUtil.ENABLE_BOM_VERSION.ENABLE_BOM_VERSION_2.getValue()) { + log.info("基于默认BOM获取BOM"); + bomVersion = ""; + } + } + } //物料+生产版本获取bom信息 - List mesBoms = mesBomService.findBomList(mesPart.getOrganizeCode(), mesPart, mesProductVersion.getAlternativePartList()); + List mesBoms = mesBomService.findBomList(mesPart.getOrganizeCode(), mesPart, bomVersion); //报工类型 if (MesExtEnumUtil.REPORT_TYPE.REPORT.getValue() == mesWorkOrder.getReportType()) { @@ -1068,7 +1082,7 @@ public class MesWorkOrderService extends BaseMesService implements mesWorkOrder.getAdjustQty(), mesWorkOrder.getReportedQty()); } } - String partProdGroupCode = mesWorkOrder.getPartProdGroupCode(); + /*String partProdGroupCode = mesWorkOrder.getPartProdGroupCode(); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(partProdGroupCode,"partProdGroupCode",ddlPackBean); List mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(ddlPackBean, 1); @@ -1081,8 +1095,25 @@ public class MesWorkOrderService extends BaseMesService implements mesProductVersion = getMesProductVersion(mesWorkOrder.getOrganizeCode(), mesWorkOrder.getPartNo(), mesWorkOrder.getProductVersion()); bomVersion = mesProductVersion.getAlternativePartList(); } - } + }*/ + String partProdGroupCode = mesWorkOrder.getPartProdGroupCode(); + //获取生产版本, partProdGroupCode 不为空,查询的数据不为空,查询数据中的获取bom方式不为空且枚举是 基于默认BOM ,才bomversion = null 否则都是通过生产版本找bom + MesProductVersion mesProductVersion = getMesProductVersion(mesWorkOrder.getOrganizeCode(), mesWorkOrder.getPartNo(), mesWorkOrder.getProductVersion()); + String bomVersion = mesProductVersion.getAlternativePartList(); + if (!StringUtil.isEmpty(partProdGroupCode)) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", ddlPackBean); + List mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(ddlPackBean, 1); + + if (!mesPartProdGroupList.isEmpty()) { + MesPartProdGroup mesPartProdGroup = mesPartProdGroupList.get(0); + if (mesPartProdGroup.getEnableBomVersion() != null && mesPartProdGroup.getEnableBomVersion() == MesExtEnumUtil.ENABLE_BOM_VERSION.ENABLE_BOM_VERSION_2.getValue()) { + log.info("基于默认BOM获取BOM"); + bomVersion = ""; + } + } + } //生成条码 String sn = getStringList(mesWorkOrderNew.getOrganizeCode(), AuthUtilExt.getUserName()); //保存数据 diff --git a/modules/i3plus-ext-mes-apiservice/src/main/resources/application-241.properties b/modules/i3plus-ext-mes-apiservice/src/main/resources/application-241.properties new file mode 100644 index 0000000..fac868c --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/resources/application-241.properties @@ -0,0 +1,242 @@ +#\u9879\u76EE\u7AEF\u53E3 +server.port=8300 +#\u672C\u673Aip +impp.server.ip=localhost +#\u94FE\u8DEF\u8FFD\u8E2Azipkin\u63A7\u5236\u53F0ip\u5730\u5740 +impp.console.ip=http://10.193.30.22:8010 +################ \u529F\u80FD\u914D\u7F6E1 ################ +#mes webservice\u5F00\u5173 +mes.webservice.open=true +#\u5DE5\u4F5C\u533AID,\u4E0D\u540C\u670D\u52A1\u5668\u4E0D\u540CID 0 - 31 +impp.snowflake.work.id=19 +#\u6570\u636E\u4ED3\u533AID 0 - 31 \u6709\u9ED8\u8BA4\u56FA\u5B9AID +impp.snowflake.database.id=11 +#\u82E5\u65E0\u6CD5\u8FDE\u63A5\u6CE8\u518C\u4E2D\u5FC3\uFF0C\u662F\u5426\u9700\u8981\u4E00\u76F4\u68C0\u6D4B\u52A0\u5165 +impp.cluster.fetch=false +#\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3 +impp.cluster.regist.center=http://10.193.30.22:8000/eureka/ +#\u65E5\u5FD7\u9ED8\u8BA4\u4F7F\u7528log4j2 +logging.config=classpath:log4j2-spring.xml +########\u5E73\u53F0\u76F8\u5173\u53C2\u6570########## +#\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58 +impp.config.redis=true +#\u662F\u5426\u5F00\u542Fmongo +impp.config.mongo=true +#\u662F\u5426\u5F00\u542FrabbitMQ +impp.config.rabbitmq=false +#\u662F\u5426\u5F00\u542Fswagger +impp.config.swagger=true +#\u662F\u5426\u5F00\u542Fwebsocket +impp.config.websocket=true +#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1 +impp.config.fileserver=fastdfs +#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790 +impp.log.detail.controller=false +#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790 +impp.log.detail.service=false +################ \u961F\u5217\u5904\u7406 ################ +#\u7AD9\u5185\u4FE1 +impp.mq.queue.letter=true +#\u90AE\u4EF6 +impp.mq.queue.mail=true +#\u5B9A\u65F6\u4EFB\u52A1 +impp.mq.queue.schedule=true +#SWEB\u901A\u77E5\u5904\u7406\u961F\u5217 +impp.mq.queue.sweb.notice=true +################################ \u5176\u4ED6\u529F\u80FD\u8BBE\u7F6E ################################ +#elasticsearch ip \u591A\u4E2A\u7528\u9017\u53F7\u9694\u5F00 +elasticsearch.ip=10.193.30.22:9200 +################ FastDfs \u914D\u7F6E ################ +#tracker\u670D\u52A1\u5668ip +fastdfs.tracker_servers=10.193.30.22:22122 +# tracker\u7684http\u7AEF\u53E3 +fastdfs.http_tracker_http_port=22122 +# \u4F7F\u7528\u81EA\u5B9A\u4E49\u5DE5\u5177\u83B7\u53D6\u6587\u4EF6\u5C55\u793A\u5730\u5740 +fastdfs.http.ui.host=http://dfs.estsh.com +#\u5BC6\u7801 +#fastdfs.http.secret_key= +#\u8FDE\u63A5\u8D85\u65F6 +fastdfs.connect_timeout_in_seconds=500000 +#\u4F20\u8F93\u8D85\u65F6 +fastdfs.network_timeout_in_seconds=60000000 +fastdfs.charset=UTF-8 +# token \u9632\u76D7\u94FE\u529F\u80FD +fastdfs.http_anti_steal_token=no +#redisIP +redis.hostName=10.193.30.9 +#\u7AEF\u53E3\u53F7 +redis.port=6379 +#\u5982\u679C\u6709\u5BC6\u7801 +redis.password=(mfLEu7@9kmfdsTy +##\u5176\u4ED6redis\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904 +################## rabbitMQ\u914D\u7F6E #################### +spring.rabbitmq.vhost=/ +spring.rabbitmq.host=10.193.30.18 +spring.rabbitmq.port=15672 +spring.rabbitmq.username=root +spring.rabbitmq.password=(mfLEu7@9kmfdsTy +##\u5176\u4ED6rabbitMq\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904 +################ \u529F\u80FD\u914D\u7F6E2 ################ +#\u662F\u5426\u5F00\u542Fredis +mes.redis.open=true +#\u662F\u5426\u5141\u8BB8\u524D\u7AEF\u8DE8\u57DF\u63D0\u4EA4 +impp.web.cross=true +################ \u6388\u6743\u8FC7\u6EE4\u914D\u7F6E ################ +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.user.filteruri=/mes/operate/* +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.admin.filteruri=/mes/adoperate/* +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.saadmin.filteruri=/mes/saoperate/* +################ \u4E91\u914D\u7F6E \uFF08\u4EE5projectName\u4F5C\u4E3A\u5E94\u7528\u540D\uFF09 ################ +#\u662F\u5426\u5F00\u542F\u5FAE\u670D +eureka.client.enabled=false +#\uFF08\u53C2\u6570\u914D\u7F6E\uFF09\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740 -\u300B i3plus-ics\uFF0C\u591A\u4E2A\u7528\u9017\u53F7\u5206\u9694 +eureka.client.service-url.defaultZone=${impp.cluster.regist.center} +#\u533A\u57DF\uFF08\u6E90\u7801\u4E2D\u5305\u542BdefaultZone\uFF0C\u6240\u4EE5\u9ED8\u8BA4\u4F7F\u7528defaultZone\uFF09 +#eureka.client.region=estsh +#eureka.client.service-url.estsh:http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/ +################ \u672C\u673A\u5FAE\u670D\u914D\u7F6E ################ +#\u672C\u670D\u52A1\u4E3B\u673Aip\uFF08\u82E5\u591A\u4E2A\u7F51\u5361\uFF0C\u5219\u9700\u8981\u8BBE\u7F6E\u672C\u670D\u52A1ip\uFF09 +eureka.instance.ip-address=${impp.server.ip} +#\u672C\u670D\u52A1\u5B9E\u4F8BID +eureka.instance.instance-id=${impp.server.ip}:${server.port} +#\u672C\u670D\u52A1\u4E3B\u673A\u540D +eureka.instance.hostname=${impp.server.ip} +#\u672C\u670D\u52A1\u72B6\u6001\u9875\u9762 +eureka.instance.status-page-url=http://${impp.server.ip}:${server.port}/swagger-ui.html +#\u5C06\u81EA\u5DF1\u7684IP\u6CE8\u518C\u5230Eureka Server\u3002\u82E5\u4E0D\u914D\u7F6E\u6216\u8BBE\u7F6E\u4E3Afalse\uFF0C\u8868\u793A\u6CE8\u518C\u5FAE\u670D\u52A1\u6240\u5728\u64CD\u4F5C\u7CFB\u7EDF\u7684hostname\u5230Eureka Server +eureka.instance.prefer-ip-address=true +#\u662F\u5426\u8FDB\u884C\u5065\u5EB7\u68C0\u67E5 +eureka.client.healthcheck.enabled=true +################ \u68C0\u6D4B\u673A\u5236 ################ +#\u5FC3\u8DF3\u95F4\u9694\u5468\u671F\uFF0C\u5B95\u673A\u9650\u5236\uFF08\u79D2\uFF09\uFF0C30\u79D2\u6CA1\u53CD\u5E94\u89C6\u4E3A\u5B95\u673A +eureka.instance.lease-expiration-duration-in-seconds=30 +#\u5FC3\u8DF3\u5468\u671F +eureka.instance.lease-renewal-interval-in-seconds=20 +#client\u8FDE\u63A5Eureka\u670D\u52A1\u7AEF\u540E\u7684\u7A7A\u95F2\u7B49\u5F85\u65F6\u95F4\uFF0C\u9ED8\u8BA4\u4E3A30 \u79D2 +eureka.client.eureka-connection-idle-timeout-seconds=1 +#\u6700\u521D\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\u6240\u9700\u7684\u65F6\u95F4\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A40\u79D2 +eureka.client.initial-instance-info-replication-interval-seconds=1 +#\u95F4\u9694\u591A\u957F\u65F6\u95F4\u518D\u6B21\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2 +eureka.client.instance-info-replication-interval-seconds=1 +#\u4ECEeureka\u670D\u52A1\u5668\u6CE8\u518C\u8868\u4E2D\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\u7684\u65F6\u95F4\u95F4\u9694\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2 +eureka.client.registry-fetch-interval-seconds=1 +################ \u6253\u5F00feign\u7684\u7194\u65AD ################ +feign.hystrix.enabled=true +#\u8BFB\u53D6\u6570\u636E\u65F6\u957F +ribbon.ReadTimeout=100000 +#\u8FDE\u63A5\u65F6\u957F +ribbon.ConnectTimeout=100000 +#\u91CD\u8BD5 +ribbon.maxAutoRetries=2 +#\u54CD\u5E94\u8D85\u8FC7\u65F6\u957F\uFF0C\u8FDB\u884C\u7194\u65AD\uFF08\u7194\u65AD\u8D85\u65F6\u9700\u8981\u5927\u4E8E\u8BFB\u53D6\u65F6\u957F\u53CA\u8FDE\u63A5\u65F6\u957F\uFF09 +hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=150000 +#\u96C6\u7FA4\u540D +eureka.instance.metadata-map.cluster=impp_cluster +################ \u94FE\u8DEF\u8FFD\u8E2A ################ +#\u4F7F\u7528web\u65B9\u5F0F\u4F20\u8F93\u4FE1\u606F +spring.zipkin.sender.type=web +#\u94FE\u8DEF\u8FFD\u8E2A\u670D\u52A1\u7684\u5730\u5740 +spring.zipkin.base-url=${impp.console.ip} +#\u8FFD\u8E2A\u6DF1\u5EA6\uFF0C\u767E\u5206\u6BD4\uFF0C1\u662F\u5168\u90E8 +spring.sleuth.sampler.probability=1.0 +################ \u65E5\u5FD7\u636E\u6E90 ################ +spring.data.mongodb.database=mongoDBSource +spring.data.mongodb.uri=10.193.30.22:27017 +spring.data.mongodb.username=sa +spring.data.mongodb.password=i3plus +spring.data.mongodb.port=27017 +################ \u4E3B\u6570\u636E\u6E90 ################ + +##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316############## +impp.schedule.open=true +impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.schedule.datasource.jdbc-url=jdbc:mysql://10.193.30.20:3306/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8 +impp.schedule.datasource.username=root +impp.schedule.datasource.password=(mfLEu7@9kmfdsTy +impp.schedule.datasource.max-connections=20 +#\u5B9A\u65F6\u4EFB\u52A1\u5728\u670D\u52A1\u542F\u52A8\u540E\u591A\u5C11\u79D2\u6267\u884C +impp.schedule.start.after-second=20 +#\u662F\u5426\u96C6\u7FA4\u90E8\u7F72 +impp.schedule.datasource.is-clustered=true +#\u6267\u884C\u68C0\u6D4B\uFF08\u6BEB\u79D2\uFF09\uFF0C\u82E5\u5B95\u673A\u7531\u5176\u4ED6\u5B9A\u65F6\u5668\u6267\u884C +impp.schedule.datasource.cluster-checkin-interval=30000 +#\u7EBF\u7A0B\u6570 +impp.schedule.thread-count=10 +#\u7EBF\u7A0B\u4F18\u5148\u7EA7\uFF081-10\uFF09\u9ED8\u8BA4\u4E3A5 +impp.schedule.thread-priority=5 +################ \u6570\u636E\u6C60\u8BBE\u7F6E ################ +## \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF0C\u9ED8\u8BA4\u662F10 +spring.datasource.hikari.maximum-pool-size=100 +## \u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5\u6570\u91CF +spring.datasource.hikari.minimum-idle=10 +## \u7A7A\u95F2\u8FDE\u63A5\u5B58\u6D3B\u6700\u5927\u65F6\u95F4\uFF0C\u9ED8\u8BA4600000\uFF0810\u5206\u949F\uFF09 +spring.datasource.hikari.idle-timeout=600000 +## \u6B64\u5C5E\u6027\u63A7\u5236\u6C60\u4E2D\u8FDE\u63A5\u7684\u6700\u957F\u751F\u547D\u5468\u671F\uFF0C\u503C0\u8868\u793A\u65E0\u9650\u751F\u547D\u5468\u671F\uFF0C\u9ED8\u8BA41800000\u537330\u5206\u949F +spring.datasource.hikari.max-lifetime=1800000 +## \u6570\u636E\u5E93\u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4,\u9ED8\u8BA430\u79D2\uFF0C\u537330000 +spring.datasource.hikari.connection-timeout=30000 +################ JPA\u8BBE\u7F6E\u8BBE\u7F6E ################ +# mysql +spring.jpa.database=MYSQL +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect +##Sql-server## +#spring.jpa.database=sql_server +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect +##oracle## +#spring.jpa.database=oracle +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect +# mysql +spring.datasource.validationQuery=SELECT 1 +##Sql-server## +# spring.datasource.validationQuery=SELECT 1 +##oracle## +# spring.datasource.validationQuery=SELECT 1 FROM DUAL +#ImprovedNamingStrategy / physical_naming_strategy java\u5C5E\u6027\u6620\u5C04\u5230\u6570\u636E\u5E93\u5B57\u6BB5\u65F6\u547D\u540D\u89C4\u5219 +# spring.jpa.properties.hibernate.physical_naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy/org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl +#\u8868\u5173\u7CFBcreate,create-drop,update,validate +spring.jpa.properties.hibernate.hbm2ddl.auto=none +#\u662F\u5426\u663E\u793Asql +spring.jpa.show-sql=true +################ \u6388\u6743\u914D\u7F6E ################ +slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2 +slm.app.id=20190513 +###################\uFFFD\uFFFD\u013F\uFFFD\uFFFD\uFFFD\u077F\uFFFD\u02B5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00B7\uFFFD\uFFFD################################################## +project.entity.path=cn.estsh.i3plus.pojo + + +impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.write.datasource.jdbc-url=jdbc:mysql://10.193.30.20:3306/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true +impp.write.datasource.username=root +impp.write.datasource.password=(mfLEu7@9kmfdsTy +impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource +impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.read.datasource.jdbc-url=jdbc:mysql://10.193.30.20:3306/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true +impp.read.datasource.username=root +impp.read.datasource.password=(mfLEu7@9kmfdsTy + + + +#impp.schedule.scheduleType=xxljob +#xxl.job.admin.addresses=http://10.193.30.22:10010/xxl-job-admin +#### xxl-job, access token +#xxl.job.accessToken= +#### xxl-job executor appname +##xxl.job.executor.appname=${project.name} +#xxl.job.executor.appname=i3mes-castle +#### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null +#xxl.job.executor.address= +#### xxl-job executor server-info +#xxl.job.executor.ip=172.24.96.1 +##xxl.job.executor.ip= +##xxl.job.executor.port=9999 +#xxl.job.executor.port=8888 +#### xxl-job executor log-path +#xxl.job.executor.logpath= +#### xxl-job executor log-retention-days +#xxl.job.executor.logretentiondays=10 +#xxl.job.basePackage=cn.estsh.i3plus.ext.mes.apiservice.schedulejob + + +impp.app.ext.base-packages=cn.estsh.i3plus.ext.mes.apiservice \ No newline at end of file diff --git a/modules/i3plus-ext-mes-apiservice/src/main/resources/application.properties b/modules/i3plus-ext-mes-apiservice/src/main/resources/application.properties index d72832f..ae62ee8 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/resources/application.properties +++ b/modules/i3plus-ext-mes-apiservice/src/main/resources/application.properties @@ -1,7 +1,7 @@ #\u9879\u76EE\u540D\u79F0 spring.application.name=i3mes #\u4F7F\u7528\u914D\u7F6E -spring.profiles.active=docker,cus-docker +spring.profiles.active=6,cus-71 ######### \u81EA\u5B9A\u4E49\u53C2\u6570 ######### #\u9879\u76EE\u63CF\u8FF0\u4FE1\u606F\uFF08swagger\u4E2D\u663E\u5F0F\uFF09\uFF0C\u4E2D\u6587\u4F7F\u7528uncode\u8F6C desc.application.name=\u751F\u4EA7\u6267\u884C\u7CFB\u7EDF @@ -38,7 +38,7 @@ impp.app.pojo-packages=cn.estsh.i3plus.pojo.mes impp.app.ext.pojo-packages=cn.estsh.i3plus.ext.mes.pojo.** #dao\u63A5\u53E3\u5305 impp.app.pojo-dao=${impp.app.base-packages}.apiservice.dao -impp.app.ext.pojo-dao=${impp.app.ext.base-packages}.dao +impp.app.ext.pojo-dao=${impp.app.ext.pojo-packages}.dao #mongo-dao\u63A5\u53E3\u5305 impp.app.pojo-mongo-dao=${impp.app.base-packages}.**.apiservice.daomongo #\u5BF9\u8C61\u6301\u4E45\u5316\u5305\u8DEF\u5F84\uFF0C\u53EF\u4EE5\u591A\u4E2A\u5305\uFF0C\u9017\u53F7\u5206\u9694 From c600dbedf73c13355dad800e308f2cf43be45379 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Sat, 25 Jan 2025 12:54:00 +0800 Subject: [PATCH 26/26] =?UTF-8?q?44915=20=E6=8E=92=E5=BA=8F=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E8=A7=84=E5=88=99=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E4=BB=A3=E7=A0=81=E3=80=81=E8=BD=A6=E5=9E=8B?= =?UTF-8?q?=E5=A4=A7=E7=B1=BB=E4=BB=A3=E7=A0=81=E3=80=81=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E8=A7=84=E5=88=99=E5=B1=95=E7=A4=BA=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E4=BB=A3=E7=A0=81=E3=80=81=E8=BD=A6=E5=9E=8B?= =?UTF-8?q?=E5=A4=A7=E7=B1=BB=E5=90=8D=E7=A7=B0=E6=90=9C=E7=B4=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.properties | 3 ++- .../main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/resources/application.properties b/modules/i3plus-ext-mes-apiservice/src/main/resources/application.properties index ae62ee8..51f7d0b 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/resources/application.properties +++ b/modules/i3plus-ext-mes-apiservice/src/main/resources/application.properties @@ -1,7 +1,8 @@ #\u9879\u76EE\u540D\u79F0 spring.application.name=i3mes #\u4F7F\u7528\u914D\u7F6E -spring.profiles.active=6,cus-71 +#\u4F7F\u7528\u914D\u7F6E +spring.profiles.active=docker,cus-docker ######### \u81EA\u5B9A\u4E49\u53C2\u6570 ######### #\u9879\u76EE\u63CF\u8FF0\u4FE1\u606F\uFF08swagger\u4E2D\u663E\u5F0F\uFF09\uFF0C\u4E2D\u6587\u4F7F\u7528uncode\u8F6C desc.application.name=\u751F\u4EA7\u6267\u884C\u7CFB\u7EDF diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java index 5f1f85a..8e57671 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java @@ -193,6 +193,9 @@ public class MesExtConstWords { public static final String PRT_VEHICLE_COUNT = "prtVehicleCount"; //车型代码 public static final String VEHICLE_NO = "vehicleNo"; + //车型代码 + public static final String VEHICLE_CLASS_NO = "vehicleClassNo"; + //拉动单类型 public static final String PULL_ORDER_TYPE = "pullOrderType"; //拉动单状态