|
|
|
@ -97,8 +97,10 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
@Override
|
|
|
|
|
public ResultBean supplyBycustPartNo(Long[] ids) {
|
|
|
|
|
|
|
|
|
|
String organizeCode = AuthUtil.getOrganizeCode();
|
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
|
|
String organizeCode = AuthUtil.getOrganizeCode();
|
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
|
|
/*String organizeCode = "CR01";
|
|
|
|
|
String userName ="zxw";*/
|
|
|
|
|
List<MesShippingOrderManagementDetail> detailList = getManagementDetails(ids, organizeCode, userName);
|
|
|
|
|
|
|
|
|
|
for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) {
|
|
|
|
@ -107,19 +109,23 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
MesCustomerPart mesCustomerPart = mesCustomerPartRepository.getByProperty(ddlPackBean);
|
|
|
|
|
if (mesCustomerPart == null) {
|
|
|
|
|
log.info("客户零件号不存在:{}", mesShippingOrderManagementDetail.getCustPartNo());
|
|
|
|
|
return ResultBean.fail(String.format("客户零件号不存在:%s", mesShippingOrderManagementDetail.getCustPartNo()));
|
|
|
|
|
}
|
|
|
|
|
mesShippingOrderManagementDetail.setPartNo(mesCustomerPart.getErpPartNo());
|
|
|
|
|
mesShippingOrderManagementDetail.setPartName(mesCustomerPart.getErpPartName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
shippingOrderDetailRepository.saveAll(detailList);
|
|
|
|
|
return ResultBean.success().setResultList(detailList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ResultBean supplyByCBR(Long[] ids) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String organizeCode = AuthUtil.getOrganizeCode();
|
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
|
|
/* String organizeCode = "CR01";
|
|
|
|
|
String userName ="zxw";*/
|
|
|
|
|
List<MesShippingOrderManagementDetail> detailList = getManagementDetails(ids, organizeCode, userName);
|
|
|
|
|
|
|
|
|
|
for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) {
|
|
|
|
@ -128,10 +134,12 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
MesCimGmCbrRule mesCimGmCbrRule = mesCimGmCbrRuleRepository.getByProperty(ddlPackBean);
|
|
|
|
|
if (mesCimGmCbrRule == null) {
|
|
|
|
|
log.info("CBR规则未配置:客户零件号:{}", mesShippingOrderManagementDetail.getCustPartNo());
|
|
|
|
|
return ResultBean.fail(String.format("CBR规则未配置:客户零件号:%s", mesShippingOrderManagementDetail.getCustPartNo()));
|
|
|
|
|
}
|
|
|
|
|
mesShippingOrderManagementDetail.setPartNo(mesCimGmCbrRule.getErpPartNo());
|
|
|
|
|
mesShippingOrderManagementDetail.setPartName(mesCimGmCbrRule.getErpPartName());
|
|
|
|
|
}
|
|
|
|
|
shippingOrderDetailRepository.saveAll(detailList);
|
|
|
|
|
|
|
|
|
|
return ResultBean.success().setResultList(detailList);
|
|
|
|
|
}
|
|
|
|
@ -141,38 +149,48 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
public ResultBean updateQty(Long[] ids) {
|
|
|
|
|
String organizeCode = AuthUtil.getOrganizeCode();
|
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
|
|
/*String organizeCode = "CR01";
|
|
|
|
|
String userName ="zxw";*/
|
|
|
|
|
List<MesShippingOrderManagementDetail> detailList = getManagementDetails(ids, organizeCode, userName);
|
|
|
|
|
List<String> orderNoList = detailList.stream().map(MesShippingOrderManagementDetail::getShippingCode).distinct().collect(Collectors.toList());
|
|
|
|
|
List<Long> idList = detailList.stream().map(MesShippingOrderManagementDetail::getPid).distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(orderNoList, "shippingCode", orderPackBean);
|
|
|
|
|
DdlPreparedPack.getInPackList(idList, "id", orderPackBean);
|
|
|
|
|
List<MesShippingOrderManagement> shippingOrderManagements = shippingOrderRepository.findByHqlWhere(orderPackBean);
|
|
|
|
|
|
|
|
|
|
Map<String, MesShippingOrderManagement> orderMap = shippingOrderManagements.stream().collect(Collectors.toMap(MesShippingOrderManagement::getShippingCode, Function.identity()));
|
|
|
|
|
Map<Long, MesShippingOrderManagement> orderMap = shippingOrderManagements.stream().collect(Collectors.toMap(MesShippingOrderManagement::getId, Function.identity()));
|
|
|
|
|
|
|
|
|
|
List<MesJisShipping> mesJisShippings = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) {
|
|
|
|
|
MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getShippingCode());
|
|
|
|
|
MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getPid());
|
|
|
|
|
if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getPartNo())) {
|
|
|
|
|
log.info("客户零件号对应的零件号为空:{}", mesShippingOrderManagementDetail.getCustPartNo());
|
|
|
|
|
return ResultBean.fail(String.format("客户零件号对应的零件号为空:%s", mesShippingOrderManagementDetail.getCustPartNo()));
|
|
|
|
|
}
|
|
|
|
|
mesShippingOrderManagementDetail.setActualQty((int)mesShippingOrderManagementDetail.getPlanQty());
|
|
|
|
|
mesShippingOrderManagementDetail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
|
|
|
|
|
mesShippingOrderManagementDetail.setRemark("手工发运");
|
|
|
|
|
ConvertBean.serviceModelUpdate(mesShippingOrderManagementDetail, userName);
|
|
|
|
|
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MOVE_RULE_GROUP_TYPE.MOVE_RULE_GROUP_TYPE_10.getValue(), "groupType", ddlPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesShippingOrderManagement.getShippingGroupCode(), "code", ddlPackBean);
|
|
|
|
|
MesMoveRule moveRule = mesMoveRuleRepository.getByProperty(ddlPackBean);
|
|
|
|
|
if (moveRule == null) {
|
|
|
|
|
log.info("移库规则不存在:发运组代码:{}", mesShippingOrderManagement.getShippingGroupCode());
|
|
|
|
|
return ResultBean.fail(String.format("移库规则不存在:发运单编号:%s,发运组代码:%s,", mesShippingOrderManagement.getShippingCode(),mesShippingOrderManagement.getShippingGroupCode()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesShippingOrderManagementDetail.getVisualOrderNo(), "workOrderNo", packBean);
|
|
|
|
|
|
|
|
|
|
MesWorkOrderPart workOrderPart = mesWorkOrderPartRepository.getByProperty(packBean);
|
|
|
|
|
if (workOrderPart == null) {
|
|
|
|
|
log.info("工单零件信息不存在:工单号:{}", mesShippingOrderManagementDetail.getVisualOrderNo());
|
|
|
|
|
return ResultBean.fail(String.format("工单零件信息不存在:工单号:%s", mesShippingOrderManagementDetail.getVisualOrderNo()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mesJisShippings.add(getMesJisShipping(mesShippingOrderManagement, mesShippingOrderManagementDetail,moveRule.getErpSrcLocateNo(), workOrderPart,userName));
|
|
|
|
|
}
|
|
|
|
|