erp从ims中间表获取数据
This commit is contained in:
parent
13922b9a7f
commit
14a4a3cb8a
|
|
@ -15,11 +15,17 @@ import nc.vo.ia.mi2.entity.I2HeadVO;
|
|||
import nc.vo.ic.m45.entity.PurchaseInBodyVO;
|
||||
import nc.vo.ic.m45.entity.PurchaseInHeadVO;
|
||||
import nc.vo.ic.m45.entity.PurchaseInVO;
|
||||
import nc.vo.ic.org.OrgInfoQuery;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nc.vo.pub.lang.UFDate;
|
||||
import nc.vo.pub.lang.UFDouble;
|
||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||
import nc.vo.scmpub.check.billvalidate.BillVOsCheckRule;
|
||||
import nc.vo.scmpub.res.billtype.ICBillType;
|
||||
import nccloud.api.impl.ic.m45.check.CheckPurchaseInSaveValidator;
|
||||
import nccloud.api.impl.ic.m45.fill.PurchaseInSaveFillValue;
|
||||
import nccloud.openapi.ic.util.ICAPILocationVOUtils;
|
||||
import nccloud.openapi.scmpub.pub.TransferCodeToPKTool;
|
||||
import org.eclipse.swt.internal.C;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -41,6 +47,7 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin {
|
|||
List<Map<String,Object>> remain = (List<Map<String, Object>>) imsDao.executeQuery(sql, new MapListProcessor());
|
||||
|
||||
if (remain != null && remain.size() > 0) {
|
||||
try{
|
||||
List<PurchaseInVO> list = new ArrayList<PurchaseInVO>();
|
||||
for (Map<String, Object> map : remain) {
|
||||
HYPubBO hy = new HYPubBO();
|
||||
|
|
@ -61,7 +68,7 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin {
|
|||
|
||||
Object pk_org_v = hy.findColValue("org_stockorg_v", "pk_vid", "code = '"+map.get("pk_org")+"' ");
|
||||
|
||||
head.setPk_org((String) pk_org_v); // ¶ÔÓ¦×Ö¶Îpk_org_v
|
||||
head.setPk_org_v((String) pk_org_v); // 对应字段pk_org_v
|
||||
|
||||
Object busicode = hy.findColValue("bd_busitype", "pk_busitype", "busicode = '"+map.get("busicode")+"' ");
|
||||
|
||||
|
|
@ -107,9 +114,11 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin {
|
|||
head.setTaudittime(new UFDate(String.valueOf(map.get("taudittime"))) ); // 日期类型
|
||||
}
|
||||
|
||||
map.put("cpayfinorgoid","C003");
|
||||
Object cpayfinorgoid = hy.findColValue("org_financeorg", "pk_financeorg", " code = '"+map.get("cpayfinorgoid")+"' and dr='0' ");
|
||||
|
||||
head.setCpayfinorgoid((String) cpayfinorgoid);
|
||||
if(cpayfinorgoid !=null){
|
||||
head.setCpayfinorgoid((String) cpayfinorgoid);
|
||||
}
|
||||
|
||||
Object cfanaceorgoid = hy.findColValue("org_financeorg", "pk_financeorg", " code = '"+map.get("cfanaceorgoid")+"' and dr='0' ");
|
||||
|
||||
|
|
@ -118,7 +127,13 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin {
|
|||
Object cpurorgoid = hy.findColValue("org_purchaseorg", "pk_purchaseorg", " code = '"+map.get("cpurorgoid")+"' and dr='0' ");
|
||||
|
||||
head.setCpurorgoid((String) cpurorgoid);
|
||||
head.setCvendorvid((String) map.get("cvendorvid"));
|
||||
|
||||
Object cvendorid = hy.findColValue("bd_supplier", "pk_supplier", " code = '"+map.get("cvendorvid")+"' and dr='0' ");
|
||||
head.setCvendorid((String)cvendorid);
|
||||
|
||||
Object cvendorvid = hy.findColValue("bd_supplier_v", "pk_supplier_v", " pk_supplier = '"+cvendorid+"' and dr='0' ");
|
||||
|
||||
head.setCvendorvid((String)cvendorvid);
|
||||
head.setDmakedate(new UFDate(String.valueOf(map.get("dmakedate")))); // 日期类型
|
||||
|
||||
Object csendcountryid = hy.findColValue("bd_countryzone", "pk_country", " code = '"+"CN"+"' and dr='0' ");
|
||||
|
|
@ -378,10 +393,10 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin {
|
|||
}
|
||||
|
||||
// 供应商基本信息(查询结果非null时赋值)
|
||||
String cvendorid = (String) hy1.findColValue("bd_supplierclass", "pk_supplierclass",
|
||||
String cvendorid1 = (String) hy1.findColValue("bd_supplier", "pk_supplier",
|
||||
" code = '" + body.get("cvendorid") + "' and dr=0 ");
|
||||
if (cvendorid != null) {
|
||||
bodyVO.setCvendorid(cvendorid);
|
||||
if (cvendorid1 != null) {
|
||||
bodyVO.setCvendorid(cvendorid1);
|
||||
}
|
||||
|
||||
list1.add(bodyVO);
|
||||
|
|
@ -391,9 +406,52 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin {
|
|||
list.add(vo);
|
||||
}
|
||||
|
||||
try{
|
||||
|
||||
PurchaseInVO[] vos =list.toArray(new PurchaseInVO[list.size()]) ;
|
||||
// InsertBP insertBP=new InsertBP();
|
||||
// insertBP.insert(list.toArray(new PurchaseInVO[list.size()]));
|
||||
ICAPILocationVOUtils.setLocationVO(ICBillType.PurchaseIn.getCode(), vos);
|
||||
// 1、传入数据基本非空校验
|
||||
BillVOsCheckRule checker =
|
||||
new BillVOsCheckRule(new CheckPurchaseInSaveValidator());
|
||||
//2025年4月23日15点10分 采购入库单接口项目字段为波浪则清空 sdlizheng --start
|
||||
for (PurchaseInVO vo : vos) {
|
||||
PurchaseInBodyVO[] bodys = vo.getBodys();
|
||||
if (bodys != null && bodys.length > 0) {
|
||||
String[] attributeNames = bodys[0].getAttributeNames();
|
||||
for (PurchaseInBodyVO body : bodys) {
|
||||
for (String fildName : attributeNames) {
|
||||
if (body.getAttributeValue(fildName) != null && "~".equals(body.getAttributeValue(fildName))) {
|
||||
body.setAttributeValue(fildName, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//2025年4月23日15点10分 采购入库单接口项目字段为波浪则清空 sdlizheng --end
|
||||
//添加供应商和交易类型为空赋值
|
||||
|
||||
checker.check(vos);
|
||||
|
||||
// 翻译货位
|
||||
ICAPILocationVOUtils.translate(vos);
|
||||
|
||||
//begin没取到财务组织导致的报错,在这里给财务组织赋值为库存组织
|
||||
// for (PurchaseInVO vo : vos) {
|
||||
// if (vo.getHead().getCfanaceorgoid() != null) {
|
||||
// continue;
|
||||
// }
|
||||
// String cfinanceoid = (new OrgInfoQuery()).getFinanceOrgIDByCalBodyID(vo.getHead().getPk_org());
|
||||
// String cfinancevid = (new OrgInfoQuery()).getFinanceOrgVIDByCalBodyID(vo.getHead().getPk_org());
|
||||
// vo.getHead().setCfanaceorgoid(cfinanceoid);
|
||||
// vo.getHead().setCfanaceorgvid(cfinancevid);
|
||||
// }
|
||||
//end
|
||||
|
||||
// 3、其他数据填充
|
||||
// new PurchaseInSaveFillValue().setDefaultValue(vos);
|
||||
|
||||
BillMaintainTool<PurchaseInVO> tool = new BillMaintainTool<PurchaseInVO>(
|
||||
PurchaseInVO.class, ICBillType.PurchaseIn.getCode());
|
||||
tool.insert(list.toArray(new PurchaseInVO[list.size()]));
|
||||
|
|
|
|||
Loading…
Reference in New Issue