修改创建创建工单逻辑

tags/yfai-mes-ext-v2.3
臧学普 7 months ago
parent 7448707f54
commit 03914cff95

@ -109,7 +109,7 @@ public class MesBtoJobServiceImpl implements IMesBtoJobService {
List<String> custPartNoList = details.stream().map(MesPartProdGroupDetail::getCustPartNo).collect(Collectors.toList()); List<String> custPartNoList = details.stream().map(MesPartProdGroupDetail::getCustPartNo).collect(Collectors.toList());
List<MesCustSortInfo> sortInfoList = mesCustSoftInfoService.queryCustSortInfoList(prodGroup.getCustCode(), prodGroup.getCustOrganizeCode(), prodGroup.getCustInfoPoint(), organizeCode, custPartNoList); List<MesCustSortInfo> sortInfoList = mesCustSoftInfoService.queryCustSortInfoList(prodGroup.getCustCode(), prodGroup.getCustOrganizeCode(), prodGroup.getCustInfoPoint(), organizeCode, custPartNoList);
if (sortInfoList.isEmpty()){ if (sortInfoList.isEmpty()){
log.info("当前零件生产组:{}没有排序信息",prodGroup.getCustInfoPoint()); log.info("当前零件生产组:{},信息点为:{}没有排序信息",prodGroup.getPartProdGroupCode(),prodGroup.getCustInfoPoint());
continue; continue;
} }
//6. 根据零件生产组的RoundnessType 去做策略,现在只做 窗口时间 策略; 入参 //6. 根据零件生产组的RoundnessType 去做策略,现在只做 窗口时间 策略; 入参

@ -117,15 +117,24 @@ public class MesPackageRoundnessService implements IRoundnessStrategy {
if (qty < roundQty) { if (qty < roundQty) {
//4.查看客户排序信息钟的最早的一条过点时间 + 生产组最晚生成时间是否已到达当前时间 //4.查看客户排序信息钟的最早的一条过点时间 + 生产组最晚生成时间是否已到达当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sortInfoList = sortInfoList.stream().sorted((sortInfo1, sortInfo2) -> { // sortInfoList = sortInfoList.stream().sorted((sortInfo1, sortInfo2) -> {
try { // try {
if (sdf.parse(sortInfo1.getMatchTime()).after(sdf.parse(sortInfo2.getMatchTime()))) { // if (sdf.parse(sortInfo1.getMatchTime()).after(sdf.parse(sortInfo2.getMatchTime()))) {
return 1; // return 1;
} // }
} catch (ParseException e) { // } catch (ParseException e) {
log.error("解析匹配时间报错:{}", e.getMessage()); // log.error("解析匹配时间报错:{}", e.getMessage());
} // }
return -1; // return -1;
// }).collect(Collectors.toList());
/**
* 2024/10/24 by CastlecustOrderNoproductSeq
*/
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()); }).collect(Collectors.toList());
sortInfo = sortInfoList.get(0); sortInfo = sortInfoList.get(0);
@ -187,7 +196,6 @@ public class MesPackageRoundnessService implements IRoundnessStrategy {
log.error("按包装圆整出错:MesPackageRoundnessService{}", e.getMessage()); log.error("按包装圆整出错:MesPackageRoundnessService{}", e.getMessage());
} }
} }
private void doCreateWorkOrder(MesPartProdGroup partProdGroup, MesPartProdGroupDetail mesPartProdGroupDetail, MesPartSap partSap, MesCustSortInfo sortInfo) throws ParseException { private void doCreateWorkOrder(MesPartProdGroup partProdGroup, MesPartProdGroupDetail mesPartProdGroupDetail, MesPartSap partSap, MesCustSortInfo sortInfo) throws ParseException {
String organizeCode = partProdGroup.getOrganizeCode(); String organizeCode = partProdGroup.getOrganizeCode();
@ -245,15 +253,21 @@ public class MesPackageRoundnessService implements IRoundnessStrategy {
int hours = calendar.get(Calendar.HOUR_OF_DAY); int hours = calendar.get(Calendar.HOUR_OF_DAY);
int minutes = calendar.get(Calendar.MINUTE); 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()) { if (!shiftList.isEmpty()) {
for (MesShift shift : shiftList) { for (MesShift shift : shiftList) {
String startTime = shift.getStartTime().replace(":", ""); long startTime = Long.parseLong(shift.getStartTime().replaceAll(":", ""));
String endTime = shift.getEndTime().replace(":", ""); long endTime = Long.parseLong(shift.getEndTime().replaceAll(":", ""));
if ((shiftTime.compareTo(startTime) >= 0) && (shiftTime.compareTo(endTime) <= 0)) { if (startTime < endTime){
mesWorkOrder.setShiftName(shift.getShiftName()); if (shiftTime > startTime && shiftTime < endTime) {
mesWorkOrder.setShiftCode(shift.getShiftCode()); mesWorkOrder.setShiftName(shift.getShiftName());
break; mesWorkOrder.setShiftCode(shift.getShiftCode());
}
}else {
if (shiftTime < startTime && shiftTime > endTime) {
mesWorkOrder.setShiftName(shift.getShiftName());
mesWorkOrder.setShiftCode(shift.getShiftCode());
}
} }
} }
} else { } else {

@ -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.*;
import cn.estsh.i3plus.pojo.mes.repository.wh.MesCimGmGepicsRepository; import cn.estsh.i3plus.pojo.mes.repository.wh.MesCimGmGepicsRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -56,7 +57,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService {
@Autowired @Autowired
private MesQueueOrderRepository queueOrderRao; private MesQueueOrderRepository queueOrderRao;
@Autowired
private MesEarlyWarningScreenRepository screenRao;
@Override @Override
public List<MesEarlyWarningKanBan> getEarlyWarningList(String organizeCode) { public List<MesEarlyWarningKanBan> getEarlyWarningList(String organizeCode) {
@ -164,9 +167,14 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService {
@Override @Override
public void savePicture(KanBanPictureModel model) { public void savePicture(KanBanPictureModel model) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode()); MesEarlyWarningScreen mesEarlyWarningScreen = new MesEarlyWarningScreen();
DdlPreparedPack.getNumEqualPack(model.getId(),"id", ddlPackBean); mesEarlyWarningScreen.setPicture(model.getPicture());
earlyWarningRecordRao.updateByProperties(new String[]{"picture"},new Object[]{model.getPicture()},ddlPackBean); if (model.getId() != null){
mesEarlyWarningScreen.setRecordId(model.getId().toString());
}
mesEarlyWarningScreen.setOrganizeCode(model.getOrganizeCode());
ConvertBean.saveOrUpdate(mesEarlyWarningScreen, AuthUtil.getSessionUser().getUserName());
screenRao.insert(mesEarlyWarningScreen);
} }
/** /**

Loading…
Cancel
Save