From 804f0b847aa3b5cbceaec69475a8f880320de320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LML=E4=B8=B6?= Date: Thu, 30 May 2024 17:52:29 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A3=85=E8=BD=A6?= =?UTF-8?q?=E5=8D=95=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/apiservice/schedulejob/MesDefectAlarmConfigJob.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesDefectAlarmConfigJob.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesDefectAlarmConfigJob.java index df39e0e..a3a9b67 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesDefectAlarmConfigJob.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesDefectAlarmConfigJob.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.mes.apiservice.schedulejob.BaseMesScheduleJob; import cn.estsh.impp.framework.boot.init.ApplicationProperties; import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.quartz.DisallowConcurrentExecution; import org.quartz.JobExecutionContext; @@ -28,6 +29,7 @@ import java.util.Map; // 禁止 JOB 并发执行 @DisallowConcurrentExecution @ApiOperation("缺陷告警配置job") +@Slf4j public class MesDefectAlarmConfigJob extends BaseMesScheduleJob { public static final Logger LOGGER = LoggerFactory.getLogger(MesDefectAlarmConfigJob.class); From dce484125c7a193c1dab06e645bc1b943ce5b99f Mon Sep 17 00:00:00 2001 From: jun Date: Thu, 30 May 2024 17:54:43 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=B8=BB=E6=95=B0=E6=8D=AEbug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/apiservice/serviceimpl/base/MesCustomerMessagePointService.java | 2 +- .../ext/mes/apiservice/serviceimpl/base/MesCustomerOriganzeService.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/serviceimpl/base/MesCustomerMessagePointService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerMessagePointService.java index f51c4ac..ff73a47 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerMessagePointService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerMessagePointService.java @@ -52,6 +52,6 @@ public class MesCustomerMessagePointService extends BaseMesService Date: Thu, 30 May 2024 22:34:08 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=BC=94=E7=A4=BA?= =?UTF-8?q?=EF=BC=9A=E4=B8=BB=E6=95=B0=E6=8D=AEbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/apiservice/dbinterface/WmsSAPDbQuery.java | 3 +- .../base/MesPartProdGroupDetailService.java | 2 +- .../serviceimpl/base/MesPartProdGroupService.java | 4 +- .../serviceimpl/base/MesShiftService.java | 47 ++++++-- .../base/MesWorkCellExtendCfgService.java | 22 ++++ .../serviceimpl/base/MesWorkOrderService.java | 122 ++++++++++----------- 6 files changed, 124 insertions(+), 76 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dbinterface/WmsSAPDbQuery.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dbinterface/WmsSAPDbQuery.java index 5792c9f..8750057 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dbinterface/WmsSAPDbQuery.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dbinterface/WmsSAPDbQuery.java @@ -115,8 +115,7 @@ public class WmsSAPDbQuery { */ public String partName(String organizeCode, String partNo) throws Exception { String sqlString = "select part_name from mes_part where organize_code='" + organizeCode - + "' and part_no='" + partNo - + "' and is_deleted=2 and is_valid=1"; + + "' and part_no='" + partNo + "'"; List> result = mesDataSourceProxy.queryMapList(sqlString, srcConn); 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 05b57e7..7ccc9bb 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 @@ -22,7 +22,7 @@ public class MesPartProdGroupDetailService extends BaseMesService im throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("【%s】零件生产组代码已经存在,请检查数据", item.getPartProdGroupCode(), item.getCustomerCode()) + .setErrorDetail("【%s】零件生产组代码已经存在,请检查数据", item.getPartProdGroupCode()) .build(); } @@ -93,7 +93,7 @@ public class MesPartProdGroupService extends BaseMesService im throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("【%s】零件生产组代码已经存在,请检查数据", item.getPartProdGroupCode(), item.getCustomerCode()) + .setErrorDetail("【%s】零件生产组代码已经存在,请检查数据", item.getPartProdGroupCode()) .build(); } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShiftService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShiftService.java index 321010f..b832309 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShiftService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShiftService.java @@ -12,6 +12,8 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalTime; +import java.time.temporal.ChronoUnit; import java.util.List; @Service @@ -44,10 +46,10 @@ public class MesShiftService extends BaseMesService implements IMesShi DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getShiftCode(), "shiftCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBinPackBean); - cellBinPackBean.setWhereAppend(cellBinPackBean.getWhereAppend()+" " + - " and ((model.beginDate <= '"+item.getBeginDate()+"' and model.endDate >= '"+item.getBeginDate()+"')"+ - " or (model.beginDate <= '"+item.getEndDate()+"' and model.endDate >= '"+item.getEndDate()+"')" + - " or (model.beginDate >= '"+item.getBeginDate()+"' and model.endDate <= '"+item.getEndDate()+"'))" ); + cellBinPackBean.setWhereAppend(cellBinPackBean.getWhereAppend() + " " + + " and ((model.beginDate <= '" + item.getBeginDate() + "' and model.endDate >= '" + item.getBeginDate() + "')" + + " or (model.beginDate <= '" + item.getEndDate() + "' and model.endDate >= '" + item.getEndDate() + "')" + + " or (model.beginDate >= '" + item.getBeginDate() + "' and model.endDate <= '" + item.getEndDate() + "'))"); boolean flg = baseRDao.isExitByHql(cellBinPackBean); if (flg) { throw ImppExceptionBuilder.newInstance() @@ -56,9 +58,12 @@ public class MesShiftService extends BaseMesService implements IMesShi .setErrorDetail("【%s】区域【%s】产线【%s】班次代码生效时间内已经存在有效数据,请检查数据", item.getAreaCode(), item.getWorkCenterCode(), item.getShiftCode()) .build(); } + //计算工时 + item.setWorkTimes(houresBetweenTwoTime(item.getStartTime().split(":"),item.getEndTime().split(":"))); } + protected void onUpdateBean(MesShift item) { // 数据校验 @@ -77,10 +82,10 @@ public class MesShiftService extends BaseMesService implements IMesShi DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getShiftCode(), "shiftCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBinPackBean); - cellBinPackBean.setWhereAppend(cellBinPackBean.getWhereAppend()+" " + - " and ((model.beginDate <= '"+item.getBeginDate()+"' and model.endDate >= '"+item.getBeginDate()+"')"+ - " or (model.beginDate <= '"+item.getEndDate()+"' and model.endDate >= '"+item.getEndDate()+"')" + - " or (model.beginDate >= '"+item.getBeginDate()+"' and model.endDate <= '"+item.getEndDate()+"'))" ); + cellBinPackBean.setWhereAppend(cellBinPackBean.getWhereAppend() + " " + + " and ((model.beginDate <= '" + item.getBeginDate() + "' and model.endDate >= '" + item.getBeginDate() + "')" + + " or (model.beginDate <= '" + item.getEndDate() + "' and model.endDate >= '" + item.getEndDate() + "')" + + " or (model.beginDate >= '" + item.getBeginDate() + "' and model.endDate <= '" + item.getEndDate() + "'))"); DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean); boolean flg = baseRDao.isExitByHql(cellBinPackBean); if (flg) { @@ -90,6 +95,8 @@ public class MesShiftService extends BaseMesService implements IMesShi .setErrorDetail("【%s】区域【%s】产线【%s】班次代码生效时间内已经存在有效数据,请检查数据", item.getAreaCode(), item.getWorkCenterCode(), item.getShiftCode()) .build(); } + //计算工时 + item.setWorkTimes(houresBetweenTwoTime(item.getStartTime().split(":"),item.getEndTime().split(":"))); } @Override @@ -100,8 +107,28 @@ public class MesShiftService extends BaseMesService implements IMesShi DdlPreparedPack.getStringEqualPack(mesShift.getShiftCode(), "shiftCode", packBean); DdlPreparedPack.getStringEqualPack(mesShift.getWorkCenterCode(), "workCenterCode", packBean); DdlPreparedPack.getStringLikerPack(mesShift.getShiftName(), "shiftName", packBean); - DdlPreparedPack.getStringSmallerPack(nowDate,"beginDate",packBean); - DdlPreparedPack.getStringBiggerPack(nowDate,"endDate",packBean); + DdlPreparedPack.getStringSmallerPack(nowDate, "beginDate", packBean); + DdlPreparedPack.getStringBiggerPack(nowDate, "endDate", packBean); return baseRDao.findByHqlWhere(packBean); } + + + public double houresBetweenTwoTime(String[] start, String[] end) { + // 定义起始时间和结束时间 + LocalTime startTime = LocalTime.of(Integer.parseInt(start[0]), Integer.parseInt(start[1]), Integer.parseInt(start[2])); + LocalTime endTime = LocalTime.of(Integer.parseInt(end[0]), Integer.parseInt(end[1]), Integer.parseInt(end[2])); + + // 计算时间间隔 + long totalMinutes; + if (endTime.isBefore(startTime)) { + // 如果结束时间在起始时间之前,说明跨越了午夜 + totalMinutes = ChronoUnit.MINUTES.between(startTime, LocalTime.MAX) + + ChronoUnit.MINUTES.between(LocalTime.MIN, endTime); + } else { + totalMinutes = ChronoUnit.MINUTES.between(startTime, endTime); + } + + // 计算小时 + return (double)(totalMinutes / 60); + } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkCellExtendCfgService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkCellExtendCfgService.java index 30b2b92..ed0bb75 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkCellExtendCfgService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkCellExtendCfgService.java @@ -1,6 +1,9 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCellExtendCfgService; +import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellExtendCfg; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; @@ -17,6 +20,15 @@ public class MesWorkCellExtendCfgService extends BaseMesService implements } private void saveMesProductPlan(MesWorkOrder bean, boolean isInsert, boolean isReport) { - if (StringUtil.isEmpty(bean.getPlanOrderNo())) { - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean); - DdlPreparedPack.getStringEqualPack(bean.getPlanStartTime(), "planStartDate", ddlPackBean); - DdlPreparedPack.getStringEqualPack(bean.getPlanEndTime(), "planEndDate", ddlPackBean); - MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean); - if (null == mesProductPlan) { - MesProductPlan mesPlanOrder = new MesProductPlan(); - mesPlanOrder.setPlanOrderNo(""); - mesPlanOrder.setPlanQty(bean.getQty()); - mesPlanOrder.setPlanPartNo(bean.getPartNo()); - mesPlanOrder.setCompleteQty(0d); - mesPlanOrder.setUncompleteQty(bean.getQty()); - mesPlanOrder.setUnit(bean.getUnit()); - mesPlanOrder.setPlanStartDate(bean.getPlanStartTime()); - mesPlanOrder.setPlanEndDate(bean.getPlanEndTime()); - mesPlanOrder.setPartMappingWorkCenterCode(bean.getErpWorkCenter()); - mesPlanOrder.setPlanOrganizeCode(bean.getOrganizeCode()); - mesPlanOrder.setOrganizeCode(bean.getOrganizeCode()); - ConvertBean.serviceModelInitialize(mesPlanOrder, bean.getCreateUser()); - mesProductPlanRDao.insert(mesPlanOrder); - } else { - if (isInsert) { - mesProductPlan.setPlanQty(MathOperation.add(mesProductPlan.getPlanQty(), bean.getQty())); - } else { - //报工 - if (isReport) { - mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum())); - //报工调整 - } else { - mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum())); - } - } - mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty())); - ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser()); - mesProductPlanRDao.update(mesProductPlan); - } - } else { - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(bean.getPlanOrderNo(), "planOrderNo", ddlPackBean); - DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean); - MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean); - if (null == mesProductPlan) { - MesException.throwMesBusiException("SAP计划单号【%s】物料【%s】,不存在", bean.getPlanOrderNo(), bean.getPartNo()); - } - if (!isInsert) { - if (Objects.isNull(mesProductPlan.getCompleteQty())) { - mesProductPlan.setCompleteQty(0d); - } - //报工 - if (isReport) { - mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum())); - //报工调整 - } else { - mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum())); - } - mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty())); - ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser()); - mesProductPlanRDao.update(mesProductPlan); - } - } +// if (StringUtil.isEmpty(bean.getPlanOrderNo())) { +// DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); +// DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean); +// DdlPreparedPack.getStringEqualPack(bean.getPlanStartTime(), "planStartDate", ddlPackBean); +// DdlPreparedPack.getStringEqualPack(bean.getPlanEndTime(), "planEndDate", ddlPackBean); +// MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean); +// if (null == mesProductPlan) { +// MesProductPlan mesPlanOrder = new MesProductPlan(); +// mesPlanOrder.setPlanOrderNo(""); +// mesPlanOrder.setPlanQty(bean.getQty()); +// mesPlanOrder.setPlanPartNo(bean.getPartNo()); +// mesPlanOrder.setCompleteQty(0d); +// mesPlanOrder.setUncompleteQty(bean.getQty()); +// mesPlanOrder.setUnit(bean.getUnit()); +// mesPlanOrder.setPlanStartDate(bean.getPlanStartTime()); +// mesPlanOrder.setPlanEndDate(bean.getPlanEndTime()); +// mesPlanOrder.setPartMappingWorkCenterCode(bean.getErpWorkCenter()); +// mesPlanOrder.setPlanOrganizeCode(bean.getOrganizeCode()); +// mesPlanOrder.setOrganizeCode(bean.getOrganizeCode()); +// ConvertBean.serviceModelInitialize(mesPlanOrder, bean.getCreateUser()); +// mesProductPlanRDao.insert(mesPlanOrder); +// } else { +// if (isInsert) { +// mesProductPlan.setPlanQty(MathOperation.add(mesProductPlan.getPlanQty(), bean.getQty())); +// } else { +// //报工 +// if (isReport) { +// mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum())); +// //报工调整 +// } else { +// mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum())); +// } +// } +// mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty())); +// ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser()); +// mesProductPlanRDao.update(mesProductPlan); +// } +// } else { +// DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); +// DdlPreparedPack.getStringEqualPack(bean.getPlanOrderNo(), "planOrderNo", ddlPackBean); +// DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean); +// MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean); +// if (null == mesProductPlan) { +// MesException.throwMesBusiException("SAP计划单号【%s】物料【%s】,不存在", bean.getPlanOrderNo(), bean.getPartNo()); +// } +// if (!isInsert) { +// if (Objects.isNull(mesProductPlan.getCompleteQty())) { +// mesProductPlan.setCompleteQty(0d); +// } +// //报工 +// if (isReport) { +// mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum())); +// //报工调整 +// } else { +// mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum())); +// } +// mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty())); +// ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser()); +// mesProductPlanRDao.update(mesProductPlan); +// } +// } } @Override From 7d749607a63406c5852e58f2ca313589b174af14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LML=E4=B8=B6?= Date: Fri, 31 May 2024 09:19:47 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A3=85=E8=BD=A6?= =?UTF-8?q?=E5=8D=95=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/MesShippingOrderManagementDetailService.java | 2 ++ 1 file changed, 2 insertions(+) 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 cdee8d2..3e5c207 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 @@ -7,6 +7,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; 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.shipping.MesShippingOrderManagementDetail; import lombok.extern.slf4j.Slf4j; @@ -26,6 +27,7 @@ public class MesShippingOrderManagementDetailService extends BaseMesService queryDetailGroupByPartNo(MesShippingOrderManagementDetail bean, Pager pager) { From 121ced9b8ee4e6a436736001e4664b924728a0ea Mon Sep 17 00:00:00 2001 From: jun Date: Fri, 31 May 2024 11:06:22 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=B8=BB=E6=95=B0=E6=8D=AEbug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/serviceimpl/base/BaseMesService.java | 2 +- .../serviceimpl/base/MesCustomerPartService.java | 15 +++++++-------- .../serviceimpl/base/MesPartProdGroupService.java | 2 +- .../base/MesShiftGroupCenterCfgService.java | 2 ++ .../apiservice/serviceimpl/base/MesShiftService.java | 19 ++++++++++--------- .../serviceimpl/base/MesWorkCellExtendCfgService.java | 6 ++++++ .../excel/MesCustomerCarModelExcelService.java | 2 +- 7 files changed, 28 insertions(+), 20 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/BaseMesService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/BaseMesService.java index 28d88ff..2c3002e 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/BaseMesService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/BaseMesService.java @@ -53,7 +53,7 @@ public abstract class BaseMesService implements IBaseMesServ @Override public ListPager queryPager(T bean, Pager pager) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode(), bean.getIsValid()); - DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); + DdlPreparedPack.getOrderBy(bean.getOrderByParam(), bean.getAscOrDesc(), packBean); setPackQueryBean(bean, packBean); pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean)); List list = baseRDao.findByHqlWherePage(packBean, pager); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerPartService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerPartService.java index 27c9bf2..5587012 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerPartService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerPartService.java @@ -34,11 +34,10 @@ public class MesCustomerPartService extends BaseMesService impl private MesCustomerCarModelDetailRepository mesCustomerCarModelDetailRDao; protected void setPackQueryBean(MesCustomerPart bean, DdlPackBean packBean) { - DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), "customerPartNo", packBean); - DdlPreparedPack.getStringLikerPack(bean.getErpPartNo(), "erpPartNo", packBean); + DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), "custPartNo", packBean); + DdlPreparedPack.getStringEqualPack(bean.getErpPartNo(), "erpPartNo", packBean); DdlPreparedPack.getStringLikerPack(bean.getErpPartName(), "erpPartName", packBean); - DdlPreparedPack.getStringLikerPack(bean.getCustCode(), "customerCode", packBean); - + DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean); } protected void onInsertBean(MesCustomerPart item) { @@ -48,9 +47,9 @@ public class MesCustomerPartService extends BaseMesService impl ValidatorBean.checkNotNull(item.getCustPartNo(), "客户零件号不能为空"); DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(item.getCustCode(), "customerCode", cellBinPackBean); + DdlPreparedPack.getStringEqualPack(item.getCustCode(), "custCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getErpPartNo(), "erpPartNo", cellBinPackBean); - DdlPreparedPack.getStringEqualPack(item.getCustPartNo(), "customerPartNo", cellBinPackBean); + DdlPreparedPack.getStringEqualPack(item.getCustPartNo(), "custPartNo", cellBinPackBean); boolean flg = baseRDao.isExitByHql(cellBinPackBean); if (flg) { throw ImppExceptionBuilder.newInstance() @@ -70,7 +69,7 @@ public class MesCustomerPartService extends BaseMesService impl ValidatorBean.checkNotNull(item.getCustPartNo(), "客户零件号不能为空"); DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(item.getCustCode(), "customerCode", cellBinPackBean); + DdlPreparedPack.getStringEqualPack(item.getCustCode(), "custCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getCustPartNo(), "custPartNo", cellBinPackBean); DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean); @@ -97,7 +96,7 @@ public class MesCustomerPartService extends BaseMesService impl } List customerPartNoList = mesCustomerCarModelDetails.stream().map(MesCustomerCarModelDetail::getCustomerPartNo).collect(Collectors.toList()); ddlPackBean = DdlPackBean.getDdlPackBean(mesPartProdGroupDetail.getOrganizeCode()); - DdlPreparedPack.getInPackList(customerPartNoList, "customerPartNo", ddlPackBean); + DdlPreparedPack.getInPackList(customerPartNoList, "custPartNo", ddlPackBean); return baseRDao.findByHqlWhere(ddlPackBean); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupService.java index b1a3d9b..a975a12 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupService.java @@ -50,7 +50,7 @@ public class MesPartProdGroupService extends BaseMesService im DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean); DdlPreparedPack.getStringLikerPack(bean.getPartProdGroupName(), "partProdGroupName", packBean); DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); - + DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean); } @Override diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShiftGroupCenterCfgService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShiftGroupCenterCfgService.java index 8442452..0bf2e48 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShiftGroupCenterCfgService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShiftGroupCenterCfgService.java @@ -30,6 +30,8 @@ public class MesShiftGroupCenterCfgService extends BaseMesService implements IMesShi LocalTime endTime = LocalTime.of(Integer.parseInt(end[0]), Integer.parseInt(end[1]), Integer.parseInt(end[2])); // 计算时间间隔 - long totalMinutes; + long hoursDifference = ChronoUnit.HOURS.between(startTime, endTime); + + // 由于时间跨越了午夜,我们需要手动计算实际的小时差 if (endTime.isBefore(startTime)) { - // 如果结束时间在起始时间之前,说明跨越了午夜 - totalMinutes = ChronoUnit.MINUTES.between(startTime, LocalTime.MAX) - + ChronoUnit.MINUTES.between(LocalTime.MIN, endTime); - } else { - totalMinutes = ChronoUnit.MINUTES.between(startTime, endTime); + // 计算从开始时间到午夜的小时数 + long hoursToMidnight = ChronoUnit.HOURS.between(startTime, LocalTime.MAX); + // 计算从午夜到结束时间的小时数 + long hoursFromMidnight = ChronoUnit.HOURS.between(LocalTime.MIN, endTime); + // 将两部分小时数相加 + hoursDifference = hoursToMidnight + hoursFromMidnight + 1; } - - // 计算小时 - return (double)(totalMinutes / 60); + return (double) hoursDifference; } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkCellExtendCfgService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkCellExtendCfgService.java index ed0bb75..71a1bf3 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkCellExtendCfgService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkCellExtendCfgService.java @@ -14,6 +14,12 @@ import org.springframework.stereotype.Service; public class MesWorkCellExtendCfgService extends BaseMesService implements IMesWorkCellExtendCfgService { + @Override + protected void setPackQueryBean(MesWorkCellExtendCfg bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getWorkCellCode(), "workCellCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); + } + protected void onInsertBean(MesWorkCellExtendCfg item) { // 数据校验 ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空"); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/MesCustomerCarModelExcelService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/MesCustomerCarModelExcelService.java index c2391f7..4fc7f9c 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/MesCustomerCarModelExcelService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/MesCustomerCarModelExcelService.java @@ -95,7 +95,7 @@ public class MesCustomerCarModelExcelService implements IExcelImportService { // 查询客户零件关系 Map customerPartMap; try { - customerPartMap = MesCommonUtil.getCodeEntityMap(customerPartRepository, "customerPartNo", organizeCode, "客户零件关系表"); + customerPartMap = MesCommonUtil.getCodeEntityMap(customerPartRepository, "custPartNo", organizeCode, "客户零件关系表"); } catch (Exception e) { customerPartMap = null; }