Explorar o código

feat(salary-adjustment): enhance pending salary adjustment list plugin

- Add import statements for operation event handling classes
- Implement beforeDoOperation to refresh adjust bill data
- Implement afterDoOperation to handle apply, flag, ignore and clean operations
- Remove redundant field from select statement when querying enrollment bills
- Correct position ID mapping from job to position entity in data processing
turborao hai 6 días
pai
achega
8b3478a2d8

+ 37 - 2
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/plugin/form/PendingSalaryAdjListPlugin.java

@@ -3,6 +3,9 @@ package nckd.jxccl.swc.init.plugin.form;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.param.CustomParam;
+import kd.bos.form.events.AfterDoOperationEventArgs;
+import kd.bos.form.events.BeforeDoOperationEventArgs;
+import kd.bos.form.operate.FormOperate;
 import kd.bos.list.plugin.AbstractListPlugin;
 import kd.bos.logging.Log;
 import kd.bos.logging.LogFactory;
@@ -72,6 +75,38 @@ public class PendingSalaryAdjListPlugin extends AbstractListPlugin implements Pl
 
     }
 
+    @Override
+    public void beforeDoOperation(BeforeDoOperationEventArgs args) {
+        super.beforeDoOperation(args);
+
+        FormOperate formOperate = (FormOperate)args.getSource();
+        String key = formOperate.getOperateKey();
+        switch (key) {
+            case "refresh":
+                //加载入职单与调动单的数据
+                getAdjustBillData();
+                break;
+
+        }
+    }
+
+    @Override
+    public void afterDoOperation(AfterDoOperationEventArgs args) {
+        super.afterDoOperation(args);
+        FormOperate formOperate = (FormOperate)args.getSource();
+        String key = formOperate.getOperateKey();
+        switch (key) {
+            case "apply_adj":
+                break;
+            case "flag_adj":
+                break;
+            case "flag_ignore":
+                break;
+            case "cleanflag":
+                break;
+        }
+    }
+
     /**
      * 获取入职单与调动单的数据
      */
@@ -86,7 +121,7 @@ public class PendingSalaryAdjListPlugin extends AbstractListPlugin implements Pl
         /**
          * 查询入职单
          */
-        String selectField2 = "id,billno,b_effectivedate,ba_em_tid,ba_em_empnumber,ba_em_name,ba_po_position.id,ba_po_adminorg,ba_po_job.id,ajoblevel.id,ba_po_position.nckd_postgrade.id,ba_po_job.jobseq.id";
+        String selectField2 = "id,billno,b_effectivedate,ba_em_tid,ba_em_empnumber,ba_em_name,ba_po_position.id,ba_po_adminorg,ba_po_job.id,ajoblevel.id,ba_po_job.jobseq.id";
         QFilter qFilter1 = new QFilter("enrollstatus", QCP.equals, "3"); // 入职状态 = 已入职
         QFilter qFilter2 = new QFilter("billstatus", QCP.equals, "C"); // 单据状态 = 已审核
         QFilter qFilter3 = new QFilter("b_effectivedate", QCP.large_equals, daysAgo);
@@ -130,7 +165,7 @@ public class PendingSalaryAdjListPlugin extends AbstractListPlugin implements Pl
             dyn.set("nckd_changedate", onhasonbrdDyn.getDate("b_effectivedate"));
             dyn.set("nckd_salaryadjus", salaryTypeDyns.get(0).getLong("id"));  //定调薪类型
             dyn.set("nckd_newhradminorg", onhasonbrdDyn.getLong("ba_po_adminorg"));  //部门
-            dyn.set("nckd_newposition", onhasonbrdDyn.getLong("ba_po_job.id"));  //岗位
+            dyn.set("nckd_newposition", onhasonbrdDyn.getLong("ba_po_position.id"));  //岗位
             dyn.set("nckd_newjoblevel", onhasonbrdDyn.getLong("ajoblevel.id"));  //职级
             dyn.set("nckd_newjobseqhr", onhasonbrdDyn.getLong("ba_po_job.jobseq.id"));  //职位序列
             onhasonbrdCount++;