Browse Source

新增还款单表单插件

wanghaiwu 1 tuần trước cách đây
mục cha
commit
85a86a6ab2

+ 60 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/ErRepaymentBillCusEditPlugin.java

@@ -0,0 +1,60 @@
+package nckd.jimin.jyyy.fi.plugin.form;
+
+import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.bill.BillShowParameter;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.ext.fi.plugin.ArApConvert.util.EmptyUtils;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.bos.util.StringUtils;
+import java.util.Arrays;
+import java.util.EventObject;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 单据标识:还款单(nckd_er_repaymentbill_ext)
+ * @author wanghaiwu_kd
+ * @date 2025/06/05
+ */
+public class ErRepaymentBillCusEditPlugin extends AbstractBillPlugIn {
+    @Override
+    public void afterCreateNewData(EventObject e) {
+        super.afterCreateNewData(e);
+
+        Map<String, Object> customParams = this.getView().getFormShowParameter().getCustomParams();
+        BillShowParameter parameter = new BillShowParameter();
+        String formId = "";
+        if(EmptyUtils.isNotEmpty(customParams.get("formId"))){
+            formId =customParams.get("formId").toString();
+            parameter.setFormId(formId);
+            if(StringUtils.isNotEmpty(formId)) {
+                this.getModel().setValue("nckd_pageid", formId);
+            }
+
+            //如果是预付退款,还款类型设置为预付退款
+            if("nckd_refundbill".equals(formId)){
+                this.getModel().setValue("reimbursetype", "prepayrefund");
+            }
+        }
+
+        if(customParams.get("viewType") != null){
+            String[] typeStrings = customParams.get("viewType").toString().split(",");
+            QFilter qFilter = new QFilter("number", QCP.in, typeStrings);
+            DynamicObject[] viewTypeCols = BusinessDataServiceHelper.load("nckd_payviewtype", "id, number, name", qFilter.toArray());
+            if(viewTypeCols != null && viewTypeCols.length > 0){
+                //页面类型赋值
+                this.getModel().setValue("nckd_payviewtype", viewTypeCols[0]);
+
+                List<Long> idList = Arrays.stream(viewTypeCols)
+                        .map(type ->  type.getLong("id"))
+                        .collect(Collectors.toList());
+                Object[] basedataIds = idList.toArray();
+                //页面类型多选赋值
+                this.getModel().setValue("nckd_payviewtypemul", basedataIds);
+            }
+        }
+    }
+}