Merge branch 'uat-temp-castle-2502071033-kitting' into dev

dev
臧学普 3 months ago
commit e3b7ef6664

@ -991,7 +991,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);
@ -1020,30 +1020,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);
}
}
}
@ -1075,7 +1077,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
for (MesBom bom : bomList) {
if (bom.getPartType() != null && bom.getPartType().equalsIgnoreCase("X")) {
getPlatBom(null,bom.getItemPartNo(), effectiveTime, organizeCode);
bomResultList.addAll(getPlatBom(null,bom.getItemPartNo(), effectiveTime, organizeCode));
} else {
bom.setBomCode(bom.getBomCode().toLowerCase());
bomResultList.add(bom);

Loading…
Cancel
Save