上架子项修改
This commit is contained in:
+29
-15
@@ -398,7 +398,7 @@ public class StockShelfOrderApplicationService {
|
|||||||
//设置容器信息
|
//设置容器信息
|
||||||
// setContainerInfo(returnShelfMaterialDetailDOChild);
|
// setContainerInfo(returnShelfMaterialDetailDOChild);
|
||||||
//上架后 设置该记录不允许被修改
|
//上架后 设置该记录不允许被修改
|
||||||
shelfMaterialDetailDO.setAllowModify(2);
|
returnShelfMaterialDetailDOChild.setAllowModify(2);
|
||||||
returnShelfMaterialDetailDOChild.setMaterialDetailSerialNumberList(shelfMaterialDetailDOChild.getMaterialDetailSerialNumberList());
|
returnShelfMaterialDetailDOChild.setMaterialDetailSerialNumberList(shelfMaterialDetailDOChild.getMaterialDetailSerialNumberList());
|
||||||
returnShelfMaterialDetailDOChild.setUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
returnShelfMaterialDetailDOChild.setUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
returnShelfMaterialDetailDOChild.setLevel(2);
|
returnShelfMaterialDetailDOChild.setLevel(2);
|
||||||
@@ -410,6 +410,8 @@ public class StockShelfOrderApplicationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
returnShelfMaterialDetailDOChild.setMaterialDetailSerialNumberList(shelfMaterialDetailDO.getMaterialDetailSerialNumberList());
|
returnShelfMaterialDetailDOChild.setMaterialDetailSerialNumberList(shelfMaterialDetailDO.getMaterialDetailSerialNumberList());
|
||||||
|
//设置子项的实际数量(等于上架数量)
|
||||||
|
returnShelfMaterialDetailDOChild.setActualQuantity(returnShelfMaterialDetailDOChild.getShelvesQuantity());
|
||||||
returnShelfMaterialDetailDOChildList.add(returnShelfMaterialDetailDOChild);
|
returnShelfMaterialDetailDOChildList.add(returnShelfMaterialDetailDOChild);
|
||||||
actualQuantity = actualQuantity.add(returnShelfMaterialDetailDOChild.getShelvesQuantity());
|
actualQuantity = actualQuantity.add(returnShelfMaterialDetailDOChild.getShelvesQuantity());
|
||||||
}
|
}
|
||||||
@@ -455,8 +457,8 @@ public class StockShelfOrderApplicationService {
|
|||||||
* @param shelfMaterialDetailDO
|
* @param shelfMaterialDetailDO
|
||||||
*/
|
*/
|
||||||
private void setStorageLocationInfo(ShelfMaterialDetailDO shelfMaterialDetailDO){
|
private void setStorageLocationInfo(ShelfMaterialDetailDO shelfMaterialDetailDO){
|
||||||
if (shelfMaterialDetailDO.getStorageLocationId() == null) {
|
if (shelfMaterialDetailDO.getStorageLocationId() == null || shelfMaterialDetailDO.getStorageLocationId() == 0) {
|
||||||
throw new ServiceException("库位ID不能为空");
|
throw new ServiceException("库位ID不能为空或0");
|
||||||
}
|
}
|
||||||
AjaxResult storageLocationResult = systemServiceFeign.getStorageLocationInfoByStorageLocationId(shelfMaterialDetailDO.getStorageLocationId());
|
AjaxResult storageLocationResult = systemServiceFeign.getStorageLocationInfoByStorageLocationId(shelfMaterialDetailDO.getStorageLocationId());
|
||||||
if (storageLocationResult == null) {
|
if (storageLocationResult == null) {
|
||||||
@@ -471,19 +473,31 @@ public class StockShelfOrderApplicationService {
|
|||||||
if (dataObj == null) {
|
if (dataObj == null) {
|
||||||
throw new ServiceException("获取上架库位信息失败:返回数据为空,库位ID:" + shelfMaterialDetailDO.getStorageLocationId());
|
throw new ServiceException("获取上架库位信息失败:返回数据为空,库位ID:" + shelfMaterialDetailDO.getStorageLocationId());
|
||||||
}
|
}
|
||||||
StorageLocationFeignPO storageLocationFeignPO = JSON.parseObject(JSONObject.toJSONString(dataObj), StorageLocationFeignPO.class);
|
try {
|
||||||
if (storageLocationFeignPO == null) {
|
String jsonString = JSONObject.toJSONString(dataObj);
|
||||||
throw new ServiceException("获取上架库位信息失败:数据解析失败,库位ID:" + shelfMaterialDetailDO.getStorageLocationId());
|
if (jsonString == null || jsonString.trim().isEmpty() || "null".equals(jsonString)) {
|
||||||
|
throw new ServiceException("获取上架库位信息失败:数据序列化失败,库位ID:" + shelfMaterialDetailDO.getStorageLocationId());
|
||||||
|
}
|
||||||
|
StorageLocationFeignPO storageLocationFeignPO = JSON.parseObject(jsonString, StorageLocationFeignPO.class);
|
||||||
|
if (storageLocationFeignPO == null) {
|
||||||
|
throw new ServiceException("获取上架库位信息失败:数据解析失败,库位ID:" + shelfMaterialDetailDO.getStorageLocationId());
|
||||||
|
}
|
||||||
|
shelfMaterialDetailDO.setWarehouseId(storageLocationFeignPO.getWarehouseId());
|
||||||
|
shelfMaterialDetailDO.setWarehouseCode(storageLocationFeignPO.getWarehouseCode());
|
||||||
|
shelfMaterialDetailDO.setWarehouseName(storageLocationFeignPO.getWarehouseName());
|
||||||
|
shelfMaterialDetailDO.setStorageSectionId(storageLocationFeignPO.getStorageSectionId());
|
||||||
|
shelfMaterialDetailDO.setStorageCode(storageLocationFeignPO.getStorageCode());
|
||||||
|
shelfMaterialDetailDO.setStorageName(storageLocationFeignPO.getStorageName());
|
||||||
|
shelfMaterialDetailDO.setStorageLocationId(storageLocationFeignPO.getStorageLocationId());
|
||||||
|
shelfMaterialDetailDO.setStorageLocationCode(storageLocationFeignPO.getStorageLocationCode());
|
||||||
|
shelfMaterialDetailDO.setStorageLocationName(storageLocationFeignPO.getStorageLocationName());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("解析库位信息失败,库位ID:{},错误:{}", shelfMaterialDetailDO.getStorageLocationId(), e.getMessage(), e);
|
||||||
|
if (e instanceof ServiceException) {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
throw new ServiceException("获取上架库位信息失败:数据解析异常,库位ID:" + shelfMaterialDetailDO.getStorageLocationId() + ",错误信息:" + e.getMessage());
|
||||||
}
|
}
|
||||||
shelfMaterialDetailDO.setWarehouseId(storageLocationFeignPO.getWarehouseId());
|
|
||||||
shelfMaterialDetailDO.setWarehouseCode(storageLocationFeignPO.getWarehouseCode());
|
|
||||||
shelfMaterialDetailDO.setWarehouseName(storageLocationFeignPO.getWarehouseName());
|
|
||||||
shelfMaterialDetailDO.setStorageSectionId(storageLocationFeignPO.getStorageSectionId());
|
|
||||||
shelfMaterialDetailDO.setStorageCode(storageLocationFeignPO.getStorageCode());
|
|
||||||
shelfMaterialDetailDO.setStorageName(storageLocationFeignPO.getStorageName());
|
|
||||||
shelfMaterialDetailDO.setStorageLocationId(storageLocationFeignPO.getStorageLocationId());
|
|
||||||
shelfMaterialDetailDO.setStorageLocationCode(storageLocationFeignPO.getStorageLocationCode());
|
|
||||||
shelfMaterialDetailDO.setStorageLocationName(storageLocationFeignPO.getStorageLocationName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+3
-2
@@ -192,7 +192,7 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
|
|||||||
}
|
}
|
||||||
materialDetailSerialNumberList.addAll(genMaterialDetailSerialNumber(shelfMaterialDetailDO));
|
materialDetailSerialNumberList.addAll(genMaterialDetailSerialNumber(shelfMaterialDetailDO));
|
||||||
}
|
}
|
||||||
BigDecimal totalActualQuantity = shelfMaterialDetailDO.getActualQuantity();
|
BigDecimal totalActualQuantity = shelfMaterialDetailDO.getActualQuantity() != null ? shelfMaterialDetailDO.getActualQuantity() : BigDecimal.ZERO;
|
||||||
//判断是否存在子项
|
//判断是否存在子项
|
||||||
List<ShelfMaterialDetailDO> inMaterialDetailDOChildList = shelfMaterialDetailDO.getChildren();
|
List<ShelfMaterialDetailDO> inMaterialDetailDOChildList = shelfMaterialDetailDO.getChildren();
|
||||||
List<ShelfMaterialDetail> shelfMaterialDetailChildList = new ArrayList<>();
|
List<ShelfMaterialDetail> shelfMaterialDetailChildList = new ArrayList<>();
|
||||||
@@ -212,7 +212,8 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
|
|||||||
}
|
}
|
||||||
materialDetailSerialNumberList.addAll(genMaterialDetailSerialNumber(shelfMaterialDetailDOChild));
|
materialDetailSerialNumberList.addAll(genMaterialDetailSerialNumber(shelfMaterialDetailDOChild));
|
||||||
}
|
}
|
||||||
totalActualQuantity = totalActualQuantity.add(shelfMaterialDetailDOChild.getActualQuantity());
|
BigDecimal childActualQuantity = shelfMaterialDetailDOChild.getActualQuantity() != null ? shelfMaterialDetailDOChild.getActualQuantity() : BigDecimal.ZERO;
|
||||||
|
totalActualQuantity = totalActualQuantity.add(childActualQuantity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ShelfMaterialDetail shelfMaterialDetail = new ShelfMaterialDetail();
|
ShelfMaterialDetail shelfMaterialDetail = new ShelfMaterialDetail();
|
||||||
|
|||||||
Reference in New Issue
Block a user