From f44baa86d11007108a8d54ca9022b6056708aa6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=9A=E8=B1=86=E8=B1=86?= <13356128+sunandmoon60@user.noreply.gitee.com> Date: Mon, 3 Nov 2025 18:21:37 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=97=A5=E5=BF=97=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E8=BF=94=E5=88=A9=E8=A7=84=E5=88=99=EF=BC=8C=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E9=80=80=E8=B4=A7=E8=A1=A5=E8=B4=A7?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/eip/iscb/impl/LCLogServiceImpl.java | 9 +- .../sys/GetGoodsByMaterialBillPlugin.java | 4 +- .../im/PurOrderPushPurRefundConverPlugin.java | 150 +++++++++--------- .../im/ReturnStockSyncNotifierPlugin.java | 1 + 4 files changed, 87 insertions(+), 77 deletions(-) diff --git a/lc123/cloud/app/eip/iscb/impl/LCLogServiceImpl.java b/lc123/cloud/app/eip/iscb/impl/LCLogServiceImpl.java index c7be41c..f1efb80 100644 --- a/lc123/cloud/app/eip/iscb/impl/LCLogServiceImpl.java +++ b/lc123/cloud/app/eip/iscb/impl/LCLogServiceImpl.java @@ -7,15 +7,18 @@ import kd.bos.entity.operate.result.IOperateInfo; import kd.bos.entity.operate.result.OperationResult; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.coderule.CodeRuleServiceHelper; import kd.bos.servicehelper.operation.OperationServiceHelper; +import kd.bos.servicehelper.user.UserServiceHelper; import tqq9.lc123.cloud.app.eip.iscb.LCLogService; import java.util.Date; import java.util.List; - public class LCLogServiceImpl implements LCLogService { +public class LCLogServiceImpl implements LCLogService { private static Log logger = LogFactory.getLog(LCLogServiceImpl.class); @Override @@ -54,7 +57,9 @@ import java.util.List; // 获取根据编码规则得到的编码字符串 String number = CodeRuleServiceHelper.getNumber(codeRule, apiLog); apiLog.set("number", number); - + long currentUserId = UserServiceHelper.getCurrentUserId(); + DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{new QFilter("id", QCP.equals, currentUserId)}); + apiLog.set("creator", user); OperateOption option = OperateOption.create(); OperationResult saveResult = OperationServiceHelper .executeOperate("save", "tqq9_thirdinterfacelogs", new DynamicObject[]{apiLog}, option); diff --git a/lc123/cloud/app/plugin/form/sys/GetGoodsByMaterialBillPlugin.java b/lc123/cloud/app/plugin/form/sys/GetGoodsByMaterialBillPlugin.java index e4c4f2a..91a9ec4 100644 --- a/lc123/cloud/app/plugin/form/sys/GetGoodsByMaterialBillPlugin.java +++ b/lc123/cloud/app/plugin/form/sys/GetGoodsByMaterialBillPlugin.java @@ -51,7 +51,9 @@ public class GetGoodsByMaterialBillPlugin extends AbstractBillPlugIn { Date expirydate = (Date) this.getModel().getValue("expirydate", rowIndex); if(material != null){ DynamicObject[] goodsArr = BaseDataMatchUtils.materialMatchGoods(material.getString("number"), lotnumber, producedate, expirydate, false); - this.getModel().setValue("tqq9_goods", goodsArr[0], rowIndex); + if (goodsArr!=null&&goodsArr.length>0) { + this.getModel().setValue("tqq9_goods", goodsArr[0], rowIndex); + } } } diff --git a/lc123/cloud/app/plugin/operate/im/PurOrderPushPurRefundConverPlugin.java b/lc123/cloud/app/plugin/operate/im/PurOrderPushPurRefundConverPlugin.java index d0feddb..4a7393d 100644 --- a/lc123/cloud/app/plugin/operate/im/PurOrderPushPurRefundConverPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/PurOrderPushPurRefundConverPlugin.java @@ -50,13 +50,13 @@ public class PurOrderPushPurRefundConverPlugin extends AbstractConvertPlugIn imp "billentry.amount,billentry.curamount,billentry.taxamount,billentry.curtaxamount," + "billentry.discountamount,billentry.amountandtax,billentry.curamountandtax,billentry.returnqty," + "billentry.returnbaseqty,billentry.tqq9_yyhyflje,billentry.tqq9_yyhwflje,billentry.lotnumber," + - "billentry.tqq9_goods,billentry.tqq9_wmsdetailid,billentry.producedate,billentry.expirydate,creator,createtime,modifier,modifytime,billentry.owner", new QFilter[]{new QFilter("billentry.mainbillnumber", QCP.equals, mainbillnumber).and("billstatus",QCP.equals,"C")}); + "billentry.tqq9_goods,billentry.tqq9_wmsdetailid,billentry.producedate,billentry.expirydate,creator,createtime,modifier,modifytime,billentry.owner", new QFilter[]{new QFilter("billentry.mainbillnumber", QCP.equals, mainbillnumber).and("billstatus", QCP.equals, "C")}); } BigDecimal zero = BigDecimal.ZERO; dynamicObjectCollection.clear(); - if(im_purinblil!=null){ + if (im_purinblil != null) { for (DynamicObject dynamicObject : im_purinblil) { DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry"); String billid = dynamicObject.getString("id"); @@ -66,7 +66,7 @@ public class PurOrderPushPurRefundConverPlugin extends AbstractConvertPlugIn imp DynamicObject masterid = material.getDynamicObject("masterid");//物料信息 //物料采购信息 DynamicObject bd_materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo", new QFilter[]{new QFilter("masterid", QCP.equals, masterid.getLong("id"))}); - masterid = BusinessDataServiceHelper.loadSingle("bd_material", new QFilter[]{new QFilter("id", QCP.equals, masterid.getLong("id"))}); + masterid = BusinessDataServiceHelper.loadSingle("bd_material", new QFilter[]{new QFilter("id", QCP.equals, masterid.getLong("id"))}); String materialname = bd_materialpurchaseinfo.getString("masterid.name");//物料名称 DynamicObject baseunit = masterid.getDynamicObject("baseunit");//计量单位 DynamicObject entryreqorg = object.getDynamicObject("entryreqorg");//需求组织 @@ -109,84 +109,86 @@ public class PurOrderPushPurRefundConverPlugin extends AbstractConvertPlugIn imp BigDecimal tqq9_yyhyflje = object.getBigDecimal("tqq9_yyhyflje");//有优惠有返利含税单价 BigDecimal tqq9_yyhwflje = object.getBigDecimal("tqq9_yyhwflje");//有优惠无返利含税单价 String lotnumber = object.getString("lotnumber");//批号 + DynamicObject bd_lot = BusinessDataServiceHelper.loadSingle("bd_lot", new QFilter[]{new QFilter("number", QCP.equals, lotnumber)}); DynamicObject tqq9_goods = object.getDynamicObject("tqq9_goods");//商品 String tqq9_wmsdetailid = object.getString("tqq9_wmsdetailid");//WMS分录id Date producedate = object.getDate("producedate");//生产日期 Date expirydate = object.getDate("expirydate");//生产日期 - DynamicObject dynamicObject1 = dynamicObjectCollection.addNew(); - dynamicObject1.set("material",bd_materialpurchaseinfo); - dynamicObject1.set("materialname",materialname); - dynamicObject1.set("unit",baseunit); - dynamicObject1.set("baseunit",baseunit); - dynamicObject1.set("rowclosestatus","A"); - dynamicObject1.set("rowterminatestatus","A"); - dynamicObject1.set("entryreqorg","A"); - dynamicObject1.set("entryreqorg",entryreqorg); - dynamicObject1.set("entryinvcorg",entryreqorg); - dynamicObject1.set("entrysettleorg",entryreqorg); - dynamicObject1.set("taxrateid",taxrateid); - dynamicObject1.set("discounttype",discounttype); - dynamicObject1.set("entrypayorg",entryreqorg); - dynamicObject1.set("mainbillentity",mainbillentity); - dynamicObject1.set("mainbillid",mainbillid); - dynamicObject1.set("mainbillnumber",mainbillnumber); - dynamicObject1.set("mainbillentryid",mainbillentryid); - dynamicObject1.set("mainbillentryseq",mainbillentryseq); - dynamicObject1.set("srcbillentity",mainbillentity); - dynamicObject1.set("srcbillid",mainbillid); - dynamicObject1.set("srcbillnumber",mainbillnumber); - dynamicObject1.set("srcbillentryid",mainbillentryid); - dynamicObject1.set("srcbillentryseq",mainbillentryseq); - dynamicObject1.set("entrycreator",creator); - dynamicObject1.set("entrycreatetime",createtime); - dynamicObject1.set("entrymodifier",modifier); - dynamicObject1.set("entrymodifytime",modifytime); - dynamicObject1.set("linetype",linetype); - dynamicObject1.set("tqq9_registration",tqq9_registration); - dynamicObject1.set("tqq9_licenseno",tqq9_licenseno); - dynamicObject1.set("tqq9_brand",tqq9_brand); - dynamicObject1.set("tqq9_thck",warehouse); - dynamicObject1.set("tqq9_kclx","ZP"); - dynamicObject1.set("tqq9_maxqty",qty); - dynamicObject1.set("qty",qty); - dynamicObject1.set("baseqty",qty); - dynamicObject1.set("ispresent",ispresent); - dynamicObject1.set("ownertype",ownertype); - dynamicObject1.set("owner",owner); - dynamicObject1.set("materialversion",version); - dynamicObject1.set("auxunit",unit2nd); - dynamicObject1.set("auxqty",qtyunit2nd); - dynamicObject1.set("auxpty",auxpty); - dynamicObject1.set("discountrate",discountrate); - dynamicObject1.set("price",price); - dynamicObject1.set("priceandtax",priceandtax); - dynamicObject1.set("amount",amount); - dynamicObject1.set("curamount",curamount); - dynamicObject1.set("taxamount",taxamount); - dynamicObject1.set("curtaxamount",curtaxamount); - dynamicObject1.set("discountamount",discountamount); - dynamicObject1.set("amountandtax",amountandtax); - dynamicObject1.set("curamountandtax",curamountandtax); - dynamicObject1.set("joinqty",zero); - dynamicObject1.set("joinbaseqty",zero); - dynamicObject1.set("returnqty",returnqty); - dynamicObject1.set("returnbaseqty",returnbaseqty); - dynamicObject1.set("tqq9_yyhyflje",tqq9_yyhyflje); - dynamicObject1.set("tqq9_yyhwflje",tqq9_yyhwflje); - dynamicObject1.set("tqq9_ph",lotnumber); - dynamicObject1.set("tqq9_goods",tqq9_goods); - dynamicObject1.set("tqq9_inwarebill",dynamicObject); - dynamicObject1.set("tqq9_inwarebillid",billid); - dynamicObject1.set("tqq9_inwarebillentryid",billentryid); - dynamicObject1.set("tqq9_inwarebillentryqty",qty); - dynamicObject1.set("tqq9_wmsdetailid",tqq9_wmsdetailid); - dynamicObject1.set("tqq9_productdate",producedate); - dynamicObject1.set("tqq9_expiredate",expirydate); + if (qty.compareTo(BigDecimal.ZERO) > 0) { + DynamicObject dynamicObject1 = dynamicObjectCollection.addNew(); + dynamicObject1.set("material", bd_materialpurchaseinfo); + dynamicObject1.set("materialname", materialname); + dynamicObject1.set("unit", baseunit); + dynamicObject1.set("baseunit", baseunit); + dynamicObject1.set("rowclosestatus", "A"); + dynamicObject1.set("rowterminatestatus", "A"); + dynamicObject1.set("entryreqorg", "A"); + dynamicObject1.set("entryreqorg", entryreqorg); + dynamicObject1.set("entryinvcorg", entryreqorg); + dynamicObject1.set("entrysettleorg", entryreqorg); + dynamicObject1.set("taxrateid", taxrateid); + dynamicObject1.set("discounttype", discounttype); + dynamicObject1.set("entrypayorg", entryreqorg); + dynamicObject1.set("mainbillentity", mainbillentity); + dynamicObject1.set("mainbillid", mainbillid); + dynamicObject1.set("mainbillnumber", mainbillnumber); + dynamicObject1.set("mainbillentryid", mainbillentryid); + dynamicObject1.set("mainbillentryseq", mainbillentryseq); + dynamicObject1.set("srcbillentity", mainbillentity); + dynamicObject1.set("srcbillid", mainbillid); + dynamicObject1.set("srcbillnumber", mainbillnumber); + dynamicObject1.set("srcbillentryid", mainbillentryid); + dynamicObject1.set("srcbillentryseq", mainbillentryseq); + dynamicObject1.set("entrycreator", creator); + dynamicObject1.set("entrycreatetime", createtime); + dynamicObject1.set("entrymodifier", modifier); + dynamicObject1.set("entrymodifytime", modifytime); + dynamicObject1.set("linetype", linetype); + dynamicObject1.set("tqq9_registration", tqq9_registration); + dynamicObject1.set("tqq9_licenseno", tqq9_licenseno); + dynamicObject1.set("tqq9_brand", tqq9_brand); + dynamicObject1.set("tqq9_thck", warehouse); + dynamicObject1.set("tqq9_kclx", "ZP"); + dynamicObject1.set("tqq9_maxqty", qty); + dynamicObject1.set("qty", qty); + dynamicObject1.set("baseqty", qty); + dynamicObject1.set("ispresent", ispresent); + dynamicObject1.set("ownertype", ownertype); + dynamicObject1.set("owner", owner); + dynamicObject1.set("materialversion", version); + dynamicObject1.set("auxunit", unit2nd); + dynamicObject1.set("auxqty", qtyunit2nd); + dynamicObject1.set("auxpty", auxpty); + dynamicObject1.set("discountrate", discountrate); + dynamicObject1.set("price", price); + dynamicObject1.set("priceandtax", priceandtax); + dynamicObject1.set("amount", amount); + dynamicObject1.set("curamount", curamount); + dynamicObject1.set("taxamount", taxamount); + dynamicObject1.set("curtaxamount", curtaxamount); + dynamicObject1.set("discountamount", discountamount); + dynamicObject1.set("amountandtax", amountandtax); + dynamicObject1.set("curamountandtax", curamountandtax); + dynamicObject1.set("joinqty", zero); + dynamicObject1.set("joinbaseqty", zero); + dynamicObject1.set("returnqty", returnqty); + dynamicObject1.set("returnbaseqty", returnbaseqty); + dynamicObject1.set("tqq9_yyhyflje", tqq9_yyhyflje); + dynamicObject1.set("tqq9_yyhwflje", tqq9_yyhwflje); + dynamicObject1.set("tqq9_ph", bd_lot); + dynamicObject1.set("tqq9_goods", tqq9_goods); + dynamicObject1.set("tqq9_inwarebill", dynamicObject); + dynamicObject1.set("tqq9_inwarebillid", billid); + dynamicObject1.set("tqq9_inwarebillentryid", billentryid); + dynamicObject1.set("tqq9_inwarebillentryqty", qty); + dynamicObject1.set("tqq9_wmsdetailid", tqq9_wmsdetailid); + dynamicObject1.set("tqq9_productdate", producedate); + dynamicObject1.set("tqq9_expiredate", expirydate); + } + } - - } } diff --git a/lc123/cloud/app/plugin/operate/im/ReturnStockSyncNotifierPlugin.java b/lc123/cloud/app/plugin/operate/im/ReturnStockSyncNotifierPlugin.java index ab7eed0..7f91396 100644 --- a/lc123/cloud/app/plugin/operate/im/ReturnStockSyncNotifierPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/ReturnStockSyncNotifierPlugin.java @@ -75,6 +75,7 @@ public class ReturnStockSyncNotifierPlugin extends AbstractOperationServicePlugI } } + String rule = BotpParamUtils.getBotpRuleId(PURORDER, RECEIPTNOTICE, "采购订单_收货通知单_转换规则_扩展"); PushArgs pushArgs = BotpParamUtils.getPushArgs(PURORDER, RECEIPTNOTICE, PURORDER_ENTRY, param, entitypkMap, RULE); ConvertOperationResult pushResult = ConvertServiceHelper.pushAndSave(pushArgs); List billReports = pushResult.getBillReports();