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 855a9f4..cab65ba 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 @@ -109,7 +109,7 @@ public class MesBtoJobServiceImpl implements IMesBtoJobService { List custPartNoList = details.stream().map(MesPartProdGroupDetail::getCustPartNo).collect(Collectors.toList()); List sortInfoList = mesCustSoftInfoService.queryCustSortInfoList(prodGroup.getCustCode(), prodGroup.getCustOrganizeCode(), prodGroup.getCustInfoPoint(), organizeCode, custPartNoList); if (sortInfoList.isEmpty()){ - log.info("当前零件生产组:{}没有排序信息",prodGroup.getCustInfoPoint()); + log.info("当前零件生产组:{},信息点为:{}没有排序信息",prodGroup.getPartProdGroupCode(),prodGroup.getCustInfoPoint()); continue; } //6. 根据零件生产组的RoundnessType 去做策略,现在只做 窗口时间 策略; 入参 diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/roundness/MesPackageRoundnessService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/roundness/MesPackageRoundnessService.java index 82830d5..312e2c9 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/roundness/MesPackageRoundnessService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/roundness/MesPackageRoundnessService.java @@ -117,15 +117,24 @@ public class MesPackageRoundnessService implements IRoundnessStrategy { if (qty < roundQty) { //4.查看客户排序信息钟的最早的一条过点时间 + 生产组最晚生成时间是否已到达当前时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - sortInfoList = sortInfoList.stream().sorted((sortInfo1, sortInfo2) -> { - try { - if (sdf.parse(sortInfo1.getMatchTime()).after(sdf.parse(sortInfo2.getMatchTime()))) { - return 1; - } - } catch (ParseException e) { - log.error("解析匹配时间报错:{}", e.getMessage()); - } - return -1; +// sortInfoList = sortInfoList.stream().sorted((sortInfo1, sortInfo2) -> { +// try { +// if (sdf.parse(sortInfo1.getMatchTime()).after(sdf.parse(sortInfo2.getMatchTime()))) { +// return 1; +// } +// } catch (ParseException e) { +// log.error("解析匹配时间报错:{}", e.getMessage()); +// } +// return -1; +// }).collect(Collectors.toList()); + /** + * 2024/10/24 by Castle需要根据custOrderNo升序设置productSeq + */ + sortInfoList = sortInfoList.stream().sorted((sortInfo1, sortInfo2) -> { + if (Long.parseLong(sortInfo1.getCustOrderCode().substring(3)) > Long.parseLong(sortInfo2.getCustOrderCode().substring(3))) { + return 1; + } + return -1; }).collect(Collectors.toList()); sortInfo = sortInfoList.get(0); @@ -187,7 +196,6 @@ public class MesPackageRoundnessService implements IRoundnessStrategy { log.error("按包装圆整出错:MesPackageRoundnessService:{}", e.getMessage()); } } - private void doCreateWorkOrder(MesPartProdGroup partProdGroup, MesPartProdGroupDetail mesPartProdGroupDetail, MesPartSap partSap, MesCustSortInfo sortInfo) throws ParseException { String organizeCode = partProdGroup.getOrganizeCode(); @@ -245,15 +253,21 @@ public class MesPackageRoundnessService implements IRoundnessStrategy { int hours = calendar.get(Calendar.HOUR_OF_DAY); int minutes = calendar.get(Calendar.MINUTE); - String shiftTime = String.format("%02d:%02d", hours, minutes); + long shiftTime = Long.parseLong(String.format("%02d:%02d:00", hours, minutes).replaceAll(":","")); if (!shiftList.isEmpty()) { for (MesShift shift : shiftList) { - String startTime = shift.getStartTime().replace(":", ""); - String endTime = shift.getEndTime().replace(":", ""); - if ((shiftTime.compareTo(startTime) >= 0) && (shiftTime.compareTo(endTime) <= 0)) { - mesWorkOrder.setShiftName(shift.getShiftName()); - mesWorkOrder.setShiftCode(shift.getShiftCode()); - break; + long startTime = Long.parseLong(shift.getStartTime().replaceAll(":", "")); + long endTime = Long.parseLong(shift.getEndTime().replaceAll(":", "")); + if (startTime < endTime){ + if (shiftTime > startTime && shiftTime < endTime) { + mesWorkOrder.setShiftName(shift.getShiftName()); + mesWorkOrder.setShiftCode(shift.getShiftCode()); + } + }else { + if (shiftTime < startTime && shiftTime > endTime) { + mesWorkOrder.setShiftName(shift.getShiftName()); + mesWorkOrder.setShiftCode(shift.getShiftCode()); + } } } } else { 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 537b9ae..9173b08 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 @@ -15,6 +15,7 @@ import cn.estsh.i3plus.pojo.mes.model.MesKanBanShowModel; import cn.estsh.i3plus.pojo.mes.repository.*; import cn.estsh.i3plus.pojo.mes.repository.wh.MesCimGmGepicsRepository; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; +import cn.estsh.impp.framework.boot.auth.AuthUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang.StringUtils; @@ -56,7 +57,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { @Autowired private MesQueueOrderRepository queueOrderRao; - + + @Autowired + private MesEarlyWarningScreenRepository screenRao; @Override public List getEarlyWarningList(String organizeCode) { @@ -164,9 +167,14 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { @Override public void savePicture(KanBanPictureModel model) { - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode()); - DdlPreparedPack.getNumEqualPack(model.getId(),"id", ddlPackBean); - earlyWarningRecordRao.updateByProperties(new String[]{"picture"},new Object[]{model.getPicture()},ddlPackBean); + MesEarlyWarningScreen mesEarlyWarningScreen = new MesEarlyWarningScreen(); + mesEarlyWarningScreen.setPicture(model.getPicture()); + if (model.getId() != null){ + mesEarlyWarningScreen.setRecordId(model.getId().toString()); + } + mesEarlyWarningScreen.setOrganizeCode(model.getOrganizeCode()); + ConvertBean.saveOrUpdate(mesEarlyWarningScreen, AuthUtil.getSessionUser().getUserName()); + screenRao.insert(mesEarlyWarningScreen); } /**