W出口仓单推送关务开发;
This commit is contained in:
+29
-9
@@ -752,8 +752,9 @@ public class PickingOrderApplicationService {
|
||||
PickingMaterialDetailDO pickingMaterialDetailDO = new PickingMaterialDetailDO();
|
||||
pickingMaterialDetailDO.setPickingOrderNumber(pickingOrder.getPickingOrderNumber());
|
||||
List<PickingMaterialDetailPO> materialDetailList = pickingMaterialDetailService.queryList(pickingMaterialDetailDO);
|
||||
|
||||
if (materialDetailList == null || materialDetailList.isEmpty()) {
|
||||
List<OutMaterialDetail> outMaterialDetailList = outMaterialDetailService.list(new QueryWrapper<OutMaterialDetail>().lambda()
|
||||
.eq(OutMaterialDetail::getOutOrderNumber, pickingOrder.getOrderNumber()));
|
||||
if (outMaterialDetailList == null || outMaterialDetailList.isEmpty()) {
|
||||
failCount++;
|
||||
failMsg.append("id:").append(id).append("无物料明细;");
|
||||
continue;
|
||||
@@ -804,7 +805,7 @@ public class PickingOrderApplicationService {
|
||||
// 3. 构建主单
|
||||
Map<String, Object> order = new HashMap<>();
|
||||
// etpsPreentNo: 入库单号 - 取拣货明细中的入库单号(第一个)
|
||||
String inOrderNumber = materialDetailList.get(0).getInOrderNumber();
|
||||
String inOrderNumber = outMaterialDetailList.get(0).getInOrderNumber();
|
||||
order.put("etpsPreentNo", inOrderNumber != null ? inOrderNumber : "");
|
||||
order.put("inputTime", new Date());
|
||||
order.put("mtpckEndprdTypecd", "E"); // 成品(出口)
|
||||
@@ -812,10 +813,20 @@ public class PickingOrderApplicationService {
|
||||
// 4. 构建明细列表
|
||||
List<Map<String, Object>> qnBillList = new ArrayList<>();
|
||||
int gNo = 1;
|
||||
for (PickingMaterialDetailPO detail : materialDetailList) {
|
||||
for (OutMaterialDetail detail : outMaterialDetailList) {
|
||||
Map<String, Object> item = new HashMap<>();
|
||||
item.put("etpsPreentNo", detail.getInOrderNumber() != null ? detail.getInOrderNumber() : "");
|
||||
item.put("gNo", gNo++);
|
||||
item.put("etpsPreentNo", detail.getOutOrderNumber() != null ? detail.getOutOrderNumber() : "");
|
||||
String lotNo = detail.getLotNo();
|
||||
if (lotNo != null) {
|
||||
String[] split = lotNo.split("-");
|
||||
if (split.length == 2) {
|
||||
item.put("gNo", split[1]);
|
||||
} else {
|
||||
item.put("gNo", ""); // 出仓订单行号
|
||||
}
|
||||
} else {
|
||||
item.put("gNo", ""); // 出仓订单行号
|
||||
}
|
||||
item.put("gdsMtno", detail.getMaterialCode() != null ? detail.getMaterialCode() : "");
|
||||
|
||||
// 获取物料详情获取单价和币制
|
||||
@@ -827,7 +838,7 @@ public class PickingOrderApplicationService {
|
||||
|
||||
// 计算申报总价
|
||||
BigDecimal unitPrice = materialInfo.getUnitPrice();
|
||||
BigDecimal pickingQty = detail.getPickingQuantity() != null ? detail.getPickingQuantity() : detail.getQuantity();
|
||||
BigDecimal pickingQty = detail.getCheckQuantity() != null ? detail.getCheckQuantity() : detail.getQuantity();
|
||||
if (unitPrice != null && pickingQty != null && unitPrice.compareTo(BigDecimal.ZERO) != 0) {
|
||||
BigDecimal totalAmt = unitPrice.multiply(pickingQty).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
item.put("dclTotalAmt", totalAmt);
|
||||
@@ -835,9 +846,18 @@ public class PickingOrderApplicationService {
|
||||
}
|
||||
}
|
||||
|
||||
item.put("dclQty", detail.getPickingQuantity() != null ? detail.getPickingQuantity() : detail.getQuantity()); // 申报数量
|
||||
item.put("dclQty", detail.getCheckQuantity() != null ? detail.getCheckQuantity() : detail.getQuantity()); // 申报数量
|
||||
item.put("orderNo", pickingOrder.getPickingOrderNumber()); // 出仓订单号
|
||||
item.put("orderRow", gNo - 1); // 出仓订单行号
|
||||
if (lotNo != null) {
|
||||
String[] split = lotNo.split("-");
|
||||
if (split.length == 2) {
|
||||
item.put("orderRow", split[1]);// 出仓订单行号
|
||||
} else {
|
||||
item.put("orderRow", ""); // 出仓订单行号
|
||||
}
|
||||
} else {
|
||||
item.put("orderRow", ""); // 出仓订单行号
|
||||
}
|
||||
item.put("bondInvtNo", bondInvtNo); // 原进口核注清单号
|
||||
item.put("invtRow", invtRow); // 原进口核注清单行号
|
||||
item.put("whNo", detail.getWarehouseCode() != null ? detail.getWarehouseCode() : ""); // 仓库
|
||||
|
||||
Reference in New Issue
Block a user