diff --git a/lc123/cloud/app/plugin/form/sys/MaterialSaveClosePlugin.java b/lc123/cloud/app/plugin/form/sys/MaterialSaveClosePlugin.java new file mode 100644 index 0000000..c26c581 --- /dev/null +++ b/lc123/cloud/app/plugin/form/sys/MaterialSaveClosePlugin.java @@ -0,0 +1,39 @@ +package tqq9.lc123.cloud.app.plugin.form.sys; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.resource.ResManager; +import kd.bos.dataentity.utils.StringUtils; +import kd.bos.form.IFormView; +import kd.bos.form.events.BeforeDoOperationEventArgs; +import kd.bos.form.operate.FormOperate; +import kd.sdk.plugin.Plugin; + +/** + * 单据界面插件 + */ +public class MaterialSaveClosePlugin extends AbstractBillPlugIn implements Plugin { + @Override + public void beforeDoOperation(BeforeDoOperationEventArgs args) { + super.beforeDoOperation(args); +// FormOperate operation = (FormOperate) args.getSource(); +// String key = operation.getOperateKey(); +// if (StringUtils.equals("save", key)) { +// args.setCancel(Boolean.TRUE); +// // 弹出操作成功提示消息 +// boolean showInParentView = true; +// IFormView view = this.getView().getViewNoPlugin(this.getView().getFormShowParameter().getParentPageId()); +// if (view == null) { +// view = this.getView(); +// showInParentView = false; +// } +// view.showSuccessNotification(String.format(ResManager.loadKDString("保存成功", "DefaultEntityOperate_5", "bos-entity-business", new Object[0]), operation.getOperateName().toString())); +// if (showInParentView) { +// this.getView().sendFormAction(view); +// } +// +// this.getModel().setDataChanged(Boolean.FALSE); +// // 关闭新增窗口 +// this.getView().close(); +// } + } +} \ No newline at end of file diff --git a/lc123/cloud/app/plugin/operate/sys/MaterialAuditOp.java b/lc123/cloud/app/plugin/operate/sys/MaterialAuditOp.java index b67939b..8d40fd6 100644 --- a/lc123/cloud/app/plugin/operate/sys/MaterialAuditOp.java +++ b/lc123/cloud/app/plugin/operate/sys/MaterialAuditOp.java @@ -20,7 +20,7 @@ import java.util.List; /** * 物料审核操作 - * 审核成功后,生成对应的商城商品 + * 审核成功后,生成对应的商城商品 */ public class MaterialAuditOp extends AbstractOperationServicePlugIn { @@ -30,19 +30,28 @@ public class MaterialAuditOp extends AbstractOperationServicePlugIn { public void afterExecuteOperationTransaction(AfterOperationArgs e) { super.afterExecuteOperationTransaction(e); OperationResult operationResult = this.getOperationResult(); - if (operationResult.isSuccess()){ + if (operationResult.isSuccess()) { DynamicObject[] dataEntities = e.getDataEntities(); for (DynamicObject material : dataEntities) { - material = BusinessDataServiceHelper.loadSingle(material.getPkValue(), "bd_material"); + material = BusinessDataServiceHelper.loadSingle(material.getPkValue(), material.getDynamicObjectType().getName()); +// DynamicObject tqq9_audit = material.getDynamicObject("tqq9_auditor"); +// QFilter qf = new QFilter("id", "=", tqq9_audit.getPkValue()); +// DynamicObject tqq9_auditor = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{qf}); +// //将待审批人赋值给修改人、审核人 +// if (tqq9_auditor != null) { +// material.set("modifier", tqq9_auditor); +// material.set("approverid", tqq9_auditor); +// SaveServiceHelper.save(new DynamicObject[]{material}); +// } String tqq9_srcnumber = material.getString("tqq9_srcnumber"); //查询是否有源单编码,如果有就是物料变更,如果没有就是正常物料审核 - if(StringUtils.isNotBlank(tqq9_srcnumber)){ + if (StringUtils.isNotBlank(tqq9_srcnumber)) { //物料变更逻辑 String tqq9_changefields = material.getString("tqq9_changefields_tag"); - if(StringUtils.isNotBlank(tqq9_changefields)){ + if (StringUtils.isNotBlank(tqq9_changefields)) { QFilter f = new QFilter("number", "=", tqq9_srcnumber); boolean exists = QueryServiceHelper.exists("bd_material", new QFilter[]{f}); - if(exists){ + if (exists) { DynamicObject srcMaterial = BusinessDataServiceHelper.loadSingle("bd_material", new QFilter[]{f}); String[] fieldArr = tqq9_changefields.split(","); for (String changeField : fieldArr) { @@ -50,24 +59,24 @@ public class MaterialAuditOp extends AbstractOperationServicePlugIn { } SaveServiceHelper.save(new DynamicObject[]{srcMaterial}); OperationResult opResult = OperationServiceHelper.executeOperate("unaudit", "bd_material", new DynamicObject[]{material}, OperateOption.create()); - log.info("反审核物料修改信息["+material.getString("number")+"]的结果:"+opResult.isSuccess()); - if(opResult.isSuccess()){ + log.info("反审核物料修改信息[" + material.getString("number") + "]的结果:" + opResult.isSuccess()); + if (opResult.isSuccess()) { opResult = OperationServiceHelper.executeOperate("delete", "bd_material", new DynamicObject[]{material}, OperateOption.create()); - log.info("删除物料修改信息["+material.getString("number")+"]的结果:"+opResult.isSuccess()); + log.info("删除物料修改信息[" + material.getString("number") + "]的结果:" + opResult.isSuccess()); } } } - }else{ + } else { //物料新增审核,封装商品逻辑:查询对应的商品是否存在 DynamicObject goods; Long materialID = material.getLong("id"); QFilter f = new QFilter("tqq9_mater.id", "=", materialID); DynamicObject[] goodsArr = BusinessDataServiceHelper.load("tqq9_goodspackage", "id", new QFilter[]{f}); - if (goodsArr != null && goodsArr.length > 0){ + if (goodsArr != null && goodsArr.length > 0) { goods = goodsArr[0]; goods = BusinessDataServiceHelper.loadSingle(goods.getPkValue(), goods.getDynamicObjectType().getName()); - }else { + } else { goods = BusinessDataServiceHelper.newDynamicObject("tqq9_goodspackage"); goods.set("number", material.getString("number")); goods.set("tqq9_mater", material); @@ -76,21 +85,21 @@ public class MaterialAuditOp extends AbstractOperationServicePlugIn { DynamicObject createorg = null; f = new QFilter("number", "=", "LICHI"); DynamicObject[] orgArr = BusinessDataServiceHelper.load("bos_org", "id,name,number", new QFilter[]{f}); - if(orgArr != null && orgArr.length > 0){ + 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){ + 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"); + tqq9_ssbm = BusinessDataServiceHelper.loadSingle(tqq9_ssbm.getPkValue(), tqq9_ssbm.getDynamicObjectType().getName(), "id,name,number,taxrate"); BigDecimal taxrate = tqq9_ssbm.getBigDecimal("taxrate"); - if(taxrate != null){ + if (taxrate != null) { 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}); @@ -120,41 +129,41 @@ public class MaterialAuditOp extends AbstractOperationServicePlugIn { goods.set("tqq9_isauto", true); goods.set("enable", "1"); goods.set("status", "A"); - goods.set("creator",material.getDynamicObject("creator")); - goods.set("createtime",material.getDate("createtime")); - goods.set("modifier",material.getDynamicObject("modifier")); - goods.set("modifytime",material.getDate("modifytime")); + goods.set("creator", material.getDynamicObject("creator")); + goods.set("createtime", material.getDate("createtime")); + goods.set("modifier", material.getDynamicObject("modifier")); + goods.set("modifytime", material.getDate("modifytime")); operationResult = OperationServiceHelper.executeOperate("save", "tqq9_goodspackage", new DynamicObject[]{goods}, OperateOption.create()); - if(!operationResult.isSuccess()){ - log.info("物料["+material.getString("number")+"]审核封装商品保存出错msg:"+operationResult.getMessage()); + if (!operationResult.isSuccess()) { + log.info("物料[" + material.getString("number") + "]审核封装商品保存出错msg:" + operationResult.getMessage()); List allErrorOrValidateInfo = operationResult.getAllErrorOrValidateInfo(); for (IOperateInfo iOperateInfo : allErrorOrValidateInfo) { String message = iOperateInfo.getMessage(); - log.info("物料["+material.getString("number")+"]审核封装商品保存出错:"+message); + log.info("物料[" + material.getString("number") + "]审核封装商品保存出错:" + message); } - }else{ + } else { operationResult = OperationServiceHelper.executeOperate("submit", "tqq9_goodspackage", new DynamicObject[]{goods}, OperateOption.create()); - if(operationResult.isSuccess()){ + if (operationResult.isSuccess()) { operationResult = OperationServiceHelper.executeOperate("audit", "tqq9_goodspackage", new DynamicObject[]{goods}, OperateOption.create()); - if(operationResult.isSuccess()){ - log.info("物料["+material.getString("number")+"]审核封装商品审核成功。"); - }else{ - log.info("物料["+material.getString("number")+"]审核封装商品审核出错msg:"+operationResult.getMessage()); + if (operationResult.isSuccess()) { + log.info("物料[" + material.getString("number") + "]审核封装商品审核成功。"); + } else { + log.info("物料[" + material.getString("number") + "]审核封装商品审核出错msg:" + operationResult.getMessage()); List allErrorOrValidateInfo = operationResult.getAllErrorOrValidateInfo(); for (IOperateInfo iOperateInfo : allErrorOrValidateInfo) { String message = iOperateInfo.getMessage(); - log.info("物料["+material.getString("number")+"]审核封装商品审核出错:"+message); + log.info("物料[" + material.getString("number") + "]审核封装商品审核出错:" + message); } } - }else{ - log.info("物料["+material.getString("number")+"]审核封装商品提交出错msg:"+operationResult.getMessage()); + } else { + log.info("物料[" + material.getString("number") + "]审核封装商品提交出错msg:" + operationResult.getMessage()); List allErrorOrValidateInfo = operationResult.getAllErrorOrValidateInfo(); for (IOperateInfo iOperateInfo : allErrorOrValidateInfo) { String message = iOperateInfo.getMessage(); - log.info("物料["+material.getString("number")+"]审核封装商品提交出错:"+message); + log.info("物料[" + material.getString("number") + "]审核封装商品提交出错:" + message); } } } diff --git a/lc123/cloud/app/plugin/operate/sys/MaterialAuditOpPlugin.java b/lc123/cloud/app/plugin/operate/sys/MaterialAuditOpPlugin.java new file mode 100644 index 0000000..7680c0a --- /dev/null +++ b/lc123/cloud/app/plugin/operate/sys/MaterialAuditOpPlugin.java @@ -0,0 +1,29 @@ +package tqq9.lc123.cloud.app.plugin.operate.sys; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.args.AfterOperationArgs; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.sdk.plugin.Plugin; + +/** + * 单据操作插件 + * 审核后 修改审核人、修改人为待审批人 + */ +public class MaterialAuditOpPlugin extends AbstractOperationServicePlugIn implements Plugin { + @Override + public void afterExecuteOperationTransaction(AfterOperationArgs e) { + super.afterExecuteOperationTransaction(e); + DynamicObject[] dataEntities = e.getDataEntities(); + for (DynamicObject material : dataEntities) { + material = BusinessDataServiceHelper.loadSingle(material.getPkValue(), material.getDynamicObjectType().getName()); + DynamicObject tqq9_auditor = material.getDynamicObject("tqq9_auditor"); + if (tqq9_auditor != null) { + material.set("modifier", tqq9_auditor); + material.set("approverid", tqq9_auditor); + SaveServiceHelper.save(new DynamicObject[]{material}); + } + } + } +} \ No newline at end of file