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