From 7342b958d2f9d268bd55f142c0fcd9d1bd6df8b5 Mon Sep 17 00:00:00 2001 From: Qiuwja Date: Mon, 23 Sep 2024 13:41:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=EF=BC=8C=E5=BC=83=E5=AE=A1=E5=90=8E=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/rule/def/AfterApprovePushRule.java | 130 ++++++++++++++++++ .../rule/def/AfterUnApprovePushRule.java | 64 +++++++++ 2 files changed, 194 insertions(+) create mode 100644 pu/src/private/nc/impl/pu/m21/action/rule/def/AfterApprovePushRule.java create mode 100644 pu/src/private/nc/impl/pu/m21/action/rule/def/AfterUnApprovePushRule.java diff --git a/pu/src/private/nc/impl/pu/m21/action/rule/def/AfterApprovePushRule.java b/pu/src/private/nc/impl/pu/m21/action/rule/def/AfterApprovePushRule.java new file mode 100644 index 0000000..1b0eed6 --- /dev/null +++ b/pu/src/private/nc/impl/pu/m21/action/rule/def/AfterApprovePushRule.java @@ -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 { + + + 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 h_bill = new HashMap(); + 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 l_items = new ArrayList(); + + + OrderItemVO[] itemVOs= vos[i].getBVO(); + for (int j = 0; j < itemVOs.length; j++) { + HashMap b_item = new HashMap(); + 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 h_podata = new HashMap(); + h_podata.put("bill", h_bill); + h_podata.put("billdetail", l_items); + + HashMap bill = new HashMap(); + 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); + } + + + } + } + + + } + +} diff --git a/pu/src/private/nc/impl/pu/m21/action/rule/def/AfterUnApprovePushRule.java b/pu/src/private/nc/impl/pu/m21/action/rule/def/AfterUnApprovePushRule.java new file mode 100644 index 0000000..0c1bc10 --- /dev/null +++ b/pu/src/private/nc/impl/pu/m21/action/rule/def/AfterUnApprovePushRule.java @@ -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 { + + +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 h_bill = new HashMap(); + 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); + } + + } + } + } + +}