From b2331f8c8e7a0571827943dff81f07d20ae1f7d2 Mon Sep 17 00:00:00 2001 From: "tanfengling@x-ri.com" <123456> Date: Fri, 17 Oct 2025 15:47:32 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=B3=9B=E5=BE=AE=E3=80=91=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FWBillStateUpdController.java | 8 ++ lc123/cloud/app/plugin/trd/FWImpl.java | 87 +++++++++++++++---- 2 files changed, 80 insertions(+), 15 deletions(-) diff --git a/lc123/cloud/app/api/controller/FWBillStateUpdController.java b/lc123/cloud/app/api/controller/FWBillStateUpdController.java index 2332a26..16a7693 100644 --- a/lc123/cloud/app/api/controller/FWBillStateUpdController.java +++ b/lc123/cloud/app/api/controller/FWBillStateUpdController.java @@ -85,6 +85,14 @@ public class FWBillStateUpdController { errorList.add(enetityName+"审核时否生错误:"+iOperateInfo.getMessage()); } } + }else{ + OperationResult submitResult = OperationServiceHelper.executeOperate("unsubmit", enetityNumber, new DynamicObject[]{billArr[0]}, OperateOption.create()); + if(!submitResult.isSuccess()){ + List allErrorOrValidateInfo = submitResult.getAllErrorOrValidateInfo(); + for (IOperateInfo iOperateInfo : allErrorOrValidateInfo) { + errorList.add(enetityName+"撤销时发生错误:"+iOperateInfo.getMessage()); + } + } } }else{ errorList.add("根据参数KDBillType["+KDBillType+"]。KDBillNumber["+KDBillNumber+"]没有查询到对应的"+enetityName+"信息"); diff --git a/lc123/cloud/app/plugin/trd/FWImpl.java b/lc123/cloud/app/plugin/trd/FWImpl.java index 2f9dd47..2527714 100644 --- a/lc123/cloud/app/plugin/trd/FWImpl.java +++ b/lc123/cloud/app/plugin/trd/FWImpl.java @@ -5,6 +5,9 @@ import com.alibaba.fastjson.JSONObject; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.servicehelper.BusinessDataServiceHelper; +import org.apache.commons.lang3.StringUtils; +import tqq9.lc123.cloud.app.plugin.utils.ConfigUtils; +import tqq9.lc123.cloud.app.plugin.utils.FWOrgMappingUtils; import tqq9.lc123.cloud.app.plugin.utils.FWRestfulUtils; import java.math.BigDecimal; @@ -30,14 +33,20 @@ public class FWImpl { DynamicObject group = dataEntity.getDynamicObject("group");//分组:实物-1,虚拟-0 String enable = dataEntity.getString("enable");//使用状态:可用-1,禁用-0 DynamicObject tqq9_dept = dataEntity.getDynamicObject("tqq9_dept");//部门 - // TODO 根据部门获取泛微的部门ID - - + String bmbm = "18"; + if(tqq9_dept != null){ + String deptNumber = tqq9_dept.getString("number"); + String fwOrgNumber = FWOrgMappingUtils.getFwOrgNumberByKdOrgNumber(deptNumber); + if(StringUtils.isNotBlank(fwOrgNumber)){ + bmbm = fwOrgNumber; + } + } DynamicObject creator = dataEntity.getDynamicObject("creator");//创建人 - creator = BusinessDataServiceHelper.loadSingle(creator.getPkValue(), creator.getDynamicObjectType().getName()); - String tqq9_fwuserid = creator.getString("tqq9_fwuserid"); - tqq9_fwuserid = "363"; - + String tqq9_fwuserid= "363"; + if(creator != null){ + creator = BusinessDataServiceHelper.loadSingle(creator.getPkValue(), creator.getDynamicObjectType().getName(), "id,name,number,tqq9_fwuserid"); + tqq9_fwuserid = creator.getString("tqq9_fwuserid"); + } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String cjsj = sdf.format(ceatetime); @@ -47,7 +56,7 @@ public class FWImpl { mainTable.put("cjsj", cjsj); mainTable.put("zt", Integer.valueOf(enable)); mainTable.put("cclx", Integer.valueOf(group.getString("number"))); - mainTable.put("bmbm", "5g5be27147e2ff9d"); + mainTable.put("bmbm", bmbm); FWRestfulUtils fwRestfulUtils = new FWRestfulUtils(); String resultStr = fwRestfulUtils.doAction("api/cube/restful/interface/saveOrUpdateModeData/CK", mainTable, tqq9_fwuserid, "推送仓库信息", number); @@ -55,18 +64,40 @@ public class FWImpl { } - + /** + * 采购订单推送泛微 + * @param pm_purorderbill + * @return + */ public static String sendFW(DynamicObject pm_purorderbill){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String billno = pm_purorderbill.getString("billno");//lcbh DynamicObject creator = pm_purorderbill.getDynamicObject("creator");//cjr - String cjr = "363";//TODO + String cjr = "363"; + if(creator != null){ + creator = BusinessDataServiceHelper.loadSingle(creator.getPkValue(), creator.getDynamicObjectType().getName(), "id,name,number,tqq9_fwuserid"); + cjr = creator.getString("tqq9_fwuserid"); + } DynamicObject tqq9_dept = pm_purorderbill.getDynamicObject("tqq9_dept");//cjbm - String cjbm = "18";//TODO + String cjbm = "18"; + if(tqq9_dept != null){ + String deptNumber = tqq9_dept.getString("number"); + String fwOrgNumber = FWOrgMappingUtils.getFwOrgNumberByKdOrgNumber(deptNumber); + if(StringUtils.isNotBlank(fwOrgNumber)){ + cjbm = fwOrgNumber; + } + } Date createtime = pm_purorderbill.getDate("createtime"); String cjrq = sdf.format(createtime);//cjrq DynamicObject org = pm_purorderbill.getDynamicObject("org");//ywgz - String ywgz = "4";//TODO + String ywgz = "4"; + if(org != null){ + String orgNumber = org.getString("number"); + String fwOrgNumber = FWOrgMappingUtils.getFwOrgNumberByKdOrgNumber(orgNumber); + if(StringUtils.isNotBlank(fwOrgNumber)){ + ywgz = fwOrgNumber; + } + } DynamicObject biztype = pm_purorderbill.getDynamicObject("biztype"); String cglx = biztype.getString("name");//cglx String tqq9_cgyt = pm_purorderbill.getString("tqq9_cgyt");//cgyt @@ -174,6 +205,9 @@ public class FWImpl { DynamicObject supplier = pm_purorderbill.getDynamicObject("supplier"); String dhgys = supplier.getString("number");//dhgys String shck = null; + String khlxr = pm_purorderbill.getString("tqq9_khlxr"); + String khlxrdh = pm_purorderbill.getString("tqq9_khlxdh"); + String khlxdz = pm_purorderbill.getString("tqq9_khlxdz"); //物料明细 JSONObject detail1 = new JSONObject(); @@ -208,6 +242,12 @@ public class FWImpl { String bz = billentry.getString("entrycomment"); String wlmc = masterid.getString("number"); String wlbm = masterid.getString("number"); + boolean ispresent = billentry.getBoolean("ispresent"); + int sfzp = 0; + if(ispresent){ + sfzp = 1; + } + BigDecimal tqq9_dis83price = billentry.getBigDecimal("tqq9_dis83price"); JSONObject e1 = new JSONObject(); e1.put("fieldName", "wlbm"); @@ -260,8 +300,14 @@ public class FWImpl { JSONObject e17 = new JSONObject(); e17.put("fieldName", "wlmc"); e17.put("fieldValue", wlmc); + JSONObject e18 = new JSONObject(); + e18.put("fieldName", "sfzp"); + e18.put("fieldValue", sfzp); + JSONObject e19 = new JSONObject(); + e19.put("fieldName", "sc83zsj"); + e19.put("fieldValue", tqq9_dis83price != null && tqq9_dis83price.compareTo(BigDecimal.ZERO) != 0?tqq9_dis83price:0); - List elist = Arrays.asList(e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17); + List elist = Arrays.asList(e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19); JSONArray recordsArr = new JSONArray(); for (JSONObject obj : elist) { recordsArr.add(obj); @@ -433,14 +479,25 @@ public class FWImpl { JSONObject m26 = new JSONObject(); m26.put("fieldName", "dhgys"); m26.put("fieldValue", dhgys); + JSONObject m27 = new JSONObject(); + m27.put("fieldName", "khlxr"); + m27.put("fieldValue", khlxr); + JSONObject m28 = new JSONObject(); + m28.put("fieldName", "khlxrdh"); + m28.put("fieldValue", khlxrdh); + JSONObject m29 = new JSONObject(); + m29.put("fieldName", "khlxdz"); + m29.put("fieldValue", khlxdz); - List mlist = Arrays.asList(m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16,m17,m18,m19,m20,m21,m22,m23,m24,m25,m26); + List mlist = Arrays.asList(m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16,m17,m18,m19,m20, + m21,m22,m23,m24,m25,m26,m27,m28,m29); JSONArray mainArr = new JSONArray(); for (JSONObject obj : mlist) { mainArr.add(obj); } + String fw_wfid_xzcgdd = ConfigUtils.getThirdConfigByNumber("FW_WFID_XZCGDD"); FWRestfulUtils fwRestfulUtils = new FWRestfulUtils(); - String resultStr = fwRestfulUtils.doBillAction(mainArr, detailRootArr, "新增采购单", "96", billno); + String resultStr = fwRestfulUtils.doBillAction(mainArr, detailRootArr, "新增采购单", fw_wfid_xzcgdd, billno); return resultStr; }