From bf797cafe557bd0e1f16386a1ea32ec249a0a955 Mon Sep 17 00:00:00 2001 From: "tanfengling@x-ri.com" <123456> Date: Fri, 10 Oct 2025 11:31:43 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E7=89=A9=E6=96=99=E5=B0=81=E8=A3=85?= =?UTF-8?q?=E5=95=86=E5=93=81=E3=80=91=E7=89=A9=E6=96=99=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E6=97=B6=E8=87=AA=E5=8A=A8=E5=B0=81=E8=A3=85=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=95=86=E5=9F=8E=E5=95=86=E5=93=81=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/operate/sys/MaterialAuditOp.java | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 lc123/cloud/app/plugin/operate/sys/MaterialAuditOp.java diff --git a/lc123/cloud/app/plugin/operate/sys/MaterialAuditOp.java b/lc123/cloud/app/plugin/operate/sys/MaterialAuditOp.java new file mode 100644 index 0000000..155ed07 --- /dev/null +++ b/lc123/cloud/app/plugin/operate/sys/MaterialAuditOp.java @@ -0,0 +1,103 @@ +package tqq9.lc123.cloud.app.plugin.operate.sys; + +import com.grapecity.documents.excel.B; +import kd.bos.dataentity.OperateOption; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.operate.result.IOperateInfo; +import kd.bos.entity.operate.result.OperationResult; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.args.AfterOperationArgs; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.fi.cas.helper.OperateServiceHelper; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 物料审核操作 + * 审核成功后,生成对应的商城商品 + */ +public class MaterialAuditOp extends AbstractOperationServicePlugIn { + + @Override + public void afterExecuteOperationTransaction(AfterOperationArgs e) { + super.afterExecuteOperationTransaction(e); + OperationResult operationResult = this.getOperationResult(); + if (operationResult.isSuccess()){ + DynamicObject[] dataEntities = e.getDataEntities(); + for (DynamicObject material : dataEntities) { + material = BusinessDataServiceHelper.loadSingle(material.getPkValue(), "bd_material", + "id,name,number,baseunit,tqq9_spfliii,tqq9_combofield_spflii,tqq9_combofield_spfliii,tqq9_ssbm,tqq9_zccpmc,tqq9_brand,tqq9_wlcd1,tqq9_ylfl,tqq9_spdj,tqq9_ccystj,tqq9_ylflml"); + Long materialID = material.getLong("id"); + DynamicObject goods = null; + //查询对应的商品是否存在 + QFilter f = new QFilter("tqq9_mater.id", "=", materialID); + DynamicObject[] goodsArr = BusinessDataServiceHelper.load("tqq9_goodspackage", "id", new QFilter[]{f}); + if (goodsArr != null && goodsArr.length > 0){ + goods = goodsArr[0]; + goods = BusinessDataServiceHelper.loadSingle(goods.getPkValue(), goods.getDynamicObjectType().getName()); + }else { + goods = BusinessDataServiceHelper.newDynamicObject("tqq9_goodspackage"); + goods.set("number", material.getString("number")); + goods.set("tqq9_mater", material); + } + //创建组织-默认励齿集团 + DynamicObject createorg = null; + f = new QFilter("number", "=", "LCJT"); + DynamicObject[] orgArr = BusinessDataServiceHelper.load("bos_org", "id,name,number", new QFilter[]{f}); + if(orgArr != null && orgArr.length > 0){ + createorg = orgArr[0]; + } + //币种-默认CNY + DynamicObject currency = null; + f = new QFilter("number", "=", "CNY"); + DynamicObject[] currencyArr = BusinessDataServiceHelper.load("bd_currency", "id,name,number", new QFilter[]{f}); + if(currencyArr != null && currencyArr.length > 0){ + currency = currencyArr[0]; + } + //查询税率和税率基础资料 + DynamicObject tqq9_ssbm = material.getDynamicObject("tqq9_ssbm"); + tqq9_ssbm = BusinessDataServiceHelper.loadSingle(tqq9_ssbm.getPkValue(), tqq9_ssbm.getDynamicObjectType().getName(),"id,name,number,taxrate"); + BigDecimal taxrate = tqq9_ssbm.getBigDecimal("taxrate"); + if(taxrate != null && taxrate.compareTo(BigDecimal.ZERO) > 0){ + goods.set("tqq9_saletaxdcm", taxrate); + QFilter f1 = new QFilter("taxrate", "=", taxrate.multiply(new BigDecimal(100))); + DynamicObject[] bd_taxratesArr = BusinessDataServiceHelper.load("bd_taxrate", "id,number,name,taxrate", new QFilter[]{f1}); + goods.set("tqq9_saletaxrate", bd_taxratesArr[0]); + } + + //给商品信息赋值 + goods.set("createorg", createorg); + goods.set("name", material.getString("name")); + goods.set("tqq9_regproname", material.getString("tqq9_zccpmc")); + goods.set("tqq9_platform", "A,B,C");//平台 + goods.set("tqq9_brand", material.getDynamicObject("tqq9_brand")); + goods.set("tqq9_wlcd", material.getDynamicObject("tqq9_wlcd1")); + goods.set("tqq9_taxno", tqq9_ssbm); + goods.set("tqq9_medicaltype", material.getString("tqq9_ylfl")); + goods.set("tqq9_level", material.getString("tqq9_spdj")); + goods.set("tqq9_currency", currency);//币种 + goods.set("tqq9_onsale", "B"); + goods.set("tqq9_saleunit", material.getDynamicObject("baseunit"));//销售单位 + goods.set("tqq9_keepcondition", material.getString("tqq9_ccystj")); + goods.set("tqq9_medicalclass", material.getDynamicObject("tqq9_ylflml")); + goods.set("tqq9_skutype2", material.getString("tqq9_combofield_spflii")); + goods.set("tqq9_ckutype3", material.getString("tqq9_combofield_spfliii")); + goods.set("tqq9_skutype4", material.getString("tqq9_spfliii")); + goods.set("tqq9_isauto", true); + goods.set("enable", "1"); + OperationResult operationResult1 = OperateServiceHelper.executeOperate("save", "tqq9_goodspackage", new DynamicObject[]{goods}, OperateOption.create()); + if(!operationResult1.isSuccess()){ + List allErrorOrValidateInfo = operationResult1.getAllErrorOrValidateInfo(); + for (IOperateInfo iOperateInfo : allErrorOrValidateInfo) { + iOperateInfo.getMessage(); + } + } + } + + } + + + } +}