|
@@ -0,0 +1,627 @@
|
|
|
+package nc.bs.yp.impl;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.PrintWriter;
|
|
|
+import java.io.StringWriter;
|
|
|
+import java.util.ArrayList;
|
|
|
+
|
|
|
+import javax.servlet.ServletException;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+import nc.bs.dao.BaseDAO;
|
|
|
+import nc.bs.dao.DAOException;
|
|
|
+import nc.bs.framework.adaptor.IHttpServletAdaptor;
|
|
|
+import nc.bs.framework.common.InvocationInfoProxy;
|
|
|
+import nc.bs.framework.common.NCLocator;
|
|
|
+import nc.bs.framework.server.ISecurityTokenCallback;
|
|
|
+import nc.bs.servlet.service.BaseServlet;
|
|
|
+import nc.itf.uap.IUAPQueryBS;
|
|
|
+import nc.itf.uap.pf.IPFBusiAction;
|
|
|
+import nc.jdbc.framework.processor.ColumnProcessor;
|
|
|
+import nc.log.NcLog;
|
|
|
+import nc.md.persist.framework.IMDPersistenceQueryService;
|
|
|
+import nc.vo.pub.BusinessException;
|
|
|
+import nc.vo.pub.lang.UFBoolean;
|
|
|
+import nc.vo.pub.lang.UFDate;
|
|
|
+import nc.vo.pub.lang.UFDouble;
|
|
|
+import nc.vo.pub.pf.workflow.IPFActionName;
|
|
|
+import nc.vo.so.m30.entity.SaleOrderBVO;
|
|
|
+import nc.vo.so.m30.entity.SaleOrderHVO;
|
|
|
+import nc.vo.so.m30.entity.SaleOrderVO;
|
|
|
+import nc.vo.so.m4331.entity.DeliveryVO;
|
|
|
+import net.sf.json.JSONArray;
|
|
|
+import net.sf.json.JSONObject;
|
|
|
+
|
|
|
+public class SaleOrderReWriteImpl extends BaseServlet implements IHttpServletAdaptor{
|
|
|
+
|
|
|
+
|
|
|
+ IUAPQueryBS iuap= (IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
|
|
|
+ IMDPersistenceQueryService service = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
|
|
|
+ String pk_group = "";
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void doAction(HttpServletRequest req, HttpServletResponse resp)
|
|
|
+ throws ServletException, IOException {
|
|
|
+ // TODO 自动生成的方法存根
|
|
|
+ pk_group = this.qryGroup();
|
|
|
+ InvocationInfoProxy.getInstance().setGroupId(pk_group);
|
|
|
+ NCLocator.getInstance().lookup(ISecurityTokenCallback.class).token("NCSystem".getBytes(),"pfxx".getBytes());
|
|
|
+ String createStr = buildJson(req, resp, this.getClass().getName());
|
|
|
+ JSONObject json = JSONObject.fromObject(createStr);
|
|
|
+ String vbillcode = "";
|
|
|
+ Object csaleorderid = null;
|
|
|
+ PrintWriter out = resp.getWriter();
|
|
|
+ vbillcode = json.getString("vbillcode");
|
|
|
+ try {
|
|
|
+ checkJson(json);
|
|
|
+ String qrysql = "select csaleorderid from so_saleorder where nvl(dr,0)=0 and vbillcode = '"+vbillcode+"'";
|
|
|
+ csaleorderid = iuap.executeQuery(qrysql, new ColumnProcessor());
|
|
|
+ if(csaleorderid != null){
|
|
|
+ SaleOrderVO aggvo = (SaleOrderVO) service.queryBillOfNCObjectByPKWithDR(SaleOrderVO.class, csaleorderid.toString(), true).getContainmentObject();
|
|
|
+ String creviserid = SqlexecuteQuery("cuserid", "sm_user", "user_code", json.getString("creviserid"));
|
|
|
+ SaleOrderHVO headvo = aggvo.getParentVO();
|
|
|
+ SaleOrderBVO[] bodyvos = aggvo.getChildrenVO();
|
|
|
+ int oldsize = bodyvos.length;//原销售订单dr为0的行
|
|
|
+ ArrayList<String> rownos = new ArrayList<String>();//记录原销售订单行号
|
|
|
+ ArrayList<String> jsonrownos = new ArrayList<String>();//记录json所传行号
|
|
|
+ for(SaleOrderBVO bodyvo: bodyvos){
|
|
|
+ rownos.add(bodyvo.getCrowno());
|
|
|
+ }
|
|
|
+ headvo.setCreviserid(creviserid);//修订人
|
|
|
+ Object vrevisereason = json.getString("vrevisereason");
|
|
|
+ if(vrevisereason != null){
|
|
|
+ headvo.setVrevisereason(vrevisereason.toString());//修订理由
|
|
|
+ }
|
|
|
+ JSONArray oprepObjectBs = json.getJSONArray("goodslist");
|
|
|
+
|
|
|
+ //判断是否有行号为空
|
|
|
+ for(int i = 0;i < oprepObjectBs.size();i++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(i);
|
|
|
+ Object crowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ if(crowno == null){
|
|
|
+ String msg = "第"+i+"行行号为空!";
|
|
|
+ resp.getWriter().write(formatRSJsonData("失败",
|
|
|
+ vbillcode,msg).toString());
|
|
|
+ StringWriter stringWriter = new StringWriter();
|
|
|
+ //获取详细信息
|
|
|
+ NcLog.info("接口返回值提示:"+msg);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for(int i = 0;i < oprepObjectBs.size();i++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(i);
|
|
|
+ String crowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ jsonrownos.add(crowno);
|
|
|
+ }
|
|
|
+ //根据原订单表体行和json传的的表体行大小进行判断
|
|
|
+ int newsize = oprepObjectBs.size();
|
|
|
+ if(newsize < oldsize){
|
|
|
+ SaleOrderBVO[] newvos = new SaleOrderBVO[newsize];
|
|
|
+ for(int i = 0;i < newsize;i++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(i);
|
|
|
+ String crowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ if(!rownos.contains(crowno)){
|
|
|
+ String msg = "第"+i+"行行号不在原订单中,请检查!";
|
|
|
+ resp.getWriter().write(formatRSJsonData("失败",
|
|
|
+ vbillcode,msg).toString());
|
|
|
+ StringWriter stringWriter = new StringWriter();
|
|
|
+ //获取详细信息
|
|
|
+ NcLog.info("接口返回值提示:"+msg);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(SaleOrderBVO bodyvo : bodyvos){
|
|
|
+ String crowno = bodyvo.getCrowno();
|
|
|
+ if(!jsonrownos.contains(crowno)){
|
|
|
+ bodyvo.setStatus(3);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ for(int i = 0;i < newsize;i++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(i);
|
|
|
+ String newcrowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ if(newcrowno.equals(crowno)){
|
|
|
+ bodyvo.setPk_org(SqlexecuteQuery("pk_salesorg", "org_salesorg", "code", oprepJsonObjectB.getString("pk_org")));
|
|
|
+ bodyvo.setPk_group(SqlexecuteQuery("pk_group", "org_group", "code", oprepJsonObjectB.getString("pk_group")));
|
|
|
+ bodyvo.setCsendstockorgid(SqlexecuteQuery("pk_stockorg", "org_stockorg", "code", oprepJsonObjectB.getString("csendstockorgid")));
|
|
|
+ bodyvo.setCsendstockorgvid(SqlexecuteQuery("pk_vid", "org_stockorg_v", "code", oprepJsonObjectB.getString("csendstockorgid")));
|
|
|
+ bodyvo.setCsettleorgid(SqlexecuteQuery("pk_financeorg", "org_financeorg", "code", oprepJsonObjectB.getString("csettleorgid")));
|
|
|
+ bodyvo.setCsettleorgvid(SqlexecuteQuery("pk_vid", "org_financeorg_v", "code", oprepJsonObjectB.getString("csettleorgid")));
|
|
|
+ bodyvo.setDbilldate(new UFDate(oprepJsonObjectB.getString("dbilldate")));
|
|
|
+ bodyvo.setCmaterialid(QryMaterial(oprepJsonObjectB.getString("cmaterialid")));
|
|
|
+ bodyvo.setCmaterialvid(QryMaterialv(oprepJsonObjectB.getString("cmaterialid")));
|
|
|
+ bodyvo.setCprojectid(SqlexecuteQuery("pk_project", "bd_project", "project_code", oprepJsonObjectB.getString("cprojectid")));
|
|
|
+ bodyvo.setCunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("cunitid")));
|
|
|
+ bodyvo.setCastunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("castunitid")));
|
|
|
+ bodyvo.setNnum(new UFDouble(oprepJsonObjectB.getString("nnum")));
|
|
|
+ bodyvo.setNastnum(new UFDouble(oprepJsonObjectB.getString("nastnum")));
|
|
|
+ bodyvo.setVchangerate(oprepJsonObjectB.getString("vchangerate"));
|
|
|
+ bodyvo.setCqtunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("cqtunitid")));
|
|
|
+ bodyvo.setNqtunitnum(new UFDouble(oprepJsonObjectB.getString("nqtunitnum")));
|
|
|
+ bodyvo.setVqtunitrate(oprepJsonObjectB.getString("vqtunitrate"));
|
|
|
+ bodyvo.setCtaxcodeid(SqlexecuteQuery("pk_taxcode", "bd_taxcode", "code", oprepJsonObjectB.getString("ctaxcodeid")));
|
|
|
+ bodyvo.setNtaxrate(new UFDouble(oprepJsonObjectB.getString("ntaxrate")));
|
|
|
+ bodyvo.setFtaxtypeflag(Integer.parseInt(oprepJsonObjectB.getString("ftaxtypeflag")));
|
|
|
+ bodyvo.setNqtorigtaxprice(new UFDouble(oprepJsonObjectB.getString("nqtorigtaxprice")));
|
|
|
+ bodyvo.setNqtorigprice(new UFDouble(oprepJsonObjectB.getString("nqtorigprice")));
|
|
|
+ bodyvo.setNqtorigtaxnetprc(new UFDouble(oprepJsonObjectB.getString("nqtorigtaxnetprc")));
|
|
|
+ bodyvo.setNqtorignetprice(new UFDouble(oprepJsonObjectB.getString("nqtorignetprice")));
|
|
|
+ bodyvo.setNorigtaxprice(new UFDouble(oprepJsonObjectB.getString("norigtaxprice")));
|
|
|
+ bodyvo.setNorigprice(new UFDouble(oprepJsonObjectB.getString("norigprice")));
|
|
|
+ bodyvo.setNorigtaxnetprice(new UFDouble(oprepJsonObjectB.getString("norigtaxnetprice")));
|
|
|
+ bodyvo.setNorignetprice(new UFDouble(oprepJsonObjectB.getString("norignetprice")));
|
|
|
+ bodyvo.setNtax(new UFDouble(oprepJsonObjectB.getString("ntax")));
|
|
|
+ bodyvo.setNcaltaxmny(new UFDouble(oprepJsonObjectB.getString("ncaltaxmny")));
|
|
|
+ bodyvo.setNorigmny(new UFDouble(oprepJsonObjectB.getString("norigmny")));
|
|
|
+ bodyvo.setNorigtaxmny(new UFDouble(oprepJsonObjectB.getString("norigtaxmny")));
|
|
|
+ bodyvo.setNqttaxprice(new UFDouble(oprepJsonObjectB.getString("nqttaxprice")));
|
|
|
+ bodyvo.setNqtprice(new UFDouble(oprepJsonObjectB.getString("nqtprice")));
|
|
|
+ bodyvo.setNqttaxnetprice(new UFDouble(oprepJsonObjectB.getString("nqttaxnetprice")));
|
|
|
+ bodyvo.setNqtnetprice(new UFDouble(oprepJsonObjectB.getString("nqtnetprice")));
|
|
|
+ bodyvo.setNtaxprice(new UFDouble(oprepJsonObjectB.getString("ntaxprice")));
|
|
|
+ bodyvo.setNprice(new UFDouble(oprepJsonObjectB.getString("nprice")));
|
|
|
+ bodyvo.setNtaxnetprice(new UFDouble(oprepJsonObjectB.getString("ntaxnetprice")));
|
|
|
+ bodyvo.setNnetprice(new UFDouble(oprepJsonObjectB.getString("nnetprice")));
|
|
|
+ bodyvo.setNmny(new UFDouble(oprepJsonObjectB.getString("nmny")));
|
|
|
+ bodyvo.setNtaxmny(new UFDouble(oprepJsonObjectB.getString("ntaxmny")));
|
|
|
+ bodyvo.setDsenddate(new UFDate(oprepJsonObjectB.getString("dsenddate")));
|
|
|
+ bodyvo.setDreceivedate(new UFDate(oprepJsonObjectB.getString("dreceivedate")));
|
|
|
+ bodyvo.setCreceivecustid(SqlexecuteQuery("pk_customer", "bd_customer", "code", oprepJsonObjectB.getString("creceivecustid")));
|
|
|
+ bodyvo.setCrececountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("crececountryid")));
|
|
|
+ bodyvo.setCsendcountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("csendcountryid")));
|
|
|
+ bodyvo.setCtaxcountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("ctaxcountryid")));
|
|
|
+ bodyvo.setFbuysellflag(Integer.parseInt(oprepJsonObjectB.getString("fbuysellflag")));
|
|
|
+ bodyvo.setVfirsttype(oprepJsonObjectB.getString("vfirsttype"));
|
|
|
+ bodyvo.setVfirstcode(oprepJsonObjectB.getString("vfirstcode"));
|
|
|
+ bodyvo.setVfirsttrantype((oprepJsonObjectB.getString("vfirsttrantype") == null ||oprepJsonObjectB.getString("vfirsttrantype").equals("")) ? "" : SqlexecuteQuery("pk_billtypeid", "bd_billtype", "pk_billtypecode", oprepJsonObjectB.getString("vfirsttrantype")));
|
|
|
+ bodyvo.setVfirstrowno(oprepJsonObjectB.getString("vfirstrowno"));
|
|
|
+ bodyvo.setCfirstid(oprepJsonObjectB.getString("cfirstid"));
|
|
|
+ bodyvo.setCfirstbid(oprepJsonObjectB.getString("cfirstbid"));
|
|
|
+ bodyvo.setVsrctype(oprepJsonObjectB.getString("vsrctype"));
|
|
|
+ bodyvo.setVsrccode(oprepJsonObjectB.getString("vsrccode"));
|
|
|
+ bodyvo.setVsrctrantype((oprepJsonObjectB.getString("vsrctrantype") == null ||oprepJsonObjectB.getString("vsrctrantype").equals("")) ? "" : SqlexecuteQuery("pk_billtypeid", "bd_billtype", "pk_billtypecode", oprepJsonObjectB.getString("vsrctrantype")));
|
|
|
+ bodyvo.setVsrcrowno(oprepJsonObjectB.getString("vsrcrowno"));
|
|
|
+ bodyvo.setCsrcid(oprepJsonObjectB.getString("csrcid"));
|
|
|
+ bodyvo.setCsrcbid(oprepJsonObjectB.getString("csrcbid"));
|
|
|
+ bodyvo.setCtrafficorgid(SqlexecuteQuery("pk_trafficorg", "org_trafficorg", "code", oprepJsonObjectB.getString("ctrafficorgid")));
|
|
|
+ bodyvo.setCtrafficorgvid(SqlexecuteQuery("pk_vid", "org_trafficorg_v", "code", oprepJsonObjectB.getString("ctrafficorgid")));
|
|
|
+ bodyvo.setCarorgid(SqlexecuteQuery("pk_financeorg", "org_financeorg", "code", oprepJsonObjectB.getString("carorgid")));
|
|
|
+ bodyvo.setCarorgvid(SqlexecuteQuery("pk_vid", "org_financeorg_v", "code", oprepJsonObjectB.getString("carorgid")));
|
|
|
+ bodyvo.setCcurrencyid(SqlexecuteQuery("pk_currtype", "bd_currtype", "code", oprepJsonObjectB.getString("ccurrencyid")));
|
|
|
+ bodyvo.setCsaleorderid(csaleorderid.toString());
|
|
|
+ bodyvo.setFrowstatus(1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ IPFBusiAction service = NCLocator.getInstance().lookup(IPFBusiAction.class);
|
|
|
+ service.processAction("REVISEWRITE",
|
|
|
+ "30", null, aggvo, null, null);
|
|
|
+ out.print(formatRSJsonData("成功",vbillcode,""));
|
|
|
+ }
|
|
|
+ else if(newsize > oldsize){
|
|
|
+ SaleOrderBVO[] newvos = new SaleOrderBVO[newsize];
|
|
|
+ ArrayList<String> newrownos = new ArrayList<String>();//记录销售订单新行号
|
|
|
+ for(int i = 0;i < newsize;i++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(i);
|
|
|
+ String crowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ if(!rownos.contains(crowno)){
|
|
|
+ newrownos.add(crowno);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 原销售订单行处理
|
|
|
+ */
|
|
|
+ for(int j = 0;j < oldsize;j++){
|
|
|
+ SaleOrderBVO newvo = new SaleOrderBVO();
|
|
|
+ newvo = bodyvos[j];
|
|
|
+ String oldcrowno = newvo.getCrowno();
|
|
|
+ for(int k = 0;k < newsize;k++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(k);
|
|
|
+ String crowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ if(oldcrowno.equals(crowno)){
|
|
|
+ newvo.setStatus(1);
|
|
|
+ newvo.setPk_org(SqlexecuteQuery("pk_salesorg", "org_salesorg", "code", oprepJsonObjectB.getString("pk_org")));
|
|
|
+ newvo.setPk_group(SqlexecuteQuery("pk_group", "org_group", "code", oprepJsonObjectB.getString("pk_group")));
|
|
|
+ newvo.setCsendstockorgid(SqlexecuteQuery("pk_stockorg", "org_stockorg", "code", oprepJsonObjectB.getString("csendstockorgid")));
|
|
|
+ newvo.setCsendstockorgvid(SqlexecuteQuery("pk_vid", "org_stockorg_v", "code", oprepJsonObjectB.getString("csendstockorgid")));
|
|
|
+ newvo.setCsettleorgid(SqlexecuteQuery("pk_financeorg", "org_financeorg", "code", oprepJsonObjectB.getString("csettleorgid")));
|
|
|
+ newvo.setCsettleorgvid(SqlexecuteQuery("pk_vid", "org_financeorg_v", "code", oprepJsonObjectB.getString("csettleorgid")));
|
|
|
+ newvo.setDbilldate(new UFDate(oprepJsonObjectB.getString("dbilldate")));
|
|
|
+ newvo.setCmaterialid(QryMaterial(oprepJsonObjectB.getString("cmaterialid")));
|
|
|
+ newvo.setCmaterialvid(QryMaterialv(oprepJsonObjectB.getString("cmaterialid")));
|
|
|
+ newvo.setCprojectid(SqlexecuteQuery("pk_project", "bd_project", "project_code", oprepJsonObjectB.getString("cprojectid")));
|
|
|
+ newvo.setCunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("cunitid")));
|
|
|
+ newvo.setCastunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("castunitid")));
|
|
|
+ newvo.setNnum(new UFDouble(oprepJsonObjectB.getString("nnum")));
|
|
|
+ newvo.setNastnum(new UFDouble(oprepJsonObjectB.getString("nastnum")));
|
|
|
+ newvo.setVchangerate(oprepJsonObjectB.getString("vchangerate"));
|
|
|
+ newvo.setNexchangerate(new UFDouble(oprepJsonObjectB.getString("nexchangerate")));
|
|
|
+ newvo.setCqtunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("cqtunitid")));
|
|
|
+ newvo.setNqtunitnum(new UFDouble(oprepJsonObjectB.getString("nqtunitnum")));
|
|
|
+ newvo.setVqtunitrate(oprepJsonObjectB.getString("vqtunitrate"));
|
|
|
+ newvo.setCtaxcodeid(SqlexecuteQuery("pk_taxcode", "bd_taxcode", "code", oprepJsonObjectB.getString("ctaxcodeid")));
|
|
|
+ newvo.setNtaxrate(new UFDouble(oprepJsonObjectB.getString("ntaxrate")));
|
|
|
+ newvo.setFtaxtypeflag(Integer.parseInt(oprepJsonObjectB.getString("ftaxtypeflag")));
|
|
|
+ newvo.setNqtorigtaxprice(new UFDouble(oprepJsonObjectB.getString("nqtorigtaxprice")));
|
|
|
+ newvo.setNqtorigprice(new UFDouble(oprepJsonObjectB.getString("nqtorigprice")));
|
|
|
+ newvo.setNqtorigtaxnetprc(new UFDouble(oprepJsonObjectB.getString("nqtorigtaxnetprc")));
|
|
|
+ newvo.setNqtorignetprice(new UFDouble(oprepJsonObjectB.getString("nqtorignetprice")));
|
|
|
+ newvo.setNorigtaxprice(new UFDouble(oprepJsonObjectB.getString("norigtaxprice")));
|
|
|
+ newvo.setNorigprice(new UFDouble(oprepJsonObjectB.getString("norigprice")));
|
|
|
+ newvo.setNorigtaxnetprice(new UFDouble(oprepJsonObjectB.getString("norigtaxnetprice")));
|
|
|
+ newvo.setNorignetprice(new UFDouble(oprepJsonObjectB.getString("norignetprice")));
|
|
|
+ newvo.setNtax(new UFDouble(oprepJsonObjectB.getString("ntax")));
|
|
|
+ newvo.setNcaltaxmny(new UFDouble(oprepJsonObjectB.getString("ncaltaxmny")));
|
|
|
+ newvo.setNorigmny(new UFDouble(oprepJsonObjectB.getString("norigmny")));
|
|
|
+ newvo.setNorigtaxmny(new UFDouble(oprepJsonObjectB.getString("norigtaxmny")));
|
|
|
+ newvo.setNqttaxprice(new UFDouble(oprepJsonObjectB.getString("nqttaxprice")));
|
|
|
+ newvo.setNqtprice(new UFDouble(oprepJsonObjectB.getString("nqtprice")));
|
|
|
+ newvo.setNqttaxnetprice(new UFDouble(oprepJsonObjectB.getString("nqttaxnetprice")));
|
|
|
+ newvo.setNqtnetprice(new UFDouble(oprepJsonObjectB.getString("nqtnetprice")));
|
|
|
+ newvo.setNtaxprice(new UFDouble(oprepJsonObjectB.getString("ntaxprice")));
|
|
|
+ newvo.setNprice(new UFDouble(oprepJsonObjectB.getString("nprice")));
|
|
|
+ newvo.setNtaxnetprice(new UFDouble(oprepJsonObjectB.getString("ntaxnetprice")));
|
|
|
+ newvo.setNnetprice(new UFDouble(oprepJsonObjectB.getString("nnetprice")));
|
|
|
+ newvo.setNmny(new UFDouble(oprepJsonObjectB.getString("nmny")));
|
|
|
+ newvo.setNtaxmny(new UFDouble(oprepJsonObjectB.getString("ntaxmny")));
|
|
|
+ newvo.setDsenddate(new UFDate(oprepJsonObjectB.getString("dsenddate")));
|
|
|
+ newvo.setDreceivedate(new UFDate(oprepJsonObjectB.getString("dreceivedate")));
|
|
|
+ newvo.setCreceivecustid(SqlexecuteQuery("pk_customer", "bd_customer", "code", oprepJsonObjectB.getString("creceivecustid")));
|
|
|
+ newvo.setCrececountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("crececountryid")));
|
|
|
+ newvo.setCsendcountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("csendcountryid")));
|
|
|
+ newvo.setCtaxcountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("ctaxcountryid")));
|
|
|
+ newvo.setFbuysellflag(Integer.parseInt(oprepJsonObjectB.getString("fbuysellflag")));
|
|
|
+ newvo.setVfirsttype(oprepJsonObjectB.getString("vfirsttype"));
|
|
|
+ newvo.setVfirstcode(oprepJsonObjectB.getString("vfirstcode"));
|
|
|
+ newvo.setVfirsttrantype((oprepJsonObjectB.getString("vfirsttrantype") == null ||oprepJsonObjectB.getString("vfirsttrantype").equals("")) ? "" : SqlexecuteQuery("pk_billtypeid", "bd_billtype", "pk_billtypecode", oprepJsonObjectB.getString("vfirsttrantype")));
|
|
|
+ newvo.setVfirstrowno(oprepJsonObjectB.getString("vfirstrowno"));
|
|
|
+ newvo.setCfirstid(oprepJsonObjectB.getString("cfirstid"));
|
|
|
+ newvo.setCfirstbid(oprepJsonObjectB.getString("cfirstbid"));
|
|
|
+ newvo.setVsrctype(oprepJsonObjectB.getString("vsrctype"));
|
|
|
+ newvo.setVsrccode(oprepJsonObjectB.getString("vsrccode"));
|
|
|
+ newvo.setVsrctrantype((oprepJsonObjectB.getString("vsrctrantype") == null ||oprepJsonObjectB.getString("vsrctrantype").equals("")) ? "" : SqlexecuteQuery("pk_billtypeid", "bd_billtype", "pk_billtypecode", oprepJsonObjectB.getString("vsrctrantype")));
|
|
|
+ newvo.setVsrcrowno(oprepJsonObjectB.getString("vsrcrowno"));
|
|
|
+ newvo.setCsrcid(oprepJsonObjectB.getString("csrcid"));
|
|
|
+ newvo.setCsrcbid(oprepJsonObjectB.getString("csrcbid"));
|
|
|
+ newvo.setCtrafficorgid(SqlexecuteQuery("pk_trafficorg", "org_trafficorg", "code", oprepJsonObjectB.getString("ctrafficorgid")));
|
|
|
+ newvo.setCtrafficorgvid(SqlexecuteQuery("pk_vid", "org_trafficorg_v", "code", oprepJsonObjectB.getString("ctrafficorgid")));
|
|
|
+ newvo.setCarorgid(SqlexecuteQuery("pk_financeorg", "org_financeorg", "code", oprepJsonObjectB.getString("carorgid")));
|
|
|
+ newvo.setCarorgvid(SqlexecuteQuery("pk_vid", "org_financeorg_v", "code", oprepJsonObjectB.getString("carorgid")));
|
|
|
+ newvo.setCcurrencyid(SqlexecuteQuery("pk_currtype", "bd_currtype", "code", oprepJsonObjectB.getString("ccurrencyid")));
|
|
|
+ newvo.setCsaleorderid(csaleorderid.toString());
|
|
|
+ newvo.setFrowstatus(1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ newvos[j]=newvo;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 新增行处理
|
|
|
+ */
|
|
|
+ for(int i = 0;i < newrownos.size();i++){
|
|
|
+ SaleOrderBVO newvo = new SaleOrderBVO();
|
|
|
+ String newrowno = newrownos.get(i);
|
|
|
+ for(int k = 0;k < newsize;k++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(k);
|
|
|
+ String crowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ if(newrowno.equals(crowno)){
|
|
|
+ newvo.setStatus(2);
|
|
|
+ newvo.setPk_org(SqlexecuteQuery("pk_salesorg", "org_salesorg", "code", oprepJsonObjectB.getString("pk_org")));
|
|
|
+ newvo.setPk_group(SqlexecuteQuery("pk_group", "org_group", "code", oprepJsonObjectB.getString("pk_group")));
|
|
|
+ newvo.setCsendstockorgid(SqlexecuteQuery("pk_stockorg", "org_stockorg", "code", oprepJsonObjectB.getString("csendstockorgid")));
|
|
|
+ newvo.setCsendstockorgvid(SqlexecuteQuery("pk_vid", "org_stockorg_v", "code", oprepJsonObjectB.getString("csendstockorgid")));
|
|
|
+ newvo.setCsettleorgid(SqlexecuteQuery("pk_financeorg", "org_financeorg", "code", oprepJsonObjectB.getString("csettleorgid")));
|
|
|
+ newvo.setCsettleorgvid(SqlexecuteQuery("pk_vid", "org_financeorg_v", "code", oprepJsonObjectB.getString("csettleorgid")));
|
|
|
+ newvo.setDbilldate(new UFDate(oprepJsonObjectB.getString("dbilldate")));
|
|
|
+ newvo.setCmaterialid(QryMaterial(oprepJsonObjectB.getString("cmaterialid")));
|
|
|
+ newvo.setCmaterialvid(QryMaterialv(oprepJsonObjectB.getString("cmaterialid")));
|
|
|
+ newvo.setCprojectid(SqlexecuteQuery("pk_project", "bd_project", "project_code", oprepJsonObjectB.getString("cprojectid")));
|
|
|
+ newvo.setCunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("cunitid")));
|
|
|
+ newvo.setCastunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("castunitid")));
|
|
|
+ newvo.setNnum(new UFDouble(oprepJsonObjectB.getString("nnum")));
|
|
|
+ newvo.setNastnum(new UFDouble(oprepJsonObjectB.getString("nastnum")));
|
|
|
+ newvo.setVchangerate(oprepJsonObjectB.getString("vchangerate"));
|
|
|
+ newvo.setNexchangerate(new UFDouble(oprepJsonObjectB.getString("nexchangerate")));
|
|
|
+ newvo.setCqtunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("cqtunitid")));
|
|
|
+ newvo.setNqtunitnum(new UFDouble(oprepJsonObjectB.getString("nqtunitnum")));
|
|
|
+ newvo.setVqtunitrate(oprepJsonObjectB.getString("vqtunitrate"));
|
|
|
+ newvo.setCtaxcodeid(SqlexecuteQuery("pk_taxcode", "bd_taxcode", "code", oprepJsonObjectB.getString("ctaxcodeid")));
|
|
|
+ newvo.setNtaxrate(new UFDouble(oprepJsonObjectB.getString("ntaxrate")));
|
|
|
+ newvo.setFtaxtypeflag(Integer.parseInt(oprepJsonObjectB.getString("ftaxtypeflag")));
|
|
|
+ newvo.setNqtorigtaxprice(new UFDouble(oprepJsonObjectB.getString("nqtorigtaxprice")));
|
|
|
+ newvo.setNqtorigprice(new UFDouble(oprepJsonObjectB.getString("nqtorigprice")));
|
|
|
+ newvo.setNqtorigtaxnetprc(new UFDouble(oprepJsonObjectB.getString("nqtorigtaxnetprc")));
|
|
|
+ newvo.setNqtorignetprice(new UFDouble(oprepJsonObjectB.getString("nqtorignetprice")));
|
|
|
+ newvo.setNorigtaxprice(new UFDouble(oprepJsonObjectB.getString("norigtaxprice")));
|
|
|
+ newvo.setNorigprice(new UFDouble(oprepJsonObjectB.getString("norigprice")));
|
|
|
+ newvo.setNorigtaxnetprice(new UFDouble(oprepJsonObjectB.getString("norigtaxnetprice")));
|
|
|
+ newvo.setNorignetprice(new UFDouble(oprepJsonObjectB.getString("norignetprice")));
|
|
|
+ newvo.setNtax(new UFDouble(oprepJsonObjectB.getString("ntax")));
|
|
|
+ newvo.setNcaltaxmny(new UFDouble(oprepJsonObjectB.getString("ncaltaxmny")));
|
|
|
+ newvo.setNorigmny(new UFDouble(oprepJsonObjectB.getString("norigmny")));
|
|
|
+ newvo.setNorigtaxmny(new UFDouble(oprepJsonObjectB.getString("norigtaxmny")));
|
|
|
+ newvo.setNqttaxprice(new UFDouble(oprepJsonObjectB.getString("nqttaxprice")));
|
|
|
+ newvo.setNqtprice(new UFDouble(oprepJsonObjectB.getString("nqtprice")));
|
|
|
+ newvo.setNqttaxnetprice(new UFDouble(oprepJsonObjectB.getString("nqttaxnetprice")));
|
|
|
+ newvo.setNqtnetprice(new UFDouble(oprepJsonObjectB.getString("nqtnetprice")));
|
|
|
+ newvo.setNtaxprice(new UFDouble(oprepJsonObjectB.getString("ntaxprice")));
|
|
|
+ newvo.setNprice(new UFDouble(oprepJsonObjectB.getString("nprice")));
|
|
|
+ newvo.setNtaxnetprice(new UFDouble(oprepJsonObjectB.getString("ntaxnetprice")));
|
|
|
+ newvo.setNnetprice(new UFDouble(oprepJsonObjectB.getString("nnetprice")));
|
|
|
+ newvo.setNmny(new UFDouble(oprepJsonObjectB.getString("nmny")));
|
|
|
+ newvo.setNtaxmny(new UFDouble(oprepJsonObjectB.getString("ntaxmny")));
|
|
|
+ newvo.setDsenddate(new UFDate(oprepJsonObjectB.getString("dsenddate")));
|
|
|
+ newvo.setDreceivedate(new UFDate(oprepJsonObjectB.getString("dreceivedate")));
|
|
|
+ newvo.setCreceivecustid(SqlexecuteQuery("pk_customer", "bd_customer", "code", oprepJsonObjectB.getString("creceivecustid")));
|
|
|
+ newvo.setCrececountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("crececountryid")));
|
|
|
+ newvo.setCsendcountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("csendcountryid")));
|
|
|
+ newvo.setCtaxcountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("ctaxcountryid")));
|
|
|
+ newvo.setFbuysellflag(Integer.parseInt(oprepJsonObjectB.getString("fbuysellflag")));
|
|
|
+ newvo.setVfirsttype(oprepJsonObjectB.getString("vfirsttype"));
|
|
|
+ newvo.setVfirstcode(oprepJsonObjectB.getString("vfirstcode"));
|
|
|
+ newvo.setVfirsttrantype((oprepJsonObjectB.getString("vfirsttrantype") == null ||oprepJsonObjectB.getString("vfirsttrantype").equals("")) ? "" : SqlexecuteQuery("pk_billtypeid", "bd_billtype", "pk_billtypecode", oprepJsonObjectB.getString("vfirsttrantype")));
|
|
|
+ newvo.setVfirstrowno(oprepJsonObjectB.getString("vfirstrowno"));
|
|
|
+ newvo.setCfirstid(oprepJsonObjectB.getString("cfirstid"));
|
|
|
+ newvo.setCfirstbid(oprepJsonObjectB.getString("cfirstbid"));
|
|
|
+ newvo.setVsrctype(oprepJsonObjectB.getString("vsrctype"));
|
|
|
+ newvo.setVsrccode(oprepJsonObjectB.getString("vsrccode"));
|
|
|
+ newvo.setVsrctrantype((oprepJsonObjectB.getString("vsrctrantype") == null ||oprepJsonObjectB.getString("vsrctrantype").equals("")) ? "" : SqlexecuteQuery("pk_billtypeid", "bd_billtype", "pk_billtypecode", oprepJsonObjectB.getString("vsrctrantype")));
|
|
|
+ newvo.setVsrcrowno(oprepJsonObjectB.getString("vsrcrowno"));
|
|
|
+ newvo.setCsrcid(oprepJsonObjectB.getString("csrcid"));
|
|
|
+ newvo.setCsrcbid(oprepJsonObjectB.getString("csrcbid"));
|
|
|
+ newvo.setNdiscountrate(new UFDouble(100));
|
|
|
+ newvo.setNdiscount(new UFDouble(0));
|
|
|
+ newvo.setNitemdiscountrate(new UFDouble(100));
|
|
|
+ newvo.setBtriatradeflag(UFBoolean.FALSE);
|
|
|
+ newvo.setCtrafficorgid(SqlexecuteQuery("pk_trafficorg", "org_trafficorg", "code", oprepJsonObjectB.getString("ctrafficorgid")));
|
|
|
+ newvo.setCtrafficorgvid(SqlexecuteQuery("pk_vid", "org_trafficorg_v", "code", oprepJsonObjectB.getString("ctrafficorgid")));
|
|
|
+ newvo.setCarorgid(SqlexecuteQuery("pk_financeorg", "org_financeorg", "code", oprepJsonObjectB.getString("carorgid")));
|
|
|
+ newvo.setCarorgvid(SqlexecuteQuery("pk_vid", "org_financeorg_v", "code", oprepJsonObjectB.getString("carorgid")));
|
|
|
+ newvo.setCcurrencyid(SqlexecuteQuery("pk_currtype", "bd_currtype", "code", oprepJsonObjectB.getString("ccurrencyid")));
|
|
|
+ newvo.setCsaleorderid(csaleorderid.toString());
|
|
|
+ newvo.setFrowstatus(1);
|
|
|
+ newvo.setBarrangedflag(UFBoolean.FALSE);
|
|
|
+ newvo.setBbarsettleflag(UFBoolean.FALSE);
|
|
|
+ newvo.setBbcostsettleflag(UFBoolean.FALSE);
|
|
|
+ newvo.setBbinvoicendflag(UFBoolean.FALSE);
|
|
|
+ newvo.setBboutendflag(UFBoolean.FALSE);
|
|
|
+ newvo.setBbsendendflag(UFBoolean.FALSE);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ newvos[oldsize+i]=newvo;
|
|
|
+ }
|
|
|
+ aggvo.setChildrenVO(newvos);
|
|
|
+ IPFBusiAction service = NCLocator.getInstance().lookup(IPFBusiAction.class);
|
|
|
+ service.processAction("REVISEWRITE",
|
|
|
+ "30", null, aggvo, null, null);
|
|
|
+ out.print(formatRSJsonData("成功",vbillcode,""));
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ SaleOrderBVO[] newvos = new SaleOrderBVO[newsize];
|
|
|
+ for(int i = 0;i < newsize;i++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(i);
|
|
|
+ String crowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ if(!rownos.contains(crowno)){
|
|
|
+ String msg = "第"+i+"行行号不在原订单中,请检查!";
|
|
|
+ resp.getWriter().write(formatRSJsonData("失败",
|
|
|
+ vbillcode,msg).toString());
|
|
|
+ StringWriter stringWriter = new StringWriter();
|
|
|
+ //获取详细信息
|
|
|
+ NcLog.info("接口返回值提示:"+msg);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(int j = 0;j < newsize;j++){
|
|
|
+ SaleOrderBVO newvo = bodyvos[j];
|
|
|
+ String oldrowno = newvo.getCrowno();
|
|
|
+ for(int k = 0;k < oprepObjectBs.size();k++){
|
|
|
+ JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(k);
|
|
|
+ String newrowno = oprepJsonObjectB.getString("crowno");
|
|
|
+ if(newrowno.equals(oldrowno)){
|
|
|
+ newvo.setStatus(1);
|
|
|
+ newvo.setPk_org(SqlexecuteQuery("pk_salesorg", "org_salesorg", "code", oprepJsonObjectB.getString("pk_org")));
|
|
|
+ newvo.setPk_group(SqlexecuteQuery("pk_group", "org_group", "code", oprepJsonObjectB.getString("pk_group")));
|
|
|
+ newvo.setCsendstockorgid(SqlexecuteQuery("pk_stockorg", "org_stockorg", "code", oprepJsonObjectB.getString("csendstockorgid")));
|
|
|
+ newvo.setCsendstockorgvid(SqlexecuteQuery("pk_vid", "org_stockorg_v", "code", oprepJsonObjectB.getString("csendstockorgid")));
|
|
|
+ newvo.setCsettleorgid(SqlexecuteQuery("pk_financeorg", "org_financeorg", "code", oprepJsonObjectB.getString("csettleorgid")));
|
|
|
+ newvo.setCsettleorgvid(SqlexecuteQuery("pk_vid", "org_financeorg_v", "code", oprepJsonObjectB.getString("csettleorgid")));
|
|
|
+ newvo.setDbilldate(new UFDate(oprepJsonObjectB.getString("dbilldate")));
|
|
|
+ newvo.setCmaterialid(QryMaterial(oprepJsonObjectB.getString("cmaterialid")));
|
|
|
+ newvo.setCmaterialvid(QryMaterialv(oprepJsonObjectB.getString("cmaterialid")));
|
|
|
+ newvo.setCprojectid(SqlexecuteQuery("pk_project", "bd_project", "project_code", oprepJsonObjectB.getString("cprojectid")));
|
|
|
+ newvo.setCunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("cunitid")));
|
|
|
+ newvo.setCastunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("castunitid")));
|
|
|
+ newvo.setNnum(new UFDouble(oprepJsonObjectB.getString("nnum")));
|
|
|
+ newvo.setNastnum(new UFDouble(oprepJsonObjectB.getString("nastnum")));
|
|
|
+ newvo.setVchangerate(oprepJsonObjectB.getString("vchangerate"));
|
|
|
+ newvo.setNexchangerate(new UFDouble(oprepJsonObjectB.getString("nexchangerate")));
|
|
|
+ newvo.setCqtunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", oprepJsonObjectB.getString("cqtunitid")));
|
|
|
+ newvo.setNqtunitnum(new UFDouble(oprepJsonObjectB.getString("nqtunitnum")));
|
|
|
+ newvo.setVqtunitrate(oprepJsonObjectB.getString("vqtunitrate"));
|
|
|
+ newvo.setCtaxcodeid(SqlexecuteQuery("pk_taxcode", "bd_taxcode", "code", oprepJsonObjectB.getString("ctaxcodeid")));
|
|
|
+ newvo.setNtaxrate(new UFDouble(oprepJsonObjectB.getString("ntaxrate")));
|
|
|
+ newvo.setFtaxtypeflag(Integer.parseInt(oprepJsonObjectB.getString("ftaxtypeflag")));
|
|
|
+ newvo.setNqtorigtaxprice(new UFDouble(oprepJsonObjectB.getString("nqtorigtaxprice")));
|
|
|
+ newvo.setNqtorigprice(new UFDouble(oprepJsonObjectB.getString("nqtorigprice")));
|
|
|
+ newvo.setNqtorigtaxnetprc(new UFDouble(oprepJsonObjectB.getString("nqtorigtaxnetprc")));
|
|
|
+ newvo.setNqtorignetprice(new UFDouble(oprepJsonObjectB.getString("nqtorignetprice")));
|
|
|
+ newvo.setNorigtaxprice(new UFDouble(oprepJsonObjectB.getString("norigtaxprice")));
|
|
|
+ newvo.setNorigprice(new UFDouble(oprepJsonObjectB.getString("norigprice")));
|
|
|
+ newvo.setNorigtaxnetprice(new UFDouble(oprepJsonObjectB.getString("norigtaxnetprice")));
|
|
|
+ newvo.setNorignetprice(new UFDouble(oprepJsonObjectB.getString("norignetprice")));
|
|
|
+ newvo.setNtax(new UFDouble(oprepJsonObjectB.getString("ntax")));
|
|
|
+ newvo.setNcaltaxmny(new UFDouble(oprepJsonObjectB.getString("ncaltaxmny")));
|
|
|
+ newvo.setNorigmny(new UFDouble(oprepJsonObjectB.getString("norigmny")));
|
|
|
+ newvo.setNorigtaxmny(new UFDouble(oprepJsonObjectB.getString("norigtaxmny")));
|
|
|
+ newvo.setNqttaxprice(new UFDouble(oprepJsonObjectB.getString("nqttaxprice")));
|
|
|
+ newvo.setNqtprice(new UFDouble(oprepJsonObjectB.getString("nqtprice")));
|
|
|
+ newvo.setNqttaxnetprice(new UFDouble(oprepJsonObjectB.getString("nqttaxnetprice")));
|
|
|
+ newvo.setNqtnetprice(new UFDouble(oprepJsonObjectB.getString("nqtnetprice")));
|
|
|
+ newvo.setNtaxprice(new UFDouble(oprepJsonObjectB.getString("ntaxprice")));
|
|
|
+ newvo.setNprice(new UFDouble(oprepJsonObjectB.getString("nprice")));
|
|
|
+ newvo.setNtaxnetprice(new UFDouble(oprepJsonObjectB.getString("ntaxnetprice")));
|
|
|
+ newvo.setNnetprice(new UFDouble(oprepJsonObjectB.getString("nnetprice")));
|
|
|
+ newvo.setNmny(new UFDouble(oprepJsonObjectB.getString("nmny")));
|
|
|
+ newvo.setNtaxmny(new UFDouble(oprepJsonObjectB.getString("ntaxmny")));
|
|
|
+ newvo.setDsenddate(new UFDate(oprepJsonObjectB.getString("dsenddate")));
|
|
|
+ newvo.setDreceivedate(new UFDate(oprepJsonObjectB.getString("dreceivedate")));
|
|
|
+ newvo.setCreceivecustid(SqlexecuteQuery("pk_customer", "bd_customer", "code", oprepJsonObjectB.getString("creceivecustid")));
|
|
|
+ newvo.setCrececountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("crececountryid")));
|
|
|
+ newvo.setCsendcountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("csendcountryid")));
|
|
|
+ newvo.setCtaxcountryid(SqlexecuteQuery("pk_country", "bd_countryzone", "code", oprepJsonObjectB.getString("ctaxcountryid")));
|
|
|
+ newvo.setFbuysellflag(Integer.parseInt(oprepJsonObjectB.getString("fbuysellflag")));
|
|
|
+ newvo.setVfirsttype(oprepJsonObjectB.getString("vfirsttype"));
|
|
|
+ newvo.setVfirstcode(oprepJsonObjectB.getString("vfirstcode"));
|
|
|
+ newvo.setVfirsttrantype((oprepJsonObjectB.getString("vfirsttrantype") == null ||oprepJsonObjectB.getString("vfirsttrantype").equals("")) ? "" : SqlexecuteQuery("pk_billtypeid", "bd_billtype", "pk_billtypecode", oprepJsonObjectB.getString("vfirsttrantype")));
|
|
|
+ newvo.setVfirstrowno(oprepJsonObjectB.getString("vfirstrowno"));
|
|
|
+ newvo.setCfirstid(oprepJsonObjectB.getString("cfirstid"));
|
|
|
+ newvo.setCfirstbid(oprepJsonObjectB.getString("cfirstbid"));
|
|
|
+ newvo.setVsrctype(oprepJsonObjectB.getString("vsrctype"));
|
|
|
+ newvo.setVsrccode(oprepJsonObjectB.getString("vsrccode"));
|
|
|
+ newvo.setVsrctrantype((oprepJsonObjectB.getString("vsrctrantype") == null ||oprepJsonObjectB.getString("vsrctrantype").equals("")) ? "" : SqlexecuteQuery("pk_billtypeid", "bd_billtype", "pk_billtypecode", oprepJsonObjectB.getString("vsrctrantype")));
|
|
|
+ newvo.setVsrcrowno(oprepJsonObjectB.getString("vsrcrowno"));
|
|
|
+ newvo.setCsrcid(oprepJsonObjectB.getString("csrcid"));
|
|
|
+ newvo.setCsrcbid(oprepJsonObjectB.getString("csrcbid"));
|
|
|
+ newvo.setCtrafficorgid(SqlexecuteQuery("pk_trafficorg", "org_trafficorg", "code", oprepJsonObjectB.getString("ctrafficorgid")));
|
|
|
+ newvo.setCtrafficorgvid(SqlexecuteQuery("pk_vid", "org_trafficorg_v", "code", oprepJsonObjectB.getString("ctrafficorgid")));
|
|
|
+ newvo.setCarorgid(SqlexecuteQuery("pk_financeorg", "org_financeorg", "code", oprepJsonObjectB.getString("carorgid")));
|
|
|
+ newvo.setCarorgvid(SqlexecuteQuery("pk_vid", "org_financeorg_v", "code", oprepJsonObjectB.getString("carorgid")));
|
|
|
+ newvo.setCcurrencyid(SqlexecuteQuery("pk_currtype", "bd_currtype", "code", oprepJsonObjectB.getString("ccurrencyid")));
|
|
|
+ newvo.setCsaleorderid(csaleorderid.toString());
|
|
|
+ newvo.setFrowstatus(1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ newvos[j] = newvo;
|
|
|
+ }
|
|
|
+ aggvo.setChildrenVO(newvos);
|
|
|
+ IPFBusiAction service = NCLocator.getInstance().lookup(IPFBusiAction.class);
|
|
|
+ service.processAction("REVISEWRITE",
|
|
|
+ "30", null, aggvo, null, null);
|
|
|
+ out.print(formatRSJsonData("成功",vbillcode,""));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ // TODO 自动生成的 catch 块
|
|
|
+ resp.getWriter().write(formatRSJsonData("失败",
|
|
|
+ vbillcode,e.getMessage().toString()).toString());
|
|
|
+ StringWriter stringWriter = new StringWriter();
|
|
|
+ e.printStackTrace(new PrintWriter(stringWriter));
|
|
|
+ //获取详细信息
|
|
|
+ String msg=stringWriter.getBuffer().toString();
|
|
|
+ NcLog.info("接口返回值提示:"+msg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 非空判断
|
|
|
+ * @param json
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ private void checkJson(JSONObject json) throws Exception {
|
|
|
+
|
|
|
+ StringBuffer mags = new StringBuffer();
|
|
|
+ Boolean empty = true;
|
|
|
+
|
|
|
+ String vbillcode = "vbillcode";//单据号
|
|
|
+ String creviserid = "creviserid";//修订人
|
|
|
+
|
|
|
+ String body = "goodslist";//表体
|
|
|
+
|
|
|
+ String[] HeadKey = {vbillcode,creviserid};
|
|
|
+
|
|
|
+ for (String as : HeadKey) {
|
|
|
+
|
|
|
+ if (json.getString(as).isEmpty()) {
|
|
|
+ empty = false;
|
|
|
+ mags.append("'" + as + "'");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(json.getString(body) == null){
|
|
|
+ empty = false;
|
|
|
+ mags.append(" 'goodslist'表体不存在! ");
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONArray oprepObjectBs = json.getJSONArray("goodslist");
|
|
|
+ if (oprepObjectBs == null || oprepObjectBs.size() == 0) {
|
|
|
+ throw new Exception("表体内容不可为空!");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!empty) {
|
|
|
+ throw new Exception("以下字段不可为空:"+mags);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取集团id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private String qryGroup() {
|
|
|
+ String qrysql = "select pk_group from org_group where nvl(dr,0)=0 and rownum = 1";
|
|
|
+ String pk_group;
|
|
|
+ try {
|
|
|
+ pk_group = (String) iuap.executeQuery(qrysql, new ColumnProcessor());
|
|
|
+ return pk_group;
|
|
|
+ } catch (BusinessException e) {
|
|
|
+ // TODO Auto-generated catch block
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ * 数据库查询
|
|
|
+ */
|
|
|
+ private String SqlexecuteQuery(String out,String table,String key,String value) throws BusinessException {
|
|
|
+
|
|
|
+ String sql = "select "+out+" from "+table+" where "+key+" = '"+value+"' and nvl(dr,0)=0";
|
|
|
+
|
|
|
+ Object object;
|
|
|
+ object = iuap.executeQuery(sql, new ColumnProcessor());
|
|
|
+ if (object==null) {
|
|
|
+ throw new DAOException("未查询到数据!请检查编码"+value+"是否正确!");
|
|
|
+ }
|
|
|
+
|
|
|
+ return object.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询cmaterialid
|
|
|
+ * @param code
|
|
|
+ * @return
|
|
|
+ * @throws BusinessException
|
|
|
+ */
|
|
|
+ private String QryMaterial(String code) throws BusinessException{
|
|
|
+ String sql = "select pk_source from bd_material_v where nvl(dr,0) = '0' and enablestate = '2' and code = '"+code+"'";
|
|
|
+ Object object;
|
|
|
+ object = iuap.executeQuery(sql, new ColumnProcessor());
|
|
|
+ if (object==null) {
|
|
|
+ throw new DAOException("未查询到数据!请检查编码"+code+"是否正确!");
|
|
|
+ }
|
|
|
+
|
|
|
+ return object.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询cmaterialvid
|
|
|
+ * @param code
|
|
|
+ * @return
|
|
|
+ * @throws BusinessException
|
|
|
+ */
|
|
|
+ private String QryMaterialv(String code) throws BusinessException{
|
|
|
+ String sql = "select pk_material from bd_material where nvl(dr,0) = '0' and enablestate = '2' and latest = 'Y' and code = '"+code+"'";
|
|
|
+ Object object;
|
|
|
+ object = iuap.executeQuery(sql, new ColumnProcessor());
|
|
|
+ if (object==null) {
|
|
|
+ throw new DAOException("未查询到数据!请检查编码"+code+"是否正确!");
|
|
|
+ }
|
|
|
+
|
|
|
+ return object.toString();
|
|
|
+ }
|
|
|
+}
|