This commit is contained in:
parent
9bee99b80b
commit
c4a24b683c
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding='gb2312'?>
|
||||||
|
<module>
|
||||||
|
<rest>
|
||||||
|
<resource classname="nccloud.api.mmbd.dchangemanage.dchangemaster.DchangeMasterManageResources" exinfo=""/>
|
||||||
|
</rest>
|
||||||
|
</module>
|
||||||
|
|
@ -12,6 +12,7 @@ import java.util.*;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import nc.bs.dao.BaseDAO;
|
import nc.bs.dao.BaseDAO;
|
||||||
|
import nc.bs.dao.DAOException;
|
||||||
import nc.bs.trade.business.HYPubBO;
|
import nc.bs.trade.business.HYPubBO;
|
||||||
import nc.bs.uapbd.util.MyHelper;
|
import nc.bs.uapbd.util.MyHelper;
|
||||||
import nc.itf.mmbd.dchange.dchangemaster.IDchangeMasterVOService;
|
import nc.itf.mmbd.dchange.dchangemaster.IDchangeMasterVOService;
|
||||||
|
|
@ -20,10 +21,7 @@ import nc.jdbc.framework.processor.MapListProcessor;
|
||||||
import nc.jdbc.framework.processor.MapProcessor;
|
import nc.jdbc.framework.processor.MapProcessor;
|
||||||
import nc.uif.pub.exception.UifException;
|
import nc.uif.pub.exception.UifException;
|
||||||
import nc.util.mmf.framework.base.MMValueCheck;
|
import nc.util.mmf.framework.base.MMValueCheck;
|
||||||
import nc.vo.dchange.dchange.DchangeMasterVO;
|
import nc.vo.dchange.dchange.*;
|
||||||
import nc.vo.dchange.dchange.DchangeSlave0VO;
|
|
||||||
import nc.vo.dchange.dchange.DchangeSlave1VO;
|
|
||||||
import nc.vo.dchange.dchange.DchangeSlave2VO;
|
|
||||||
import nc.vo.mmpac.pickm.entity.AggPickmVO;
|
import nc.vo.mmpac.pickm.entity.AggPickmVO;
|
||||||
import nc.vo.mmpps.mps0202.AggregatedPoVO;
|
import nc.vo.mmpps.mps0202.AggregatedPoVO;
|
||||||
import nccloud.framework.service.ServiceLocator;
|
import nccloud.framework.service.ServiceLocator;
|
||||||
|
|
@ -260,6 +258,17 @@ public class DchangeMasterManageResources extends AbstractNCCRestResource {
|
||||||
JSONObject headJson = (JSONObject) json.get("dchangeMaster");
|
JSONObject headJson = (JSONObject) json.get("dchangeMaster");
|
||||||
// BOM版本号-父项编码-子项编码-变更前数量-变更后数量
|
// BOM版本号-父项编码-子项编码-变更前数量-变更后数量
|
||||||
String bomVersion = headJson.getString("bomVersion");
|
String bomVersion = headJson.getString("bomVersion");
|
||||||
|
|
||||||
|
/*bom版本号等于销售订单号加行号*/
|
||||||
|
String[] s=bomVersion.split("\\+");
|
||||||
|
if(s.length!=2){
|
||||||
|
throw new NullPointerException("传入参数中BOM版本号格式错误!");
|
||||||
|
}
|
||||||
|
String so_saleorder=s[0];
|
||||||
|
String vrow=s[1];
|
||||||
|
// Object pk_material = hy.findColValue("bd_material", "pk_material", "code = '"+pcode+"' and nvl(dr,0)=0 ");
|
||||||
|
|
||||||
|
|
||||||
String pcode=headJson.getString("pcode");
|
String pcode=headJson.getString("pcode");
|
||||||
String ccode=headJson.getString("ccode");
|
String ccode=headJson.getString("ccode");
|
||||||
UFDouble beforenum=new UFDouble(headJson.getString("beforenum")) ;
|
UFDouble beforenum=new UFDouble(headJson.getString("beforenum")) ;
|
||||||
|
|
@ -269,8 +278,12 @@ public class DchangeMasterManageResources extends AbstractNCCRestResource {
|
||||||
|
|
||||||
Object cmrl = hy.findColValue("bd_material", "pk_material", "code = '"+ccode+"' and nvl(dr,0)=0 ");
|
Object cmrl = hy.findColValue("bd_material", "pk_material", "code = '"+ccode+"' and nvl(dr,0)=0 ");
|
||||||
|
|
||||||
Object cbomid = hy.findColValue("bd_bom", "cbomid", "hcmaterialvid = '"+pk_material+"' and hversion=¡®"+bomVersion+"¡¯ and nvl(dr,0)=0 ");
|
Object pmoid = hy.findColValue("cpickmid", "mm_pickm", "vfirstmocode = '"+so_saleorder+"' and vfirstmorowcode=‘"+vrow+"’ and nvl(dr,0)=0 ");
|
||||||
|
|
||||||
|
Object cbomid = hy.findColValue("vbomversion", "mm_pickm", "cpickmid = '"+pmoid+"' and nvl(dr,0)=0 ");
|
||||||
|
if(null ==cbomid){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
Object cpickmid=hy.findColValue("mm_pickm", "cpickmid", "cmaterialvid = '"+pk_material+"' and vbomversion=‘"+cbomid+"’ and nvl(dr,0)=0 ");
|
Object cpickmid=hy.findColValue("mm_pickm", "cpickmid", "cmaterialvid = '"+pk_material+"' and vbomversion=‘"+cbomid+"’ and nvl(dr,0)=0 ");
|
||||||
|
|
||||||
|
|
@ -288,13 +301,13 @@ public class DchangeMasterManageResources extends AbstractNCCRestResource {
|
||||||
code.add(aggVOs.getParentVO().getVbillcode());
|
code.add(aggVOs.getParentVO().getVbillcode());
|
||||||
for (int j=0;j<aggVOs.getChildrenVO().length;j++) {
|
for (int j=0;j<aggVOs.getChildrenVO().length;j++) {
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String,Object> map = new HashMap<>();
|
||||||
// if(aggVOs.getChildrenVO()[j].getAttributeValue("cbmaterialvid").equals(cmrl)){
|
if(aggVOs.getChildrenVO()[j].getAttributeValue("cbmaterialvid").equals(cmrl)){
|
||||||
DchangeSlave0VO slave0VO=new DchangeSlave0VO();
|
DchangeSlave0VO slave0VO=new DchangeSlave0VO();
|
||||||
slave0VO.setAfternum(afternum);
|
slave0VO.setAfternum(afternum);
|
||||||
slave0VO.setCbmaterialvid((String) cmrl);
|
slave0VO.setCbmaterialvid((String) cmrl);
|
||||||
slave0VO.setBeforenum(beforenum);
|
slave0VO.setBeforenum(beforenum);
|
||||||
list.add(slave0VO);
|
list.add(slave0VO);
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dchangeMasterVO.setDchangeslave0_dchangeslave0(list.toArray(new DchangeSlave0VO[0]));
|
dchangeMasterVO.setDchangeslave0_dchangeslave0(list.toArray(new DchangeSlave0VO[0]));
|
||||||
|
|
@ -316,23 +329,51 @@ public class DchangeMasterManageResources extends AbstractNCCRestResource {
|
||||||
List<Map<String,Object>> mrpPlan=getMRPPlan(code);
|
List<Map<String,Object>> mrpPlan=getMRPPlan(code);
|
||||||
List<DchangeSlave1VO> list1=new ArrayList<>();
|
List<DchangeSlave1VO> list1=new ArrayList<>();
|
||||||
for (Map<String,Object> map : mrpPlan) {
|
for (Map<String,Object> map : mrpPlan) {
|
||||||
|
if(!map.get("cmaterialvid").equals(cmrl)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
DchangeSlave1VO slave1VO=new DchangeSlave1VO();
|
DchangeSlave1VO slave1VO=new DchangeSlave1VO();
|
||||||
slave1VO.setPlannum((UFDouble) map.get("nassaccpraynum"));
|
slave1VO.setPlannum((UFDouble) map.get("nassaccpraynum"));
|
||||||
slave1VO.setCbmaterialvid((String) map.get("cmaterialvid"));
|
slave1VO.setCbmaterialvid((String) map.get("cmaterialvid"));
|
||||||
slave1VO.setMrpbillcode((String) map.get("mrpbillcode"));
|
slave1VO.setMrpbillcode((String) map.get("vbillcode"));
|
||||||
list1.add(slave1VO);
|
list1.add(slave1VO);
|
||||||
}
|
}
|
||||||
dchangeMasterVO.setDchangeslave1_dchangeslave1(list1.toArray(new DchangeSlave1VO[0]));
|
dchangeMasterVO.setDchangeslave1_dchangeslave1(list1.toArray(new DchangeSlave1VO[0]));
|
||||||
|
|
||||||
List<DchangeSlave2VO> list2=new ArrayList<>();
|
List<DchangeSlave2VO> list2=new ArrayList<>();
|
||||||
|
List<String> mrpbillcode=new ArrayList<>();
|
||||||
for (Map<String,Object> map : mrpPlan) {
|
for (Map<String,Object> map : mrpPlan) {
|
||||||
|
if(!map.get("cmaterialvid").equals(cmrl)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
DchangeSlave2VO slave1VO=new DchangeSlave2VO();
|
DchangeSlave2VO slave1VO=new DchangeSlave2VO();
|
||||||
slave1VO.setPlannum((UFDouble) map.get("nassaccpraynum"));
|
slave1VO.setPlannum((UFDouble) map.get("nassaccpraynum"));
|
||||||
slave1VO.setCbmaterialvid((String) map.get("cmaterialvid"));
|
slave1VO.setCbmaterialvid((String) map.get("cmaterialvid"));
|
||||||
slave1VO.setMrpbillcode((String) map.get("mrpbillcode"));
|
slave1VO.setMrpbillcode((String) map.get("mrpbillcode"));
|
||||||
list2.add(slave1VO);
|
list2.add(slave1VO);
|
||||||
|
mrpbillcode.add((String) map.get("mrpbillcode"));
|
||||||
}
|
}
|
||||||
|
|
||||||
dchangeMasterVO.setDchangeslave2_dchangeslave2(list2.toArray(new DchangeSlave2VO[0]));
|
dchangeMasterVO.setDchangeslave2_dchangeslave2(list2.toArray(new DchangeSlave2VO[0]));
|
||||||
|
//根据计划订单查询采购订单
|
||||||
|
List<Map<String,Object>> buyingreq=getbuyingreq(mrpbillcode);
|
||||||
|
List<DchangeSlave3VO> list3=new ArrayList<>();
|
||||||
|
for (Map<String,Object> map : buyingreq) {
|
||||||
|
if(!map.get("cmaterialvid").equals(cmrl)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
DchangeSlave3VO slave1VO=new DchangeSlave3VO();
|
||||||
|
// slave1VO.setNewnum(new UFDouble((Double) map.get("nastnum")).add());
|
||||||
|
slave1VO.setNewnum(afternum);
|
||||||
|
slave1VO.setPk_material((String) map.get("cmaterialvid"));
|
||||||
|
slave1VO.setParybillcode((String) map.get("mrpbillcode"));
|
||||||
|
list3.add(slave1VO);
|
||||||
|
// mrpbillcode.add((String) map.get("mrpbillcode"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dchangeMasterVO.setDchangeslave3_dchangeslave3(list3.toArray(new DchangeSlave3VO[0]));
|
||||||
Object pk_org = hy.findColValue("org_orgs", "pk_org", "code = '"+headJson.get("pk_org")+"' and nvl(dr,0)=0 and isbusinessunit='Y' ");
|
Object pk_org = hy.findColValue("org_orgs", "pk_org", "code = '"+headJson.get("pk_org")+"' and nvl(dr,0)=0 and isbusinessunit='Y' ");
|
||||||
headJson.put("pk_org", pk_org);
|
headJson.put("pk_org", pk_org);
|
||||||
DchangeMasterVO headVO = new DchangeMasterVO();
|
DchangeMasterVO headVO = new DchangeMasterVO();
|
||||||
|
|
@ -345,12 +386,23 @@ public class DchangeMasterManageResources extends AbstractNCCRestResource {
|
||||||
|
|
||||||
return headVO;
|
return headVO;
|
||||||
}
|
}
|
||||||
// »ñÈ¡mrp¼Æ»®¶©µ¥
|
|
||||||
|
private List<Map<String, Object>> getbuyingreq(List<String> code) throws DAOException {
|
||||||
|
String placeholders = String.join(",", Collections.nCopies(code.size(), "?"));
|
||||||
|
String sql = " SELECT * from po_praybill_b WHERE vsourcecode IN (" + placeholders + ")";
|
||||||
|
List<Map<String,Object>> remain = (List<Map<String, Object>>) new BaseDAO().executeQuery(sql, new MapListProcessor());
|
||||||
|
|
||||||
|
return remain;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取mrp计划订单
|
||||||
private List<Map<String,Object>> getMRPPlan(List<String> codes) throws BusinessException {
|
private List<Map<String,Object>> getMRPPlan(List<String> codes) throws BusinessException {
|
||||||
// 生成与codes数量匹配的占位符(如: ?, ?, ?)
|
// 生成与codes数量匹配的占位符(如: ?, ?, ?)
|
||||||
String placeholders = String.join(",", Collections.nCopies(codes.size(), "?"));
|
String placeholders = String.join(",", Collections.nCopies(codes.size(), "?"));
|
||||||
String sql = " \t\tSELECT\n" +
|
String sql = " \t\tSELECT\n" +
|
||||||
"\tcmaterialvid,\n" +
|
"\tcmaterialvid," +
|
||||||
|
" vbillcode,\n" +
|
||||||
"\tnassaccponum,\n" +
|
"\tnassaccponum,\n" +
|
||||||
"\tnassaccpraynum\n" +
|
"\tnassaccpraynum\n" +
|
||||||
"FROM\n" +
|
"FROM\n" +
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue