|
|
|
@ -1,5 +1,7 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesPartShippingGroupService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesProduceSnService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementDetailService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesShippingOrderManagementDetailDao;
|
|
|
|
@ -73,6 +75,12 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
private MesJisShippingRepository jisShippingRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesPartService mesPartService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesPartShippingGroupService mesPartShippingGroupService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesConfigService configService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected void setPackQueryBean(MesShippingOrderManagementDetail bean, DdlPackBean packBean) {
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean);
|
|
|
|
@ -132,10 +140,10 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
public ResultBean supplyByCBR(Long[] ids) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*String organizeCode = AuthUtil.getOrganizeCode();
|
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();*/
|
|
|
|
|
String organizeCode = "CR01";
|
|
|
|
|
String userName ="zxw";
|
|
|
|
|
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) {
|
|
|
|
@ -203,30 +211,15 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
log.info("计划数量和实际数量不相等");
|
|
|
|
|
return ResultBean.fail(String.format("计划数量和实际数量不相等"));
|
|
|
|
|
}
|
|
|
|
|
MesPartShippingGroup mesPartShippingGroup = mesPartShippingGroupService.getMesPartShippingGroup(organizeCode, mesShippingOrderManagement.getShippingGroupCode());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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));
|
|
|
|
|
mesJisShippings.add(getMesJisShippings(mesShippingOrderManagement, null, userName, mesPartShippingGroup));
|
|
|
|
|
}
|
|
|
|
|
if (!CollectionUtils.isEmpty(detailList)) {
|
|
|
|
|
shippingOrderDetailRepository.saveAll(detailList);
|
|
|
|
@ -238,6 +231,36 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
return ResultBean.success("操作成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public MesJisShipping getMesJisShippings(MesShippingOrderManagement orderManagement, MesShippingOrderManagementDetail orderManagementDetail,String userName,MesPartShippingGroup mesPartShippingGroup) {
|
|
|
|
|
|
|
|
|
|
String warerhouse = mesPartShippingGroup == null || StringUtils.isEmpty(mesPartShippingGroup.getSrcWarerhouse()) ? configService.getCfgValue(orderManagement.getOrganizeCode(), "ERP_WAREHOUS") : mesPartShippingGroup.getSrcWarerhouse();
|
|
|
|
|
String erpWarehous = configService.getCfgValue(orderManagement.getOrganizeCode(), "ERP_WAREHOUS");
|
|
|
|
|
String useCustOrderNo = configService.getCfgValue(orderManagement.getOrganizeCode(), "USE_CUST_ORDER_NO");
|
|
|
|
|
|
|
|
|
|
MesJisShipping jisShipping = new MesJisShipping();
|
|
|
|
|
BeanUtils.copyProperties(orderManagement, jisShipping);
|
|
|
|
|
BeanUtils.copyProperties(orderManagementDetail, jisShipping);
|
|
|
|
|
jisShipping.setFactoryCode(orderManagement.getCustOrganizeCode());
|
|
|
|
|
jisShipping.setShippingTime(TimeTool.getNowTime(true));
|
|
|
|
|
jisShipping.setErpWarerhouse(warerhouse);
|
|
|
|
|
jisShipping.setErpWarehous(erpWarehous);
|
|
|
|
|
jisShipping.setDock(orderManagement.getSendDockCode());
|
|
|
|
|
jisShipping.setCusCode(orderManagement.getCustCode());
|
|
|
|
|
jisShipping.setCusDock(orderManagement.getCustDockCode());
|
|
|
|
|
jisShipping.setCustOrderNo(useCustOrderNo);
|
|
|
|
|
// 20241115 没有给carNo赋值
|
|
|
|
|
jisShipping.setCarNo(orderManagementDetail.getVin());
|
|
|
|
|
jisShipping.setSerialNumber(orderManagementDetail.getBarcode());
|
|
|
|
|
jisShipping.setQuantityPerCar(1d);
|
|
|
|
|
jisShipping.setOffTime(TimeTool.getNowTime(true));
|
|
|
|
|
jisShipping.setShippingOrderCode(orderManagement.getShippingCode());
|
|
|
|
|
jisShipping.setFid(UUID.randomUUID().toString());
|
|
|
|
|
jisShipping.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
|
|
|
|
ConvertBean.serviceModelInitialize(jisShipping, userName);
|
|
|
|
|
return jisShipping;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public MesJisShipping getMesJisShipping(MesShippingOrderManagement orderManagement,MesShippingOrderManagementDetail detail, String srcLocateNo, MesWorkOrderPart orderPart, String userName) {
|
|
|
|
|
MesJisShipping jisShipping = new MesJisShipping();
|
|
|
|
|
BeanUtils.copyProperties(orderManagement, jisShipping, MesExtConstWords.ID);
|
|
|
|
|