From de301e47d6c27bef18776998a94bab67d9ec65b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=8E?= <125556714+Topfunplus@users.noreply.github.com> Date: Tue, 17 Jun 2025 15:29:44 +0800 Subject: [PATCH] =?UTF-8?q?AfterSigningSynchronizeRuleRZ=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E5=AD=97=E6=AE=B5=20=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=E5=92=8C=E9=A1=B9=E7=9B=AE=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rule/AfterSigningSynchronizeRuleRZ.java | 89 ++++++++++--------- 1 file changed, 46 insertions(+), 43 deletions(-) diff --git a/ic/src/private/nc/bs/ic/m4c/sign/rule/AfterSigningSynchronizeRuleRZ.java b/ic/src/private/nc/bs/ic/m4c/sign/rule/AfterSigningSynchronizeRuleRZ.java index 7a62ace..4b4c442 100644 --- a/ic/src/private/nc/bs/ic/m4c/sign/rule/AfterSigningSynchronizeRuleRZ.java +++ b/ic/src/private/nc/bs/ic/m4c/sign/rule/AfterSigningSynchronizeRuleRZ.java @@ -34,33 +34,34 @@ import java.util.List; * @Created by ame */ public class AfterSigningSynchronizeRuleRZ implements IRule { - private static Log log=Log.getInstance("rzmomlog"); + private static Log log = Log.getInstance("rzmomlog"); private static BaseDAO dao = new BaseDAO(); + @Override public void process(SaleOutVO[] saleOutVOS) { - if(ArrayUtil.isEmpty(saleOutVOS)){ + if (ArrayUtil.isEmpty(saleOutVOS)) { return; } - try{ + try { //检查并筛选销售出库单据为互感器公司 - List newSaleOutVOS= checkAndFilterBillSrcOrg(saleOutVOS); - if(newSaleOutVOS==null||newSaleOutVOS.size()<1){ + List newSaleOutVOS = checkAndFilterBillSrcOrg(saleOutVOS); + if (newSaleOutVOS == null || newSaleOutVOS.size() < 1) { return; } pushToRZMOM(newSaleOutVOS.toArray(new SaleOutVO[0])); - }catch (Exception e){ + } catch (Exception e) { log.error("同步销售出库到锐制系统失败: " + e.getMessage(), e); ExceptionUtils.wrappException(e); } } private List checkAndFilterBillSrcOrg(SaleOutVO[] saleOutVOS) throws BusinessException { - List aggvoList=new ArrayList<>(); - for(SaleOutVO aggvo:saleOutVOS){ + List aggvoList = new ArrayList<>(); + for (SaleOutVO aggvo : saleOutVOS) { String pkOrg = aggvo.getHead().getPk_org(); String orgCode = transferCodeByPk(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg); - if("C022".equals(orgCode)&& aggvo.getBodys()!=null && aggvo.getBodys().length>0){ + if ("C022".equals(orgCode) && aggvo.getBodys() != null && aggvo.getBodys().length > 0) { aggvoList.add(aggvo); } } @@ -74,26 +75,26 @@ public class AfterSigningSynchronizeRuleRZ implements IRule { JSONObject dataIn = new JSONObject(); JSONObject dataIn2 = new JSONObject(); JSONArray details = new JSONArray(); - jsonObject.put("dataflow","用友BIP→RZMOMv6"); - jsonObject.put("actionCode","cpfhtzdb"); + jsonObject.put("dataflow", "用友BIP→RZMOMv6"); + jsonObject.put("actionCode", "cpfhtzdb"); //单笔/批量按明细传 for (SaleOutVO saleOutVO : saleOutVOS) { SaleOutHeadVO head = saleOutVO.getHead(); SaleOutBodyVO[] bodys = saleOutVO.getBodys(); // 构建需要同步的数据 - buildSyncData(head, bodys,details); + buildSyncData(head, bodys, details); } - dataIn2.put("Details",details); - dataIn.put("Data",dataIn2); - data.put("data",dataIn); - jsonObject.put("data",data); - log.error("销售出库签字推送锐制请求报文:"+jsonObject.toJSONString()); + dataIn2.put("Details", details); + dataIn.put("Data", dataIn2); + data.put("data", dataIn); + jsonObject.put("data", data); + log.error("销售出库签字推送锐制请求报文:" + jsonObject.toJSONString()); String result = ThirdPartyPostRequestUtil.sendPostRequest(rzwmsip, jsonObject.toJSONString()); JSONObject resultObj = JSONObject.parseObject(result); - if("false".equals(resultObj.getString("success"))){ - throw new BusinessException("RZMOM同步失败,原因:"+resultObj.getString("msg")); - }else{ - log.error("RZMOM同步成功,返回参数【"+resultObj.toJSONString()+"】"); + if ("false".equals(resultObj.getString("success"))) { + throw new BusinessException("RZMOM同步失败,原因:" + resultObj.getString("msg")); + } else { + log.error("RZMOM同步成功,返回参数【" + resultObj.toJSONString() + "】"); } } @@ -104,7 +105,7 @@ public class AfterSigningSynchronizeRuleRZ implements IRule { //部门 // String cdptCode =transferCodeByPk(DeptVO.getDefaultTableName(), DeptVO.CODE,DeptVO.PK_DEPT,head.getCdptid()); - for(SaleOutBodyVO body:bodys){ + for (SaleOutBodyVO body : bodys) { JSONObject singleObj = new JSONObject(); String cgeneralhid = body.getCgeneralhid();//表头主键 String cgeneralbid = body.getCgeneralbid();//表体主键 @@ -113,47 +114,49 @@ public class AfterSigningSynchronizeRuleRZ implements IRule { String casscustid = body.getCasscustid();//客户 String cbodywarehouseid = body.getCbodywarehouseid();//仓库 UFDate dbizdate = body.getDbizdate();//出库日期 - singleObj.put("wbid",cgeneralhid+"_"+cgeneralbid+"_"+vtrantypecode);//第三方系统主键id - singleObj.put("wbpid",cgeneralhid);//第三方系统分组id - singleObj.put("operate",1);//operate int 操作状态 必填 1新增/修改、2删除(删除时只需上传wbid) - singleObj.put("djly",1013);//djly varchar(20) 来源单据 - singleObj.put("djbh_id",cgeneralhid);//单据id - singleObj.put("djbh",vbillcode);//单据编号 - singleObj.put("djxh",crowno);//单据序号 - singleObj.put("djrq",dbizdate.toString());//单据日期--出库日期 + singleObj.put("wbid", cgeneralhid + "_" + cgeneralbid + "_" + vtrantypecode);//第三方系统主键id + singleObj.put("wbpid", cgeneralhid);//第三方系统分组id + singleObj.put("operate", 1);//operate int 操作状态 必填 1新增/修改、2删除(删除时只需上传wbid) + singleObj.put("djly", 1013);//djly varchar(20) 来源单据 + singleObj.put("djbh_id", cgeneralhid);//单据id + singleObj.put("djbh", vbillcode);//单据编号 + singleObj.put("djxh", crowno);//单据序号 + singleObj.put("djrq", dbizdate.toString());//单据日期--出库日期 //第三方系统物料名称id--编码 - singleObj.put("wlbm_wbid",cmaterialvid); + singleObj.put("wlbm_wbid", cmaterialvid); //单据数量 - singleObj.put("djsl",body.getNshouldassistnum().getDouble()); + singleObj.put("djsl", body.getNshouldassistnum().getDouble()); //第三方系统客户id--编码 - singleObj.put("khbh_wbid",casscustid); + singleObj.put("khbh_wbid", casscustid); //订单编号 - singleObj.put("ddbh",body.getVsourcebillcode()); + singleObj.put("ddbh", body.getVsourcebillcode()); //订单序号 - singleObj.put("ddxh",body.getVsourcerowno()); + singleObj.put("ddxh", body.getVsourcerowno()); //送达地点-code - singleObj.put("sddd",cbodywarehouseid); + singleObj.put("sddd", cbodywarehouseid); //第三方系统仓库id -code - singleObj.put("ckbh_wbid",cbodywarehouseid); + singleObj.put("ckbh_wbid", cbodywarehouseid); //部门 - singleObj.put("bzsm",head.getCdptid()); + singleObj.put("bzsm", head.getCdptid()); + + // 添加两个字段 项目号 和 项目名称 使用 vbdef1 和 vbdef10 + singleObj.put("wlzdycs06", body.getVbdef1()); + singleObj.put("wlzdycs11", body.getVbdef10()); //签发标记 - singleObj.put("qfbj",1); - - + singleObj.put("qfbj", 1); //操作状态 1新增/修改、2删除(删除时只需上传wbid) - singleObj.put("operate",1); + singleObj.put("operate", 1); details.add(singleObj); } } private String transferCodeByPk(String tableName, String selectField, String pkField, String pk) throws BusinessException { - if(StringUtils.isEmpty(pk)){ + if (StringUtils.isEmpty(pk)) { return null; } SqlBuilder sqlBuilder = new SqlBuilder();