소스 검색

1.招聘需求相关单据优化

Tyx 4 일 전
부모
커밋
87513943bd

+ 1 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/swc/hcdm/formplugin/web/AdjustJobBillEdit.java

@@ -526,6 +526,7 @@ public class AdjustJobBillEdit extends HRDataBaseEdit implements BeforeF7SelectL
                 model.setValue("nckd_salname", adjFile.getString("person.name"), rowNum);
                 model.setValue("nckd_salnumber", adjFile.getString("person.number"), rowNum);
                 model.setValue("nckd_standarditem", record.getDynamicObject("standarditem"), rowNum);
+                model.setValue("nckd_oldamount", record.getBigDecimal("amount"), rowNum);
             }
             model.endInit();
             this.getView().updateView("nckd_entryentity");

+ 33 - 7
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/swc/hcdm/formplugin/web/AdjustJobBillEffectOp.java

@@ -4,6 +4,8 @@ import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
 import kd.bos.entity.plugin.args.AfterOperationArgs;
+import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
+import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
 import kd.bos.exception.KDBizException;
 import kd.bos.logging.Log;
 import kd.bos.logging.LogFactory;
@@ -26,20 +28,25 @@ public class AdjustJobBillEffectOp extends AbstractOperationServicePlugIn implem
     private static DecAdjInfoServiceHelper helper = new DecAdjInfoServiceHelper();
     private static final Log log = LogFactory.getLog(AdjustJobBillEffectOp.class);
 
+    @Override
+    public void endOperationTransaction(EndOperationTransactionArgs e) {
+        super.endOperationTransaction(e);
+    }
+
     @Override
     public void afterExecuteOperationTransaction(AfterOperationArgs e) {
         super.afterExecuteOperationTransaction(e);
-        ScheduleExecutor scheduleExecutor = new ScheduleExecutor();
-        scheduleExecutor.setJobCustomParams("5/BIP+ZNTT/6", new HashMap(4));
-        scheduleExecutor.dispatch("5/BIRZNR2F16", ScheduleExecutor.isSerialWithJobTask("5/BIP+ZNTT/6"));
 
-        //薪酬调整处理
         DynamicObject[] bills = e.getDataEntities();
         for (DynamicObject bill : bills) {
+            bill = BusinessDataServiceHelper.loadSingle(bill.getPkValue(), bill.getDataEntityType().getName());
             DynamicObjectCollection entryCols = bill.getDynamicObjectCollection("nckd_entryentity");
             if(entryCols.size() > 0) {
-
+                int index = 1;
+                int successCount = 0;
                 for(DynamicObject entry : entryCols) {
+                    if(entry.getString("nckd_salsyncstatus").equals("1"))
+                        continue;
                     //定调薪信息
                     Long adjRecordId = entry.getLong("nckd_adjrecord.id");
                     DynamicObject adjRecord = BusinessDataServiceHelper.loadSingle(adjRecordId, "hcdm_salaryadjrecord");
@@ -52,15 +59,34 @@ public class AdjustJobBillEffectOp extends AbstractOperationServicePlugIn implem
                     List<Map<String, Object>> list = buildContent(bill, entry, adjRecord, relPerson);
                     Map<String, Object> returnMap = helper.saveDecAdjRecord(list);
                     if(!Boolean.valueOf(returnMap.get("success").toString())) {
-                        entry.set("nckd_synclog", returnMap.get("msg").toString());
+                        List dataList = (List) returnMap.get("data");
+                        Map dataMap = (Map) dataList.get(0);
+                        entry.set("nckd_synclog",dataMap.get("errormsg").toString());
+                        //bill.set("billstatus", "B");
+                        //SaveServiceHelper.save(new DynamicObject[]{bill});
+                        //throw new KDBizException("第"+ index + "行同步定调薪信息出错:" + dataMap.get("errormsg").toString());
+                        //
                     }
                     else {
+                        successCount++;
                         entry.set("nckd_salsyncstatus", "1");
                     }
+                    index++;
                 }
-                SaveServiceHelper.save(bills);
+
+                if(successCount != entryCols.size()) {
+                    bill.set("billstatus", "B");
+                    SaveServiceHelper.save(new DynamicObject[]{bill});
+                    throw new KDBizException("定调薪信息出错,请查看薪酬调整明细同步薪酬日志");
+                }
+
+                SaveServiceHelper.save(new DynamicObject[]{bill});
             }
         }
+
+        ScheduleExecutor scheduleExecutor = new ScheduleExecutor();
+        scheduleExecutor.setJobCustomParams("5/BIP+ZNTT/6", new HashMap(4));
+        scheduleExecutor.dispatch("5/BIRZNR2F16", ScheduleExecutor.isSerialWithJobTask("5/BIP+ZNTT/6"));
     }
 
     /**

+ 31 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/tsrsc/plugin/form/CommonSetCurrentPersonPlugin.java

@@ -0,0 +1,31 @@
+package nckd.jimin.jyyy.hr.tsrsc.plugin.form;
+
+import kd.bos.entity.datamodel.IDataModel;
+import kd.bos.form.plugin.AbstractFormPlugin;
+import kd.bos.servicehelper.user.UserServiceHelper;
+import kd.hrmp.hrpi.business.domian.service.impl.PersonServiceImpl;
+import kd.sdk.plugin.Plugin;
+
+import java.util.EventObject;
+import java.util.Map;
+
+/**
+ * 通用复制当前人员插件
+ * 默认人员标识- nckd_curperson
+ * @author :Tyx
+ * @since :2025-06-30
+ */
+public class CommonSetCurrentPersonPlugin extends AbstractFormPlugin implements Plugin {
+
+    @Override
+    public void afterCreateNewData(EventObject e) {
+        super.afterCreateNewData(e);
+        Long userId = UserServiceHelper.getCurrentUserId();
+        Map<String, Object> map = PersonServiceImpl.getInstance().getPersonModelIdByUserId(userId);
+        if(Boolean.valueOf(map.get("success").toString())) {
+            IDataModel model = this.getModel();
+            Long personId = Long.valueOf(((Map) map.get("data")).get("person").toString());
+            model.setValue("nckd_curperson", personId);
+        }
+    }
+}