|
|
|
@ -13,6 +13,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.edi.wuhu.MesCimCheryOrder;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.MesShippingOrderManagementDetailModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.MesShippingOrderManagementModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.*;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
@ -20,9 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.function.Function;
|
|
|
|
|
import java.util.logging.Handler;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
@Slf4j
|
|
|
|
@ -61,6 +63,14 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<MesShippingOrderManagementModel> doMesMesShippingOrderManagementPrint(MesShippingOrderManagement bean) {
|
|
|
|
|
DdlPackBean configPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack("WU_HU_SUPPLIER","cfgKey", configPackBean);
|
|
|
|
|
List<MesConfig> configList = mesConfigRao.findByHqlWhere(configPackBean);
|
|
|
|
|
String supplierNo = "";
|
|
|
|
|
if (configList != null && !configList.isEmpty()) {
|
|
|
|
|
supplierNo = configList.get(0).getCfgValue();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<MesShippingOrderManagementModel> modelList = new ArrayList<>();
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
|
|
|
|
//多选
|
|
|
|
@ -76,11 +86,17 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService
|
|
|
|
|
//把查出来的发运单打印并修改打印状态为已打印
|
|
|
|
|
for (MesShippingOrderManagement shippingOrder : pullingOrderInfos) {
|
|
|
|
|
MesShippingOrderManagementModel model = new MesShippingOrderManagementModel();
|
|
|
|
|
model.setShippingCode(shippingOrder.getShippingCode());
|
|
|
|
|
String shippingCodePrefix = shippingOrder.getShippingCode().substring(0, shippingOrder.getShippingCode().length() - 3);
|
|
|
|
|
String shippingCodeSuffix = shippingOrder.getShippingCode().substring(shippingOrder.getShippingCode().length() - 3);
|
|
|
|
|
model.setShippingCode(shippingCodePrefix);
|
|
|
|
|
model.setShippingCodeAfter3(shippingCodeSuffix);
|
|
|
|
|
model.setShippingCodeWhole(shippingOrder.getShippingCode());
|
|
|
|
|
|
|
|
|
|
//查询原始报文
|
|
|
|
|
MesCimCheryOrder cheryOrder = getCheryOrder(shippingOrder.getOrganizeCode(), shippingOrder.getShippingCode());
|
|
|
|
|
if (cheryOrder != null) {
|
|
|
|
|
List<MesCimCheryOrder> cheryOrderList = getCheryOrder(shippingOrder.getOrganizeCode(), shippingOrder.getShippingCode());
|
|
|
|
|
Map<String, List<MesCimCheryOrder>> cheryOrderMap = new HashMap<>();
|
|
|
|
|
if (cheryOrderList != null && !cheryOrderList.isEmpty()) {
|
|
|
|
|
MesCimCheryOrder cheryOrder = cheryOrderList.get(0);
|
|
|
|
|
model.setPlantName(cheryOrder.getPlantName());
|
|
|
|
|
model.setPartkitName(cheryOrder.getPartkitName());
|
|
|
|
|
model.setDeliverySendSequence(cheryOrder.getDeliverySendSequence());
|
|
|
|
@ -89,14 +105,34 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService
|
|
|
|
|
//根据cheryOrder的workshopNo获取对应的车间名称
|
|
|
|
|
String workshopName = getWorkshopName(cheryOrder.getOrganizeCode(), cheryOrder.getWorkshopNo());
|
|
|
|
|
model.setWorkShop(workshopName);
|
|
|
|
|
model.setCreateDateTime(cheryOrder.getCreateDatetime());
|
|
|
|
|
model.setPrintDateTime(TimeTool.getNowTime(true));
|
|
|
|
|
cheryOrderMap = cheryOrderList.stream().collect(Collectors.groupingBy(MesCimCheryOrder::getVin));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询发运单明细
|
|
|
|
|
DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(shippingOrder.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(shippingOrder.getId(), "pid", partPackBean);
|
|
|
|
|
DdlPreparedPack.getOrderBy("boxNum",CommonEnumUtil.ASC_OR_DESC.ASC.getValue(), partPackBean);
|
|
|
|
|
List<MesShippingOrderManagementDetail> shipOrderPartInfos = shippingOrderManagementDetailRepository.findByHqlWhere(partPackBean);
|
|
|
|
|
if (!CollectionUtils.isEmpty(shipOrderPartInfos)) {
|
|
|
|
|
model.setShippingDetails(shipOrderPartInfos);
|
|
|
|
|
List<MesShippingOrderManagementDetailModel> detailList = new ArrayList<>();
|
|
|
|
|
shipOrderPartInfos = shipOrderPartInfos.stream().sorted(Comparator.comparing(MesShippingOrderManagementDetail::getCustInfoSeq)).collect(Collectors.toList());
|
|
|
|
|
for (MesShippingOrderManagementDetail shipOrderPartInfo : shipOrderPartInfos) {
|
|
|
|
|
MesShippingOrderManagementDetailModel detailModel = new MesShippingOrderManagementDetailModel();
|
|
|
|
|
detailModel.setPartNo(shipOrderPartInfo.getPartNo());
|
|
|
|
|
detailModel.setPartName(shipOrderPartInfo.getPartName());
|
|
|
|
|
detailModel.setQty(shipOrderPartInfo.getPlanQty());
|
|
|
|
|
detailModel.setBoxNo(shipOrderPartInfo.getCustInfoSeq());
|
|
|
|
|
detailModel.setSupplierNo(supplierNo);
|
|
|
|
|
detailModel.setVin(shipOrderPartInfo.getVin().substring(shipOrderPartInfo.getVin().length()-8));
|
|
|
|
|
MesCimCheryOrder order = cheryOrderMap.get(shipOrderPartInfo.getVin()).get(0);
|
|
|
|
|
if (order != null) {
|
|
|
|
|
detailModel.setWholePartNo(order.getMaterialNo());
|
|
|
|
|
}
|
|
|
|
|
detailList.add(detailModel);
|
|
|
|
|
}
|
|
|
|
|
model.setShipOrderPartInfos(detailList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询原有报文 根据shippingCode;
|
|
|
|
@ -120,11 +156,10 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService
|
|
|
|
|
return configList.isEmpty() ? "" : configList.get(0).getCfgValue();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
private MesCimCheryOrder getCheryOrder(String organizeCode, String sheetNo) {
|
|
|
|
|
private List<MesCimCheryOrder> getCheryOrder(String organizeCode, String sheetNo) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(sheetNo, "sheetNo", ddlPackBean);
|
|
|
|
|
List<MesCimCheryOrder> cheryOrderList = cheryOrderRao.findByHqlTopWhere(ddlPackBean,1);
|
|
|
|
|
return cheryOrderList.isEmpty() ? null : cheryOrderList.get(0);
|
|
|
|
|
return cheryOrderRao.findByHqlWhere(ddlPackBean);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public MesPartShippingGroupDetail getMesPartShippingGroupDetail(String organizeCode, String shippingGroupCode, String partNo, String custPartNo) {
|
|
|
|
|