Bläddra i källkod

refactor(helper): 提取通用工具类并优化代码结构

- 移除冗余的导入包,如 ErrorLevel、ValidationErrorInfo 等
- 新增 SWCHelper 工具类,封装常用的查询和判空逻辑
- 替换原有 CalPayrollTaskHelper 和 SWCDataServiceHelper 调用为 SWCHelper 方法
- 统一使用 SWCHelper.isEmpty 判断集合是否为空
- 通过工具类复用 queryTaskInfoById 和 queryOne 方法,提升代码可维护性
turborao 1 vecka sedan
förälder
incheckning
c458b80cdb

+ 62 - 0
code/base/nckd-jxccl-base-helper/src/main/java/nckd/jxccl/base/swc/helper/SWCHelper.java

@@ -0,0 +1,62 @@
+package nckd.jxccl.base.swc.helper;
+
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.logging.Log;
+import kd.bos.logging.LogFactory;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+
+import java.util.List;
+
+public class SWCHelper {
+
+    private static final Log log = LogFactory.getLog(SWCHelper.class);
+    /**
+     * 根据任务ID查询任务信息
+     * @param id
+     * @return
+     */
+    public static DynamicObject queryTaskInfoById(Long id) {
+        String selPros = "id,number,taskstatus, name, startdate, enddate, ishandleproration,taxitemschemev,country,org,calrulev,paysubjectv,calversionno,tasktype,payrollgroupv.currency.amtprecision,islimitadd,payrollgroupv.currency.name";
+        return queryOne(selPros,"hsas_calpayrolltask", id);
+    }
+
+    /**
+     * 查询单条数据
+     * @param selectProperties
+     * @param entityName
+     * @param pk
+     */
+    public static DynamicObject queryOne(String selectProperties,String entityName, Object pk) {
+        try {
+            return BusinessDataServiceHelper.loadSingle(pk, entityName, selectProperties);
+        } catch (RuntimeException var4) {
+            log.error("Error occurs when query {}[{}]", entityName, pk);
+            return null;
+        }
+    }
+
+    /**
+     * 查询单条数据
+     * @param entityName
+     * @param pk
+     * @return
+     */
+    public static DynamicObject queryOne(String entityName,Object pk) {
+        try {
+            return BusinessDataServiceHelper.loadSingle(pk, entityName);
+        } catch (RuntimeException var3) {
+            log.error("Error occurs when query {}[{}]", entityName, pk);
+            return null;
+        }
+    }
+
+    /**
+     * 判断集合是否为空
+     * @param list
+     * @return
+     */
+    public static <T> boolean isEmpty(List<T> list) {
+        return null == list || list.size() == 0;
+    }
+
+}

+ 5 - 9
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/business/CalResultCoverSalaryItemExtPlugin.java

@@ -10,11 +10,7 @@ import kd.bos.servicehelper.parameter.SystemParamServiceHelper;
 import kd.bos.servicehelper.permission.PermissionServiceHelper;
 import kd.sdk.swc.hsas.business.extpoint.payroll.ICalPersonCalResultCoverExtPlugin;
 import kd.sdk.swc.hsas.common.events.calperson.CalResultCoverSalaryItemEventArgs;
-
-import kd.swc.hsas.business.calpayrolltask.CalPayrollTaskHelper;
-import kd.swc.hsbp.business.servicehelper.SWCDataServiceHelper;
-import kd.swc.hsbp.common.util.SWCListUtils;
-
+import nckd.jxccl.base.swc.helper.SWCHelper;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -49,12 +45,12 @@ public class CalResultCoverSalaryItemExtPlugin implements ICalPersonCalResultCov
         List<Long> userIdList = PermissionServiceHelper.getUsersByRoleNum(wtc_cal_account);
 
         Long taskId = event.getCalTaskId();
-        DynamicObject task = CalPayrollTaskHelper.queryTaskInfoById(taskId);
+        DynamicObject task = SWCHelper.queryTaskInfoById(taskId);
         DynamicObject calRuleHisObj = task.getDynamicObject("calrulev");
         if (calRuleHisObj != null && calRuleHisObj.getLong("id") > 0L && userIdList.contains(userId)) {
-            SWCDataServiceHelper helper = new SWCDataServiceHelper("hsas_calrule");
-            DynamicObject calRulev = helper.queryOne(calRuleHisObj.getLong("id"));
-            if (calRulev != null && !SWCListUtils.isEmpty(calRulev.getDynamicObjectCollection("calruleitementry"))) {
+
+            DynamicObject calRulev = SWCHelper.queryOne("hsas_calrule",calRuleHisObj.getLong("id"));
+            if (calRulev != null && !SWCHelper.isEmpty(calRulev.getDynamicObjectCollection("calruleitementry"))) {
                 DynamicObjectCollection calRuleItemEntry = calRulev.getDynamicObjectCollection("calruleitementry");
                 for (DynamicObject dataItem: calRuleItemEntry ) {
                     boolean isAccount = dataItem.getBoolean("nckd_cbaccount");

+ 0 - 1
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/plugin/operate/BaseMedicalAllowanceOpPlugin.java

@@ -2,7 +2,6 @@ package nckd.jxccl.swc.init.plugin.operate;
 
 import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
 import kd.bos.entity.plugin.args.AfterOperationArgs;
-import kd.bos.entity.plugin.args.BeforeOperationArgs;
 import kd.bos.entity.validate.ErrorLevel;
 import kd.bos.entity.validate.ValidationErrorInfo;
 import kd.sdk.plugin.Plugin;

+ 0 - 1
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/plugin/operate/SalaryAdjDelivaryDateValidator.java

@@ -1,7 +1,6 @@
 package nckd.jxccl.swc.init.plugin.operate;
 
 import kd.bos.dataentity.entity.DynamicObject;
-import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.ExtendedDataEntity;
 import kd.bos.entity.validate.AbstractValidator;
 import kd.bos.ext.fi.bei.util.EmptyUtil;

+ 0 - 2
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/plugin/other/BaseMedicalAllowanceTask.java

@@ -1,8 +1,6 @@
 package nckd.jxccl.swc.init.plugin.other;
 
 import kd.bos.context.RequestContext;
-import kd.bos.entity.validate.ErrorLevel;
-import kd.bos.entity.validate.ValidationErrorInfo;
 import kd.bos.exception.KDException;
 import kd.bos.logging.Log;
 import kd.bos.logging.LogFactory;