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

业务处理单资产调拨调出组织控制

wanwei 5 сар өмнө
parent
commit
32a243eb10

+ 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);
+            }
         }
     }