|
|
|
@ -65,6 +65,7 @@ public class CqLjSortShippingPrintStrategyService extends SortShippingDispatchSt
|
|
|
|
|
|
|
|
|
|
//遍历处理每个发运单主表
|
|
|
|
|
for (MesShippingOrderManagement shippingOrderManagement : shippingOrderManagementList) {
|
|
|
|
|
log.info("工厂{}排序发运打印 --- 遍历 发运单:{} --- {}", bean.getOrganizeCode(), shippingOrderManagement.getShippingCode(), Thread.currentThread().getName());
|
|
|
|
|
//一张实体发运单包含三部分信息(顶部的通用数据、中部的第一份表格数据,底部的第二份表格数据)
|
|
|
|
|
//取出当前发运单的明细信息
|
|
|
|
|
List<MesShippingOrderManagementDetail> details = null == detailByPidMap ? null : detailByPidMap.get(shippingOrderManagement.getId());
|
|
|
|
@ -82,6 +83,7 @@ public class CqLjSortShippingPrintStrategyService extends SortShippingDispatchSt
|
|
|
|
|
detailList.stream().min(Comparator.comparing(MesShippingOrderManagementDetail::getLogicSeq));
|
|
|
|
|
min.ifPresent(mesShippingOrderManagementDetail -> logicSeqAndAssyCodeMap.put(mesShippingOrderManagementDetail.getLogicSeq(), assyCode));
|
|
|
|
|
}
|
|
|
|
|
log.info("工厂{}排序发运打印 --- 遍历 发运单:{} --- assyCodeList:{} --- logicSeqAndAssyCodeMap:{} --- {}", bean.getOrganizeCode(), shippingOrderManagement.getShippingCode(), assyCodeList.toString(), JSONObject.toJSONString(logicSeqAndAssyCodeMap), Thread.currentThread().getName());
|
|
|
|
|
List<Long> collect = logicSeqAndAssyCodeMap.keySet().stream().sorted().collect(Collectors.toList());
|
|
|
|
|
List<String> newAssyCodeList = new ArrayList<>();
|
|
|
|
|
for (Long logicSeq : collect) {
|
|
|
|
@ -92,10 +94,13 @@ public class CqLjSortShippingPrintStrategyService extends SortShippingDispatchSt
|
|
|
|
|
.filter(i -> i % 2 == 0)
|
|
|
|
|
.mapToObj(i -> newAssyCodeList.subList(i, Math.min(i + 2, newAssyCodeList.size())))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
for (List<String> list : physicalOrderList) {
|
|
|
|
|
//生成一张实体发运单
|
|
|
|
|
log.info("工厂{}排序发运打印 --- 生成一张实体发运单:{} --- {}", bean.getOrganizeCode(), list.toString(), Thread.currentThread().getName());
|
|
|
|
|
mainDataList.add(createPhysicalOrder(shippingOrderManagement, list, detailByAssyCodeMap, details));
|
|
|
|
|
if (!CollectionUtils.isEmpty(physicalOrderList)) {
|
|
|
|
|
log.info("工厂{}排序发运打印 --- 遍历 发运单:{} --- physicalOrderList:{} --- {}", bean.getOrganizeCode(), shippingOrderManagement.getShippingCode(), JSONObject.toJSONString(physicalOrderList), Thread.currentThread().getName());
|
|
|
|
|
for (List<String> list : physicalOrderList) {
|
|
|
|
|
//生成一张实体发运单
|
|
|
|
|
log.info("工厂{}排序发运打印 --- 生成一张实体发运单:{} --- {}", bean.getOrganizeCode(), list.toString(), Thread.currentThread().getName());
|
|
|
|
|
mainDataList.add(createPhysicalOrder(shippingOrderManagement, list, detailByAssyCodeMap, details));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
shippingOrderManagement.setPrintCount(StringUtil.isEmpty(shippingOrderManagement.getPrintCount())? 1 : shippingOrderManagement.getPrintCount()+1);
|
|
|
|
@ -123,7 +128,8 @@ public class CqLjSortShippingPrintStrategyService extends SortShippingDispatchSt
|
|
|
|
|
//中部表结构赋值
|
|
|
|
|
model.setDetailModelsOne(createDetailList(assyCodeList.get(0), detailByAssyCodeMap, details, shippingOrderManagement.getRackNo()));
|
|
|
|
|
//底部表结构赋值
|
|
|
|
|
model.setDetailModelsTwo(createDetailList(assyCodeList.get(1), detailByAssyCodeMap, details, shippingOrderManagement.getRackNo()));
|
|
|
|
|
if (assyCodeList.size() > 1) model.setDetailModelsTwo(createDetailList(assyCodeList.get(1), detailByAssyCodeMap, details, shippingOrderManagement.getRackNo()));
|
|
|
|
|
else model.setDetailModelsTwo(new ArrayList<>());
|
|
|
|
|
log.info("工厂{}排序发运打印 --- MesShippingOrderManagementModelForLiJia:{} --- {}", shippingOrderManagement.getOrganizeCode(), JSONObject.toJSONString(model), Thread.currentThread().getName());
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|