From fe608faa75ecbbcfb096f73f39111bfb5bde7817 Mon Sep 17 00:00:00 2001 From: jun Date: Thu, 29 Aug 2024 11:48:34 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E8=A3=85=E9=85=8D=E4=BB=B6=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E8=AE=B0=E5=BD=95=E8=A1=A8=E5=90=8C=E6=AD=A5=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy index f5c2f33..1f08b4d 100644 --- a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy @@ -73,7 +73,7 @@ class MesToPiscesProductionAssembly { if (!Objects.isNull(mesProductionRecord)) { rowMap.put("PRODUCTION_LOG_FID", mesProductionRecord.getFid()) } else { - LOGGER.info("原材料容器id:{},信息不存在", String.valueOf(rowMap.get("production_record_id"))) + LOGGER.info("加工记录id:{},信息不存在", String.valueOf(rowMap.get("production_record_id"))) } }else{ rowMap.put("PRODUCTION_LOG_FID", null) From 0d4b6fc6d8b920c3c0b947092887cea082f2ad75 Mon Sep 17 00:00:00 2001 From: gsz Date: Thu, 29 Aug 2024 12:48:39 +0800 Subject: [PATCH 02/12] =?UTF-8?q?42816=20=E6=8A=A5=E5=B7=A5=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E6=8A=A5=E8=A1=A8=E9=9C=80=E6=B1=82=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/apiservice/serviceimpl/base/MesWorkOrderLogService.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/base/MesWorkOrderLogService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderLogService.java index 489a775..ae268d0 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderLogService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderLogService.java @@ -75,8 +75,8 @@ public class MesWorkOrderLogService extends BaseMesService impl String sql = " from mes_work_order_log wol" + " where 1=1 " + " and wol.organize_code =:organizeCode " + - " and wol.work_order_type = '20' " + - " and wol.adjust_qty > 0 " + +// " and wol.work_order_type = '20' " + +// " and wol.adjust_qty > 0 " + " and wol.is_deleted ='2' " + " and wol.is_valid ='1' "; if (!StringUtil.isEmpty(startTime)) { From a2731249a4adcfb61fdf1911ace3cf7baa93d29f Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Thu, 29 Aug 2024 15:53:58 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/MesEquipmentVariableService.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java index 63e0386..1b79acd 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java @@ -93,14 +93,17 @@ public class MesEquipmentVariableService extends BaseMesService Date: Thu, 29 Aug 2024 19:03:24 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=20=E5=B7=A5=E5=8D=95=E6=B1=87=E6=80=BB?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java index 05147e9..7f23937 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanUtil; import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.mes.model.MesWorkOrderModel; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import lombok.extern.slf4j.Slf4j; import org.hibernate.SQLQuery; import org.hibernate.transform.Transformers; @@ -34,15 +35,17 @@ public class MesWorkOrderDaoImpl implements IMesWorkOrderDao { @Override public List sumMesWorkOrderQtyToSap(String organizeCode) { StringBuffer hql = new StringBuffer("select organize_code as organizeCode,part_no as partNo, date_format(plan_start_time, '%Y-%m-%d' ) as planStartTime, product_version as productVersion, " + - " sum(case when work_order_status = 40 then complete_qty else qty end ) as qty " + + " sum(case when work_order_status = 40 then 0 else qty end ) as qty " + " from mes_work_order where is_deleted=:isDeleted and is_valid = :isValid and organize_code = :organizeCode " + - " and work_order_type = 20 and order_flag !='P' and work_order_status != 10 and plan_start_time >= :today" + + " and work_order_type = :workOrderType and order_flag != :orderFlag and work_order_status in (20,40) and plan_start_time >= :today" + " group by organize_code,part_no, date_format(plan_start_time, '%Y-%m-%d' ), product_version "); Query query = entityManager.createNativeQuery(hql.toString()); query.setParameter("organizeCode", organizeCode); query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter("today", TimeTool.getToday()); + query.setParameter("workOrderType", MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()); + query.setParameter("orderFlag", MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()); query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List> hashMaps = query.getResultList(); From b61b06511ec439f46a7b1dcd7d95ec7c58328edd Mon Sep 17 00:00:00 2001 From: gsz Date: Fri, 30 Aug 2024 09:13:50 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/apiservice/schedulejob/MesQmsSuspiciousJob.java | 5 +++-- .../apiservice/serviceimpl/base/MesQmsSuspiciousService.java | 12 +++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesQmsSuspiciousJob.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesQmsSuspiciousJob.java index 9774280..9ef53e6 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesQmsSuspiciousJob.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesQmsSuspiciousJob.java @@ -10,6 +10,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection; import cn.estsh.i3plus.pojo.mes.repository.MesPartInspectionRepository; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.init.ApplicationProperties; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -93,7 +94,7 @@ public class MesQmsSuspiciousJob extends BaseMesScheduleJob { List partInspectionList = new ArrayList<>(); //排序取单件逻辑未同步的一条最新的 Map> partSnMap = mesPartInspectionList.stream() - .filter(p -> p.getSourceType() == 10) + .filter(p -> p.getSourceType() == MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.SINGLE.getValue()) .collect(Collectors.groupingBy(p -> p.getSn() + "-" + p.getPartNo())); for (Map.Entry> stringListEntry : partSnMap.entrySet()) { List value = stringListEntry.getValue(); @@ -103,7 +104,7 @@ public class MesQmsSuspiciousJob extends BaseMesScheduleJob { } //批次逻辑的全部汇总数量 42692 MES:可疑品汇总逻辑更新 Map> partMap = mesPartInspectionList.stream() - .filter(p -> p.getSourceType() == 20) + .filter(p -> p.getSourceType() == MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.LOT.getValue()) .collect(Collectors.groupingBy(MesPartInspection::getPartNo)); for (Map.Entry> stringListEntry : partMap.entrySet()) { partInspectionList.addAll(stringListEntry.getValue()); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesQmsSuspiciousService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesQmsSuspiciousService.java index 71b03b4..b067db4 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesQmsSuspiciousService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesQmsSuspiciousService.java @@ -104,7 +104,7 @@ public class MesQmsSuspiciousService extends BaseMesService im BeanUtils.copyProperties(mesPartInspection, partInspectionNew2); qmsTime = mesPartInspection.getCreateDatetime().substring(0, 13) + ":00:00"; partInspectionNew2.setInspectionDate(qmsTime); - if (mesPartInspection.getSourceType()==10){ + if (mesPartInspection.getSourceType()==MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.SINGLE.getValue()){ //如果条码重复出现时,对应最早时间段的零件不是最早,则不统计在汇总数据中 DdlPackBean packBeanSn = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(mesPartInspection.getSn(), "sn", packBeanSn); @@ -155,16 +155,18 @@ public class MesQmsSuspiciousService extends BaseMesService im double sumQty = mesPartInspections.stream().mapToDouble(MesPartInspection::getQty).sum(); mesQmsSuspicious.setInspectionQty((int) sumQty); //一次合格数 nc_status=10 inspection_status=10 - double qualifiedQty = mesPartInspections.stream().filter(m -> m.getNcStatus() == 10 && m.getInspectionStatus() == 10).mapToDouble(MesPartInspection::getQty).sum(); + double qualifiedQty = mesPartInspections.stream().filter(m -> m.getNcStatus() == MesExtEnumUtil.PART_INSPECTION_NC_STATUS.CREATE.getValue() + && m.getInspectionStatus() == MesExtEnumUtil.PART_INSPECTION_STATUS.QUALIFIED.getValue()).mapToDouble(MesPartInspection::getQty).sum(); mesQmsSuspicious.setQualifiedQty((int) qualifiedQty); //不合格数 nc_status=10 inspection_status=20 - double unqualifiedQty = mesPartInspections.stream().filter(m -> m.getNcStatus() == 10 && m.getInspectionStatus() == 20).mapToDouble(MesPartInspection::getQty).sum(); + double unqualifiedQty = mesPartInspections.stream().filter(m -> m.getNcStatus() == MesExtEnumUtil.PART_INSPECTION_NC_STATUS.CREATE.getValue() + && m.getInspectionStatus() == MesExtEnumUtil.PART_INSPECTION_STATUS.FAIL.getValue()).mapToDouble(MesPartInspection::getQty).sum(); mesQmsSuspicious.setUnqualifiedQty((int) unqualifiedQty); //误判数量 nc_status=30 inspection_status=20 - double misjudgmentQty = mesPartInspections.stream().filter(m -> m.getNcStatus() == 30).mapToDouble(MesPartInspection::getQty).sum(); + double misjudgmentQty = mesPartInspections.stream().filter(m -> m.getNcStatus() == MesExtEnumUtil.PART_INSPECTION_NC_STATUS.RELEASE.getValue()).mapToDouble(MesPartInspection::getQty).sum(); mesQmsSuspicious.setMisjudgmentQty((int) misjudgmentQty); //一次报废数 nc_status=40 inspection_status=20 - double scrappedQty = mesPartInspections.stream().filter(m -> m.getNcStatus() == 40 && m.getInspectionStatus() == 20).mapToDouble(MesPartInspection::getQty).sum(); + double scrappedQty = mesPartInspections.stream().filter(m -> m.getNcStatus() == MesExtEnumUtil.PART_INSPECTION_NC_STATUS.SCRAP.getValue() && m.getInspectionStatus() == MesExtEnumUtil.PART_INSPECTION_STATUS.FAIL.getValue()).mapToDouble(MesPartInspection::getQty).sum(); mesQmsSuspicious.setScrappedQty((int) scrappedQty); //返工合格数 nc_status=50 返工单 status=20 From 7930cd4734ca99902760fcd6c035dd6217db31c0 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Fri, 30 Aug 2024 14:34:46 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/api/base/IMesEquipmentVariableService.java | 2 +- .../mes/apiservice/aspect/MesRepositoryAspect.java | 2 +- .../base/MesEquipmentVariableController.java | 4 +-- .../base/MesEquipmentVariableService.java | 37 ++++++++++++++++++++-- 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentVariableService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentVariableService.java index deac71b..efde2cb 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentVariableService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentVariableService.java @@ -16,6 +16,6 @@ import java.util.Map; public interface IMesEquipmentVariableService extends IBaseMesService { @ApiModelProperty("设备变量导入") - void addMesEquipmentVariable(List> mapList, String equipmentCode, String userName, String organizeCode); + void addMesEquipmentVariable(List> mapList, String equipmentCode, String userName, String organizeCode, String device); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/aspect/MesRepositoryAspect.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/aspect/MesRepositoryAspect.java index ba27a9e..8985545 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/aspect/MesRepositoryAspect.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/aspect/MesRepositoryAspect.java @@ -24,7 +24,7 @@ import java.util.List; * @CreateDate 2024/6/27 10:10 * @Modify: **/ -@ConditionalOnExpression("'${mes.aspect.repository:false}' == 'true'") +@ConditionalOnExpression("'${mes.aspect.repository:true}' == 'true'") @Aspect @Configuration public class MesRepositoryAspect { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentVariableController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentVariableController.java index 6532802..0a62003 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentVariableController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentVariableController.java @@ -33,7 +33,7 @@ public class MesEquipmentVariableController extends BaseMesController> mapList = CsvImportUtil.csvImports(file); @@ -42,7 +42,7 @@ public class MesEquipmentVariableController extends BaseMesController> mapList,String equipmentCode, String userName, String organizeCode) { + public void addMesEquipmentVariable(List> mapList,String equipmentCode, String userName, String organizeCode, String device) { MesEquipment mesEquipment = getMesEquipment(organizeCode,equipmentCode); MesEquipmentChannel mesEquipmentChannel = getMesEquipmentChannel(organizeCode,equipmentCode); @@ -95,16 +95,49 @@ public class MesEquipmentVariableService extends BaseMesService Date: Fri, 30 Aug 2024 14:43:41 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E6=B1=87=E6=80=BB=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=8F=91=E9=80=81SAP=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/api/base/IMesWorkOrderService.java | 2 +- .../schedulejob/MesWorkOrderCloseOrderJob.java | 2 +- .../serviceimpl/base/MesWorkOrderService.java | 20 ++++++++++++++++++-- .../base/MesWorkOrderToSapServiceImpl.java | 2 +- .../serviceimpl/busi/MesSpotCheckOrderService.java | 2 ++ 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java index 95eeb28..68b8cb1 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java @@ -28,7 +28,7 @@ public interface IMesWorkOrderService extends IBaseMesService { void doProductReportExt(MesWorkOrder mesWorkOrder); @ApiOperation("非排序工单导入前删除") - void deleteUnSortOrder(String organizeCode, List partNoList,String userName); + void doCloseUnSortOrder(String organizeCode,String userName); @ApiOperation("汇总工单给SAP") List sumMesWorkOrderQtyToSap(String organizeCode); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderCloseOrderJob.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderCloseOrderJob.java index 104981e..6fc859a 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderCloseOrderJob.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderCloseOrderJob.java @@ -45,7 +45,7 @@ public class MesWorkOrderCloseOrderJob extends BaseMesScheduleJob { String userName = "CLOSE_JOB"; for (String organizeCode : organizeCodeList) { - mesWorkOrderService.deleteUnSortOrder(organizeCode, null, userName); + mesWorkOrderService.doCloseUnSortOrder(organizeCode, userName); } LOGGER.info("工单关闭开始结束 ----- end"); 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 2c38ce1..2155f44 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 @@ -118,6 +118,9 @@ public class MesWorkOrderService extends BaseMesService implements @Autowired private IMesCcscTaskService mesCcscTaskService; + @Autowired + private MesWorkOrderToSapRepository mesWorkOrderToSapRepository; + @Override public MesWorkOrder insert(MesWorkOrder bean) { //校验产线与工位的关系 @@ -1034,12 +1037,25 @@ public class MesWorkOrderService extends BaseMesService implements } @Override - public void deleteUnSortOrder(String organizeCode, List partNoList,String userName) { + public void doCloseUnSortOrder(String organizeCode,String userName) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(partNoList, "partNo", ddlPackBean); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(), "workOrderType", ddlPackBean); DdlPreparedPack.getStringSmallerNotEqualPack(TimeTool.getToday(), "planStartTime", ddlPackBean); DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), "workOrderStatus", ddlPackBean); + List mesWorkOrderList = baseRDao.findByHqlWhere(ddlPackBean); + if(CollectionUtils.isEmpty(mesWorkOrderList)){ + return; + } + //关闭工单回传 + List partNoAndDataKey = mesWorkOrderList.stream().map(t -> new StringJoiner(MesExtConstWords.COMMA).add(t.getPartNo()).add(t.getProductVersion()).add(t.getPlanStartTime().substring(0, 10)).toString()).distinct().collect(Collectors.toList()); + List mesWorkOrderToSapList = new ArrayList<>(); + for (String partNoAndData : partNoAndDataKey) { + MesWorkOrderToSap orderToSap = new MesWorkOrderToSap(organizeCode, partNoAndData.split(MesExtConstWords.COMMA)[0], partNoAndData.split(MesExtConstWords.COMMA)[1], 0d, partNoAndData.split(MesExtConstWords.COMMA)[2]); + ConvertBean.serviceModelInitialize(orderToSap,userName); + mesWorkOrderToSapList.add(orderToSap); + } + mesWorkOrderToSapRepository.saveAll(mesWorkOrderToSapList); + //关闭工单 baseRDao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderStatus"}, new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()}, ddlPackBean); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderToSapServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderToSapServiceImpl.java index fa23a7e..7b2e5ff 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderToSapServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderToSapServiceImpl.java @@ -24,7 +24,7 @@ public class MesWorkOrderToSapServiceImpl extends BaseMesService MesSpotCheckOrderPart spotCheckOrderPart = new MesSpotCheckOrderPart(); spotCheckOrderPart.setSpotCheckOrderId(spotCheckOrderId); BeanUtils.copyProperties(k, spotCheckOrderPart, "id"); + spotCheckOrderPart.setSystemSyncStatus(CommonEnumUtil.FALSE); ConvertBean.serviceModelInitialize(spotCheckOrderPart, userName); spotCheckOrderPartList.add(spotCheckOrderPart); }); @@ -541,6 +542,7 @@ public class MesSpotCheckOrderService extends BaseMesService result.setSpotCheckItemId(k.getId()); result.setTaskItemName(k.getSpotCheckItemName()); result.setSpotCheckStandardValue(k.getStandardValue()); + result.setSystemSyncStatus(CommonEnumUtil.FALSE); ConvertBean.serviceModelInitialize(result, userName); spotCheckOrderResults.add(result); }); From 65e2a26cc83bef7b3da2e1e640408bb1f6a36162 Mon Sep 17 00:00:00 2001 From: jun Date: Fri, 30 Aug 2024 17:13:54 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=B1=87=E6=80=BB?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.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/daoimpl/MesWorkOrderDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java index 7f23937..407426e 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java @@ -35,9 +35,9 @@ public class MesWorkOrderDaoImpl implements IMesWorkOrderDao { @Override public List sumMesWorkOrderQtyToSap(String organizeCode) { StringBuffer hql = new StringBuffer("select organize_code as organizeCode,part_no as partNo, date_format(plan_start_time, '%Y-%m-%d' ) as planStartTime, product_version as productVersion, " + - " sum(case when work_order_status = 40 then 0 else qty end ) as qty " + + " sum(case when work_order_status = 40 then reported_qty else qty end ) as qty " + " from mes_work_order where is_deleted=:isDeleted and is_valid = :isValid and organize_code = :organizeCode " + - " and work_order_type = :workOrderType and order_flag != :orderFlag and work_order_status in (20,40) and plan_start_time >= :today" + + " and work_order_type = :workOrderType and order_flag != :orderFlag and work_order_status in (20,30,40) and plan_start_time >= :today" + " group by organize_code,part_no, date_format(plan_start_time, '%Y-%m-%d' ), product_version "); Query query = entityManager.createNativeQuery(hql.toString()); query.setParameter("organizeCode", organizeCode); From 29efaba4ac3bd8c2db4a6e9d4b3607e0c0e10e63 Mon Sep 17 00:00:00 2001 From: jun Date: Fri, 30 Aug 2024 19:32:24 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=B1=87=E6=80=BB?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8F=98=E6=9B=B4=E5=A2=9E=E5=8A=A0=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.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/daoimpl/MesWorkOrderDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java index 407426e..7205dec 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesWorkOrderDaoImpl.java @@ -37,7 +37,7 @@ public class MesWorkOrderDaoImpl implements IMesWorkOrderDao { StringBuffer hql = new StringBuffer("select organize_code as organizeCode,part_no as partNo, date_format(plan_start_time, '%Y-%m-%d' ) as planStartTime, product_version as productVersion, " + " sum(case when work_order_status = 40 then reported_qty else qty end ) as qty " + " from mes_work_order where is_deleted=:isDeleted and is_valid = :isValid and organize_code = :organizeCode " + - " and work_order_type = :workOrderType and order_flag != :orderFlag and work_order_status in (20,30,40) and plan_start_time >= :today" + + " and work_order_type = :workOrderType and order_flag != :orderFlag and work_order_status in (20,30,40,50) and plan_start_time >= :today" + " group by organize_code,part_no, date_format(plan_start_time, '%Y-%m-%d' ), product_version "); Query query = entityManager.createNativeQuery(hql.toString()); query.setParameter("organizeCode", organizeCode); From 6faa207574d6abccea5e14c8ac2b55d4741082cf Mon Sep 17 00:00:00 2001 From: jun Date: Sun, 1 Sep 2024 13:40:39 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E8=B4=A3=E4=BB=BB=E4=BA=BA=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E5=85=B3=E7=B3=BB=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java index 48e7d3f..fb38f23 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java @@ -5,7 +5,6 @@ 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.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.MesOrg; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; @@ -25,11 +24,7 @@ public class MesOrgServiceImpl extends BaseMesService implements IMesOrg @Override protected void setPackQueryBean(MesOrg bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getInventoryLocationCode(), "inventoryLocationCode", packBean); - if(StringUtil.isEmpty(bean.getResponsibleParty())){ - DdlPreparedPack.getIsNotNull( "responsibleParty", packBean); - }else { - DdlPreparedPack.getStringEqualPack(bean.getResponsibleParty(), "responsibleParty", packBean); - } + DdlPreparedPack.getStringEqualPack(bean.getResponsibleParty(), "responsibleParty", packBean); } From 7cb382e5162820329e8e779cc2430eb6770854dc Mon Sep 17 00:00:00 2001 From: jun Date: Sun, 1 Sep 2024 13:41:11 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 2155f44..30d65f3 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 @@ -1046,6 +1046,7 @@ public class MesWorkOrderService extends BaseMesService implements if(CollectionUtils.isEmpty(mesWorkOrderList)){ return; } + log.info("关闭工单个数{},工单:{}",mesWorkOrderList.size(),mesWorkOrderList.stream().map(MesWorkOrder::getWorkOrderNo).collect(Collectors.toList())); //关闭工单回传 List partNoAndDataKey = mesWorkOrderList.stream().map(t -> new StringJoiner(MesExtConstWords.COMMA).add(t.getPartNo()).add(t.getProductVersion()).add(t.getPlanStartTime().substring(0, 10)).toString()).distinct().collect(Collectors.toList()); List mesWorkOrderToSapList = new ArrayList<>(); @@ -1056,8 +1057,8 @@ public class MesWorkOrderService extends BaseMesService implements } mesWorkOrderToSapRepository.saveAll(mesWorkOrderToSapList); //关闭工单 - baseRDao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderStatus"}, - new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()}, ddlPackBean); + baseRDao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderStatus","systemSyncStatus"}, + new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(),CommonEnumUtil.FALSE}, ddlPackBean); } From edfeb08797027f4b5bd720148d56613a9848d50e Mon Sep 17 00:00:00 2001 From: jun Date: Sun, 1 Sep 2024 13:41:52 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/groovy/Mes2Pisces/MesToPiscesProductSn.groovy | 9 ++++++++- .../src/groovy/Pisces2Mes/PiscesToMesProductSn.groovy | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductSn.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductSn.groovy index 01efd03..04b330f 100644 --- a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductSn.groovy +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductSn.groovy @@ -1,3 +1,4 @@ +import cn.estsh.i3plus.mes.apiservice.util.DateUtil import cn.estsh.i3plus.platform.common.tool.TimeTool import cn.estsh.i3plus.platform.plugin.datasource.DynamicDataSourceProxy import cn.estsh.i3plus.pojo.base.bean.DdlPackBean @@ -48,6 +49,8 @@ class MesToPiscesProductSn { LOGGER.info("未查询到跨工厂配置"); return new ArrayList<>(); } + LOGGER.info("跨工厂配置个数{}",crossOrganizeCfgList.size()); + List> srcData = new ArrayList<>(); List updateList = new ArrayList<>(); //循环处理数据 @@ -62,15 +65,19 @@ class MesToPiscesProductSn { } String sql = "select * from " + mapper.getSrcTableName() + " where organize_code = :srcOrganizeCode and part_no = :partNo and create_date_time >= :createDateTime and " + mapper.getSrcWhere() + " order by " + mapper.getSrcOrderBy() + " limit " + mapper.getSrcGetLimit() + LOGGER.info("工厂:{},物料:{},时间:{},查询sql:{}",crossOrganizeCfg.getOrganizeCode(),crossOrganizeCfg.getPartNo(),params.get("createDateTime"),sql); //查询待同步的数据 List> dataList = queryDataTable(sql, params); if (!CollectionUtils.isEmpty(dataList)) { + LOGGER.info("工厂:{},物料:{},查询行数:{}",crossOrganizeCfg.getSrcOrganizeCode(),crossOrganizeCfg.getPartNo(),dataList.size()); + //目标工厂 for (Map rowMap : dataList) { rowMap.put("DEST_ORGANIZE_CODE", crossOrganizeCfg.getSrcOrganizeCode()) } srcData.addAll(dataList); - String createDateTime = dataList.iterator().next().get("create_date_time") + + String createDateTime = TimeTool.pareDateToString(DateUtil.addMinutes(TimeTool.parseDate(dataList.iterator().next().get("create_date_time")), -5)); //更新配置 updateList.add("update mes_cross_organize_cfg set last_create_date_time = '"+createDateTime+"',last_exe_time = '"+ TimeTool.getNowTime(true)+"' where id= " + crossOrganizeCfg.getId() + " ;") } diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Pisces2Mes/PiscesToMesProductSn.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Pisces2Mes/PiscesToMesProductSn.groovy index 37e54f0..b1b548b 100644 --- a/modules/i3plus-ext-mes-apiservice/src/groovy/Pisces2Mes/PiscesToMesProductSn.groovy +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Pisces2Mes/PiscesToMesProductSn.groovy @@ -39,6 +39,7 @@ class PiscesToMesProductSn { LOGGER.info("未查询到跨工厂配置"); return new ArrayList<>(); } + LOGGER.info("跨工厂配置个数{}",crossOrganizeCfgList.size()); List> srcData = new ArrayList<>(); //循环处理数据 for (MesCrossOrganizeCfg crossOrganizeCfg : crossOrganizeCfgList) { @@ -46,9 +47,11 @@ class PiscesToMesProductSn { params.put("srcOrganizeCode", crossOrganizeCfg.getSrcOrganizeCode()) params.put("partNo", crossOrganizeCfg.getPartNo()) String sql = "select top "+mapper.getSrcGetLimit()+" * from " + mapper.getSrcTableName() + " where PLANT = :srcOrganizeCode and PART_NO = :partNo and " + mapper.getSrcWhere() + " order by "+mapper.getSrcOrderBy() + LOGGER.info("工厂:{},物料:{},查询sql:{}",crossOrganizeCfg.getSrcOrganizeCode(),crossOrganizeCfg.getPartNo(),sql); //查询待同步的数据 List> dataList = queryDataTable(sql, params); if (!CollectionUtils.isEmpty(dataList)) { + LOGGER.info("工厂:{},物料:{},查询行数:{}",crossOrganizeCfg.getSrcOrganizeCode(),crossOrganizeCfg.getPartNo(),dataList.size()); srcData.addAll(dataList); } }