|
|
|
@ -1,9 +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.IMesPartSapService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesPartShippingGroupService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.*;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
|
|
|
|
@ -12,6 +10,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.*;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.*;
|
|
|
|
@ -26,10 +25,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.UUID;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
@ -65,12 +61,16 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesPartShippingGroupService mesPartShippingGroupService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesLoadingListService mesLoadingListService;
|
|
|
|
|
|
|
|
|
|
protected void setPackQueryBean(MesShippingOrderManagement bean, DdlPackBean packBean) {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bean.getShippingCode(), "shippingCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bean.getOrderCode(), "orderCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bean.getShippingGroupCode(), "shippingGroupCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bean.getCustOrganizeCode(), "custOrganizeCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(bean.getRemark(), "remark", packBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(bean.getStatus(), "status", packBean);
|
|
|
|
|
DdlPreparedPack.getInPackArray(bean.getStatusArray(), "status", packBean);
|
|
|
|
|
if (!StringUtils.isEmpty(bean.getReleaseTimeStart()) || !StringUtils.isEmpty(bean.getReleaseTimeEnd())) {
|
|
|
|
@ -291,11 +291,19 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
|
|
|
|
|
DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(originBean.getId(), "pid", detailPackBean);
|
|
|
|
|
List<MesShippingOrderManagementDetail> detailDeleteList = detailService.findAll(detailPackBean);
|
|
|
|
|
if(CollectionUtils.isEmpty(detailDeleteList)){
|
|
|
|
|
MesException.throwMesBusiException("发运单【%s】明细信息不存在",originBean.getShippingCode());
|
|
|
|
|
}
|
|
|
|
|
Map<String, List<MesShippingOrderManagementDetail>> detailMap = detailDeleteList.stream().collect(Collectors.groupingBy(MesShippingOrderManagementDetail::getPartNo));
|
|
|
|
|
|
|
|
|
|
Map<String, List<MesShippingOrderManagementDetail>> detailMap = detailDeleteList.stream().collect(Collectors.groupingBy(k -> k.getPartNo()));
|
|
|
|
|
//查询装车单
|
|
|
|
|
MesLoadingList loadingList = mesLoadingListService.getMesLoadingListByShippingCode(originBean.getOrganizeCode(), originBean.getShippingCode());
|
|
|
|
|
|
|
|
|
|
List<MesJisShipping> jisShippingList = new ArrayList<>();
|
|
|
|
|
MesPartShippingGroup mesPartShippingGroup = mesPartShippingGroupService.getMesPartShippingGroup(bean.getOrganizeCode(), originBean.getShippingGroupCode());
|
|
|
|
|
String erpWarerhouse = mesPartShippingGroup == null || StringUtils.isEmpty(mesPartShippingGroup.getSrcWarerhouse()) ? configService.getCfgValue(bean.getOrganizeCode(), "ERP_WARERHOUSE") : mesPartShippingGroup.getSrcWarerhouse();
|
|
|
|
|
String erpWarehous = configService.getCfgValue(bean.getOrganizeCode(), "ERP_WAREHOUS");
|
|
|
|
|
|
|
|
|
|
detailMap.forEach((k, v) -> {
|
|
|
|
|
|
|
|
|
|
MesPartSap part = partService.getMesPartSapByPartNo(v.get(0).getPartNo(), bean.getOrganizeCode());
|
|
|
|
@ -307,10 +315,10 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
|
|
|
|
|
jisShipping.setCusCode(originBean.getCustCode());
|
|
|
|
|
jisShipping.setShippingTime(TimeTool.getNowTime(true));
|
|
|
|
|
jisShipping.setDock(originBean.getSendDockCode());
|
|
|
|
|
jisShipping.setErpWarerhouse(mesPartShippingGroup == null || StringUtils.isEmpty(mesPartShippingGroup.getSrcWarerhouse()) ? configService.getCfgValue(bean.getOrganizeCode(), "ERP_WARERHOUSE") : mesPartShippingGroup.getSrcWarerhouse());
|
|
|
|
|
jisShipping.setErpWarehous(configService.getCfgValue(bean.getOrganizeCode(), "ERP_WAREHOUS"));
|
|
|
|
|
jisShipping.setErpWarerhouse(erpWarerhouse);
|
|
|
|
|
jisShipping.setErpWarehous(erpWarehous);
|
|
|
|
|
jisShipping.setCusDock(originBean.getCustDockCode());
|
|
|
|
|
jisShipping.setCustOrderNo(v.get(0).getCustOrderNo());
|
|
|
|
|
jisShipping.setCustOrderNo(Objects.isNull(loadingList) ? "" : loadingList.getOrderCode());
|
|
|
|
|
jisShipping.setSerialNumber(v.get(0).getBarcode());
|
|
|
|
|
jisShipping.setQuantityPerCar(v.size());
|
|
|
|
|
jisShipping.setShippingOrderCode(originBean.getShippingCode());
|
|
|
|
|