|
|
|
@ -981,7 +981,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
|
|
|
|
|
private void insertPullOrderInfo(MesWorkOrder mesWorkOrder,List<MesBom> bomPullList,MesPartPull mesPartPull,List<MesPartPullDetail> mesPartPullDetailList,String organizeCode,int i, int roundPackQty){
|
|
|
|
|
// 计算所有拉动单的数量,生成拉动单
|
|
|
|
|
Map<String, MesPartPullDetail> pullDetailMap = mesPartPullDetailList.stream().collect(Collectors.toMap(MesPartPullDetail::getPullPartNo, Function.identity()));
|
|
|
|
|
Map<String, List<MesPartPullDetail>> pullDetailMap = mesPartPullDetailList.stream().filter(item->!StringUtils.isEmpty(item.getPullPartNo())).collect(Collectors.groupingBy(MesPartPullDetail::getPullPartNo));
|
|
|
|
|
List<String> pullDetailPartList = mesPartPullDetailList.stream().map(MesPartPullDetail::getPullPartNo).collect(Collectors.toList());
|
|
|
|
|
String kittingOrderNoRuleCode = mesConfigService.getCfgValue(organizeCode, "KITTING_ORDER_NO_RULE_CODE");
|
|
|
|
|
GenSerialNoModel genSerialNoModel = new GenSerialNoModel(kittingOrderNoRuleCode);
|
|
|
|
@ -1010,30 +1010,32 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
List<MesBom> filterBomList = bomPullList.stream().filter(item -> pullDetailPartList.contains(item.getItemPartNo())).collect(Collectors.toList());
|
|
|
|
|
for (MesBom mesBom : filterBomList) {
|
|
|
|
|
MesPullingOrderPartInfo detail = new MesPullingOrderPartInfo();
|
|
|
|
|
MesPartPullDetail mesPartPullDetail = pullDetailMap.get(mesBom.getItemPartNo());
|
|
|
|
|
detail.setOrganizeCode(organizeCode);
|
|
|
|
|
detail.setPullCode(pullingOrder.getPullCode());
|
|
|
|
|
detail.setPullingOrderNo(pullingOrder.getPullingOrderNo());
|
|
|
|
|
detail.setWorkOrderNo(pullingOrder.getWorkOrderNo());
|
|
|
|
|
detail.setWorkOrderSeq(pullingOrder.getWorkOrderSeq());
|
|
|
|
|
detail.setCustOrderNo(pullingOrder.getCustOrderNo());
|
|
|
|
|
detail.setPartNo(mesBom.getItemPartNo());
|
|
|
|
|
detail.setPartName(mesBom.getItemPartName());
|
|
|
|
|
double remainingQty = mesBom.getItemQty() - i * roundPackQty;
|
|
|
|
|
if (remainingQty < -roundPackQty){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
detail.setPullQty(remainingQty > 0 ? roundPackQty : (mesBom.getItemQty() - (i-1) * roundPackQty));
|
|
|
|
|
detail.setCustOrderNo(pullingOrder.getCustOrderNo());
|
|
|
|
|
detail.setWorkOrderSeq(pullingOrder.getWorkOrderSeq());
|
|
|
|
|
detail.setWaterSeq(pullingOrder.getProductSeq());
|
|
|
|
|
detail.setWorkCellCode(mesPartPullDetail.getWorkCellCode());
|
|
|
|
|
List<MesPartPullDetail> mesPartPullDetailList1 = pullDetailMap.get(mesBom.getItemPartNo());
|
|
|
|
|
for (MesPartPullDetail mesPartPullDetail : mesPartPullDetailList1) {
|
|
|
|
|
detail.setOrganizeCode(organizeCode);
|
|
|
|
|
detail.setPullCode(pullingOrder.getPullCode());
|
|
|
|
|
detail.setPullingOrderNo(pullingOrder.getPullingOrderNo());
|
|
|
|
|
detail.setWorkOrderNo(pullingOrder.getWorkOrderNo());
|
|
|
|
|
detail.setWorkOrderSeq(pullingOrder.getWorkOrderSeq());
|
|
|
|
|
detail.setCustOrderNo(pullingOrder.getCustOrderNo());
|
|
|
|
|
detail.setPartNo(mesBom.getItemPartNo());
|
|
|
|
|
detail.setPartName(mesBom.getItemPartName());
|
|
|
|
|
double remainingQty = mesBom.getItemQty() - i * roundPackQty;
|
|
|
|
|
if (remainingQty < -roundPackQty){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
detail.setPullQty(remainingQty > 0 ? roundPackQty : (mesBom.getItemQty() - (i-1) * roundPackQty));
|
|
|
|
|
detail.setCustOrderNo(pullingOrder.getCustOrderNo());
|
|
|
|
|
detail.setWorkOrderSeq(pullingOrder.getWorkOrderSeq());
|
|
|
|
|
detail.setWaterSeq(pullingOrder.getProductSeq());
|
|
|
|
|
detail.setWorkCellCode(mesPartPullDetail.getWorkCellCode());
|
|
|
|
|
// detail.setStatus(MesExtEnumUtil.PULL_ORDER_PART_STATUS.UN_SENTED.getValue());///明细已送料为1,未送料为0
|
|
|
|
|
detail.setCustPartNo(pullingOrder.getCustPartNo());
|
|
|
|
|
detail.setCarSeries(pullDetailMap.get(mesBom.getItemPartNo()) == null ? "" : pullDetailMap.get(mesBom.getItemPartNo()).getCarSeries());
|
|
|
|
|
detail.setOrderFlag(pullingOrder.getOrderFlag());
|
|
|
|
|
ConvertBean.serviceModelInitialize(detail, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
pullingOrderPartInfoRao.insert(detail);
|
|
|
|
|
detail.setCustPartNo(pullingOrder.getCustPartNo());
|
|
|
|
|
detail.setCarSeries(mesPartPullDetail.getCarSeries() == null ? "" : mesPartPullDetail.getCarSeries());
|
|
|
|
|
detail.setOrderFlag(pullingOrder.getOrderFlag());
|
|
|
|
|
ConvertBean.serviceModelInitialize(detail, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
pullingOrderPartInfoRao.insert(detail);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|