互感器采购订单_生产订单_备料计划过滤103物料分类
This commit is contained in:
parent
e8f76b652f
commit
155c549ad0
|
@ -4,29 +4,30 @@ package nc.bs.mmpac.pickm.bp.rule;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import nc.bs.dao.BaseDAO;
|
import nc.bs.dao.BaseDAO;
|
||||||
|
import nc.bs.framework.common.NCLocator;
|
||||||
import nc.bs.logging.Log;
|
import nc.bs.logging.Log;
|
||||||
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
||||||
import nc.impl.pubapp.pattern.rule.IRule;
|
import nc.impl.pubapp.pattern.rule.IRule;
|
||||||
|
import nc.itf.bd.material.baseinfo.IMaterialBaseInfoQueryService;
|
||||||
import nc.jdbc.framework.processor.ColumnProcessor;
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
||||||
import nc.pubitf.para.SysInitQuery;
|
import nc.pubitf.para.SysInitQuery;
|
||||||
import nc.vo.bd.defdoc.DefdocVO;
|
|
||||||
import nc.vo.bd.material.MaterialVO;
|
import nc.vo.bd.material.MaterialVO;
|
||||||
import nc.vo.bd.rt.rt0004.entity.RcVO;
|
|
||||||
import nc.vo.bd.stordoc.StordocVO;
|
|
||||||
import nc.vo.cmp.util.StringUtils;
|
import nc.vo.cmp.util.StringUtils;
|
||||||
import nc.vo.mmpac.pickm.entity.AggPickmVO;
|
import nc.vo.mmpac.pickm.entity.AggPickmVO;
|
||||||
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
|
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
|
||||||
import nc.vo.mmpac.pickm.entity.PickmItemVO;
|
import nc.vo.mmpac.pickm.entity.PickmItemVO;
|
||||||
import nc.vo.org.OrgVO;
|
import nc.vo.org.OrgVO;
|
||||||
import nc.vo.pub.BusinessException;
|
import nc.vo.pub.BusinessException;
|
||||||
|
import nc.vo.pub.CircularlyAccessibleValueObject;
|
||||||
|
import nc.vo.pub.ISuperVO;
|
||||||
import nc.vo.pub.lang.UFBoolean;
|
import nc.vo.pub.lang.UFBoolean;
|
||||||
import nc.vo.pub.lang.UFDouble;
|
import nc.vo.pub.lang.UFDouble;
|
||||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
||||||
import nc.vo.scmpub.util.ArrayUtil;
|
import nc.vo.scmpub.util.ArrayUtil;
|
||||||
|
import nc.vo.util.CloneUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class AfterApproveRuleSyncRZWMS implements IRule<AggPickmVO> {
|
public class AfterApproveRuleSyncRZWMS implements IRule<AggPickmVO> {
|
||||||
|
|
||||||
|
@ -40,8 +41,9 @@ public class AfterApproveRuleSyncRZWMS implements IRule<AggPickmVO> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
AggPickmVO[] cloneOrderVOS = (AggPickmVO[]) CloneUtil.deepClone(vos);
|
||||||
// ¼ì²é²¢É¸Ñ¡ÁìÁÏ×éÖ¯
|
// ¼ì²é²¢É¸Ñ¡ÁìÁÏ×éÖ¯
|
||||||
List<AggPickmVO> newAggPickmVOS = checkAndFilterBillSrcOrg(vos);
|
List<AggPickmVO> newAggPickmVOS = checkAndFilterBillSrcOrg(cloneOrderVOS);
|
||||||
if (newAggPickmVOS.isEmpty()) {
|
if (newAggPickmVOS.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -188,6 +190,8 @@ public class AfterApproveRuleSyncRZWMS implements IRule<AggPickmVO> {
|
||||||
|
|
||||||
private List<AggPickmVO> checkAndFilterBillSrcOrg(AggPickmVO[] aggPickmVOS) throws BusinessException {
|
private List<AggPickmVO> checkAndFilterBillSrcOrg(AggPickmVO[] aggPickmVOS) throws BusinessException {
|
||||||
List<AggPickmVO> aggvoList = new ArrayList<>();
|
List<AggPickmVO> aggvoList = new ArrayList<>();
|
||||||
|
List<AggPickmVO> finalList = new ArrayList<>();
|
||||||
|
|
||||||
for (AggPickmVO aggvo : aggPickmVOS) {
|
for (AggPickmVO aggvo : aggPickmVOS) {
|
||||||
String pkOrg = aggvo.getParentVO().getPk_org();
|
String pkOrg = aggvo.getParentVO().getPk_org();
|
||||||
String orgCode = transferCodeByPk(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
|
String orgCode = transferCodeByPk(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
|
||||||
|
@ -197,13 +201,62 @@ public class AfterApproveRuleSyncRZWMS implements IRule<AggPickmVO> {
|
||||||
if(vdef20==null||"N".equals(vdef20)){
|
if(vdef20==null||"N".equals(vdef20)){
|
||||||
if ("C022".equals(orgCode)&& 1 == aggvo.getParentVO().getFbillstatus()&&aggvo.getChildrenVO()!=null && aggvo.getChildrenVO().length > 0) {
|
if ("C022".equals(orgCode)&& 1 == aggvo.getParentVO().getFbillstatus()&&aggvo.getChildrenVO()!=null && aggvo.getChildrenVO().length > 0) {
|
||||||
if("61".equals(vfirstbilltype)||"55A2".equals(vfirstbilltype)){
|
if("61".equals(vfirstbilltype)||"55A2".equals(vfirstbilltype)){
|
||||||
|
//2025年7月2日10点33分--新增不传--表体物料编码前三位为103时不传
|
||||||
|
//获取表体物料信息
|
||||||
aggvoList.add(aggvo);
|
aggvoList.add(aggvo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return aggvoList;
|
//再次筛选
|
||||||
|
//2025年7月2日10点33分--新增不传--表体物料编码前三位为103时不传
|
||||||
|
//获取表体物料信息
|
||||||
|
if(aggvoList.isEmpty()){
|
||||||
|
return aggvoList;
|
||||||
|
}
|
||||||
|
Set<String> materialpks=new HashSet<>();
|
||||||
|
for (AggPickmVO aggvo : aggvoList) {
|
||||||
|
PickmItemVO[] items = (PickmItemVO[]) aggvo.getChildren(PickmItemVO.class);
|
||||||
|
for (PickmItemVO item : items) {
|
||||||
|
String cbmaterialvid = item.getCbmaterialvid();
|
||||||
|
materialpks.add(cbmaterialvid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(materialpks.isEmpty()){
|
||||||
|
return aggvoList;
|
||||||
|
}
|
||||||
|
//根据物料id查询物料信息
|
||||||
|
MaterialVO[] vos = NCLocator.getInstance().lookup(IMaterialBaseInfoQueryService.class).queryDataByPks(materialpks.toArray(new String[0]));
|
||||||
|
//组装Map
|
||||||
|
Map<String, String> materialMap = new HashMap<>();
|
||||||
|
if(vos==null || vos.length<1){
|
||||||
|
throw new BusinessException("Failed to query material info , please check !!!");
|
||||||
|
}
|
||||||
|
for (MaterialVO vo : vos) {
|
||||||
|
String cmaterialvid = vo.getPk_material();
|
||||||
|
String cmaterialcode =vo.getCode();
|
||||||
|
materialMap.put(cmaterialvid, cmaterialcode);
|
||||||
|
}
|
||||||
|
//筛选行数据
|
||||||
|
for (AggPickmVO aggvo : aggvoList) {
|
||||||
|
List<PickmItemVO> newItems = new ArrayList<>();
|
||||||
|
PickmItemVO[] items = (PickmItemVO[]) aggvo.getChildren(PickmItemVO.class);
|
||||||
|
for (PickmItemVO item : items) {
|
||||||
|
String cmaterialvid = item.getCbmaterialvid();
|
||||||
|
if (materialMap.containsKey(cmaterialvid)) {
|
||||||
|
String materialCode = materialMap.get(cmaterialvid);
|
||||||
|
if(!materialCode.startsWith("103")){
|
||||||
|
newItems.add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!newItems.isEmpty()) {
|
||||||
|
aggvo.setChildren(PickmItemVO.class,newItems.toArray(new PickmItemVO[0]));
|
||||||
|
finalList.add(aggvo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return finalList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pushToRZMOMBy55A2(AggPickmVO[] aggPickmVOS) throws BusinessException {
|
private void pushToRZMOMBy55A2(AggPickmVO[] aggPickmVOS) throws BusinessException {
|
||||||
|
|
|
@ -3,14 +3,17 @@ package nc.bs.mmpac.pmo.pac0002.bp.rule;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import nc.bs.dao.BaseDAO;
|
import nc.bs.dao.BaseDAO;
|
||||||
|
import nc.bs.framework.common.NCLocator;
|
||||||
import nc.bs.logging.Log;
|
import nc.bs.logging.Log;
|
||||||
import nc.bs.mmpac.pmo.pac0002.bp.service.PMOBPService;
|
import nc.bs.mmpac.pmo.pac0002.bp.service.PMOBPService;
|
||||||
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
||||||
import nc.impl.pubapp.pattern.rule.IRule;
|
import nc.impl.pubapp.pattern.rule.IRule;
|
||||||
|
import nc.itf.bd.material.baseinfo.IMaterialBaseInfoQueryService;
|
||||||
import nc.jdbc.framework.processor.ColumnProcessor;
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
||||||
import nc.pubitf.para.SysInitQuery;
|
import nc.pubitf.para.SysInitQuery;
|
||||||
import nc.util.mmf.framework.base.MMValueCheck;
|
import nc.util.mmf.framework.base.MMValueCheck;
|
||||||
import nc.vo.bd.defdoc.DefdocVO;
|
import nc.vo.bd.defdoc.DefdocVO;
|
||||||
|
import nc.vo.bd.material.MaterialVO;
|
||||||
import nc.vo.cmp.util.StringUtils;
|
import nc.vo.cmp.util.StringUtils;
|
||||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
|
import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
|
||||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO;
|
import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO;
|
||||||
|
@ -21,11 +24,9 @@ import nc.vo.pub.lang.UFBoolean;
|
||||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
||||||
import nc.vo.scmpub.util.ArrayUtil;
|
import nc.vo.scmpub.util.ArrayUtil;
|
||||||
|
import nc.vo.util.CloneUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程生产订单审批后推送RZ
|
* 流程生产订单审批后推送RZ
|
||||||
|
@ -46,8 +47,9 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule<PMOAggVO> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
PMOAggVO[] cloneOrderVOS = (PMOAggVO[]) CloneUtil.deepClone(pmoAggVOS);
|
||||||
// 检查并筛选生产订单
|
// 检查并筛选生产订单
|
||||||
List<PMOAggVO> filteredOrders = checkAndFilterBillSrcOrg(pmoAggVOS);
|
List<PMOAggVO> filteredOrders = checkAndFilterBillSrcOrg(cloneOrderVOS);
|
||||||
if (filteredOrders.isEmpty()) {
|
if (filteredOrders.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -66,6 +68,7 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule<PMOAggVO> {
|
||||||
private List<PMOAggVO> checkAndFilterBillSrcOrg(PMOAggVO[] pmoAggVOS) throws BusinessException {
|
private List<PMOAggVO> checkAndFilterBillSrcOrg(PMOAggVO[] pmoAggVOS) throws BusinessException {
|
||||||
List<PMOAggVO> aggvoList = new ArrayList<>();
|
List<PMOAggVO> aggvoList = new ArrayList<>();
|
||||||
List<String> tranidList = new ArrayList<String>();
|
List<String> tranidList = new ArrayList<String>();
|
||||||
|
List<PMOAggVO> finalList = new ArrayList<>();
|
||||||
for (PMOAggVO aggvo : pmoAggVOS) {
|
for (PMOAggVO aggvo : pmoAggVOS) {
|
||||||
PMOHeadVO headvo = aggvo.getParentVO();
|
PMOHeadVO headvo = aggvo.getParentVO();
|
||||||
String tranid = headvo.getCtrantypeid();
|
String tranid = headvo.getCtrantypeid();
|
||||||
|
@ -77,7 +80,6 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule<PMOAggVO> {
|
||||||
if (tranidList.size() > 0) {
|
if (tranidList.size() > 0) {
|
||||||
bSaveApproveMap = PMOBPService.getIPMOTransTypeQueryService()
|
bSaveApproveMap = PMOBPService.getIPMOTransTypeQueryService()
|
||||||
.getBSaveApproveByTranTypeIDs(tranidList.toArray(new String[0]));
|
.getBSaveApproveByTranTypeIDs(tranidList.toArray(new String[0]));
|
||||||
|
|
||||||
}
|
}
|
||||||
for (PMOAggVO aggvo : pmoAggVOS) {
|
for (PMOAggVO aggvo : pmoAggVOS) {
|
||||||
String pkOrg = aggvo.getParentVO().getPk_org();
|
String pkOrg = aggvo.getParentVO().getPk_org();
|
||||||
|
@ -97,7 +99,53 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule<PMOAggVO> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return aggvoList;
|
//再次筛选
|
||||||
|
//2025年7月2日10点33分--新增不传--表体物料编码前三位为103时不传
|
||||||
|
//获取表体物料信息
|
||||||
|
if(aggvoList.isEmpty()){
|
||||||
|
return aggvoList;
|
||||||
|
}
|
||||||
|
Set<String> materialpks=new HashSet<>();
|
||||||
|
for (PMOAggVO aggvo : aggvoList) {
|
||||||
|
for (PMOItemVO item : aggvo.getChildrenVO()) {
|
||||||
|
String cbmaterialvid = item.getCmaterialvid();
|
||||||
|
materialpks.add(cbmaterialvid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(materialpks.isEmpty()){
|
||||||
|
return aggvoList;
|
||||||
|
}
|
||||||
|
//根据物料id查询物料信息
|
||||||
|
MaterialVO[] vos = NCLocator.getInstance().lookup(IMaterialBaseInfoQueryService.class).queryDataByPks(materialpks.toArray(new String[0]));
|
||||||
|
//组装Map
|
||||||
|
Map<String, String> materialMap = new HashMap<>();
|
||||||
|
if(vos==null || vos.length<1){
|
||||||
|
throw new BusinessException("Failed to query material info , please check !!!");
|
||||||
|
}
|
||||||
|
for (MaterialVO vo : vos) {
|
||||||
|
String cmaterialvid = vo.getPk_material();
|
||||||
|
String cmaterialcode =vo.getCode();
|
||||||
|
materialMap.put(cmaterialvid, cmaterialcode);
|
||||||
|
}
|
||||||
|
//筛选行数据
|
||||||
|
for (PMOAggVO aggvo : aggvoList) {
|
||||||
|
List<PMOItemVO> newItems = new ArrayList<>();
|
||||||
|
PMOItemVO[] items = (PMOItemVO[]) aggvo.getChildren(PMOItemVO.class);
|
||||||
|
for (PMOItemVO item : items) {
|
||||||
|
String cmaterialvid = item.getCmaterialvid();
|
||||||
|
if (materialMap.containsKey(cmaterialvid)) {
|
||||||
|
String materialCode = materialMap.get(cmaterialvid);
|
||||||
|
if(!materialCode.startsWith("103")){
|
||||||
|
newItems.add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!newItems.isEmpty()) {
|
||||||
|
aggvo.setChildren(PMOItemVO.class,newItems.toArray(new PMOItemVO[0]));
|
||||||
|
finalList.add(aggvo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return finalList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -3,9 +3,11 @@ package nc.bs.pu.m21.action.rule.approve;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import nc.bs.dao.BaseDAO;
|
import nc.bs.dao.BaseDAO;
|
||||||
|
import nc.bs.framework.common.NCLocator;
|
||||||
import nc.bs.logging.Log;
|
import nc.bs.logging.Log;
|
||||||
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
||||||
import nc.impl.pubapp.pattern.rule.IRule;
|
import nc.impl.pubapp.pattern.rule.IRule;
|
||||||
|
import nc.itf.bd.material.baseinfo.IMaterialBaseInfoQueryService;
|
||||||
import nc.jdbc.framework.processor.ColumnProcessor;
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
||||||
import nc.pubitf.para.SysInitQuery;
|
import nc.pubitf.para.SysInitQuery;
|
||||||
import nc.vo.bd.defdoc.DefdocVO;
|
import nc.vo.bd.defdoc.DefdocVO;
|
||||||
|
@ -24,9 +26,9 @@ import nc.vo.pub.lang.UFDouble;
|
||||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
||||||
import nc.vo.scmpub.util.ArrayUtil;
|
import nc.vo.scmpub.util.ArrayUtil;
|
||||||
|
import nc.vo.util.CloneUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static nccloud.openapi.ic.m4c.mapping.M4cFieldsEnum.cmaterialvid;
|
import static nccloud.openapi.ic.m4c.mapping.M4cFieldsEnum.cmaterialvid;
|
||||||
|
|
||||||
|
@ -47,9 +49,10 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule<OrderVO> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
OrderVO[] cloneOrderVOS = (OrderVO[]) CloneUtil.deepClone(orderVOS);
|
||||||
//检查并筛选销售出库单据为互感器公司
|
//检查并筛选销售出库单据为互感器公司
|
||||||
List<OrderVO> newOrderVOS = checkAndFilterBillSrcOrg(orderVOS);
|
List<OrderVO> newOrderVOS = checkAndFilterBillSrcOrg(cloneOrderVOS);
|
||||||
if (newOrderVOS.isEmpty()) {
|
if (newOrderVOS==null||newOrderVOS.size()<1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//推送到锐制系统
|
//推送到锐制系统
|
||||||
|
@ -62,6 +65,8 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule<OrderVO> {
|
||||||
|
|
||||||
private List<OrderVO> checkAndFilterBillSrcOrg(OrderVO[] OrderVOS) throws BusinessException {
|
private List<OrderVO> checkAndFilterBillSrcOrg(OrderVO[] OrderVOS) throws BusinessException {
|
||||||
List<OrderVO> aggvoList = new ArrayList<>();
|
List<OrderVO> aggvoList = new ArrayList<>();
|
||||||
|
List<OrderVO> finalList = new ArrayList<>();
|
||||||
|
|
||||||
for (OrderVO aggvo : OrderVOS) {
|
for (OrderVO aggvo : OrderVOS) {
|
||||||
String pkOrg = aggvo.getHVO().getPk_org();
|
String pkOrg = aggvo.getHVO().getPk_org();
|
||||||
Integer forderstatus = aggvo.getHVO().getForderstatus();
|
Integer forderstatus = aggvo.getHVO().getForderstatus();
|
||||||
|
@ -73,7 +78,52 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule<OrderVO> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return aggvoList;
|
//再次筛选
|
||||||
|
//2025年7月2日10点33分--新增不传--表体物料编码前三位为103时不传
|
||||||
|
//获取表体物料信息
|
||||||
|
if(aggvoList.isEmpty()){
|
||||||
|
return aggvoList;
|
||||||
|
}
|
||||||
|
Set<String> materialpks=new HashSet<>();
|
||||||
|
for (OrderVO aggvo : aggvoList) {
|
||||||
|
for (OrderItemVO item : aggvo.getBVO()) {
|
||||||
|
String cmaterialvid = item.getPk_material();
|
||||||
|
materialpks.add(cmaterialvid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(materialpks.isEmpty()){
|
||||||
|
return aggvoList;
|
||||||
|
}
|
||||||
|
//根据物料id查询物料信息
|
||||||
|
MaterialVO[] vos = NCLocator.getInstance().lookup(IMaterialBaseInfoQueryService.class).queryDataByPks(materialpks.toArray(new String[0]));
|
||||||
|
//组装Map
|
||||||
|
Map<String, String> materialMap = new HashMap<>();
|
||||||
|
if(vos==null || vos.length<1){
|
||||||
|
throw new BusinessException("Failed to query material info , please check !!!");
|
||||||
|
}
|
||||||
|
for (MaterialVO vo : vos) {
|
||||||
|
String cmaterialvid = vo.getPk_material();
|
||||||
|
String cmaterialcode =vo.getCode();
|
||||||
|
materialMap.put(cmaterialvid, cmaterialcode);
|
||||||
|
}
|
||||||
|
//筛选行数据
|
||||||
|
for (OrderVO aggvo : aggvoList) {
|
||||||
|
List<OrderItemVO> newItems = new ArrayList<>();
|
||||||
|
for (OrderItemVO item : aggvo.getBVO()) {
|
||||||
|
String cmaterialvid = item.getPk_material();
|
||||||
|
if (materialMap.containsKey(cmaterialvid)) {
|
||||||
|
String materialCode = materialMap.get(cmaterialvid);
|
||||||
|
if(!materialCode.startsWith("103")){
|
||||||
|
newItems.add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!newItems.isEmpty()) {
|
||||||
|
aggvo.setBVO(newItems.toArray(new OrderItemVO[0]));
|
||||||
|
finalList.add(aggvo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return finalList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue