Przeglądaj źródła

refactor(sit): 标品类替换

Tyx 1 tydzień temu
rodzic
commit
6058f3862d

+ 74 - 0
code/base/nckd-jxccl-base-helper/src/main/java/nckd/jxccl/base/sit/helper/SITExportDataHelper.java

@@ -0,0 +1,74 @@
+package nckd.jxccl.base.sit.helper;
+
+import kd.bos.context.RequestContext;
+import kd.bos.exception.KDBizException;
+import kd.bos.fileservice.FileItem;
+import kd.bos.fileservice.FileService;
+import kd.bos.fileservice.FileServiceFactory;
+import kd.bos.logging.Log;
+import kd.bos.logging.LogFactory;
+import kd.bos.url.UrlService;
+import kd.bos.util.FileNameUtils;
+import org.apache.commons.lang.exception.ExceptionUtils;
+import org.apache.poi.ss.usermodel.Workbook;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class SITExportDataHelper {
+
+    private static Log logger = LogFactory.getLog(SITExportDataHelper.class);
+
+
+    public static String storeFile(Workbook wb, String fileName) {
+        ByteArrayOutputStream outStream = null;
+        ByteArrayInputStream inStream = null;
+
+        String url;
+        try {
+            fileName = fileName + ".xlsx";
+            outStream = new ByteArrayOutputStream();
+            wb.write(outStream);
+            outStream.flush();
+            inStream = new ByteArrayInputStream(outStream.toByteArray());
+            FileService fileService = FileServiceFactory.getAttachmentFileService();
+            RequestContext requestContext = RequestContext.get();
+            String pathParam = FileNameUtils.getAttachmentFileName(requestContext.getTenantId(), requestContext.getAccountId(), "salaryFile", fileName);
+            String path = fileService.upload(new FileItem(fileName, pathParam, inStream));
+            url = UrlService.getAttachmentFullUrl(path);
+        } catch (Exception var17) {
+            logger.error("storeFile error", var17);
+            throw new KDBizException(ExceptionUtils.getFullStackTrace(var17));
+        } finally {
+            closeSafely(outStream, inStream);
+
+            try {
+                wb.close();
+            } catch (Exception e) {
+            }
+
+        }
+
+        return url;
+    }
+
+    public static void closeSafely(OutputStream os, InputStream in) {
+        if (os != null) {
+            try {
+                os.close();
+            } catch (Exception e) {
+            }
+        }
+
+        if (in != null) {
+            try {
+                in.close();
+            } catch (Exception e1) {
+            }
+        }
+
+    }
+
+}

+ 78 - 26
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/sit/hcsi/business/importtaskguide/ImportTaskGuideExportService.java

@@ -1,8 +1,10 @@
 package nckd.jxccl.sit.hcsi.business.importtaskguide;
 
 import com.google.common.collect.Lists;
+import com.kingdee.util.DateTimeUtils;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.resource.ResManager;
+import kd.bos.dataentity.utils.StringUtils;
 import kd.bos.exception.ErrorCode;
 import kd.bos.exception.KDException;
 import kd.bos.form.FormShowParameter;
@@ -11,27 +13,21 @@ import kd.bos.logging.Log;
 import kd.bos.logging.LogFactory;
 import kd.bos.orm.query.QFilter;
 import kd.bos.orm.util.CollectionUtils;
-import kd.swc.hsas.business.cal.export.SWCExportDataHelper;
-import kd.swc.hsas.business.cal.service.CalResultCoverImportService;
-import kd.swc.hsbp.common.enums.DataTypeEnum;
 import kd.swc.hsbp.common.enums.SWCShowType;
-import kd.swc.hsbp.common.enums.WriteTaskTypeEnum;
-import kd.swc.hsbp.common.util.SWCDateTimeUtils;
 import kd.swc.hsbp.common.util.SWCStringUtils;
+import nckd.jxccl.base.sit.helper.SITExportDataHelper;
 import nckd.jxccl.sit.hcsi.business.importtaskguide.utils.ImportTaskUtils;
+import nckd.jxccl.sit.hcsi.common.constant.enums.DataTypeEnum;
+import nckd.jxccl.sit.hcsi.common.constant.enums.SITShowType;
 import nckd.jxccl.sit.hcsi.formplugin.web.tp.enums.SinsurPresetItemEnum;
 import org.apache.poi.hssf.util.HSSFColor;
-import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.Comment;
-import org.apache.poi.ss.usermodel.Font;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
+import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.streaming.*;
 import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
 import org.apache.poi.xssf.usermodel.XSSFRichTextString;
 
 import java.text.MessageFormat;
 import java.util.*;
-import java.util.stream.IntStream;
 
 /**
  * Tyx 2025-10-21
@@ -65,7 +61,7 @@ public class ImportTaskGuideExportService {
                 Long sinsurTplId = (Long) parameter.getCustomParam("sinsurTplId");
                 // 导入任务ID
                 Long importTaskId = (Long) parameter.getCustomParam("importTaskId");
-                String dd = SWCDateTimeUtils.format(new Date(), "yyyyMMdd");
+                String dd = DateTimeUtils.format(new Date(), "yyyyMMdd");
                 String exportFileName = MessageFormat.format(ResManager.loadKDString("外部系统数据导入任务_数据导入模板_{0}", "ImportTaskGuideExportService_1", "swc-hsas-business", new Object[0]), dd);
                 createImportTaskDataSheet(sinsurTplId, wb, importTaskId);
                 flushAllAndDownload(wb, exportFileName, view);
@@ -109,11 +105,11 @@ public class ImportTaskGuideExportService {
         sheet.setRandomAccessWindowSize(-1);
         SXSSFDrawing drawingPatriarch = sheet.createDrawingPatriarch();
         SXSSFRow headRow = sheet.createRow(startLine - 2);
-        CellStyle headDateStyle = CalResultCoverImportService.getColumnStyle(true, 0, 0, SWCShowType.DATE.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
-        CellStyle headTextStyle = CalResultCoverImportService.getColumnStyle(true, 0, 0, SWCShowType.TEXT.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
-        CellStyle headRequriedNumStyle = CalResultCoverImportService.getColumnStyle(true, 0, 0, SWCShowType.NUM.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
+        CellStyle headDateStyle = getColumnStyle(true, 0, 0, SITShowType.DATE.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
+        CellStyle headTextStyle = getColumnStyle(true, 0, 0, SITShowType.TEXT.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
+        CellStyle headRequriedNumStyle = getColumnStyle(true, 0, 0, SITShowType.NUM.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
         Font font = sheet.getWorkbook().createFont();
-        CellStyle requrriedStyle = CalResultCoverImportService.getColumnStyle(true, 0, 0, SWCShowType.TEXT.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
+        CellStyle requrriedStyle = getColumnStyle(true, 0, 0, SITShowType.TEXT.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
         font.setColor((short) 10);
         requrriedStyle.setFont(font);
         headRequriedNumStyle.setFont(font);
@@ -199,15 +195,15 @@ public class ImportTaskGuideExportService {
 
     private String getDataType(SinsurPresetItemEnum presetItemEnum) {
         if (presetItemEnum.getDataTypeId() == DataTypeEnum.DATE.getDbId()) {
-            return SWCShowType.DATE.getCode();
+            return SITShowType.DATE.getCode();
         } else {
-            return presetItemEnum.getDataTypeId() == DataTypeEnum.NUMBERIC.getDbId() ? SWCShowType.NUM.getCode() : SWCShowType.TEXT.getCode();
+            return presetItemEnum.getDataTypeId() == DataTypeEnum.NUMBERIC.getDbId() ? SITShowType.NUM.getCode() : SITShowType.TEXT.getCode();
         }
     }
 
     private void flushAllAndDownload(SXSSFWorkbook wb, String fileName, IFormView view) {
-        String url = SWCExportDataHelper.storeFile(wb, fileName);
-        if (SWCStringUtils.isNotEmpty(url)) {
+        String url = SITExportDataHelper.storeFile(wb, fileName);
+        if (StringUtils.isNotEmpty(url)) {
             view.download(url);
         }
     }
@@ -222,7 +218,7 @@ public class ImportTaskGuideExportService {
             SXSSFWorkbook wb = new SXSSFWorkbook(rowNum);
 
             try {
-                String dd = SWCDateTimeUtils.format(new Date(), "yyyyMMdd");
+                String dd = DateTimeUtils.format(new Date(), "yyyyMMdd");
                 String exportFileName = MessageFormat.format(ResManager.loadKDString("历史数据迁移任务_数据导入失败结果_{0}", "ImportTaskGuideExportService_3", "swc-hsas-business", new Object[0]), dd);
                 String sheetName = ResManager.loadKDString("数据导入模板", "ImportTaskGuideExportService_2", "swc-hsas-business", new Object[0]);
                 SXSSFSheet sheet = wb.createSheet(sheetName);
@@ -247,7 +243,7 @@ public class ImportTaskGuideExportService {
                         }
 
                         this.addDataRow(dataRowList, errDataList, headIndex, wb, sheet);
-                        url = SWCExportDataHelper.storeFile(wb, exportFileName);
+                        url = SITExportDataHelper.storeFile(wb, exportFileName);
                         break;
                     }
 
@@ -268,12 +264,12 @@ public class ImportTaskGuideExportService {
 
     private void createHeadRow(List<Map<Integer, String>> dataHeadList, int headIndex, SXSSFSheet sheet, SXSSFDrawing drawingPatriarch, String writeTaskType) {
         SXSSFRow headRow = sheet.createRow(headIndex);
-        CellStyle headTextStyle = CalResultCoverImportService.getColumnStyle(true, 0, 0, SWCShowType.TEXT.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
+        CellStyle headTextStyle = getColumnStyle(true, 0, 0, SITShowType.TEXT.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
         SXSSFCell errMsgCell = headRow.createCell(0);
         errMsgCell.setCellValue(ResManager.loadKDString("失败原因", "CalResultCoverImportService_58", "swc-hsas-business", new Object[0]));
         errMsgCell.setCellStyle(headTextStyle);
         Font font = sheet.getWorkbook().createFont();
-        CellStyle requrriedStyle = CalResultCoverImportService.getColumnStyle(true, 0, 0, SWCShowType.TEXT.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
+        CellStyle requrriedStyle = getColumnStyle(true, 0, 0, SITShowType.TEXT.getCode(), HorizontalAlignment.LEFT, sheet.getWorkbook(), HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex(), true);
         font.setColor((short)10);
         requrriedStyle.setFont(font);
         Set<Integer> requireFixColumnSet = ImportTaskUtils.getExportTplRequireColumnSet();
@@ -300,7 +296,7 @@ public class ImportTaskGuideExportService {
             List<Map<String, String>> paramMapList = (List)entry.getValue();
             if (!CollectionUtils.isEmpty(paramMapList)) {
                 String dataTypeIdStr = (String)((Map)paramMapList.get(0)).get("datatypeid");
-                if (!SWCStringUtils.isEmpty(dataTypeIdStr) && Long.parseLong(dataTypeIdStr) == DataTypeEnum.STRING.getDbId()) {
+                if (!StringUtils.isEmpty(dataTypeIdStr) && Long.parseLong(dataTypeIdStr) == DataTypeEnum.STRING.getDbId()) {
                     textIndexList.add((Integer)entry.getKey() + 1);
                 }
             }
@@ -312,11 +308,11 @@ public class ImportTaskGuideExportService {
         Map<Integer, List<String>> errorMap = this.getErrorMap(errDataList);
         boolean isTplError = "1".equals(((Map)errDataList.get(0)).get("isAll"));
         int tplIndex = headIndex++;
-        CellStyle errColumnStyle = CalResultCoverImportService.getColumnStyle(true, 0, 0, "text", HorizontalAlignment.LEFT, wb, (short)9, true);
+        CellStyle errColumnStyle = getColumnStyle(true, 0, 0, "text", HorizontalAlignment.LEFT, wb, (short)9, true);
         Font font = wb.createFont();
         font.setColor((short)10);
         errColumnStyle.setFont(font);
-        CellStyle columnStyle = CalResultCoverImportService.getColumnStyle(true, 0, 0, "text", HorizontalAlignment.LEFT, wb, (short)9, true);
+        CellStyle columnStyle = getColumnStyle(true, 0, 0, "text", HorizontalAlignment.LEFT, wb, (short)9, true);
         List<String> errorList = null;
         Map<Integer, String> rowMap = null;
         SXSSFRow dataRow = null;
@@ -375,4 +371,60 @@ public class ImportTaskGuideExportService {
         return key.toString();
     }
 
+
+    public static CellStyle getColumnStyle(boolean isTmpl, int precision, int scale, String columnType, HorizontalAlignment alignment, SXSSFWorkbook wb, short colorIndex, boolean needBoard) {
+        CellStyle headColumnStyle = wb.createCellStyle();
+        DataFormat dataFormat = wb.createDataFormat();
+        short format;
+        if (!isTmpl) {
+            if (SWCStringUtils.equals(SWCShowType.DATE.getCode(), columnType)) {
+                format = dataFormat.getFormat("yyyy-MM-dd");
+            } else {
+                String amountFormat;
+                if (SWCStringUtils.equals(SWCShowType.AMOUNT.getCode(), columnType)) {
+                    amountFormat = getAmountFormat(precision);
+                    format = dataFormat.getFormat(amountFormat);
+                } else if (SWCStringUtils.equals(SWCShowType.NUM.getCode(), columnType)) {
+                    amountFormat = getAmountFormat(scale);
+                    format = dataFormat.getFormat(amountFormat);
+                } else {
+                    format = dataFormat.getFormat("text");
+                }
+            }
+        } else if (SWCStringUtils.equals(SWCShowType.DATE.getCode(), columnType)) {
+            format = dataFormat.getFormat("yyyy-MM-dd");
+        } else {
+            format = dataFormat.getFormat("text");
+        }
+
+        headColumnStyle.setDataFormat(format);
+        if (needBoard) {
+            headColumnStyle.setBorderBottom(BorderStyle.HAIR);
+            headColumnStyle.setBorderTop(BorderStyle.HAIR);
+            headColumnStyle.setBorderLeft(BorderStyle.HAIR);
+            headColumnStyle.setBorderRight(BorderStyle.HAIR);
+        }
+
+        headColumnStyle.setFillForegroundColor(colorIndex);
+        headColumnStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+        headColumnStyle.setAlignment(alignment);
+        headColumnStyle.setVerticalAlignment(VerticalAlignment.CENTER);
+        headColumnStyle.setHidden(true);
+        return headColumnStyle;
+    }
+
+    private static String getAmountFormat(int precision) {
+        StringBuilder format = new StringBuilder("0");
+        if (precision > 0) {
+            format.append('.');
+
+            for(int i = 0; i < precision; ++i) {
+                format.append('0');
+            }
+        }
+
+        return format.toString();
+    }
+
+
 }

+ 16 - 17
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/sit/hcsi/business/importtaskguide/ImportTaskGuideImportService.java

@@ -2,10 +2,13 @@ package nckd.jxccl.sit.hcsi.business.importtaskguide;
 
 import com.google.common.collect.Lists;
 import java.math.BigDecimal;
+
+import com.kingdee.util.DateTimeUtils;
 import kd.bos.context.RequestContext;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.dataentity.resource.ResManager;
+import kd.bos.dataentity.utils.StringUtils;
 import kd.bos.db.tx.TX;
 import kd.bos.db.tx.TXHandle;
 import kd.bos.entity.EntityMetadataCache;
@@ -21,13 +24,9 @@ import kd.bos.logging.LogFactory;
 import kd.bos.orm.query.QFilter;
 import kd.bos.threads.ThreadPools;
 import kd.hr.hbp.business.bgtask.HRBackgroundTaskHelper;
-import kd.swc.hsas.common.enums.PresetItemEnum;
-import kd.swc.hsbp.business.servicehelper.SWCDataServiceHelper;
-import kd.swc.hsbp.common.cache.ISWCAppCache;
-import kd.swc.hsbp.common.cache.SWCAppCache;
-import kd.swc.hsbp.common.util.SWCDateTimeUtils;
-import kd.swc.hsbp.common.util.SWCListUtils;
-import kd.swc.hsbp.common.util.SWCStringUtils;
+import kd.hr.hbp.business.servicehelper.HRBaseServiceHelper;
+import kd.hr.hbp.common.cache.HRAppCache;
+import kd.hr.hbp.common.cache.IHRAppCache;
 import nckd.jxccl.sit.hcsi.business.importtaskguide.utils.ImportTaskUtils;
 import nckd.jxccl.sit.hcsi.formplugin.web.tp.enums.SinsurPresetItemEnum;
 import org.apache.commons.lang.exception.ExceptionUtils;
@@ -80,7 +79,7 @@ public class ImportTaskGuideImportService {
             String cacheKey;
             if (errDataList.size() > 0) {
                 cacheKey = ResManager.loadKDString("模板列名“{0}”不能删除。", "ImportTaskGuideImportService_1", "swc-hsas-business", new Object[0]);
-                String errorMsg = SWCListUtils.join(errDataList, "、");
+                String errorMsg = ImportTaskUtils.join(errDataList, "、");
                 throw new KDBizException(MessageFormat.format(cacheKey, errorMsg));
             } else {
                 cacheKey = UUID.randomUUID().toString();
@@ -92,10 +91,10 @@ public class ImportTaskGuideImportService {
                 params.put("importTaskId", this.importTaskId);
                 params.put("verifyId", cacheKey);
                 params.put("totalCount", dataRowList.size());
-                params.put("startTime", SWCDateTimeUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
+                params.put("startTime", DateTimeUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
                 params.put("progressType", "22");
                 String bgTaskId = HRBackgroundTaskHelper.getInstance().createBaskgroundTask("swc_hsas_importtaskguide_import", name, true, pageId, params);
-                ISWCAppCache appCache = SWCAppCache.get(String.format(Locale.ROOT, "bggroud_taskid_%s", cacheKey));
+                IHRAppCache appCache = HRAppCache.get(String.format(Locale.ROOT, "bggroud_taskid_%s", cacheKey));
                 appCache.put("bgTaskId", bgTaskId);
                 appCache.put("totalCount", dataRowList.size());
                 RequestContext ctx = RequestContext.get();
@@ -118,7 +117,7 @@ public class ImportTaskGuideImportService {
             Map<Integer, List<Map<String, String>>> columnIndexMap = this.getColumnIndexMap();
             Map<Integer, List<Map<String, String>>> commonColumnIndexMap = this.getCommonColumnIndexMap();
             int defaultSize = 500;
-            List<List<Map<Integer, String>>> splitDataList = SWCListUtils.split(dataRowList, defaultSize);
+            List<List<Map<Integer, String>>> splitDataList = ImportTaskUtils.split(dataRowList, defaultSize);
             int lineIndex = 0;
             List<Map<Integer, String>> tempList = null;
             int index = 0;
@@ -142,7 +141,7 @@ public class ImportTaskGuideImportService {
 
     private Boolean isCancel(String cacheKey) {
         String key = String.format(Locale.ROOT, "import_cache_%s", cacheKey);
-        ISWCAppCache appCache = SWCAppCache.get(key);
+        IHRAppCache appCache = HRAppCache.get(key);
         Boolean isCancel = (Boolean)appCache.get(String.format(Locale.ROOT, "isCancel_%s", cacheKey), Boolean.class);
         return isCancel != null && isCancel ? Boolean.TRUE : Boolean.FALSE;
     }
@@ -217,7 +216,7 @@ public class ImportTaskGuideImportService {
                 temporary.set("entryentity", ImportTaskUtils.getItemEntryList(rowMap, columnIndexMap, entryType));
                 result.add(temporary);
             }
-            SWCDataServiceHelper helper = new SWCDataServiceHelper("nckd_sinsurtempdata");
+            HRBaseServiceHelper helper = new HRBaseServiceHelper("nckd_sinsurtempdata");
             TXHandle txHandle = TX.requiresNew();
 
             try {
@@ -252,7 +251,7 @@ public class ImportTaskGuideImportService {
             Integer columnIndex = columnEntry.getKey();
             String itemValue = rowMap.get(columnIndex);
 
-            if (SWCStringUtils.isEmpty(itemValue)) {
+            if (StringUtils.isEmpty(itemValue)) {
                 continue;
             }
 
@@ -275,7 +274,7 @@ public class ImportTaskGuideImportService {
 
     private String processValueByType(String value, long dataTypeId) throws Exception {
         if (DATE_TYPE_ID == dataTypeId) {
-            return SWCDateTimeUtils.format(SWCDateTimeUtils.parseDate(value), DATE_FORMAT);
+            return DateTimeUtils.format(DateTimeUtils.parseDate(value), DATE_FORMAT);
         }
 
         if (NUMBER_TYPE_ID == dataTypeId || DECIMAL_TYPE_ID == dataTypeId) {
@@ -293,7 +292,7 @@ public class ImportTaskGuideImportService {
             Integer columnIndex = columnEntry.getKey();
             String itemValue = rowMap.get(columnIndex);
 
-            if (SWCStringUtils.isEmpty(itemValue)) {
+            if (StringUtils.isEmpty(itemValue)) {
                 errDataList.add(this.assembleErrMap(lineIndex, false, MessageFormat.format(msg, columnEntry.getValue().get(0).get("name"))));
                 return false;
             }
@@ -368,7 +367,7 @@ public class ImportTaskGuideImportService {
         while(var7.hasNext()) {
             Map.Entry<Integer, SinsurPresetItemEnum> entry = (Map.Entry)var7.next();
             excelName = (String)dataHeadMap.get(entry.getKey());
-            if (SWCStringUtils.isEmpty(excelName)) {
+            if (StringUtils.isEmpty(excelName)) {
                 errDataList.add(((SinsurPresetItemEnum)entry.getValue()).getImportColumnName());
             } else {
                 tplName.setLength(0);

+ 55 - 0
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/sit/hcsi/business/importtaskguide/utils/ImportTaskUtils.java

@@ -282,4 +282,59 @@ public class ImportTaskUtils {
         taskHelper.updateOne(task);
     }
 
+    public static String join(Set<String> set, String str) {
+        if (null != set && set.size() != 0) {
+            StringBuilder result = new StringBuilder();
+            Iterator var3 = set.iterator();
+
+            while(var3.hasNext()) {
+                String temp = (String)var3.next();
+                result.append(temp).append(str);
+            }
+
+            return result.substring(0, result.length() - 1);
+        } else {
+            return "";
+        }
+    }
+
+    public static <T> List<List<T>> split(List<T> resList, int count) {
+        List<List<T>> ret = new ArrayList(10);
+        if (resList != null && !resList.isEmpty() && count >= 1) {
+            int size = resList.size();
+            if (size <= count) {
+                ret.add(resList);
+            } else {
+                int pre = size / count;
+                int last = size % count;
+                List<T> itemList = null;
+
+                int i;
+                for(i = 0; i < pre; ++i) {
+                    itemList = new ArrayList(count);
+
+                    for(int j = 0; j < count; ++j) {
+                        itemList.add(resList.get(i * count + j));
+                    }
+
+                    ret.add(itemList);
+                }
+
+                if (last > 0) {
+                    itemList = new ArrayList(count);
+
+                    for(i = 0; i < last; ++i) {
+                        itemList.add(resList.get(pre * count + i));
+                    }
+
+                    ret.add(itemList);
+                }
+            }
+
+            return ret;
+        } else {
+            return ret;
+        }
+    }
+
 }

+ 121 - 0
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/sit/hcsi/common/constant/enums/DataTypeEnum.java

@@ -0,0 +1,121 @@
+package nckd.jxccl.sit.hcsi.common.constant.enums;
+
+import kd.bos.dataentity.metadata.IDataEntityProperty;
+import kd.bos.entity.property.*;
+import nckd.jxccl.sit.hcsi.common.constant.model.SITI18NParam;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public enum DataTypeEnum {
+
+    NUMBERIC(1010L, new SITI18NParam("数值", "DataTypeEnum_0", "swc-hsbp-common")),
+    AMOUNT(1020L, new SITI18NParam("金额", "DataTypeEnum_1", "swc-hsbp-common")),
+    STRING(1030L, new SITI18NParam("文本", "DataTypeEnum_2", "swc-hsbp-common")),
+    INTEGER(1040L, new SITI18NParam("整型", "DataTypeEnum_3", "swc-hsbp-common")),
+    BOOLEAN(1060L, new SITI18NParam("逻辑", "DataTypeEnum_4", "swc-hsbp-common")),
+    DATE(1050L, new SITI18NParam("日期", "DataTypeEnum_5", "swc-hsbp-common")),
+    LONG(1080L, new SITI18NParam("长整型", "DataTypeEnum_7", "swc-hsbp-common")),
+    NULL(0L, new SITI18NParam("空", "DataTypeEnum_6", "swc-hsbp-common"));
+
+    private final long dbId;
+    private SITI18NParam name;
+
+    private DataTypeEnum(long dbId, SITI18NParam name) {
+        this.dbId = dbId;
+        this.name = name;
+    }
+
+    public static DataTypeEnum getDataType(String name) {
+        DataTypeEnum dataType = null;
+        if (!"string".equalsIgnoreCase(name) && !"text".equalsIgnoreCase(name) && !"boolean".equalsIgnoreCase(name) && !"enum".equalsIgnoreCase(name)) {
+            if (!"decimal".equalsIgnoreCase(name) && !"amount".equalsIgnoreCase(name) && !"numberic".equalsIgnoreCase(name) && !"bigdecimal".equalsIgnoreCase(name) && !"num".equalsIgnoreCase(name)) {
+                if ("date".equalsIgnoreCase(name)) {
+                    dataType = DATE;
+                } else if (!"null".equalsIgnoreCase(name) && !"void".equalsIgnoreCase(name)) {
+                    if ("long".equalsIgnoreCase(name)) {
+                        dataType = LONG;
+                    } else if ("int".equalsIgnoreCase(name)) {
+                        dataType = INTEGER;
+                    }
+                } else {
+                    dataType = NULL;
+                }
+            } else {
+                dataType = NUMBERIC;
+            }
+        } else {
+            dataType = STRING;
+        }
+
+        return dataType;
+    }
+
+    public static DataTypeEnum getDataType(Class<?> clazz) {
+        if (String.class.isAssignableFrom(clazz)) {
+            return STRING;
+        } else if (BigDecimal.class.isAssignableFrom(clazz)) {
+            return NUMBERIC;
+        } else if (Date.class.isAssignableFrom(clazz)) {
+            return DATE;
+        } else {
+            return Boolean.class.isAssignableFrom(clazz) ? BOOLEAN : NULL;
+        }
+    }
+
+    public static DataTypeEnum getDataType(IDataEntityProperty property) {
+        if (!(property instanceof TextProp) && !(property instanceof ComboProp)) {
+            if (property instanceof AmountProp) {
+                return AMOUNT;
+            } else if (!(property instanceof DateProp) && !(property instanceof DateTimeProp)) {
+                if (property instanceof DecimalProp) {
+                    return NUMBERIC;
+                } else if (property instanceof IntegerProp) {
+                    return INTEGER;
+                } else {
+                    return property instanceof BooleanProp ? BOOLEAN : NULL;
+                }
+            } else {
+                return DATE;
+            }
+        } else {
+            return STRING;
+        }
+    }
+
+    public static DataTypeEnum getDataTypeById(long dbId) {
+        DataTypeEnum[] var2 = values();
+        int var3 = var2.length;
+
+        for(int var4 = 0; var4 < var3; ++var4) {
+            DataTypeEnum dataType = var2[var4];
+            if (dataType.getDbId() == dbId) {
+                return dataType;
+            }
+        }
+
+        return NULL;
+    }
+
+    public static String getNameByDbId(long dbId) {
+        DataTypeEnum[] var2 = values();
+        int var3 = var2.length;
+
+        for(int var4 = 0; var4 < var3; ++var4) {
+            DataTypeEnum dataType = var2[var4];
+            if (dataType.getDbId() == dbId) {
+                return dataType.getName();
+            }
+        }
+
+        return NULL.getName();
+    }
+
+    public long getDbId() {
+        return this.dbId;
+    }
+
+    public String getName() {
+        return this.name.loadKDString();
+    }
+}

+ 29 - 0
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/sit/hcsi/common/constant/enums/SITShowType.java

@@ -0,0 +1,29 @@
+package nckd.jxccl.sit.hcsi.common.constant.enums;
+
+
+import nckd.jxccl.sit.hcsi.common.constant.model.SITI18NParam;
+
+public enum SITShowType {
+    TEXT("text", new SITI18NParam("文本", "SWCShowType_0", "swc-hsbp-common")),
+    NUM("num", new SITI18NParam("小数", "SWCShowType_1", "swc-hsbp-common")),
+    INT("int", new SITI18NParam("整数", "SWCShowType_2", "swc-hsbp-common")),
+    AMOUNT("amount", new SITI18NParam("金额", "SWCShowType_3", "swc-hsbp-common")),
+    DATE("date", new SITI18NParam("日期", "SWCShowType_4", "swc-hsbp-common")),
+    BOOL("bool", new SITI18NParam("复选框", "SWCShowType_5", "swc-hsbp-common"));
+
+    private String code = "";
+    private SITI18NParam desc;
+
+    private SITShowType(String code, SITI18NParam desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public String getCode() {
+        return this.code;
+    }
+
+    public String getDesc() {
+        return this.desc.loadKDString();
+    }
+}

+ 2 - 5
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/hcdm/formplugin/agencybill/AgencyBillEdit.java

@@ -1,5 +1,6 @@
 package nckd.jxccl.swc.hcdm.formplugin.agencybill;
 
+import com.kingdee.util.DateTimeUtils;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.dataentity.resource.ResManager;
@@ -17,12 +18,8 @@ import kd.bos.list.ListFilterParameter;
 import kd.bos.list.ListShowParameter;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
-import kd.bos.orm.util.CollectionUtils;
 import kd.hr.hbp.business.servicehelper.HRBaseServiceHelper;
 import kd.sdk.plugin.Plugin;
-import kd.swc.hcdm.business.domain.applybill.helper.ApplyBillPermCommonHelper;
-import kd.swc.hsbp.common.util.SWCDateTimeUtils;
-import kd.swc.hsbp.formplugin.web.SWCBaseFormPlugin;
 import nckd.jxccl.swc.constants.SwcConstant;
 
 import java.time.LocalDate;
@@ -191,7 +188,7 @@ public class AgencyBillEdit extends AbstractFormPlugin implements Plugin {
         qFilters.add(new QFilter("org.id", QCP.equals, orgId));
         qFilters.add(new QFilter("payrollgroup.id", QCP.equals, payRollGrpId));
         if (effectiveDate != null) {
-            formShowParameter.setCustomParam("effectiveDate", SWCDateTimeUtils.format(effectiveDate, "yyyy-MM-dd"));
+            formShowParameter.setCustomParam("effectiveDate", DateTimeUtils.format(effectiveDate, "yyyy-MM-dd"));
         }
 
         formShowParameter.setListFilterParameter(listFilterParameter);

+ 2 - 3
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/hcdm/formplugin/agencybill/AgencyBillList.java

@@ -2,6 +2,7 @@ package nckd.jxccl.swc.hcdm.formplugin.agencybill;
 
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.dataentity.utils.StringUtils;
 import kd.bos.entity.datamodel.ListSelectedRowCollection;
 import kd.bos.form.CloseCallBack;
 import kd.bos.form.FormShowParameter;
@@ -14,8 +15,6 @@ import kd.bos.form.operate.FormOperate;
 import kd.bos.list.IListView;
 import kd.bos.list.plugin.AbstractListPlugin;
 import kd.bos.orm.query.QFilter;
-import kd.swc.hsbp.common.util.SWCStringUtils;
-import kd.swc.hsbp.formplugin.web.SWCDataBaseList;
 import nckd.jxccl.swc.constants.SwcConstant;
 
 import java.util.Arrays;
@@ -35,7 +34,7 @@ public class AgencyBillList extends AbstractListPlugin {
         super.beforeDoOperation(args);
         FormOperate formOperate = (FormOperate)args.getSource();
         String opKey = formOperate.getOperateKey();
-        if (SWCStringUtils.equals(opKey, "donothing_batchupdate")) {
+        if (StringUtils.equals(opKey, "donothing_batchupdate")) {
             this.openBatchUpdateWindow(args);
         }
     }