Эх сурвалжийг харах

Merge branch 'master' of http://111.75.220.136:10030/turborao/jyyy

wangjun 22 цаг өмнө
parent
commit
f72621cb33

+ 12 - 1
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/common/CommonHelperUtils.java → code/base/nckd-jimin-base-helper/src/main/java/nckd/base/helper/CommonHelperUtils.java

@@ -1,4 +1,4 @@
-package nckd.jimin.jyyy.fi.common;
+package nckd.base.helper;
 
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
@@ -10,7 +10,18 @@ import org.apache.commons.lang3.ObjectUtils;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+
+/**
+ * 工具类
+ * @author wanghaiwu_kd
+ * @date 2025/04/23
+ */
 public class CommonHelperUtils {
+    /**
+     * 根据单据编号获取客户化配置
+     * @param number
+     * @return
+     */
     public static Map<String, String> getCommonParams(String number){
         String selectField = "nckd_entryentity.nckd_key, nckd_entryentity.nckd_value";
 

+ 0 - 30
code/jyyy/nckd-jimin-jyyy-bd/src/main/java/nckd/jimin/jyyy/bd/common/CommonHelperUtils.java

@@ -1,30 +0,0 @@
-package nckd.jimin.jyyy.bd.common;
-
-import kd.bos.dataentity.entity.DynamicObject;
-import kd.bos.dataentity.entity.DynamicObjectCollection;
-import kd.bos.orm.query.QCP;
-import kd.bos.orm.query.QFilter;
-import kd.bos.servicehelper.BusinessDataServiceHelper;
-import org.apache.commons.lang3.ObjectUtils;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-public class CommonHelperUtils {
-    public static Map<String, String> getCommonParams(String number){
-        String selectField = "nckd_entryentity.nckd_key, nckd_entryentity.nckd_value";
-
-        QFilter qFilter = new QFilter("number", QCP.equals, number);
-        DynamicObject commonParam = BusinessDataServiceHelper.loadSingle("nckd_commonparams", selectField, qFilter.toArray());
-        if (ObjectUtils.isEmpty(commonParam)) {
-            return null;
-        }
-
-        DynamicObjectCollection entryentity = commonParam.getDynamicObjectCollection("nckd_entryentity");
-        if(entryentity == null || entryentity.size() == 0){
-            return null;
-        }
-        Map<String, String> mapentity = entryentity.stream().collect(Collectors.toMap(k -> k.getString("nckd_key"), v -> v.getString("nckd_value")));
-
-        return mapentity;
-    }
-}

+ 2 - 1
code/jyyy/nckd-jimin-jyyy-bd/src/main/java/nckd/jimin/jyyy/bd/task/SynSupplierFromSAPTask.java

@@ -22,7 +22,8 @@ import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
 import kd.bos.servicehelper.operation.OperationServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
 import kd.bos.util.StringUtils;
-import nckd.jimin.jyyy.bd.common.CommonHelperUtils;
+import nckd.base.helper.CommonHelperUtils;
+
 import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;

+ 49 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/DailyApplyBillEditPlugin.java

@@ -0,0 +1,49 @@
+package nckd.jimin.jyyy.fi.plugin.form;
+
+import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.entity.property.BasedataProp;
+import kd.bos.form.field.BasedataEdit;
+import kd.bos.form.field.events.BeforeF7SelectEvent;
+import kd.bos.form.field.events.BeforeF7SelectListener;
+import kd.bos.list.ListFilterParameter;
+import kd.bos.list.ListShowParameter;
+import kd.bos.orm.query.QFilter;
+
+import java.util.EventObject;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 单据标识:费用申请单(nckd_er_dailyapplybil_ext)
+ * @author wanghaiwu_kd
+ * @date 2025/04/28
+ */
+public class DailyApplyBillEditPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
+    public void registerListener(EventObject e) {
+        super.registerListener(e);
+
+        BasedataEdit loanBandF7 = (BasedataEdit)this.getControl("expenseitem");
+        loanBandF7.addBeforeF7SelectListener(this);
+    }
+
+    @Override
+    public void beforeF7Select(BeforeF7SelectEvent evt) {
+        String property = evt.getProperty().getName();
+        String entityId = ((BasedataProp) evt.getProperty()).getBaseEntityId();
+        int curRowIndex = evt.getRow();
+
+        if("expenseitem".equals(property)) {
+            ListShowParameter showParameter = (ListShowParameter) evt.getFormShowParameter();
+            ListFilterParameter filterParam = showParameter.getListFilterParameter();
+            List<QFilter> qFilters = filterParam.getQFilters();
+
+            Map<String, Object> customParams = this.getView().getFormShowParameter().getCustomParams();
+            if(customParams.get("nckd_viewTypeFilter") != null){
+                QFilter viewTypeFilter = QFilter.fromSerializedString(customParams.get("nckd_viewTypeFilter").toString());
+
+                qFilters.add(viewTypeFilter);
+            }
+
+        }
+    }
+}

+ 58 - 38
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/PayBigCategoryFormPlugin.java

@@ -1,20 +1,20 @@
 package nckd.jimin.jyyy.fi.plugin.form;
 
+import com.kingdee.util.StringUtils;
 import kd.bos.bill.BillOperationStatus;
 import kd.bos.bill.BillShowParameter;
 import kd.bos.bill.OperationStatus;
 import kd.bos.form.ShowType;
 import kd.bos.form.control.Control;
-import kd.bos.form.control.Image;
 import kd.bos.form.control.events.ItemClickEvent;
 import kd.bos.form.plugin.AbstractFormPlugin;
 import kd.bos.logging.Log;
 import kd.bos.logging.LogFactory;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
-import java.util.Arrays;
-import java.util.EventObject;
-import java.util.List;
+import nckd.base.helper.CommonHelperUtils;
+
+import java.util.*;
 
 /**
  * 插件说明:表单插件
@@ -24,19 +24,35 @@ import java.util.List;
  */
 public class PayBigCategoryFormPlugin extends AbstractFormPlugin {
     private static final Log logger = LogFactory.getLog(PayBigCategoryFormPlugin.class);
-    private static final List<String> operatorKeys = Arrays.asList(
-            "nckd_imageap5", "nckd_imageap51"
-    );
+    private static Map<String, String> mapEntity = null;
+
+    private static Map<String, String> mapFilter = null;
+
+    @Override
+    public void afterBindData(EventObject e) {
+        super.afterBindData(e);
+
+        getBtnImgValues();
+    }
+
+    private void getBtnImgValues(){
+        mapEntity = CommonHelperUtils.getCommonParams("fi-paycategoryentity");
+        mapFilter = CommonHelperUtils.getCommonParams("fi-paycategoryfilter");
+    }
+
 
-    private static final List<String> neetDefaultFilterKeys = Arrays.asList(
-            ""
-    );
 
     @Override
     public void registerListener(EventObject e) {
         super.registerListener(e);
 
-        this.addClickListeners(operatorKeys.toArray(new String[]{}));
+        List<String> btnImages = new ArrayList<>();
+
+        mapEntity.forEach((key, value) -> btnImages.add(key));
+
+        this.addClickListeners(btnImages.toArray(new String[]{}));
+//        Image image1 = this.getControl("nckd_imageap5");
+//        image1.addClickListener(this);
     }
 
     @Override
@@ -46,24 +62,29 @@ public class PayBigCategoryFormPlugin extends AbstractFormPlugin {
         String imageKey = source.getKey();
 
         //图片按钮
-        if(operatorKeys.contains(imageKey)){
-            String formId = getFormId(imageKey);
-            BillShowParameter parameter = new BillShowParameter();
+        if(mapEntity != null && mapEntity.containsKey(imageKey)){
+            String formId = mapEntity.get(imageKey);
+            if(!StringUtils.isEmpty(formId)){
+                BillShowParameter parameter = new BillShowParameter();
 
-            parameter.setFormId(formId);
-            parameter.setBillStatus(BillOperationStatus.ADDNEW);
-            parameter.setStatus(OperationStatus.ADDNEW);
+                parameter.setFormId(formId);
+                parameter.setBillStatus(BillOperationStatus.ADDNEW);
+                parameter.setStatus(OperationStatus.ADDNEW);
 
-            if(neetDefaultFilterKeys.contains(imageKey)) {
-                QFilter defaultFilter = getDefaultQFilter(imageKey);
-                parameter.setCustomParam("defaultFilter", defaultFilter);
-            }
+                if(mapFilter != null && mapFilter.containsKey(imageKey)) {
+                    QFilter viewTypeQFilter = getViewTypeQFilter(imageKey);
 
-            parameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
+                    //费用大类过滤
+                    if(viewTypeQFilter != null) {
+                        parameter.setCustomParam("nckd_viewTypeFilter", viewTypeQFilter.toSerializedString());
+                    }
+                }
 
-            this.getView().showForm(parameter);
-        }
+                parameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
 
+                this.getView().showForm(parameter);
+            }
+        }
     }
 
     @Override
@@ -74,23 +95,22 @@ public class PayBigCategoryFormPlugin extends AbstractFormPlugin {
     public String getFormId(String openType){
         String formId = "";
 
-        switch(openType){
-            case "nckd_imageap5":
-                //出差申请单
-                formId = "er_tripreqbill";
-                break;
-            case "nckd_imageap51":
-                //差旅报销单
-                formId = "er_tripreimbursebill";
-                break;
-        }
-
         return formId;
     }
 
-    public QFilter getDefaultQFilter(String openType){
-        QFilter qFilter = new QFilter("enbale", QCP.equals, "1");
+    public QFilter getViewTypeQFilter(String openType){
+        if(mapFilter == null){
+            return null;
+        }
+
+        String filterValue = mapFilter.get(openType);
+        if(StringUtils.isEmpty(filterValue)) {
+            return null;
+        }
+        String[] typeStrings = filterValue.split(",");
+
+        QFilter filer = new QFilter("nckd_payviewtype.number", QCP.in, typeStrings);
 
-        return qFilter;
+        return filer;
     }
 }

+ 50 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/PublicReimburseBillFormPlugin.java

@@ -0,0 +1,50 @@
+package nckd.jimin.jyyy.fi.plugin.form;
+
+import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.entity.property.BasedataProp;
+import kd.bos.form.field.BasedataEdit;
+import kd.bos.form.field.events.BeforeF7SelectEvent;
+import kd.bos.form.field.events.BeforeF7SelectListener;
+import kd.bos.list.ListFilterParameter;
+import kd.bos.list.ListShowParameter;
+import kd.bos.orm.query.QFilter;
+
+import java.util.EventObject;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 单据标识:对公报销单(nckd_er_publicreimbur_ext)
+ * @author wanghaiwu_kd
+ * @date 2025/04/28
+ */
+public class PublicReimburseBillFormPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
+    @Override
+    public void registerListener(EventObject e) {
+        super.registerListener(e);
+
+        BasedataEdit loanBandF7 = (BasedataEdit)this.getControl("expenseitem");
+        loanBandF7.addBeforeF7SelectListener(this);
+    }
+
+    @Override
+    public void beforeF7Select(BeforeF7SelectEvent evt) {
+        String property = evt.getProperty().getName();
+        String entityId = ((BasedataProp) evt.getProperty()).getBaseEntityId();
+        int curRowIndex = evt.getRow();
+
+        if ("expenseitem".equals(property)) {
+            ListShowParameter showParameter = (ListShowParameter) evt.getFormShowParameter();
+            ListFilterParameter filterParam = showParameter.getListFilterParameter();
+            List<QFilter> qFilters = filterParam.getQFilters();
+
+            Map<String, Object> customParams = this.getView().getFormShowParameter().getCustomParams();
+            if (customParams.get("nckd_viewTypeFilter") != null) {
+                QFilter viewTypeFilter = (QFilter) customParams.get("nckd_viewTypeFilter");
+
+                qFilters.add(viewTypeFilter);
+            }
+
+        }
+    }
+}

+ 0 - 5
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/webapi/AttachmentFileUtil.java

@@ -12,13 +12,8 @@ import kd.bos.logging.LogFactory;
 import kd.bos.servicehelper.AttachmentServiceHelper;
 import kd.bos.servicehelper.MetadataServiceHelper;
 import kd.bos.util.FileNameUtils;
-import com.jcraft.jsch.ChannelSftp;
-import com.jcraft.jsch.JSch;
-import com.jcraft.jsch.Session;
-import java.util.Properties;
 import nckd.jimin.jyyy.fi.common.CommonHelperUtils;
 
-
 import java.io.*;
 import java.net.HttpURLConnection;
 import java.net.URL;