采购订单审批,弃审后推送第三方
This commit is contained in:
parent
ef7078fc2b
commit
7342b958d2
|
@ -0,0 +1,130 @@
|
||||||
|
package nc.impl.pu.m21.action.rule.def;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
|
import nc.bs.dao.DAOException;
|
||||||
|
import nc.bs.framework.common.NCLocator;
|
||||||
|
import nc.bs.trade.business.HYSuperDMO;
|
||||||
|
import nc.impl.pubapp.pattern.rule.IRule;
|
||||||
|
import nc.pubitf.ic.egap.INCCForEGAPIntf;
|
||||||
|
import nc.vo.bd.material.MaterialVO;
|
||||||
|
import nc.vo.bd.material.measdoc.MeasdocVO;
|
||||||
|
import nc.vo.bd.psn.PsndocVO;
|
||||||
|
import nc.vo.bd.supplier.SupplierVO;
|
||||||
|
import nc.vo.org.PurchaseOrgVO;
|
||||||
|
import nc.vo.pu.m21.entity.OrderItemVO;
|
||||||
|
import nc.vo.pu.m21.entity.OrderVO;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
|
import nc.vo.vorg.PurchaseOrgVersionVO;
|
||||||
|
import nccloud.commons.lang.ArrayUtils;
|
||||||
|
|
||||||
|
public class AfterApprovePushRule implements IRule<OrderVO> {
|
||||||
|
|
||||||
|
|
||||||
|
public INCCForEGAPIntf iNCCForEGAPIntf =null;
|
||||||
|
|
||||||
|
public INCCForEGAPIntf getiNCCForEGAPIntf() {
|
||||||
|
if(iNCCForEGAPIntf == null) {
|
||||||
|
iNCCForEGAPIntf = (INCCForEGAPIntf)NCLocator.getInstance().lookup(INCCForEGAPIntf.class.getName());
|
||||||
|
}
|
||||||
|
return iNCCForEGAPIntf;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void process(OrderVO[] vos) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
if (ArrayUtils.isEmpty(vos)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
HYSuperDMO dmo = new HYSuperDMO();
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
String token="";
|
||||||
|
for (int i = 0; i < vos.length; i++) {
|
||||||
|
if(vos[i].getHVO().getForderstatus().intValue()==3) {
|
||||||
|
HashMap<String, Object> h_bill = new HashMap<String, Object>();
|
||||||
|
h_bill.put("erpid", vos[i].getHVO().getPrimaryKey());//NCC主表ID
|
||||||
|
|
||||||
|
try {
|
||||||
|
PurchaseOrgVO purchaseOrgVO = (PurchaseOrgVO) dmo.queryByPrimaryKey(PurchaseOrgVO.class, vos[i].getHVO().getPk_org());
|
||||||
|
h_bill.put("ccompany", purchaseOrgVO.getName());//公司名称
|
||||||
|
h_bill.put("cordercode", vos[i].getHVO().getVbillcode());//采购订单号
|
||||||
|
h_bill.put("cbilltype","月计划");//月计划\增补计划
|
||||||
|
|
||||||
|
h_bill.put("corderlevel",vos[i].getHVO().getVdef1()==null?"普通":vos[i].getHVO().getVdef1());//普通\紧急
|
||||||
|
|
||||||
|
h_bill.put("istop",vos[i].getHVO().getBfinalclose().booleanValue()?"1":"0");
|
||||||
|
h_bill.put("dstopdate",vos[i].getHVO().getDclosedate()==null?"":vos[i].getHVO().getDclosedate().toStdString());//停用日期
|
||||||
|
h_bill.put("dorderdate",vos[i].getHVO().getDbilldate().toStdString());//订单日期
|
||||||
|
if(vos[i].getHVO().getCemployeeid()!=null) {
|
||||||
|
PsndocVO psndocVO =(PsndocVO) dmo.queryByPrimaryKey(PsndocVO.class, vos[i].getHVO().getCemployeeid());
|
||||||
|
|
||||||
|
h_bill.put("copname",psndocVO.getName());//业务员姓名
|
||||||
|
}else {
|
||||||
|
h_bill.put("copname","");//业务员姓名
|
||||||
|
}
|
||||||
|
h_bill.put("cmark",vos[i].getHVO().getVmemo()==null?"":vos[i].getHVO().getVmemo());//备注
|
||||||
|
|
||||||
|
SupplierVO supplierVO =(SupplierVO) dmo.queryByPrimaryKey(SupplierVO.class, vos[i].getHVO().getPk_supplier());
|
||||||
|
|
||||||
|
h_bill.put("cvencode",supplierVO.getCode());//供应商编码
|
||||||
|
h_bill.put("cvenname",supplierVO.getName());//供应商名称
|
||||||
|
|
||||||
|
ArrayList<Object> l_items = new ArrayList<Object>();
|
||||||
|
|
||||||
|
|
||||||
|
OrderItemVO[] itemVOs= vos[i].getBVO();
|
||||||
|
for (int j = 0; j < itemVOs.length; j++) {
|
||||||
|
HashMap<String, Object> b_item = new HashMap<String, Object>();
|
||||||
|
b_item.put("cinvcode",itemVOs[j].getPk_material());
|
||||||
|
MaterialVO materialVO =(MaterialVO)dmo.queryByPrimaryKey(MaterialVO.class,itemVOs[j].getPk_material());
|
||||||
|
b_item.put("cinvenginnerno",materialVO.getCode());
|
||||||
|
b_item.put("cinvname",materialVO.getName());
|
||||||
|
b_item.put("cinvstd",materialVO.getMaterialspec()==null?"":materialVO.getMaterialspec());
|
||||||
|
MeasdocVO measdocVO = (MeasdocVO)dmo.queryByPrimaryKey(MeasdocVO.class, itemVOs[j].getCunitid());
|
||||||
|
b_item.put("cunit",measdocVO.getName());
|
||||||
|
b_item.put("isnullin",itemVOs[j].getVbdef1()==null?"0":"1");
|
||||||
|
b_item.put("iqty",itemVOs[j].getNastnum().toBigDecimal());
|
||||||
|
b_item.put("daskdate",itemVOs[j].getDplanarrvdate().toStdString());
|
||||||
|
b_item.put("cnote",itemVOs[j].getVbmemo()==null?"":itemVOs[j].getVbmemo());
|
||||||
|
b_item.put("idetstop",itemVOs[j].getFisactive().intValue());
|
||||||
|
b_item.put("ddetstopdate",itemVOs[j].getDcorrectdate()==null?"":itemVOs[j].getDcorrectdate().toStdString());
|
||||||
|
b_item.put("cerpsubid",itemVOs[j].getPrimaryKey());
|
||||||
|
l_items.add(b_item);
|
||||||
|
}
|
||||||
|
HashMap<String, Object> h_podata = new HashMap<String, Object>();
|
||||||
|
h_podata.put("bill", h_bill);
|
||||||
|
h_podata.put("billdetail", l_items);
|
||||||
|
|
||||||
|
HashMap<String, Object> bill = new HashMap<String, Object>();
|
||||||
|
bill.put("token", token);
|
||||||
|
bill.put("podata", h_podata);
|
||||||
|
String add_json = objectMapper.writeValueAsString(bill);
|
||||||
|
nc.bs.logging.Logger.error("采购订单 审批后接口报文:"+add_json);
|
||||||
|
getiNCCForEGAPIntf().sendEGAP(add_json, "HFNCCINF030", vos[i].getHVO().getPrimaryKey());
|
||||||
|
// h_podata.put("bill",h_bill);
|
||||||
|
// h_podata.put("bill",h_bill);
|
||||||
|
} catch (DAOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
// e.printStackTrace();
|
||||||
|
ExceptionUtils.wrappException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,64 @@
|
||||||
|
package nc.impl.pu.m21.action.rule.def;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
|
import nc.bs.framework.common.NCLocator;
|
||||||
|
import nc.bs.trade.business.HYSuperDMO;
|
||||||
|
import nc.impl.pubapp.pattern.rule.IRule;
|
||||||
|
import nc.pubitf.ic.egap.INCCForEGAPIntf;
|
||||||
|
import nc.vo.pu.m21.entity.OrderVO;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
|
import nccloud.commons.lang.ArrayUtils;
|
||||||
|
|
||||||
|
public class AfterUnApprovePushRule implements IRule<OrderVO> {
|
||||||
|
|
||||||
|
|
||||||
|
public INCCForEGAPIntf iNCCForEGAPIntf =null;
|
||||||
|
|
||||||
|
public INCCForEGAPIntf getiNCCForEGAPIntf() {
|
||||||
|
if(iNCCForEGAPIntf == null) {
|
||||||
|
iNCCForEGAPIntf = (INCCForEGAPIntf)NCLocator.getInstance().lookup(INCCForEGAPIntf.class.getName());
|
||||||
|
}
|
||||||
|
return iNCCForEGAPIntf;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void process(OrderVO[] vos) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
if (ArrayUtils.isEmpty(vos)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
HYSuperDMO dmo = new HYSuperDMO();
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
String token="";
|
||||||
|
for (int i = 0; i < vos.length; i++) {
|
||||||
|
if(vos[i].getHVO().getForderstatus().intValue()!=3) {
|
||||||
|
HashMap<String, Object> h_bill = new HashMap<String, Object>();
|
||||||
|
h_bill.put("token", token);
|
||||||
|
h_bill.put("ERPID", vos[i].getHVO().getVbillcode());
|
||||||
|
|
||||||
|
try {
|
||||||
|
String add_json = objectMapper.writeValueAsString(h_bill);
|
||||||
|
nc.bs.logging.Logger.error("采购订单 弃审后口报文:"+add_json);
|
||||||
|
|
||||||
|
getiNCCForEGAPIntf().sendEGAP(add_json,"HFNCCINF031",vos[i].getHVO().getPrimaryKey());
|
||||||
|
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
// e.printStackTrace();
|
||||||
|
ExceptionUtils.wrappException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue