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