From ec0669680cc64142099f6dad66e9ef5123f8106b Mon Sep 17 00:00:00 2001 From: chenshaoxin <1981897232@qq.com> Date: Wed, 2 Jul 2025 16:08:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=99=88?= =?UTF-8?q?=E7=BB=8D=E9=91=AB=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/7/01=2017?= =?UTF-8?q?=EF=BC=9A00=20=E5=86=85=E5=AE=B9:=E6=9B=B4=E6=96=B0=E5=9C=A8?= =?UTF-8?q?=E6=89=8B=E7=A5=A8=E6=8D=AE=E8=B0=83=E5=BA=A6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/PaymentProcessingBillPlugin.java | 280 +----------------- 1 file changed, 1 insertion(+), 279 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentProcessingBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentProcessingBillPlugin.java index c12b97d..ee321fe 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentProcessingBillPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentProcessingBillPlugin.java @@ -59,21 +59,14 @@ import static kd.bos.servicehelper.workflow.WorkflowServiceHelper.abandonByBusie /** * 单据界面插件 */ -public class PaymentProcessingBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener, TipsListener { +public class PaymentProcessingBillPlugin extends AbstractBillPlugIn implements Plugin, TipsListener { private static final Log logger = LogFactory.getLog(PaymentProcessingBillPlugin.class); - public static final List update_sk = Arrays.asList("payeename","payeebanknum","recaccbankname","payeecurrency","payeebank","payeebankname","recbanknumber");//拉单需要更新的收款方 - public static final List update_fk = Arrays.asList("org", "payeracctbank", "payerbank");//拉单需要更新的付款方 - public static final List update_qt = Arrays.asList("paymenttype");//拉单需要更新的其他字段 - @Override public void registerListener(EventObject e) { Toolbar tbmain = this.getView().getControl("tbmain"); tbmain.addItemClickListener(this); - RefBillEdit shkd_ywcl = this.getView().getControl("shkd_ywcl");//业务处理 - shkd_ywcl.addBeforeF7SelectListener(this); - FieldEdit actpayamt = getControl("actpayamt"); actpayamt.addTipsListener(this); } @@ -133,277 +126,6 @@ public class PaymentProcessingBillPlugin extends AbstractBillPlugIn implements P } } - public void propertyChanged(PropertyChangedArgs e) { - String key = e.getProperty().getName(); - ChangeData[] changeData = e.getChangeSet(); - Object newValue = changeData[0].getNewValue(); - Object oldValue = changeData[0].getOldValue(); - DynamicObject settleType; - Object value = this.getModel().getValue("settletype"); - settleType=value != null ? (DynamicObject)value : null; - if (newValue != oldValue) { - DynamicObject applyDo; - switch (key) { - case "settletype": - if (EmptyUtil.isNoEmpty(settleType)) { - if ("电汇".equals(settleType.getString("name"))){ - this.getView().setVisible(true, new String[]{"settletnumber"}); - this.getView().setVisible(true, new String[]{"draftbill"}); - } - } - break; - case "paymentchannel": - if (EmptyUtil.isNoEmpty(settleType)) { - if ("电汇".equals(settleType.getString("name"))){ - this.getView().setVisible(true, new String[]{"settletnumber"}); - this.getView().setVisible(true, new String[]{"draftbill"}); - } - } - break; - } - } - - if ("shkd_ywcl".equals(key)){ - if (newValue != oldValue) { - if (newValue!=null){ - if(oldValue!=null){ - DynamicObject cdm_drafttradebill=(DynamicObject)oldValue; - List ids = new ArrayList<>(); - ids.add(cdm_drafttradebill.getLong("id")); - OperationResult operationResult = OperationServiceHelper.executeOperate("canceldrawbill", - "cdm_drafttradebill", - ids.toArray(new Object[]{}), OperateOption.create());//取消完成 - if (operationResult.isSuccess()){ - //成功 - logger.info("单据编号"+cdm_drafttradebill.getString("billno")+"取消完成成功"); - }else { - //失败 - logger.info("单据编号"+cdm_drafttradebill.getString("billno")+"取消完成失败"); - this.getView().showSuccessNotification("单据编号"+cdm_drafttradebill.getString("billno")+"取消确认完成失败,请检查并手动取消完成"); - } - this.getModel().setValue("draftbill",null); - this.getModel().setValue("settletnumber",null); - } - this.getView().invokeOperation("drawauto"); - }else { - DynamicObject cdm_drafttradebill=(DynamicObject)oldValue; - List ids = new ArrayList<>(); - ids.add(cdm_drafttradebill.getLong("id")); - OperationResult operationResult = OperationServiceHelper.executeOperate("canceldrawbill", - "cdm_drafttradebill", - ids.toArray(new Object[]{}), OperateOption.create());//取消完成 - if (operationResult.isSuccess()){ - //成功 - logger.info("单据编号"+cdm_drafttradebill.getString("billno")+"取消完成成功"); - }else { - //失败 - logger.info("单据编号"+cdm_drafttradebill.getString("billno")+"取消完成失败"); - this.getView().showSuccessNotification("单据编号"+cdm_drafttradebill.getString("billno")+"取消确认完成失败,请检查并手动取消完成"); - } - this.getModel().setValue("draftbill",null); - this.getModel().setValue("settletnumber",null); - } - } - } - } - public void afterBindData(EventObject e) { - DynamicObject settleType; - Object value = this.getModel().getValue("settletype"); - settleType=value != null ? (DynamicObject)value : null; - if (EmptyUtil.isNoEmpty(settleType)) { - if ("电汇".equals(settleType.getString("name"))){ - this.getView().setVisible(true, new String[]{"settletnumber"}); - this.getView().setVisible(true, new String[]{"draftbill"}); - } - } - - } - - @Override - public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { - String name = beforeF7SelectEvent.getProperty().getName(); - if (name.equals("shkd_ywcl")) { - ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); - DynamicObject dataEntity = this.getModel().getDataEntity(); - DynamicObject org = dataEntity.getDynamicObject("org");//付款人(公司) - QFilter qFilter = new QFilter("company.id", QFilter.equals, org.getLong("id")); - qFilter.and(new QFilter("tradetype", QFilter.equals, "redeem")); - showParameter.getListFilterParameter().setFilter(qFilter); - } - } - - @Override - public void beforeDoOperation(BeforeDoOperationEventArgs args) { - AbstractOperate draw = (AbstractOperate)args.getSource(); - if("drawauto".equals(draw.getOperateKey())){ - ConvertOpParameter convertOpParameter = buildParameter(draw); - ListSelectedRowCollection srcRows = new ListSelectedRowCollection(); - DynamicObject shkd_ywcl = (DynamicObject) this.getModel().getValue("shkd_ywcl"); - if(shkd_ywcl==null){ - return; - } - ListSelectedRow row = new ListSelectedRow(shkd_ywcl.get("id"), true); - DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(shkd_ywcl.get("id"), "cdm_drafttradebill"); - String billno = dynamicObject.getString("billno"); - String status = dynamicObject.getString("status"); - Long org = dynamicObject.getLong("org"); - row.setBillNo(billno);//单据编号 - row.setBillStatus(status);//单据状态 - row.setMainOrgId(org);//组织ID - row.setBillTypeID(0L); - row.setRowKey(0); - row.setPageIndex(0); - srcRows.add(row); - doDraw(convertOpParameter,srcRows,(DynamicObject)this.getModel().getValue("shkd_ywcl")); - args.setCancel(true); - } - - } - - public void doDraw(ConvertOpParameter opParameter, ListSelectedRowCollection srcRows,DynamicObject cdm_drafttradebill) { - if (srcRows != null && srcRows.size() != 0) { - String sourceEntityNumber = opParameter.getDefSourceBill(); - String ruleId = opParameter.getDefRuleId(); - DrawArgs args = new DrawArgs(); - args.setSourceEntityNumber(sourceEntityNumber); - args.setTargetEntityNumber(opParameter.getEntityNumber()); - args.addCustomParam("botp_requiredatamutex", String.valueOf(true)); - args.getSelectedRows().addAll(srcRows); - args.setTargetPageId(opParameter.getTargetBillPageId()); - args.setRuleId(ruleId); - args.setBuildConvReport(true); - args.getClearEntrys().addAll(opParameter.getClearEntrys()); - args.getCustomParams().putAll(opParameter.getCustomParams()); - ConvertOperationResult result = ConvertServiceHelper.draw(args); - if (result.isSuccess() && result.getCachePageIds().size() != 0) { - IPageCache iPageCache =this.getPageCache(); - IRefrencedataProvider refProvider = new IRefrencedataProvider() { - @Override - public void fillReferenceData(Object[] dataEntitys, IDataEntityType type) { - BusinessDataReader.loadRefence(dataEntitys, type); - } - }; - List dataEntitys = result.loadTargetDataObjects(refProvider,this.getView().getModel().getDataEntityType()); - DynamicObject dynamicObject = dataEntitys.get(0); - if (cdm_drafttradebill!=null){ - dynamicObject.set("shkd_ywcl",cdm_drafttradebill); - } - for (int i = 0; i < update_fk.size(); i++) { - if (this.getModel().getValue(update_fk.get(i))!=null&& !this.getModel().getValue(update_fk.get(i)).equals("")){ - dynamicObject.set(update_fk.get(i),this.getModel().getValue(update_fk.get(i))); - } - } - for (int i = 0; i < update_sk.size(); i++) { - if (this.getModel().getValue(update_sk.get(i))!=null&& !this.getModel().getValue(update_sk.get(i)).equals("")){ - dynamicObject.set(update_sk.get(i),this.getModel().getValue(update_sk.get(i))); - } - } - for (int i = 0; i < update_qt.size(); i++) { - if (this.getModel().getValue(update_qt.get(i))!=null&& !this.getModel().getValue(update_qt.get(i)).equals("")){ - dynamicObject.set(update_qt.get(i),this.getModel().getValue(update_qt.get(i))); - } - } - ((IBillModel)this.getView().getModel()).push(dynamicObject); - DynamicObjectCollection entry = (DynamicObjectCollection) this.getView().getModel().getValue("entry"); - if (entry.size()>1){ - this.getView().getModel().deleteEntryRow("entry", 1); - } - DynamicObjectCollection cas_draftinfo = (DynamicObjectCollection) this.getView().getModel().getValue("cas_draftinfo"); - if (cas_draftinfo.size()>1){ - this.getView().getModel().deleteEntryRow("cas_draftinfo", 0); - } - this.getView().updateView(); - - result.release(refProvider, this.getView().getModel().getDataEntityType()); - logger.info("单据编号"+this.getModel().getValue("billno")+"拉单成功,正在对编号"+cdm_drafttradebill.getString("billno")+"业务处理进行交易成功"); - if (cdm_drafttradebill!=null){ - List ids = new ArrayList<>(); - ids.add(cdm_drafttradebill.getLong("id")); - OperationResult operationResult = OperationServiceHelper.executeOperate("drawbillsave", - "cdm_drafttradebill", - ids.toArray(new Object[]{}), OperateOption.create());//确认完成 - if (operationResult.isSuccess()){ - //成功 - logger.info("单据编号"+cdm_drafttradebill.getString("billno")+"确认完成成功"); - }else { - //失败 - logger.info("单据编号"+cdm_drafttradebill.getString("billno")+"确认完成失败"); -// this.getView().showSuccessNotification("取消确认完成失败,请检查并手动取消完成"); - } - - } - SaveServiceHelper.save(new DynamicObject[]{this.getView().getModel().getDataEntity()}); - } else { - Push.showReport(this.getView(), args, result); - this.getView().getModel().setValue("shkd_ywcl",null); - } - - } - } - - /** - * 构建下推操作参数 - * @return - */ - protected ConvertOpParameter buildParameter(AbstractOperate draw){ - - ConvertOpParameter opParameter = new ConvertOpParameter(); - opParameter.setOpType(ConvertOpType.Draw); - - String entityNumber = this.getView().getEntityId(); - opParameter.setEntityNumber(entityNumber); - opParameter.setTargetBillPageId(this.getView().getPageId()); - - opParameter.setDefSourceBill("cdm_drafttradebill"); - opParameter.setDefRuleId("2236252254296354816"); - opParameter.getClearEntrys().addAll(new ArrayList()); - - // 直接选单,跳过选单界面:判断指定的源单、规则是否存在、启用 - List rules = this.loadRules("cdm_drafttradebill", entityNumber); - ConvertRuleElement defRule = null; - for(ConvertRuleElement rule : rules) { - if (!rule.isEnabled()) { - continue; - } - if ("2236252254296354816".equals(rule.getId())) { - defRule = rule; - break; - } - } - if (defRule != null) { - ConvertBill bill = new ConvertBill(); - bill.setEntityNumber("cdm_drafttradebill"); - bill.setEntityName("cdm_drafttradebill"); - - ConvertOpRule opRule = new ConvertOpRule(); - opRule.setRuleId(defRule.getId()); - bill.getRules().add(opRule); - - opParameter.getBills().add(bill); - } - - // 自定义参数 - if (draw.getOption() != null) { - opParameter.getCustomParams().putAll(draw.getOption().getVariables()); - } - - return opParameter; - } - - private List loadRules(String sourceEntityNumber, String targetEntityNumber) { - List rules = ConvertRuleCache.loadRules(sourceEntityNumber, targetEntityNumber); - List enableRules = new ArrayList(); - Iterator var5 = rules.iterator(); - - while(var5.hasNext()) { - ConvertRuleElement rule = (ConvertRuleElement)var5.next(); - if (rule.isEnabled()) { - enableRules.add(rule); - } - } - - return enableRules; - } @Override public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {