Ver código fonte

Merge remote-tracking branch 'origin/master'

xuhao 5 meses atrás
pai
commit
c01065928c

+ 16 - 0
src/main/java/fi/em/formPlugin/BusinessPdF7FormPlugin.java

@@ -1,6 +1,7 @@
 package fi.em.formPlugin;
 
 import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.context.RequestContext;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.form.field.BasedataEdit;
@@ -9,6 +10,8 @@ import kd.bos.form.field.events.BeforeF7SelectListener;
 import kd.bos.list.ListShowParameter;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
+import kd.bos.permission.api.HasPermOrgResult;
+import kd.bos.servicehelper.user.UserServiceHelper;
 import kd.sdk.plugin.Plugin;
 import org.apache.commons.lang.StringUtils;
 
@@ -22,7 +25,9 @@ public class BusinessPdF7FormPlugin extends AbstractBillPlugIn implements Plugin
         super.registerListener(e);
         // 侦听基础资料字段的事件
         BasedataEdit fieldEdit = this.getView().getControl("nckd_basedatafield18");
+        BasedataEdit fieldEdit1 = this.getView().getControl("nckd_orgfield1");
         fieldEdit.addBeforeF7SelectListener(this);
+        fieldEdit1.addBeforeF7SelectListener(this);
     }
 
     @Override
@@ -45,6 +50,17 @@ public class BusinessPdF7FormPlugin extends AbstractBillPlugIn implements Plugin
                 showParameter.setShowApproved(false);
                 showParameter.getListFilterParameter().setFilter(qFilter);
             }
+        } else if (StringUtils.equals(fieldKey, "nckd_orgfield1")) {
+            long lUserId = Long.parseLong(RequestContext.get().getUserId());
+
+            HasPermOrgResult hasPermOrgResult = UserServiceHelper.getUserChangeAbleOrg(lUserId, true);
+
+            List<Long> getHasPermOrgs = hasPermOrgResult.getHasPermOrgs();
+
+            // 表过滤条件
+            QFilter qFilter = new QFilter("id", QCP.in, getHasPermOrgs);
+            ListShowParameter showParameter = (ListShowParameter)beforeF7SelectEvent.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(qFilter);
         }
     }
 }

+ 17 - 0
src/main/java/fi/em/formPlugin/BusinessProcessingSplitPlugin.java

@@ -3,6 +3,7 @@ package fi.em.formPlugin;
 import com.alibaba.druid.util.StringUtils;
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
+import kd.bos.context.RequestContext;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.datamodel.events.BeforeImportEntryEventArgs;
@@ -13,6 +14,8 @@ import kd.bos.form.plugin.importentry.resolving.ImportEntryData;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.bos.servicehelper.user.UserServiceHelper;
+
 import java.util.*;
 
 
@@ -47,6 +50,20 @@ public class BusinessProcessingSplitPlugin extends AbstractFormPlugin {
                     this.getModel().setValue("nckd_integerfield1", 0);
                 }
             }
+        } else if (StringUtils.equals("nckd_detailtype", fieldKey)) {
+            //获取变更的数据
+            ChangeData changeData = e.getChangeSet()[0];
+            String nckd_detailtype = (String) changeData.getNewValue();
+            if (StringUtils.equals(nckd_detailtype, "E")) {
+                //当前用户
+                Long currentUserId = UserServiceHelper.getCurrentUserId();
+                // 当前用户组织
+                Long id = RequestContext.get().getOrgId();
+                //调出组织
+                this.getModel().setValue("nckd_orgfield1", id);
+            }else {
+                this.getModel().setValue("nckd_orgfield1", null);
+            }
         }
     }
 

+ 15 - 1
src/main/java/fi/em/formPlugin/SalaryDataSelectPlugin.java

@@ -16,7 +16,10 @@ import kd.bos.form.events.ClosedCallBackEvent;
 import kd.bos.form.field.TextEdit;
 import kd.bos.form.operate.AbstractOperate;
 import kd.bos.form.plugin.AbstractFormPlugin;
+import kd.bos.list.ListFilterParameter;
 import kd.bos.list.ListShowParameter;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 
 import java.util.EventObject;
@@ -36,7 +39,6 @@ public class SalaryDataSelectPlugin extends AbstractFormPlugin {
         // 对选择计提单按钮添加点击监听
         TextEdit textEdit = getControl("nckd_selectdata");
         textEdit.addClickListener(this);
-
     }
 
     @Override
@@ -44,12 +46,24 @@ public class SalaryDataSelectPlugin extends AbstractFormPlugin {
         super.click(evt);
         Control control = (Control) evt.getSource();
         String key = control.getKey();
+        //当前表单数据
+        DynamicObject dynamicObject=this.getModel().getDataEntity(true);
         //点击计提单数据库选择
         if (StringUtils.equalsIgnoreCase("nckd_selectdata", key)) {
             //薪酬计提数据
             ListShowParameter parameter = ShowFormHelper.createShowListForm("nckd_salarydis", false);
             parameter.getListFilterParameter().setOrderBy("nckd_bizdate Desc");
             parameter.setCloseCallBack(new CloseCallBack(this, "actionid"));
+            //设置过滤条件
+            ListFilterParameter listFilterParameter = new ListFilterParameter();
+            //支付组织
+            String nckd_zijinzz=dynamicObject.getString("nckd_zijinzz.number");
+            //分录类型
+            String nckd_entrytype=dynamicObject.getString("nckd_entrytype");
+            QFilter qFilter=new QFilter("nckd_zijinzz.number",QCP.equals,nckd_zijinzz);
+            qFilter.and("nckd_entrytype",QCP.equals,nckd_entrytype);
+            listFilterParameter.setFilter(qFilter);
+            parameter.setListFilterParameter(listFilterParameter);
             getView().showForm(parameter);
         }