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

feat(swc): 新增薪资核算工具类实现日期和薪酬项目处理

Tyx 2 долоо хоног өмнө
parent
commit
28a94be3c1

+ 52 - 0
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/utils/SwcUtils.java

@@ -0,0 +1,52 @@
+package nckd.jxccl.swc.utils;
+
+import com.grapecity.documents.excel.H;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.hr.hbp.business.servicehelper.HRBaseServiceHelper;
+import nckd.jxccl.swc.constants.SwcConstant;
+
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.temporal.TemporalAdjusters;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class SwcUtils {
+
+    /**
+     * 根据入参日期获取所在年度最后一天
+     * @param inputDate
+     * @return
+     */
+    public static Date getLastDayOfYear(Date inputDate) {
+        LocalDate localDate = inputDate.toInstant()
+                .atZone(ZoneId.systemDefault())
+                .toLocalDate();
+        // 获取该年度最后一天
+        LocalDate lastDay = localDate.with(TemporalAdjusters.lastDayOfYear());
+
+        // 转换回Date
+        return Date.from(lastDay.atStartOfDay(ZoneId.systemDefault()).toInstant());
+    }
+
+
+    /**
+     * 根据薪酬项目编码获取薪酬项目ID
+     * @param itemNos
+     * @return
+     */
+    public static List<Long> getSalaryItemIdByNumber (List<String> itemNos) {
+        List<Long> itemIds = new ArrayList<Long>();
+        QFilter filter = new QFilter("number", QCP.in, itemNos);
+        DynamicObject[] items = SwcConstant.SALARYITEM_ENTITY.load("id", filter.toArray());
+        for(DynamicObject item : items) {
+            itemIds.add(item.getLong("id"));
+        }
+        return itemIds;
+    }
+
+
+}