修改创建创建工单逻辑

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<MesCustSortInfo> 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 去做策略,现在只做 窗口时间 策略; 入参

@ -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 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());
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 {

@ -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<MesEarlyWarningKanBan> 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);
}
/**

Loading…
Cancel
Save