|
|
|
@ -512,15 +512,12 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
LOGGER.error(String.format("产线【%s】不存在", productionRecord.getWorkCenterCode()));
|
|
|
|
|
throw new ImppBusiException(String.format("产线【%s】不存在", productionRecord.getWorkCenterCode()));
|
|
|
|
|
}
|
|
|
|
|
MesWorkOrder mesWorkOrder = getBestWorkOrder(productionRecord, oldMesWorkOrderList, mesWorkCenter);
|
|
|
|
|
if (mesWorkOrder == null) {
|
|
|
|
|
MesWorkOrder oldMesWorkOrder = getBestWorkOrder(productionRecord, oldMesWorkOrderList, mesWorkCenter);
|
|
|
|
|
if (oldMesWorkOrder == null) {
|
|
|
|
|
LOGGER.error(String.format("未找到匹配的加工单, 条码=%s", productionRecord.getCustSn()));
|
|
|
|
|
return;
|
|
|
|
|
//throw new ImppBusiException(String.format("未找到匹配的加工单"));
|
|
|
|
|
}
|
|
|
|
|
// 2024-12-12 报工失败,但set值依然被update了
|
|
|
|
|
MesWorkOrder oldMesWorkOrder = new MesWorkOrder();
|
|
|
|
|
BeanUtils.copyProperties(mesWorkOrder, oldMesWorkOrder);
|
|
|
|
|
//获取生产版本
|
|
|
|
|
MesProductVersion mesProductVersion = getProductVersion(organizeCode, productionRecord.getPartNo(), oldMesWorkOrder.getProductVersion());
|
|
|
|
|
|
|
|
|
@ -545,24 +542,22 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
Map<String, Object> propertyMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
LOGGER.info("工单【{}]】报工原数量【{}】", oldMesWorkOrder.getWorkOrderNo(), oldMesWorkOrder.getReportedQty());
|
|
|
|
|
oldMesWorkOrder.setReportedQty(MathOperation.add(MesPcnExtConstWords.ONE, oldMesWorkOrder.getReportedQty()));
|
|
|
|
|
propertyMap.put("reportedQty", oldMesWorkOrder.getReportedQty());
|
|
|
|
|
double reportQty = MathOperation.add(MesPcnExtConstWords.ONE, oldMesWorkOrder.getReportedQty());
|
|
|
|
|
propertyMap.put("reportedQty", reportQty);
|
|
|
|
|
if (StringUtils.isEmpty(productionRecord.getWorkOrderNo())) {
|
|
|
|
|
oldMesWorkOrder.setCompleteQty(oldMesWorkOrder.getReportedQty());
|
|
|
|
|
double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), oldMesWorkOrder.getReportedQty());
|
|
|
|
|
oldMesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
|
|
|
|
|
propertyMap.put(MesPcnExtConstWords.COMPLETE_QTY, oldMesWorkOrder.getCompleteQty());
|
|
|
|
|
propertyMap.put(MesPcnExtConstWords.UN_COMPLETE_QTY, oldMesWorkOrder.getUnCompleteQty());
|
|
|
|
|
propertyMap.put(MesPcnExtConstWords.COMPLETE_QTY, reportQty);
|
|
|
|
|
propertyMap.put(MesPcnExtConstWords.UN_COMPLETE_QTY, unCompleteQty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtil.isEmpty(productionRecord.getWorkOrderNo())) {
|
|
|
|
|
//更新工单状态
|
|
|
|
|
if (oldMesWorkOrder.getReportedQty() >= oldMesWorkOrder.getQty()) {
|
|
|
|
|
oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
|
|
|
|
|
propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
|
|
|
|
|
propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, oldMesWorkOrder.getWorkOrderStatus());
|
|
|
|
|
}
|
|
|
|
|
propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, oldMesWorkOrder.getWorkOrderStatus());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//保存数据
|
|
|
|
@ -585,7 +580,19 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
LOGGER.info("汇报类型不存在");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
oldMesWorkOrder.setCompleteQty(reportQty);
|
|
|
|
|
if (propertyMap.containsKey("reportedQty")){
|
|
|
|
|
oldMesWorkOrder.setReportedQty(reportQty);
|
|
|
|
|
}
|
|
|
|
|
if (propertyMap.containsKey(MesPcnExtConstWords.COMPLETE_QTY)){
|
|
|
|
|
oldMesWorkOrder.setCompleteQty(Double.valueOf(propertyMap.get(MesPcnExtConstWords.COMPLETE_QTY).toString()));
|
|
|
|
|
}
|
|
|
|
|
if (propertyMap.containsKey(MesPcnExtConstWords.UN_COMPLETE_QTY)){
|
|
|
|
|
oldMesWorkOrder.setUnCompleteQty(Double.valueOf(propertyMap.get(MesPcnExtConstWords.UN_COMPLETE_QTY).toString()));
|
|
|
|
|
}
|
|
|
|
|
if (propertyMap.containsKey(MesPcnExtConstWords.WORK_ORDER_STATUS)){
|
|
|
|
|
oldMesWorkOrder.setWorkOrderStatus(Integer.valueOf(propertyMap.get(MesPcnExtConstWords.WORK_ORDER_STATUS).toString()));
|
|
|
|
|
}
|
|
|
|
|
LOGGER.info("工单【{}】报工后数量【{}】", oldMesWorkOrder.getWorkOrderNo(), oldMesWorkOrder.getReportedQty());
|
|
|
|
|
ConvertBean.serviceModelUpdate(oldMesWorkOrder, userName);
|
|
|
|
|
oldMesWorkOrder.setModifyDatetime((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")).format(new Date()));
|
|
|
|
@ -609,6 +616,9 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
propertyValue[index] = innerEntry.getValue();
|
|
|
|
|
index ++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
workOrderRepository.updateByProperties(new String[]{MesPcnExtConstWords.ID, MesPcnExtConstWords.ORGANIZE_CODE}, new Object[]{oldMesWorkOrder.getId(), oldMesWorkOrder.getOrganizeCode()}, propertyName, propertyValue);
|
|
|
|
|
LOGGER.info("修改工单数量完成,工单号【{}】", oldMesWorkOrder.getWorkOrderNo());
|
|
|
|
|
|
|
|
|
|