diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBtoJobServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBtoJobServiceImpl.java index e0ef486..620a603 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBtoJobServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBtoJobServiceImpl.java @@ -54,7 +54,7 @@ public class MesBtoJobServiceImpl implements IMesBtoJobService { continue; } //6. 根据零件生产组的RoundnessType 去做策略,现在只做 窗口时间 策略; 入参 - String roundnessService = MesExtEnumUtil.SHIPPING_GROUP_ROUND_METHOD.valueOfService(prodGroup.getRoundType()); + String roundnessService = MesExtEnumUtil.SHIPPING_GROUP_ROUND_METHOD.valueOfService(prodGroup.getRoundMethod()); IRoundnessStrategy roundnessStrategy = (IRoundnessStrategy)SpringContextsUtil.getBean(roundnessService); roundnessStrategy.execute(prodGroup,sortInfoList, details); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustSoftInfoServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustSoftInfoServiceImpl.java index eea273c..710c9ce 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustSoftInfoServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustSoftInfoServiceImpl.java @@ -2,7 +2,9 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesCustSoftInfoService; 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.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesCustSortInfo; import org.springframework.stereotype.Service; @@ -23,6 +25,7 @@ public class MesCustSoftInfoServiceImpl extends BaseMesService public List queryCustSortInfoList(String custCode, String custOrganizeCode, String infoPointCode, String organizeCode, List custPartNoList) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(custCode,"custCode", ddlPackBean); + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),"serviceFlag", ddlPackBean); DdlPreparedPack.getStringEqualPack(custOrganizeCode, "custOrganizeCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(infoPointCode, "infoPointCode", ddlPackBean); DdlPreparedPack.getInPackList(custPartNoList,"custPartNo", ddlPackBean); @@ -31,8 +34,9 @@ public class MesCustSoftInfoServiceImpl extends BaseMesService @Override public void updateCustSortInfo(MesCustSortInfo custSortInfo) { - ConvertBean.saveOrUpdate(custSortInfo,"edi"); - baseRDao.update(custSortInfo); + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(custSortInfo.getOrganizeCode()); + DdlPreparedPack.getNumEqualPack(custSortInfo.getId(),"id",ddlPackBean); + baseRDao.updateByProperties(new String[]{"serviceFlag","modifyUser","modifyDatetime"},new Object[]{CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(),"edi", TimeTool.getNowTime(true)},ddlPackBean); } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/roundness/MesTimeRoundnessService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/roundness/MesTimeRoundnessService.java index 8e58d08..1d9e005 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/roundness/MesTimeRoundnessService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/roundness/MesTimeRoundnessService.java @@ -71,9 +71,14 @@ public class MesTimeRoundnessService implements IRoundnessStrategy { try { //4. 如果没有订单需要更新窗口时间 TM_BAS_PRODUCT_GROUP_WINDOW_TIME MesPartProdGroupWindowTime time = getWindowTimeByProductGroup(partProdGroup.id, partProdGroup.getOrganizeCode()); if (Objects.isNull(time)) { - log.info("当前零件生产组:{}没有维护时间窗口", partProdGroup.getPartProdGroupName()); + log.info("当前零件生产组:{} 没有到达生产工单的窗口", partProdGroup.getPartProdGroupName()); return; } + String lastRunTime = TimeTool.getNowTime(true); + log.info("当前零件生产组:{},更新本次执行时间:{}",partProdGroup.getPartProdGroupName(),lastRunTime); + ConvertBean.saveOrUpdate(time, "JOB"); + time.setLastRunTime(lastRunTime); + windowTimeRao.update(time); DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); long createSeq = Long.parseLong(dateFormat.format(new Date())); Map> sortInfoMap = sortInfoList.stream().collect(Collectors.groupingBy(MesCustSortInfo::getCustPartNo)); @@ -236,9 +241,7 @@ public class MesTimeRoundnessService implements IRoundnessStrategy { } } - ConvertBean.saveOrUpdate(time, "JOB"); - time.setLastRunTime(TimeTool.getNowTime(true)); - windowTimeRao.update(time); + } catch (Exception e) { log.error("创建工单报错:{}", Arrays.toString(e.getStackTrace())); } @@ -265,7 +268,7 @@ public class MesTimeRoundnessService implements IRoundnessStrategy { //使用降序 List sortedTime = windowTimeList.stream().sorted(Comparator.comparing(MesPartProdGroupWindowTime::getWindowTime,Comparator.reverseOrder())).collect(Collectors.toList()); for (MesPartProdGroupWindowTime time : sortedTime) { - if(Integer.parseInt(time.getWindowTime().replace(":","")) > Integer.parseInt(nowTime.replace(":",""))){ + if (Integer.parseInt(time.getWindowTime().replace(":", "")) > Integer.parseInt(nowTime.replace(":", ""))) { continue; } calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time.getWindowTime().substring(0, 2))); @@ -274,6 +277,7 @@ public class MesTimeRoundnessService implements IRoundnessStrategy { if (Objects.isNull(time.getLastRunTime())) { return time; } + //校验lastRuntime 是否已经在当前圆整时区已经生成完了工单 Date lastRunTime = sdf.parse(time.getLastRunTime()); if (dateCreateOrder.before(lastRunTime)) { continue;