非通宇 保税仓出口订单推送;
This commit is contained in:
+5
@@ -57,9 +57,14 @@ public interface ReservationOutMaterialDetailMapper extends BaseMapper<Reservati
|
||||
|
||||
public Long getKcId(@Param("lotNo") String lotNo);
|
||||
|
||||
public String getLot(@Param("uniqueId") Long uniqueId);
|
||||
|
||||
public Long getkcIdByUniqueId(@Param("uniqueId") Long uniqueId);
|
||||
|
||||
public String getInOrderNumber(@Param("id") Long id);
|
||||
public String getWarehouse(@Param("id") Long id);
|
||||
public String getOpWhLoc(@Param("id") Long id);
|
||||
public String getLotByKcId(@Param("id") Long id);
|
||||
|
||||
public String getInLotNo(@Param("inOrderNumber") String inOrderNumber, @Param("baseId") Long baseId);
|
||||
}
|
||||
+26
-36
@@ -1143,7 +1143,11 @@ public class ReservationStockOutOrderApplicationService {
|
||||
String[] split = lotNo.split("-");
|
||||
if (split.length == 2) {
|
||||
item.put("lineNum", split[1]);
|
||||
} else {
|
||||
item.put("lineNum", 1);
|
||||
}
|
||||
} else {
|
||||
item.put("lineNum", 1);
|
||||
}
|
||||
item.put("qty", detail.getQuantity());
|
||||
|
||||
@@ -1168,54 +1172,40 @@ public class ReservationStockOutOrderApplicationService {
|
||||
}
|
||||
|
||||
// 库存关联信息(实体默认值 + WMS覆盖)
|
||||
item.put("orderINo", detail.getInOrderNumber() != null ? detail.getInOrderNumber() : "");
|
||||
if (detail.getLotNo() != null && detail.getLotNo().contains("-")) {
|
||||
String lotNumStr = detail.getLotNo().substring(detail.getLotNo().lastIndexOf("-") + 1);
|
||||
try {
|
||||
Integer lotRowNum = Integer.valueOf(lotNumStr);
|
||||
item.put("orderIRow", lotRowNum);
|
||||
item.put("billIRow", lotRowNum);
|
||||
} catch (NumberFormatException ignored) {}
|
||||
}
|
||||
item.put("warehouse", detail.getWarehouseName() != null ? detail.getWarehouseName() : "");
|
||||
item.put("opWhLoc", detail.getStorageLocationName() != null ? detail.getStorageLocationName() : "");
|
||||
|
||||
// WMS仓储数据(如有则覆盖)
|
||||
if (detail.getLotNo() != null) {
|
||||
Long kcId = reservationOutMaterialDetailMapper.getKcId(detail.getLotNo());
|
||||
if (kcId != null) {
|
||||
String inOrderNumber = reservationOutMaterialDetailMapper.getInOrderNumber(kcId);
|
||||
String inLotNo = inOrderNumber != null ? reservationOutMaterialDetailMapper.getInLotNo(inOrderNumber, detail.getMaterialBaseInfoId()) : null;
|
||||
String warehouse = reservationOutMaterialDetailMapper.getWarehouse(kcId);
|
||||
String opWhLoc = reservationOutMaterialDetailMapper.getOpWhLoc(kcId);
|
||||
Long kcId = reservationOutMaterialDetailMapper.getkcIdByUniqueId(detail.getUniqueId());
|
||||
if (kcId != null) {
|
||||
String inOrderNumber = reservationOutMaterialDetailMapper.getInOrderNumber(kcId);
|
||||
String warehouseCode = reservationOutMaterialDetailMapper.getWarehouse(kcId);
|
||||
String opWhLoc = reservationOutMaterialDetailMapper.getOpWhLoc(kcId);
|
||||
String inLotNo = reservationOutMaterialDetailMapper.getLotByKcId(kcId);
|
||||
|
||||
if (inOrderNumber != null) {
|
||||
item.put("orderINo", inOrderNumber);
|
||||
}
|
||||
if (warehouse != null) {
|
||||
item.put("warehouse", warehouse);
|
||||
if (warehouseCode != null) {
|
||||
item.put("warehouse", warehouseCode);
|
||||
}
|
||||
if (opWhLoc != null) {
|
||||
item.put("opWhLoc", opWhLoc);
|
||||
}
|
||||
|
||||
item.put("opWhLoc", opWhLoc != null ? opWhLoc : "");
|
||||
|
||||
// billI = 入库单号
|
||||
if (inOrderNumber != null) {
|
||||
item.put("billI", inOrderNumber);
|
||||
}
|
||||
if (inLotNo != null) {
|
||||
if (inLotNo.contains("-")) {
|
||||
String numStr = inLotNo.substring(inLotNo.lastIndexOf("-") + 1);
|
||||
try {
|
||||
Integer result = Integer.valueOf(numStr);
|
||||
item.put("orderIRow", result);
|
||||
item.put("billIRow", result);
|
||||
} catch (NumberFormatException e) {
|
||||
}
|
||||
if (inLotNo != null && inLotNo.contains("-")) {
|
||||
String[] split = inLotNo.split("-");
|
||||
if (split.length == 2) {
|
||||
item.put("orderIRow", split[1]);
|
||||
item.put("billIRow", split[1]);
|
||||
} else {
|
||||
item.put("orderIRow", 1);
|
||||
item.put("billIRow", 1);
|
||||
}
|
||||
} else {
|
||||
item.put("orderIRow", 1);
|
||||
item.put("billIRow", 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
orderList.add(item);
|
||||
}
|
||||
order.put("orderList", orderList);
|
||||
|
||||
+11
-5
@@ -412,16 +412,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="getInOrderNumber" parameterType="java.lang.Long" resultType="java.lang.String">
|
||||
select IN_ORDER_NUMBER from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
|
||||
</select>
|
||||
<select id="getInOrderNumber" parameterType="java.lang.Long" resultType="java.lang.String">
|
||||
select IN_ORDER_NUMBER from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
|
||||
</select>
|
||||
<select id="getWarehouse" parameterType="java.lang.Long" resultType="java.lang.String">
|
||||
select WAREHOUSE_NAME from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
|
||||
select WAREHOUSE_CODE from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
|
||||
</select>
|
||||
<select id="getOpWhLoc" parameterType="java.lang.Long" resultType="java.lang.String">
|
||||
select STORAGE_LOCATION_NAME from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
|
||||
select STORAGE_LOCATION_CODE from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
|
||||
</select>
|
||||
<select id="getLotByKcId" parameterType="java.lang.Long" resultType="java.lang.String">
|
||||
select LOT_NUMBER from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
|
||||
</select>
|
||||
<select id="getInLotNo" resultType="java.lang.String">
|
||||
select LOT_NO from "NGWL_TEST_WMS".IN_MATERIAL_DETAIL where MATERIAL_BASE_INFO_ID = #{baseId} and IN_ORDER_NUMBER = #{inOrderNumber}
|
||||
</select>
|
||||
<select id="getLot" parameterType="java.lang.Long" resultType="java.lang.String">
|
||||
select LOT_NO from "NGWL_TEST_WMS".OUT_MATERIAL_DETAIL where UNIQUE_ID = #{uniqueId}
|
||||
</select>
|
||||
<select id="getkcIdByUniqueId" parameterType="java.lang.Long" resultType="java.lang.Long">
|
||||
select MATERIAL_INVENTORY_ID from "NGWL_TEST_WMS".OUT_MATERIAL_DETAIL where UNIQUE_ID = #{uniqueId}
|
||||
</select>
|
||||
</mapper>
|
||||
+26
-37
@@ -1549,10 +1549,8 @@ public class StockOutOrderApplicationService {
|
||||
item.put("lineNum", split[1]);
|
||||
}
|
||||
}
|
||||
item.put("itemNo", detail.getMaterialBaseInfoId() != null ? detail.getMaterialBaseInfoId().toString() : "");
|
||||
item.put("itemNo", detail.getMaterialCode() != null ? detail.getMaterialCode().toString() : "");
|
||||
item.put("itemName", detail.getMaterialName() != null ? detail.getMaterialName() : "");
|
||||
item.put("spec", detail.getSpecificationModel() != null ? detail.getSpecificationModel() : "");
|
||||
item.put("unit", detail.getUnit() != null ? detail.getUnit() : "");
|
||||
item.put("qty", detail.getQuantity());
|
||||
|
||||
// 获取物料详情
|
||||
@@ -1561,7 +1559,8 @@ public class StockOutOrderApplicationService {
|
||||
if (materialBaseInfoPO != null) {
|
||||
item.put("erpCurr", materialBaseInfoPO.getCurrency() != null ? materialBaseInfoPO.getCurrency() : "");
|
||||
item.put("erpPrice", materialBaseInfoPO.getUnitPrice());
|
||||
|
||||
item.put("spec", materialBaseInfoPO.getSpecificationModel() != null ? materialBaseInfoPO.getSpecificationModel() : "");
|
||||
item.put("unit", materialBaseInfoPO.getDeclarationUnit() != null ? materialBaseInfoPO.getDeclarationUnit() : "");
|
||||
// 计算金额
|
||||
BigDecimal unitPrice = materialBaseInfoPO.getUnitPrice();
|
||||
BigDecimal quantity = detail.getQuantity();
|
||||
@@ -1572,55 +1571,45 @@ public class StockOutOrderApplicationService {
|
||||
}
|
||||
}
|
||||
|
||||
// 库存关联信息(实体默认值 + WMS覆盖)
|
||||
item.put("orderINo", detail.getInOrderNumber() != null ? detail.getInOrderNumber() : "");
|
||||
if (detail.getLotNo() != null && detail.getLotNo().contains("-")) {
|
||||
String lotNumStr = detail.getLotNo().substring(detail.getLotNo().lastIndexOf("-") + 1);
|
||||
try {
|
||||
Integer lotRowNum = Integer.valueOf(lotNumStr);
|
||||
item.put("orderIRow", lotRowNum);
|
||||
item.put("billIRow", lotRowNum);
|
||||
} catch (NumberFormatException ignored) {}
|
||||
}
|
||||
item.put("warehouse", detail.getWarehouseName() != null ? detail.getWarehouseName() : "");
|
||||
item.put("opWhLoc", detail.getStorageLocationName() != null ? detail.getStorageLocationName() : "");
|
||||
|
||||
Long materialInventoryId = detail.getMaterialInventoryId();
|
||||
MaterialInventory materialInventory = materialInventoryMapper.selectById(materialInventoryId);
|
||||
// WMS仓储数据(如有则覆盖)
|
||||
if (detail.getLotNo() != null) {
|
||||
if (materialInventory != null) {
|
||||
String inOrderNumber = materialInventory.getInOrderNumber();
|
||||
String warehouseCode = materialInventory.getWarehouseCode();
|
||||
String storageLocationCode = materialInventory.getStorageLocationCode();
|
||||
String inLotNo = materialInventory.getLotNumber();
|
||||
Long kcId = stockOutOrderMapper.getKcId(detail.getLotNo());
|
||||
if (kcId != null) {
|
||||
String inOrderNumber = stockOutOrderMapper.getInOrderNumber(kcId);
|
||||
String inLotNo = inOrderNumber != null ? stockOutOrderMapper.getInLotNo(inOrderNumber, detail.getMaterialBaseInfoId()) : null;
|
||||
String warehouse = stockOutOrderMapper.getWarehouse(kcId);
|
||||
String opWhLoc = stockOutOrderMapper.getOpWhLoc(kcId);
|
||||
|
||||
if (inOrderNumber != null) {
|
||||
item.put("orderINo", inOrderNumber);
|
||||
}
|
||||
if (warehouse != null) {
|
||||
item.put("warehouse", warehouse);
|
||||
if (warehouseCode != null) {
|
||||
item.put("warehouse", warehouseCode);
|
||||
}
|
||||
if (storageLocationCode != null) {
|
||||
item.put("opWhLoc", storageLocationCode);
|
||||
}
|
||||
|
||||
item.put("opWhLoc", opWhLoc != null ? opWhLoc : "");
|
||||
|
||||
// billI = 入库单号
|
||||
if (inOrderNumber != null) {
|
||||
item.put("billI", inOrderNumber);
|
||||
}
|
||||
if (inLotNo != null) {
|
||||
if (inLotNo.contains("-")) {
|
||||
String numStr = inLotNo.substring(inLotNo.lastIndexOf("-") + 1);
|
||||
try {
|
||||
Integer result = Integer.valueOf(numStr);
|
||||
item.put("orderIRow", result);
|
||||
item.put("billIRow", result);
|
||||
} catch (NumberFormatException e) {
|
||||
}
|
||||
if (inLotNo != null && inLotNo.contains("-")) {
|
||||
String[] split = inLotNo.split("-");
|
||||
if (split.length == 2) {
|
||||
item.put("orderIRow", split[1]);
|
||||
item.put("billIRow", split[1]);
|
||||
} else {
|
||||
item.put("orderIRow", 1);
|
||||
item.put("billIRow", 1);
|
||||
}
|
||||
} else {
|
||||
item.put("orderIRow", 1);
|
||||
item.put("billIRow", 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
orderList.add(item);
|
||||
}
|
||||
order.put("orderList", orderList);
|
||||
|
||||
Reference in New Issue
Block a user