批次规则查询修改
This commit is contained in:
+62
@@ -23,6 +23,8 @@ import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoSe
|
|||||||
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
|
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
|
||||||
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
|
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
|
||||||
import com.mhd.wms.domain.materialBaseInfo.service.MaterialBaseInfoDomainService;
|
import com.mhd.wms.domain.materialBaseInfo.service.MaterialBaseInfoDomainService;
|
||||||
|
import com.mhd.wms.domain.materialCommon.repository.facade.IMaterialCommonService;
|
||||||
|
import com.mhd.wms.domain.materialCommon.repository.po.MaterialCommonPO;
|
||||||
import com.mhd.wms.domain.materialCommon.repository.todo.MaterialCommonDO;
|
import com.mhd.wms.domain.materialCommon.repository.todo.MaterialCommonDO;
|
||||||
import com.mhd.wms.domain.materialCommon.service.MaterialCommonDomainService;
|
import com.mhd.wms.domain.materialCommon.service.MaterialCommonDomainService;
|
||||||
import com.mhd.wms.domain.materialGoodsRule.entity.MaterialGoodsRule;
|
import com.mhd.wms.domain.materialGoodsRule.entity.MaterialGoodsRule;
|
||||||
@@ -33,6 +35,8 @@ import com.mhd.wms.domain.materialGoodsRule.service.MaterialGoodsRuleDomainServi
|
|||||||
import com.mhd.wms.domain.materialInventoryWarning.repository.facade.IMaterialInventoryWarningService;
|
import com.mhd.wms.domain.materialInventoryWarning.repository.facade.IMaterialInventoryWarningService;
|
||||||
import com.mhd.wms.domain.materialInventoryWarning.repository.po.MaterialInventoryWarningPO;
|
import com.mhd.wms.domain.materialInventoryWarning.repository.po.MaterialInventoryWarningPO;
|
||||||
import com.mhd.wms.domain.materialInventoryWarning.service.MaterialInventoryWarningDomainService;
|
import com.mhd.wms.domain.materialInventoryWarning.service.MaterialInventoryWarningDomainService;
|
||||||
|
import com.mhd.wms.domain.materialWarehouseControl.repository.facade.IMaterialWarehouseControlService;
|
||||||
|
import com.mhd.wms.domain.materialWarehouseControl.repository.po.MaterialWarehouseControlPO;
|
||||||
import com.mhd.wms.domain.materialWarehouseControl.repository.todo.MaterialWarehouseControlDO;
|
import com.mhd.wms.domain.materialWarehouseControl.repository.todo.MaterialWarehouseControlDO;
|
||||||
import com.mhd.wms.domain.materialWarehouseControl.service.MaterialWarehouseControlDomainService;
|
import com.mhd.wms.domain.materialWarehouseControl.service.MaterialWarehouseControlDomainService;
|
||||||
import com.mhd.wms.interfaces.dto.materialBaseInfo.MaterialBaseInfoDTO;
|
import com.mhd.wms.interfaces.dto.materialBaseInfo.MaterialBaseInfoDTO;
|
||||||
@@ -88,6 +92,10 @@ public class MaterialBaseInfoApplicationService {
|
|||||||
private UserServiceFeign userServiceFeign;
|
private UserServiceFeign userServiceFeign;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMaterialBaseInfoService materialBaseInfoService;
|
private IMaterialBaseInfoService materialBaseInfoService;
|
||||||
|
@Autowired
|
||||||
|
private IMaterialCommonService materialCommonService;
|
||||||
|
@Autowired
|
||||||
|
private IMaterialWarehouseControlService materialWarehouseControlService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询物料基础信息列表
|
* 分页查询物料基础信息列表
|
||||||
@@ -268,21 +276,39 @@ public class MaterialBaseInfoApplicationService {
|
|||||||
*/
|
*/
|
||||||
public Boolean update(MaterialBaseInfoDO materialBaseInfoDO) {
|
public Boolean update(MaterialBaseInfoDO materialBaseInfoDO) {
|
||||||
materialBaseInfoDomainService.update(materialBaseInfoDO);
|
materialBaseInfoDomainService.update(materialBaseInfoDO);
|
||||||
|
Long materialBaseInfoId = materialBaseInfoDO.getMaterialBaseInfoId();
|
||||||
|
// 商品/公共/仓控 子表:Feign/前端常只带业务字段、未带子表主键,需按 material_base_info_id 补全后再 update,否则 WHERE xxx_id=? 为 null 导致 Updates: 0
|
||||||
|
mergeSubEntityPrimaryKeysForMaterialUpdate(materialBaseInfoDO);
|
||||||
//商品规则
|
//商品规则
|
||||||
MaterialGoodsRuleDO materialGoodsRuleDO = materialBaseInfoDO.getMaterialGoodsRule();
|
MaterialGoodsRuleDO materialGoodsRuleDO = materialBaseInfoDO.getMaterialGoodsRule();
|
||||||
if (materialGoodsRuleDO != null) {
|
if (materialGoodsRuleDO != null) {
|
||||||
|
if (materialGoodsRuleDO.getMaterialGoodsRuleId() == null && materialBaseInfoId != null) {
|
||||||
|
materialGoodsRuleDO.setMaterialBaseInfoId(materialBaseInfoId);
|
||||||
|
materialGoodsRuleDomainService.insert(materialGoodsRuleDO);
|
||||||
|
} else {
|
||||||
materialGoodsRuleDomainService.update(materialGoodsRuleDO);
|
materialGoodsRuleDomainService.update(materialGoodsRuleDO);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//公共信息
|
//公共信息
|
||||||
MaterialCommonDO materialCommonDO = materialBaseInfoDO.getMaterialCommon();
|
MaterialCommonDO materialCommonDO = materialBaseInfoDO.getMaterialCommon();
|
||||||
if (materialCommonDO != null) {
|
if (materialCommonDO != null) {
|
||||||
|
if (materialCommonDO.getMaterialCommonId() == null && materialBaseInfoId != null) {
|
||||||
|
materialCommonDO.setMaterialBaseInfoId(materialBaseInfoId);
|
||||||
|
materialCommonDomainService.insert(materialCommonDO);
|
||||||
|
} else {
|
||||||
materialCommonDomainService.update(materialCommonDO);
|
materialCommonDomainService.update(materialCommonDO);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//仓库控制信息
|
//仓库控制信息
|
||||||
MaterialWarehouseControlDO materialWarehouseControlDO = materialBaseInfoDO.getMaterialWarehouseControl();
|
MaterialWarehouseControlDO materialWarehouseControlDO = materialBaseInfoDO.getMaterialWarehouseControl();
|
||||||
if (materialWarehouseControlDO != null) {
|
if (materialWarehouseControlDO != null) {
|
||||||
|
if (materialWarehouseControlDO.getMaterialWarehouseControlId() == null && materialBaseInfoId != null) {
|
||||||
|
materialWarehouseControlDO.setMaterialBaseInfoId(materialBaseInfoId);
|
||||||
|
materialWarehouseControlDomainService.insert(materialWarehouseControlDO);
|
||||||
|
} else {
|
||||||
materialWarehouseControlDomainService.update(materialWarehouseControlDO);
|
materialWarehouseControlDomainService.update(materialWarehouseControlDO);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//库存预警
|
//库存预警
|
||||||
materialInventoryWarningDomainService.batchInsertOrUpdate(materialBaseInfoDO);
|
materialInventoryWarningDomainService.batchInsertOrUpdate(materialBaseInfoDO);
|
||||||
//条码信息
|
//条码信息
|
||||||
@@ -290,6 +316,42 @@ public class MaterialBaseInfoApplicationService {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑物料时从库中反查子表主键,避免仅传 batchId 等字段时子表主键为 null 无法 UPDATE。
|
||||||
|
*/
|
||||||
|
private void mergeSubEntityPrimaryKeysForMaterialUpdate(MaterialBaseInfoDO materialBaseInfoDO) {
|
||||||
|
if (materialBaseInfoDO == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Long mid = materialBaseInfoDO.getMaterialBaseInfoId();
|
||||||
|
if (mid == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
MaterialGoodsRuleDO gr = materialBaseInfoDO.getMaterialGoodsRule();
|
||||||
|
if (gr != null && gr.getMaterialGoodsRuleId() == null) {
|
||||||
|
MaterialGoodsRule one = materialGoodsRuleMapper.selectOne(new LambdaQueryWrapper<MaterialGoodsRule>()
|
||||||
|
.eq(MaterialGoodsRule::getMaterialBaseInfoId, mid)
|
||||||
|
.eq(MaterialGoodsRule::getDelFlag, 1));
|
||||||
|
if (one != null) {
|
||||||
|
gr.setMaterialGoodsRuleId(one.getMaterialGoodsRuleId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MaterialCommonDO common = materialBaseInfoDO.getMaterialCommon();
|
||||||
|
if (common != null && common.getMaterialCommonId() == null) {
|
||||||
|
MaterialCommonPO ex = materialCommonService.getInfoByMaterialBaseInfoIds(mid);
|
||||||
|
if (ex != null) {
|
||||||
|
common.setMaterialCommonId(ex.getMaterialCommonId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MaterialWarehouseControlDO wh = materialBaseInfoDO.getMaterialWarehouseControl();
|
||||||
|
if (wh != null && wh.getMaterialWarehouseControlId() == null) {
|
||||||
|
MaterialWarehouseControlPO ex = materialWarehouseControlService.getInfoByMaterialBaseInfoIds(mid);
|
||||||
|
if (ex != null) {
|
||||||
|
wh.setMaterialWarehouseControlId(ex.getMaterialWarehouseControlId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除物料基础信息
|
* 批量删除物料基础信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
+6
-1
@@ -46,6 +46,7 @@ import com.mhd.wms.domain.stockReceiptOrder.repository.todo.NoReceiptOrderDO;
|
|||||||
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
|
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
|
||||||
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
||||||
import com.mhd.wms.interfaces.dto.stockReceiptOrder.StockReceiptOrderDTO;
|
import com.mhd.wms.interfaces.dto.stockReceiptOrder.StockReceiptOrderDTO;
|
||||||
|
import com.mhd.wms.util.ReceiptBatchDetailFilter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -220,6 +221,9 @@ public class StockReceiptOrderApplicationService {
|
|||||||
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
||||||
List<BatchDetailFeignPO> batchDetailFeignPOList = JSON.parseArray(
|
List<BatchDetailFeignPO> batchDetailFeignPOList = JSON.parseArray(
|
||||||
JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
||||||
|
// 与物料商品规则中的 batchId 对齐,避免多批次模板的 isDisplay=1 行全部合并成几十条
|
||||||
|
batchDetailFeignPOList = ReceiptBatchDetailFilter.filterByMaterialGoodsRule(
|
||||||
|
materialBaseInfoId, batchDetailFeignPOList, materialGoodsRuleService);
|
||||||
if (!CollectionUtils.isEmpty(batchDetailFeignPOList)) {
|
if (!CollectionUtils.isEmpty(batchDetailFeignPOList)) {
|
||||||
// 过滤isDisplay=1的属性
|
// 过滤isDisplay=1的属性
|
||||||
List<BatchDetailFeignPO> filteredList = batchDetailFeignPOList.stream()
|
List<BatchDetailFeignPO> filteredList = batchDetailFeignPOList.stream()
|
||||||
@@ -338,7 +342,8 @@ public class StockReceiptOrderApplicationService {
|
|||||||
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
||||||
List<BatchDetailFeignPO> batchDetailFeignPOList = JSON.parseArray(
|
List<BatchDetailFeignPO> batchDetailFeignPOList = JSON.parseArray(
|
||||||
JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
||||||
|
batchDetailFeignPOList = ReceiptBatchDetailFilter.filterByMaterialGoodsRule(
|
||||||
|
materialBaseInfoId, batchDetailFeignPOList, materialGoodsRuleService);
|
||||||
if (!CollectionUtils.isEmpty(batchDetailFeignPOList)) {
|
if (!CollectionUtils.isEmpty(batchDetailFeignPOList)) {
|
||||||
// 过滤isDisplay=1的属性
|
// 过滤isDisplay=1的属性
|
||||||
batchDetailFeignPOList.stream()
|
batchDetailFeignPOList.stream()
|
||||||
|
|||||||
+4
@@ -49,6 +49,7 @@ import com.mhd.wms.domain.shiftMaterialDetail.repository.todo.ShiftMaterialDetai
|
|||||||
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
|
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
||||||
|
import com.mhd.wms.util.ReceiptBatchDetailFilter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -232,6 +233,9 @@ public class StockShelfOrderApplicationService {
|
|||||||
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
||||||
List<BatchDetailFeignPO> batchDetailFeignPOList = JSON.parseArray(
|
List<BatchDetailFeignPO> batchDetailFeignPOList = JSON.parseArray(
|
||||||
JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
||||||
|
// 与物料商品规则中的 batchId 对齐,同收货单详情,避免多批次 isDisplay=1 并集
|
||||||
|
batchDetailFeignPOList = ReceiptBatchDetailFilter.filterByMaterialGoodsRule(
|
||||||
|
materialBaseInfoId, batchDetailFeignPOList, materialGoodsRuleService);
|
||||||
if (!CollectionUtils.isEmpty(batchDetailFeignPOList)) {
|
if (!CollectionUtils.isEmpty(batchDetailFeignPOList)) {
|
||||||
// 过滤isDisplay=1的属性
|
// 过滤isDisplay=1的属性
|
||||||
List<BatchDetailFeignPO> filteredList = batchDetailFeignPOList.stream()
|
List<BatchDetailFeignPO> filteredList = batchDetailFeignPOList.stream()
|
||||||
|
|||||||
+5
@@ -17,6 +17,8 @@ import com.mhd.system.api.SystemServiceFeign;
|
|||||||
import com.mhd.system.api.domain.BatchDetailFeignPO;
|
import com.mhd.system.api.domain.BatchDetailFeignPO;
|
||||||
import com.mhd.system.api.model.LoginUser;
|
import com.mhd.system.api.model.LoginUser;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.mhd.wms.domain.materialGoodsRule.repository.facade.IMaterialGoodsRuleService;
|
||||||
|
import com.mhd.wms.util.ReceiptBatchDetailFilter;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService;
|
import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO;
|
import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO;
|
||||||
@@ -81,6 +83,8 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl<ReceiptMaterialDetail
|
|||||||
@Resource
|
@Resource
|
||||||
private SystemServiceFeign systemServiceFeign;
|
private SystemServiceFeign systemServiceFeign;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private IMaterialGoodsRuleService materialGoodsRuleService;
|
||||||
|
@Autowired
|
||||||
private IMaterialInventoryService materialInventoryService;
|
private IMaterialInventoryService materialInventoryService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService stockInOrderService;
|
private com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService stockInOrderService;
|
||||||
@@ -250,6 +254,7 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl<ReceiptMaterialDetail
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
List<BatchDetailFeignPO> batchList = JSON.parseArray(JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
List<BatchDetailFeignPO> batchList = JSON.parseArray(JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
||||||
|
batchList = ReceiptBatchDetailFilter.filterByMaterialGoodsRule(materialBaseInfoId, batchList, materialGoodsRuleService);
|
||||||
result = filterAndConvertToMaterialMoreDetail(batchList);
|
result = filterAndConvertToMaterialMoreDetail(batchList);
|
||||||
if (CollectionUtils.isEmpty(result)) {
|
if (CollectionUtils.isEmpty(result)) {
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
+23
-15
@@ -19,6 +19,8 @@ import com.mhd.wms.domain.shelfMaterialDetail.repository.facade.IShelfMaterialDe
|
|||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.mapper.ShelfMaterialDetailMapper;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.mapper.ShelfMaterialDetailMapper;
|
||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
|
||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
|
||||||
|
import com.mhd.wms.domain.materialGoodsRule.repository.facade.IMaterialGoodsRuleService;
|
||||||
|
import com.mhd.wms.util.ReceiptBatchDetailFilter;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
|
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
||||||
@@ -54,6 +56,8 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
|
|||||||
@Resource
|
@Resource
|
||||||
private SystemServiceFeign systemServiceFeign;
|
private SystemServiceFeign systemServiceFeign;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private IMaterialGoodsRuleService materialGoodsRuleService;
|
||||||
|
@Autowired
|
||||||
private IMaterialMoreDetailService IMaterialMoreDetailService;
|
private IMaterialMoreDetailService IMaterialMoreDetailService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,11 +85,7 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
|
|||||||
materialMoreDetailDO.setMaterialDetailUniqueId(materialDetailUniqueIdForQuery);
|
materialMoreDetailDO.setMaterialDetailUniqueId(materialDetailUniqueIdForQuery);
|
||||||
List<MaterialMoreDetailPO> materialMoreDetailList = IMaterialMoreDetailService.queryList(materialMoreDetailDO);
|
List<MaterialMoreDetailPO> materialMoreDetailList = IMaterialMoreDetailService.queryList(materialMoreDetailDO);
|
||||||
if (CollectionUtils.isEmpty(materialMoreDetailList)) {
|
if (CollectionUtils.isEmpty(materialMoreDetailList)) {
|
||||||
AjaxResult ajaxResult = systemServiceFeign.getBatchDetailListByMaterialBaseInfoId(shelfMaterialDetailPO.getMaterialBaseInfoId());
|
materialMoreDetailList = loadTemplateMoreFromSystem(shelfMaterialDetailPO.getMaterialBaseInfoId());
|
||||||
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
|
||||||
List<BatchDetailFeignPO> batchList = JSON.parseArray(JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
|
||||||
materialMoreDetailList = filterAndConvertToMaterialMoreDetail(batchList);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
fillAttributeValueFromShelfMaterialDetail(shelfMaterialDetailPO, materialMoreDetailList);
|
fillAttributeValueFromShelfMaterialDetail(shelfMaterialDetailPO, materialMoreDetailList);
|
||||||
shelfMaterialDetailPO.setMaterialMoreDetailList(materialMoreDetailList);
|
shelfMaterialDetailPO.setMaterialMoreDetailList(materialMoreDetailList);
|
||||||
@@ -113,11 +113,7 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
|
|||||||
materialMoreDetailDO.setMaterialDetailUniqueId(materialDetailUniqueIdForQuery);
|
materialMoreDetailDO.setMaterialDetailUniqueId(materialDetailUniqueIdForQuery);
|
||||||
List<MaterialMoreDetailPO> materialMoreDetailList = IMaterialMoreDetailService.queryList(materialMoreDetailDO);
|
List<MaterialMoreDetailPO> materialMoreDetailList = IMaterialMoreDetailService.queryList(materialMoreDetailDO);
|
||||||
if (CollectionUtils.isEmpty(materialMoreDetailList)) {
|
if (CollectionUtils.isEmpty(materialMoreDetailList)) {
|
||||||
AjaxResult ajaxResult = systemServiceFeign.getBatchDetailListByMaterialBaseInfoId(childrenDetailPO.getMaterialBaseInfoId());
|
materialMoreDetailList = loadTemplateMoreFromSystem(childrenDetailPO.getMaterialBaseInfoId());
|
||||||
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
|
||||||
List<BatchDetailFeignPO> batchList = JSON.parseArray(JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
|
||||||
materialMoreDetailList = filterAndConvertToMaterialMoreDetail(batchList);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
fillAttributeValueFromShelfMaterialDetail(childrenDetailPO, materialMoreDetailList);
|
fillAttributeValueFromShelfMaterialDetail(childrenDetailPO, materialMoreDetailList);
|
||||||
childrenDetailPO.setMaterialMoreDetailList(materialMoreDetailList);
|
childrenDetailPO.setMaterialMoreDetailList(materialMoreDetailList);
|
||||||
@@ -211,11 +207,7 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
|
|||||||
materialMoreDetailDO.setMaterialDetailUniqueId(materialDetailUniqueIdForQuery);
|
materialMoreDetailDO.setMaterialDetailUniqueId(materialDetailUniqueIdForQuery);
|
||||||
List<MaterialMoreDetailPO> materialMoreDetailList = IMaterialMoreDetailService.queryList(materialMoreDetailDO);
|
List<MaterialMoreDetailPO> materialMoreDetailList = IMaterialMoreDetailService.queryList(materialMoreDetailDO);
|
||||||
if (CollectionUtils.isEmpty(materialMoreDetailList)) {
|
if (CollectionUtils.isEmpty(materialMoreDetailList)) {
|
||||||
AjaxResult ajaxResult = systemServiceFeign.getBatchDetailListByMaterialBaseInfoId(row.getMaterialBaseInfoId());
|
materialMoreDetailList = loadTemplateMoreFromSystem(row.getMaterialBaseInfoId());
|
||||||
if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) {
|
|
||||||
List<BatchDetailFeignPO> batchList = JSON.parseArray(JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
|
||||||
materialMoreDetailList = filterAndConvertToMaterialMoreDetail(batchList);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (materialMoreDetailList == null) {
|
if (materialMoreDetailList == null) {
|
||||||
materialMoreDetailList = new ArrayList<>();
|
materialMoreDetailList = new ArrayList<>();
|
||||||
@@ -224,6 +216,22 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
|
|||||||
row.setMaterialMoreDetailList(materialMoreDetailList);
|
row.setMaterialMoreDetailList(materialMoreDetailList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无 material_more_detail 时按物料商品规则单一批次拉模板,同收货单 {@link com.mhd.wms.util.ReceiptBatchDetailFilter}
|
||||||
|
*/
|
||||||
|
private List<MaterialMoreDetailPO> loadTemplateMoreFromSystem(Long materialBaseInfoId) {
|
||||||
|
if (materialBaseInfoId == null) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
AjaxResult ajaxResult = systemServiceFeign.getBatchDetailListByMaterialBaseInfoId(materialBaseInfoId);
|
||||||
|
if (ajaxResult == null || !"200".equals(String.valueOf(ajaxResult.get("code")))) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
List<BatchDetailFeignPO> batchList = JSON.parseArray(JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
||||||
|
batchList = ReceiptBatchDetailFilter.filterByMaterialGoodsRule(materialBaseInfoId, batchList, materialGoodsRuleService);
|
||||||
|
return filterAndConvertToMaterialMoreDetail(batchList);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 过滤 isDisplay=1 的批次属性并转换为 MaterialMoreDetailPO,与收货/PC 端一致
|
* 过滤 isDisplay=1 的批次属性并转换为 MaterialMoreDetailPO,与收货/PC 端一致
|
||||||
*/
|
*/
|
||||||
|
|||||||
+3
@@ -44,6 +44,7 @@ import com.mhd.wms.domain.materialMoreDetail.repository.facade.IMaterialMoreDeta
|
|||||||
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||||
import com.mhd.wms.domain.materialMoreDetail.repository.todo.MaterialMoreDetailDO;
|
import com.mhd.wms.domain.materialMoreDetail.repository.todo.MaterialMoreDetailDO;
|
||||||
import com.mhd.wms.domain.qualityInspection.repository.facade.IQualityInspectionService;
|
import com.mhd.wms.domain.qualityInspection.repository.facade.IQualityInspectionService;
|
||||||
|
import com.mhd.wms.util.ReceiptBatchDetailFilter;
|
||||||
import com.mhd.wms.domain.qualityInspection.repository.todo.QualityInspectionDO;
|
import com.mhd.wms.domain.qualityInspection.repository.todo.QualityInspectionDO;
|
||||||
import com.mhd.wms.domain.receiptMaterialDetail.entity.ReceiptMaterialDetail;
|
import com.mhd.wms.domain.receiptMaterialDetail.entity.ReceiptMaterialDetail;
|
||||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.facade.IReceiptMaterialDetailService;
|
import com.mhd.wms.domain.receiptMaterialDetail.repository.facade.IReceiptMaterialDetailService;
|
||||||
@@ -303,6 +304,8 @@ public class StockReceiptOrderDomainService {
|
|||||||
return materialMoreDetailPOList;
|
return materialMoreDetailPOList;
|
||||||
}
|
}
|
||||||
List<BatchDetailFeignPO> batchDetailFeignPOList = JSON.parseArray(JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
List<BatchDetailFeignPO> batchDetailFeignPOList = JSON.parseArray(JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class);
|
||||||
|
batchDetailFeignPOList = ReceiptBatchDetailFilter.filterByMaterialGoodsRule(
|
||||||
|
materialBaseInfoId, batchDetailFeignPOList, materialGoodsRuleService);
|
||||||
if (CollectionUtils.isEmpty(batchDetailFeignPOList)) {
|
if (CollectionUtils.isEmpty(batchDetailFeignPOList)) {
|
||||||
return materialMoreDetailPOList;
|
return materialMoreDetailPOList;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user