|
|
|
@ -135,7 +135,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService {
|
|
|
|
|
MesWorkOrder lastWorkOrder = getLastWorkOrder(workCenterCode, workCellCode, organizeCode);
|
|
|
|
|
//5.获取最新下线工单
|
|
|
|
|
MesWorkOrder lastOfflineOrder = getLastOfflineOrder(workCenterCode, organizeCode);
|
|
|
|
|
|
|
|
|
|
if (lastWorkOrder == null && lastOfflineOrder != null){
|
|
|
|
|
lastWorkOrder = lastOfflineOrder;
|
|
|
|
|
}
|
|
|
|
|
//6.查询报警产量 & 获取开班起始时间
|
|
|
|
|
Date now = new Date();
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
@ -260,10 +262,13 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService {
|
|
|
|
|
//先查对列表,找到对应产线工位的工单
|
|
|
|
|
List<MesQueueOrder> queueOrderList = queueOrderRao.findByHqlTopWhere(queueOrderPackBean,1);
|
|
|
|
|
//过滤掉关闭和拆解的工单
|
|
|
|
|
List<Integer> orderStatusList1 = new ArrayList<>();
|
|
|
|
|
orderStatusList1.add(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
|
|
|
|
|
orderStatusList1.add(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
|
|
|
|
|
List<String> workOrderNoQueueList = queueOrderList.stream().map(MesQueueOrder::getWorkOrderNo).distinct().collect(Collectors.toList());
|
|
|
|
|
DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(workOrderNoQueueList,"workOrderNo",orderPackBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue(),"workOrderStatus",orderPackBean);
|
|
|
|
|
DdlPreparedPack.getInPackList(orderStatusList1,"workOrderStatus",orderPackBean);
|
|
|
|
|
DdlPreparedPack.getOrderBy("productSeq",CommonEnumUtil.ASC_OR_DESC.ASC.getValue(), orderPackBean);
|
|
|
|
|
List<MesWorkOrder> workOrderList = workOrderRao.findByHqlTopWhere(orderPackBean, 1);
|
|
|
|
|
return !workOrderList.isEmpty() ? workOrderList.get(0) : null;
|
|
|
|
@ -414,9 +419,12 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService {
|
|
|
|
|
long summaryRealSupplyRealCount;
|
|
|
|
|
String custOrderNo = workOrder.getCustOrderNo();
|
|
|
|
|
if(custOrderNo.length() >= 10){
|
|
|
|
|
summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(3, 10)) - Long.parseLong(workOrder.getCustOrderNo().substring(workOrder.getCustOrderNo().length() - 7)) - kanBan.getOnlineAdjustNum();
|
|
|
|
|
summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(3, 10)) - Long.parseLong(workOrder.getCustOrderNo().substring(workOrder.getCustOrderNo().length() - 7));
|
|
|
|
|
}else {
|
|
|
|
|
summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(infoDD.getCsnNo().length() - 5))- Long.parseLong(workOrder.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - kanBan.getOnlineAdjustNum();
|
|
|
|
|
summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(infoDD.getCsnNo().length() - 5))- Long.parseLong(workOrder.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7));
|
|
|
|
|
}
|
|
|
|
|
if(summaryRealSupplyRealCount < 0){
|
|
|
|
|
summaryRealSupplyRealCount = 0;
|
|
|
|
|
}
|
|
|
|
|
mesKanBanShowModel.setSummaryRealSupplyRealCount(summaryRealSupplyRealCount);
|
|
|
|
|
Long summaryWorkOrderYellowCount = kanBan.getSummaryWorkOrderYellowCount();
|
|
|
|
@ -432,9 +440,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService {
|
|
|
|
|
//成品实际缓冲
|
|
|
|
|
Long realProductionBuffer;
|
|
|
|
|
if (workOrderLast.getCustOrderNo().length() >= 10){
|
|
|
|
|
realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - Long.parseLong(infoKH.getCsnNo().substring(3, 10)) - kanBan.getOnlineToShippingAdjustNum();
|
|
|
|
|
realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - Long.parseLong(infoKH.getCsnNo().substring(3, 10)) ;
|
|
|
|
|
}else {
|
|
|
|
|
realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 5)) - Long.parseLong(infoKH.getCsnNo().substring(infoKH.getCsnNo().length()-5)) - kanBan.getOnlineToShippingAdjustNum();
|
|
|
|
|
realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 5)) - Long.parseLong(infoKH.getCsnNo().substring(infoKH.getCsnNo().length()-5)) ;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if(realProductionBuffer <0){
|
|
|
|
|