Explorar o código

feat:工具类整理

Tzz hai 1 mes
pai
achega
f3e26b0448
Modificáronse 18 ficheiros con 45 adicións e 1026 borrados
  1. 1 1
      base/nckd-base-common/src/main/java/nckd/base/common/constant/BaseFieldConst.java
  2. 1 1
      base/nckd-base-common/src/main/java/nckd/base/common/enums/BillStatusEnum.java
  3. 1 1
      base/nckd-base-common/src/main/java/nckd/base/common/utils/DateUtil.java
  4. 2 2
      base/nckd-base-common/src/main/java/nckd/base/common/utils/FormUtils.java
  5. 5 8
      base/nckd-base-common/src/main/java/nckd/base/common/utils/QFilterUtils.java
  6. 11 0
      nckd-fi/src/main/java/nckd/fi/er/webapi/model/BosUserContactEtModel.java
  7. 4 0
      nckd-fi/src/main/java/nckd/fi/er/webapi/model/BosUserEntityModel.java
  8. 14 0
      nckd-fi/src/main/java/nckd/fi/er/webapi/model/UserTypeModel.java
  9. 1 1
      nckd-fi/src/main/java/nckd/fi/er/webapi/utils/BdAttachmentUtils.java
  10. 1 4
      nckd-fi/src/main/java/nckd/fi/er/webapi/utils/DoMoConvertUtils.java
  11. 2 4
      nckd-hr/src/main/java/nckd/hr/hrpi/plugin/operate/SyncUserServiceEx.java
  12. 0 104
      nckd-hr/src/main/java/nckd/hr/hspm/common/constant/BaseFieldConst.java
  13. 0 84
      nckd-hr/src/main/java/nckd/hr/hspm/common/enums/BillStatusEnums.java
  14. 0 12
      nckd-hr/src/main/java/nckd/hr/hspm/plugin/operate/SyncPersonToUserExtPlugin.java
  15. 0 65
      nckd-hr/src/main/java/nckd/hr/hspm/plugin/operate/SyncUserServiceEx.java
  16. 0 736
      nckd-pur/src/main/java/nckd/pur/scp/common/DateUtil.java
  17. 1 1
      nckd-pur/src/main/java/nckd/pur/scp/plugin/form/PurApplyBillPlugin.java
  18. 1 2
      nckd-pur/src/main/java/nckd/pur/scp/plugin/operate/SaloutStockOpPlugin.java

+ 1 - 1
nckd-fi/src/main/java/nckd/fi/er/common/BaseFieldConst.java → base/nckd-base-common/src/main/java/nckd/base/common/constant/BaseFieldConst.java

@@ -1,4 +1,4 @@
-package nckd.fi.er.common;
+package nckd.base.common.constant;
 
 
 /**
 /**
  * 基本字段标识(苍穹默认字段标识)
  * 基本字段标识(苍穹默认字段标识)

+ 1 - 1
nckd-fi/src/main/java/nckd/fi/er/common/BillStatusEnum.java → base/nckd-base-common/src/main/java/nckd/base/common/enums/BillStatusEnum.java

@@ -1,5 +1,5 @@
 
 
-package nckd.fi.er.common;
+package nckd.base.common.enums;
 
 
 public enum BillStatusEnum {
 public enum BillStatusEnum {
     SAVE("暂存", "A"),
     SAVE("暂存", "A"),

+ 1 - 1
nckd-hr/src/main/java/nckd/hr/hspm/common/util/DateUtil.java → base/nckd-base-common/src/main/java/nckd/base/common/utils/DateUtil.java

@@ -1,4 +1,4 @@
-package nckd.hr.hspm.common.util;
+package nckd.base.common.utils;
 
 
 
 
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObject;

+ 2 - 2
nckd-pur/src/main/java/nckd/pur/scp/common/utils/FormUtils.java → base/nckd-base-common/src/main/java/nckd/base/common/utils/FormUtils.java

@@ -1,4 +1,4 @@
-package nckd.pur.scp.common.utils;
+package nckd.base.common.utils;
 
 
 import kd.bos.bill.BillShowParameter;
 import kd.bos.bill.BillShowParameter;
 import kd.bos.bill.OperationStatus;
 import kd.bos.bill.OperationStatus;
@@ -23,7 +23,7 @@ import kd.bos.form.plugin.AbstractFormPlugin;
 import kd.bos.list.BillList;
 import kd.bos.list.BillList;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.orm.query.QFilter;
-import nckd.pur.scp.common.constant.BaseFieldConst;
+import nckd.base.common.constant.BaseFieldConst;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 

+ 5 - 8
nckd-hr/src/main/java/nckd/hr/hspm/common/util/QFilterUtils.java → base/nckd-base-common/src/main/java/nckd/base/common/utils/QFilterUtils.java

@@ -1,4 +1,4 @@
-package nckd.hr.hspm.common.util;
+package nckd.base.common.utils;
 
 
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
@@ -8,9 +8,8 @@ import kd.bos.list.ListShowParameter;
 import kd.bos.org.model.EnableEnum;
 import kd.bos.org.model.EnableEnum;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.orm.query.QFilter;
-import nckd.hr.hspm.common.enums.BillStatusEnums;
-import nckd.hr.hspm.common.constant.BaseFieldConst;
-
+import nckd.base.common.constant.BaseFieldConst;
+import nckd.base.common.enums.BillStatusEnum;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collection;
@@ -19,10 +18,8 @@ import java.util.Objects;
 import java.util.function.Function;
 import java.util.function.Function;
 
 
 /**
 /**
- * @Module : 繁殖云--XX应用--XX模块--XX单据
  * @Description :
  * @Description :
  * @Date : 2021/3/24
  * @Date : 2021/3/24
- * @Author : jiawei_mao
  **/
  **/
 public class QFilterUtils {
 public class QFilterUtils {
     private QFilterUtils() {
     private QFilterUtils() {
@@ -40,11 +37,11 @@ public class QFilterUtils {
 
 
     public static QFilter getBaseDataQFilter() {
     public static QFilter getBaseDataQFilter() {
         return new QFilter(BaseFieldConst.ENABLE, QCP.equals, EnableEnum.Enable)
         return new QFilter(BaseFieldConst.ENABLE, QCP.equals, EnableEnum.Enable)
-                .and(BaseFieldConst.STATUS, QCP.equals, BillStatusEnums.AUDIT.getValue());
+                .and(BaseFieldConst.STATUS, QCP.equals, BillStatusEnum.AUDIT.getValue());
     }
     }
 
 
     public static QFilter getBillQFilter() {
     public static QFilter getBillQFilter() {
-        return new QFilter(BaseFieldConst.BILL_STATUS, QCP.equals, BillStatusEnums.AUDIT.getValue());
+        return new QFilter(BaseFieldConst.BILL_STATUS, QCP.equals, BillStatusEnum.AUDIT.getValue());
     }
     }
 
 
     public static List<QFilter> getDeDuplicationFilter(IDataModel model, String entryKey, String name, BeforeF7SelectEvent beforeF7SelectEvent) {
     public static List<QFilter> getDeDuplicationFilter(IDataModel model, String entryKey, String name, BeforeF7SelectEvent beforeF7SelectEvent) {

+ 11 - 0
nckd-fi/src/main/java/nckd/fi/er/webapi/model/BosUserContactEtModel.java

@@ -1,5 +1,7 @@
 package nckd.fi.er.webapi.model;
 package nckd.fi.er.webapi.model;
 
 
+import kd.bos.openapi.common.custom.annotation.ApiParam;
+
 import java.io.Serializable;
 import java.io.Serializable;
 
 
 /**
 /**
@@ -7,4 +9,13 @@ import java.io.Serializable;
  * @Date:2025/12/4
  * @Date:2025/12/4
  **/
  **/
 public class BosUserContactEtModel extends BaseModel implements Serializable {
 public class BosUserContactEtModel extends BaseModel implements Serializable {
+
+    @ApiParam(value = "id")
+    private String id ;
+    @ApiParam(value = "联系方式分录.分录行号")
+    private int seq ;
+    @ApiParam(value = "联系方式分录.联系方式")
+    private String contact ;
+    @ApiParam(value = "联系方式分录.默认")
+    private boolean isdefault ;
 }
 }

+ 4 - 0
nckd-fi/src/main/java/nckd/fi/er/webapi/model/BosUserEntityModel.java

@@ -22,4 +22,8 @@ public class BosUserEntityModel extends BaseModel implements Serializable {
     private String position ;
     private String position ;
     @ApiParam(value = "岗位")
     @ApiParam(value = "岗位")
     private BaseDataModel post ;
     private BaseDataModel post ;
+    @ApiParam(value = "部门")
+    private BaseDataModel dpt;
+    @ApiParam(value = "直接上级")
+    private BaseDataModel superior;
 }
 }

+ 14 - 0
nckd-fi/src/main/java/nckd/fi/er/webapi/model/UserTypeModel.java

@@ -1,5 +1,7 @@
 package nckd.fi.er.webapi.model;
 package nckd.fi.er.webapi.model;
 
 
+import kd.bos.openapi.common.custom.annotation.ApiParam;
+
 import java.io.Serializable;
 import java.io.Serializable;
 
 
 /**
 /**
@@ -7,4 +9,16 @@ import java.io.Serializable;
  * @Date:2025/12/4
  * @Date:2025/12/4
  **/
  **/
 public class UserTypeModel extends BaseModel implements Serializable {
 public class UserTypeModel extends BaseModel implements Serializable {
+
+    @ApiParam(value = "id")
+    private String id ;
+    @ApiParam(value = "类型.使用状态 0:禁用, 1:可用")
+    private String enable ;
+    @ApiParam(value = "类型.名称")
+    private String name ;
+    @ApiParam(value = "类型.编码")
+    private String number ;
+    @ApiParam(value = "类型.类别 1:内部人员, 2:外部人员")
+    private String category ;
+
 }
 }

+ 1 - 1
nckd-fi/src/main/java/nckd/fi/er/webapi/utils/BdAttachmentUtils.java

@@ -22,7 +22,7 @@ import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.attachment.AttachmentFieldServiceHelper;
 import kd.bos.servicehelper.attachment.AttachmentFieldServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
-import nckd.fi.er.common.BillStatusEnum;
+import nckd.base.common.enums.BillStatusEnum;
 import nckd.fi.er.webapi.model.BaseDataModel;
 import nckd.fi.er.webapi.model.BaseDataModel;
 import nckd.fi.er.webapi.model.BdAttachmentModel;
 import nckd.fi.er.webapi.model.BdAttachmentModel;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;

+ 1 - 4
nckd-fi/src/main/java/nckd/fi/er/webapi/utils/DoMoConvertUtils.java

@@ -13,7 +13,7 @@ import kd.bos.exception.KDBizException;
 import kd.bos.logging.Log;
 import kd.bos.logging.Log;
 import kd.bos.logging.LogFactory;
 import kd.bos.logging.LogFactory;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
-import nckd.fi.er.common.BaseFieldConst;
+import nckd.base.common.constant.BaseFieldConst;
 import nckd.fi.er.webapi.model.BaseModel;
 import nckd.fi.er.webapi.model.BaseModel;
 import nckd.fi.er.webapi.model.BdAttachmentModel;
 import nckd.fi.er.webapi.model.BdAttachmentModel;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;
@@ -29,10 +29,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
- * @author 许永财-金蝶
- * @module 销售管理平台
  * @description DynamicObject model 转换工具类
  * @description DynamicObject model 转换工具类
- * @since 2025/3/5
  */
  */
 public class DoMoConvertUtils {
 public class DoMoConvertUtils {
 	private static final Log logger = LogFactory.getLog(DoMoConvertUtils.class);
 	private static final Log logger = LogFactory.getLog(DoMoConvertUtils.class);

+ 2 - 4
nckd-hr/src/main/java/nckd/hr/hrpi/plugin/operate/SyncUserServiceEx.java

@@ -3,16 +3,14 @@ package nckd.hr.hrpi.plugin.operate;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.dataentity.utils.ObjectUtils;
 import kd.bos.dataentity.utils.ObjectUtils;
-import kd.bos.exception.KDBizException;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.orm.query.QFilter;
 import kd.bos.permission.model.UserParam;
 import kd.bos.permission.model.UserParam;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.hr.hbp.business.service.ext.ISyncUserService;
 import kd.hr.hbp.business.service.ext.ISyncUserService;
 import kd.hr.hbp.common.ext.SyncParamModel;
 import kd.hr.hbp.common.ext.SyncParamModel;
-import nckd.hr.hspm.common.constant.BaseFieldConst;
-import nckd.hr.hspm.common.util.QFilterUtils;
-import org.apache.commons.lang3.StringUtils;
+import nckd.base.common.constant.BaseFieldConst;
+import nckd.base.common.utils.QFilterUtils;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;

+ 0 - 104
nckd-hr/src/main/java/nckd/hr/hspm/common/constant/BaseFieldConst.java

@@ -1,104 +0,0 @@
-package nckd.hr.hspm.common.constant;
-
-/**
- * 基本字段标识(苍穹默认字段标识)
- *
- * @date 2024/3/31
- */
-public class BaseFieldConst {
-    /**表单主键*/
-    public static final String ID = "id";
-    /**表单主键*/
-    public static final String PID = ".id";
-    /** 多选基础资料对象 */
-    public static final String FBASEDATAID = "fbasedataid";
-    /** 多选基础资料ID */
-    public static final String FBASEDATAID_ID = "fbasedataid_id";
-    /**主数据内码 */
-    public static final String MASTER_ID = "masterid";
-    /** 可用状态 */
-    public static final String ENABLE = "enable";
-    /** 基础资料编码 */
-    public static final String NUMBER = "number";
-
-    /** 基础资料编码 */
-    public static final String PNUMBER = ".number";
-    /** 基础资料名称 */
-    public static final String NAME = "name";
-    /** 基础资料名称 */
-    public static final String PNAME = ".name";
-    /** 基础资料状态 */
-    public static final String STATUS="status";
-
-    /** 树形基础资料-长编码 */
-    public static final String LONG_NUMBER = "longnumber";
-    /** 树形基础资料-长名称 */
-    public static final String FULL_NAME = "fullname";
-    /** 树形基础资料-上级组织 */
-    public static final String PARENT = "parent";
-    /** 树形基础资料-是否叶子 */
-    public static final String IS_LEAF = "isleaf";
-    /** 树形基础资料-级次 */
-    public static final String LEVEL = "level";
-
-    /** 单据编码 */
-    public static final String BILL_NO = "billno";
-    /** 单据编码 */
-    public static final String PBILLNO = ".billno";
-    /** 单据状态 */
-    public static final String BILL_STATUS = "billstatus";
-
-    /** 币别 */
-    public static final String CURRENCY = "currency";
-    /** 金额币种精度 */
-    public static final String AMT_PRECISION = "amtprecision";
-    /** 单价币种精度 */
-    public static final String PRICE_PRECISION = "priceprecision";
-
-    /** 创建人 */
-    public static final String CREATOR = "creator";
-    /** 创建时间 */
-    public static final String CREATE_TIME = "createtime";
-    /** 所属组织 */
-    public static final String ORG = "org";
-    /** 创建组织*/
-    public static final String CREATE_ORG = "createorg";
-    /** 业务组织*/
-    public static final String USE_ORG = "useorg";
-    /** 修改人 */
-    public static final String MODIFIER = "modifier";
-    /** 修改时间 */
-    public static final String MODIFY_TIME = "modifytime";
-    /** 审核人 */
-    public static final String AUDITOR = "auditor";
-    /** 审核时间 */
-    public static final String AUDIT_DATE = "auditdate";
-    /** 禁用人 */
-    public static final String DISABLER = "disabler";
-    /** 禁用时间 */
-    public static final String DISABLE_DATE = "disabledate";
-    /** 分录序号 */
-    public static final String SEQ = "seq";
-
-    /** 附件面板 */
-    public static final String ATTACHMENTPANEL = "attachmentpanel";
-
-    /** 默认分录名 */
-    public static final String ENTRY_ENTITY = "entryentity";
-    /** 默认子单据体分录名 */
-    public static final String SUB_ENTRY_ENTITY = "subentryentity";
-    /** 默认单据列表 */
-    public static final String BILL_LIST_AP = "billlistap";
-    /** 默认工具栏 */
-    public static final String TOOL_BAR_AP = "toolbarap";
-    /** 默认高级面板工具栏 */
-    public static final String ADVCONTOOLBARAP = "advcontoolbarap";
-
-    /** 猪场 */
-    public static final String PIGFARM = "pigfarm";
-    /** 服务部 */
-    public static final String SRVFILE = "srvfile";
-    /** 单据体列表标识 */
-    public static final String BILLLISTAP = "billlistap";
-
-}

+ 0 - 84
nckd-hr/src/main/java/nckd/hr/hspm/common/enums/BillStatusEnums.java

@@ -1,84 +0,0 @@
-package nckd.hr.hspm.common.enums;
-
-/**
- * 标准状态枚举类
- **/
-@SuppressWarnings("all")
-public enum BillStatusEnums {
-
-    /**
-     * 暂存
-     */
-    SAVE("暂存", "A"),
-
-    /**
-     * 已提交
-     */
-    SUBMIT("已提交", "B"),
-
-    /**
-     * 已审核
-     */
-    AUDIT("已审核", "C"),
-
-    /**
-     * 启用
-     */
-    ENABLE("启用", "1"),
-
-    /**
-     * 禁用
-     */
-    UN_ENABLE("禁用", "0"),
-
-    /**
-     * 作废
-     */
-    CANCEL("作废", "F"),
-
-    /**
-     * true
-     */
-    TRUE("是", "1"),
-
-    /**
-     * false
-     */
-    FALSE("否", "0");
-
-    /**字段定义**/
-    private final String name;
-    /**字段定义**/
-    private final String value;
-
-    BillStatusEnums(String name, String value) {
-        this.name = name;
-        this.value = value;
-    }
-
-    @Override
-    public String toString() {
-        return name + ":" + value;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * 根据单据状态获取枚举对象
-     */
-    public static BillStatusEnums getByValue(String status) {
-        for (BillStatusEnums billStatusEnum : values()) {
-            if (billStatusEnum.getValue().equals(status)) {
-                return billStatusEnum;
-            }
-        }
-        return null;
-    }
-
-}

+ 0 - 12
nckd-hr/src/main/java/nckd/hr/hspm/plugin/operate/SyncPersonToUserExtPlugin.java

@@ -1,12 +0,0 @@
-package nckd.hr.hspm.plugin.operate;
-
-import kd.hrmp.hrpi.business.domian.service.impl.SyncPersonToUserServiceImpl;
-
-/**
- * @Author:Zt
- * @Date:2025/11/24
- **/
-public class SyncPersonToUserExtPlugin extends SyncPersonToUserServiceImpl {
-
-
-}

+ 0 - 65
nckd-hr/src/main/java/nckd/hr/hspm/plugin/operate/SyncUserServiceEx.java

@@ -1,65 +0,0 @@
-package nckd.hr.hspm.plugin.operate;
-
-import kd.bos.dataentity.entity.DynamicObject;
-import kd.bos.dataentity.entity.DynamicObjectCollection;
-import kd.bos.dataentity.utils.ObjectUtils;
-import kd.bos.exception.KDBizException;
-import kd.bos.orm.query.QCP;
-import kd.bos.orm.query.QFilter;
-import kd.bos.permission.model.UserParam;
-import kd.bos.servicehelper.BusinessDataServiceHelper;
-import kd.hr.hbp.business.service.ext.ISyncUserService;
-import kd.hr.hbp.common.ext.SyncParamModel;
-import nckd.hr.hspm.common.constant.BaseFieldConst;
-import nckd.hr.hspm.common.util.QFilterUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-public class SyncUserServiceEx implements ISyncUserService {
-    /**
-     * 替换生成平台用户的用户名为人员工号
-     * SyncParamModel的属性 UserParam,是同步到平台的入参
-     * UserParam.getUserParam()是参数的具体入参,修改dataMap 的值put替换标品的就可以 SyncParamModel 里面有自然人信息可以用来查询
-     * @param syncParamModel
-     */
-    @Override
-    public void updateSyncUserParam(SyncParamModel syncParamModel) {
-        UserParam userParam = syncParamModel.getUserParam();
-        Map<String, Object> dataMap = userParam.getDataMap();
-        if(!ObjectUtils.isEmpty(dataMap)) {
-            String number = syncParamModel.getPersonDy().getString(BaseFieldConst.NUMBER);   //人员工号
-
-            //查询带有标识的人员
-            QFilter qFilter = QFilterUtils.getBaseDataQFilter();
-            qFilter.and(new QFilter(BaseFieldConst.NUMBER, QCP.equals,number));
-            DynamicObject bosUsers = BusinessDataServiceHelper.loadSingle("bos_user",qFilter.toArray());
-
-            DynamicObjectCollection collection = bosUsers.getDynamicObjectCollection(BaseFieldConst.ENTRY_ENTITY);
-            //遍历entryentity
-            ArrayList<DynamicObject> list = new ArrayList<>();
-            for (DynamicObject dynamicObject : collection) {
-                //判断dynamicObject内的字段position是否有值,有值则用list集合添加
-                if(dynamicObject.getString("position") != null) {
-                    list.add(dynamicObject);
-                }
-            }
-//            if (!list.isEmpty()){
-            if("C006323".equals(number)) {
-                //如果符合条件,添加分录
-                ArrayList<HashMap<String,Object>> entryEntity = (ArrayList<HashMap<String, Object>>) dataMap.get("entryentity");
-                HashMap<String,Object> addMap = new HashMap<>();
-                for(DynamicObject entry : list){
-                    addMap.put("position",entry.getString("position"));
-                    addMap.put("ispartjob","1");
-                    addMap.put("dpt",entry.getLong("dpt.id"));
-                    addMap.put("superior",entry.getLong("superior.id"));
-                    addMap.put("isincharge",entry.getBoolean("isincharge"));
-                    entryEntity.add(addMap);
-                }
-                dataMap.put("entryentity", entryEntity);
-            }
-        }
-    }
-}

+ 0 - 736
nckd-pur/src/main/java/nckd/pur/scp/common/DateUtil.java

@@ -1,736 +0,0 @@
-package nckd.pur.scp.common;
-
-
-import kd.bos.dataentity.entity.DynamicObject;
-import kd.bos.dataentity.utils.ObjectUtils;
-import kd.bos.entity.EntityMetadataCache;
-import kd.bos.exception.ErrorCode;
-import kd.bos.exception.KDBizException;
-import kd.bos.exception.KDException;
-import kd.bos.orm.query.QFilter;
-import kd.bos.servicehelper.BusinessDataServiceHelper;
-import kd.bos.util.StringUtils;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.time.*;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.ChronoUnit;
-import java.time.temporal.TemporalAdjusters;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Set;
-
-/**
- * 日期工具类
- *
- * @author xyc
- * @date 2021/8/4
- */
-public final class DateUtil {
-
-	public static final String DATE_FORMAT_YYYY_MM_DD = "yyyy-MM-dd";
-
-	public static final String DATE_TIME_FORMAT_YYYY_MM_DD_HH_MI_SS = "yyyy-MM-dd HH:mm:ss";
-
-	public static final String DATE_TIME_FORMAT_YYYY_MM_DD_HH_MI_SS_SSS = "yyyyMMddHHmmssSSS";
-
-	public static final String DATE_FORMAT_YYYYMM = "yyyyMM";
-
-	public static final String DATE_FORMAT_YYYYMMDD = "yyyyMMdd";
-
-	public static final ZoneId UTC_PLUS_8 = ZoneId.systemDefault();
-
-	private DateUtil() {
-	}
-
-	public static boolean isCurrentDateInRange(Date startDate, Date endDate) {
-		Date currentDate = new Date();
-		return isDateInRange(currentDate, startDate, endDate);
-	}
-
-	public static boolean isDateInRange(Date targetDate, Date startDate, Date endDate) {
-		return !targetDate.before(startDate) && !targetDate.after(endDate);
-	}
-
-	/**
-	 * 日期转字符串
-	 *
-	 * @param date    指定日期
-	 * @param pattern 格式
-	 * @return 返回String格式 ( yyyy-MM-dd HH:mm:ss )
-	 */
-	public static String date2str(Date date, String pattern) {
-		if (null == date) {
-			return null;
-		}
-		SimpleDateFormat format = null;
-		if (StringUtils.isNotEmpty(pattern)) {
-			format = new SimpleDateFormat(pattern);
-		} else {
-			format = new SimpleDateFormat(DATE_TIME_FORMAT_YYYY_MM_DD_HH_MI_SS);
-		}
-		return format.format(date);
-	}
-
-	/**
-	 * 获取当前时间字符串
-	 *
-	 * @param pattern 格式
-	 * @return String
-	 */
-	public static String getCurrentDateTimeStr(String pattern) {
-		return date2str(new Date(), pattern);
-	}
-
-	/**
-	 * 字符串转日期
-	 *
-	 * @param str     指定日期
-	 * @param pattern 格式
-	 * @return date
-	 */
-	public static Date string2date(String str, String pattern) {
-		SimpleDateFormat format = null;
-		if (StringUtils.isNotEmpty(pattern)) {
-			format = new SimpleDateFormat(pattern);
-		} else {
-			format = new SimpleDateFormat(DATE_TIME_FORMAT_YYYY_MM_DD_HH_MI_SS);
-		}
-		Date date = null;
-		if (!StringUtils.isEmpty(str)) {
-			try {
-				date = format.parse(str);
-			} catch (ParseException e) {
-				throw new KDException(new ErrorCode("time convert error", "日期%s转换异常"), str);
-			}
-		}
-		return date;
-	}
-
-
-	/**
-	 * 将指定日期的时分秒格式那天的 00:00:00 的时间
-	 *
-	 * @param date 指定日期
-	 * @return date
-	 */
-	public static Date getDateStartTime(Date date) {
-		if (null == date) {
-			return null;
-		}
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		LocalDateTime localDateTime = localDate.atStartOfDay();
-		return localDateTime2date(localDateTime);
-	}
-
-	/**
-	 * 将指定日期的时分秒格式那天的 23:59:59 的时间
-	 *
-	 * @param date 指定日期
-	 * @return date
-	 */
-	public static Date getDateEndTime(Date date) {
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		LocalDateTime localDateTime = localDate.atTime(23, 59, 59);
-		return localDateTime2date(localDateTime);
-	}
-
-	/**
-	 * 获取指定日期当月最后一天的时间
-	 *
-	 * @param date 指定日期
-	 * @return 最后一天的时间 (时分秒:23:59:59)
-	 */
-	public static Date getTimeEndOfMonth(Date date) {
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		LocalDateTime localDateTime = localDate.atTime(23, 59, 59).with(TemporalAdjusters.lastDayOfMonth());
-		return localDateTime2date(localDateTime);
-	}
-
-	/**
-	 * 月结束日期
-	 *
-	 * @param date 指定日期
-	 * @return date
-	 */
-	public static Date getDateEndOfMonth(Date date) {
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		localDate = localDate.withDayOfMonth(localDate.lengthOfMonth());
-		return Date.from(localDate.atStartOfDay().atZone(UTC_PLUS_8).toInstant());
-	}
-
-	/**
-	 * 获取指定日期当月第一天的时间
-	 *
-	 * @param date 指定日期
-	 * @return 第一天的时间 (时分秒:00:00:00)
-	 */
-	public static Date getDateStartOfMonth(Date date) {
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		LocalDateTime localDateTime = localDate.atStartOfDay().with(TemporalAdjusters.firstDayOfMonth());
-		return localDateTime2date(localDateTime);
-	}
-
-	/**
-	 * 周开始日期
-	 *
-	 * @param date        指定日期
-	 * @param isChinaWeek 是否按中国的习惯(一个星期的第一天是星期一)
-	 * @return Date
-	 */
-	public static Date getDateStartOfWeek(Date date, boolean isChinaWeek) {
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		int days = localDate.getDayOfWeek().getValue() % 7;
-		if (isChinaWeek) {
-			days = days - 1;
-		}
-		localDate = localDate.minusDays(days);
-		return Date.from(localDate.atStartOfDay().atZone(UTC_PLUS_8).toInstant());
-	}
-
-	/**
-	 * 周结束日期
-	 *
-	 * @param date        指定日期
-	 * @param isChinaWeek 是否按中国的习惯(一个星期的第一天是星期一)
-	 * @return Date
-	 */
-	public static Date getDateEndOfWeek(Date date, boolean isChinaWeek) {
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		int days = localDate.getDayOfWeek().getValue() % 7;
-		if (isChinaWeek) {
-			days = days - 1;
-		}
-		localDate = localDate.plusDays(7 - 1 - days);
-		return Date.from(localDate.atStartOfDay().atZone(UTC_PLUS_8).toInstant());
-	}
-
-	/**
-	 * 获取指定日期当年第一天的时间
-	 *
-	 * @param date 指定日期
-	 * @return date
-	 */
-	public static Date getDateStartOfYear(Date date) {
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		localDate = localDate.withMonth(1).withDayOfMonth(1);
-		return Date.from(localDate.atStartOfDay().atZone(UTC_PLUS_8).toInstant());
-	}
-
-	/**
-	 * 获取指定日期当年最后一天的时间
-	 *
-	 * @param date 指定日期
-	 * @return date
-	 */
-	public static Date getDateEndOfYear(Date date) {
-		LocalDate localDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		localDate = localDate.withMonth(12);
-		localDate = localDate.withDayOfMonth(localDate.lengthOfMonth());
-		return Date.from(localDate.atStartOfDay().atZone(UTC_PLUS_8).toInstant());
-	}
-
-	/**
-	 * 获取年龄
-	 *
-	 * @param birthDate
-	 * @param currentDate
-	 * @return
-	 */
-	public static int getAge(Date birthDate, Date currentDate) {
-		if (ObjectUtils.isEmpty(birthDate)) {
-			throw new KDBizException("生日不能为空");
-		}
-		Date date = currentDate;
-		if (ObjectUtils.isEmpty(date)) {
-			date = new Date();
-		}
-		LocalDate birthLocalDate = date2localDate(birthDate);
-		LocalDate currentLocalDate = date2localDate(date);
-		return (int) birthLocalDate.until(currentLocalDate, ChronoUnit.DAYS);
-	}
-
-	/**
-	 * 获取俩个日期间天数,如果入参为空时返回0
-	 *
-	 * @param firstDate 开始时间
-	 * @param secDate   结束时间
-	 * @return 返回俩个日期间天数的绝对值
-	 */
-	public static int daysBetweenIfBlankReturnZero(Date firstDate, Date secDate) {
-		if (firstDate == null || secDate == null) {
-			return 0;
-		}
-		return daysBetween(firstDate, secDate);
-	}
-
-	/**
-	 * 获取俩个日期间天数 ( 正整数 )
-	 *
-	 * @param firstDate 开始时间
-	 * @param secDate   结束时间
-	 * @return 返回俩个日期间天数的绝对值
-	 */
-	public static int daysBetween(Date firstDate, Date secDate) {
-		LocalDate localDate1 = date2localDate(firstDate);
-		LocalDate localDate2 = date2localDate(secDate);
-		return localDate2.isAfter(localDate1) ? (int) localDate1.until(localDate2, ChronoUnit.DAYS) : (int) localDate2.until(localDate1, ChronoUnit.DAYS);
-	}
-
-	/**
-	 * 获得指定时间加减月数后的日期
-	 *
-	 * @param date  指定日期
-	 * @param month 月数,可正可负
-	 * @return 计算后的日期
-	 */
-	public static Date addMonth(Date date, int month) {
-		LocalDateTime localDateTime = date2localDateTime(date);
-		return localDateTime2date(localDateTime.plusMonths(month));
-	}
-
-	/**
-	 * 获得指定时间加减星期后的日期
-	 *
-	 * @param date 指定日期
-	 * @param week 星期,可正可负
-	 * @return 计算后的日期
-	 */
-	public static Date addWeek(Date date, int week) {
-		LocalDateTime localDateTime = date2localDateTime(date);
-		return localDateTime2date(localDateTime.plusWeeks(week));
-	}
-
-	/**
-	 * 获得指定时间第二天的日期
-	 *
-	 * @param date 指定时间
-	 * @return 计算后的日期
-	 */
-	public static Date getNextDay(Date date) {
-		LocalDateTime localDateTime = date2localDateTime(date);
-		return localDateTime2date(localDateTime.plusDays(1L));
-	}
-
-	/**
-	 * 获得指定时间加减天数后的日期
-	 *
-	 * @param date 指定日期
-	 * @param days 天数,可正可负
-	 * @return 计算后的日期
-	 */
-	public static Date addDay(Date date, int days) {
-		LocalDateTime localDateTime = date2localDateTime(date);
-		return localDateTime2date(localDateTime.plusDays(days));
-	}
-
-	/**
-	 * 获得指定时间加减小时后的时间
-	 *
-	 * @param date  指定日期
-	 * @param hours 小时数,可正可负
-	 * @return 计算后的日期
-	 */
-	public static Date addHour(Date date, int hours) {
-		LocalDateTime localDateTime = date2localDateTime(date);
-		return localDateTime2date(localDateTime.plusHours(hours));
-	}
-
-	/**
-	 * 获得指定时间加减小时后的时间
-	 * @param date  指定日期
-	 * @param seconds 秒,可正可负
-	 * @return 计算后的日期
-	 */
-	public static Date addSecond(Date date, int seconds) {
-		LocalDateTime localDateTime = date2localDateTime(date);
-		return localDateTime2date(localDateTime.plusSeconds(seconds));
-	}
-
-	public static String localDateTime2str(LocalDateTime localDateTime, String pattern) {
-		return localDateTime.format(DateTimeFormatter.ofPattern(pattern));
-	}
-
-	public static Date localDateTime2date(LocalDateTime localDateTime) {
-		return Date.from(localDateTime.atZone(UTC_PLUS_8).toInstant());
-	}
-
-	public static LocalDateTime date2localDateTime(Date date) {
-		return date.toInstant().atZone(UTC_PLUS_8).toLocalDateTime();
-	}
-
-	public static LocalDate date2localDate(Date date) {
-		return date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-	}
-
-	/**
-	 * 获取某个时间月份的天数
-	 *
-	 * @param date 时间
-	 * @return 返回月份的总天数
-	 */
-	public static int getDaysOfMonth(Date date) {
-		Calendar calendar = Calendar.getInstance();
-		calendar.setTime(date);
-		return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
-	}
-
-	/**
-	 * 获取某年某月的天数
-	 *
-	 * @param year  年份
-	 * @param month 月份
-	 * @return 返回月份的总天数
-	 */
-	public static int getDaysOfMonth(int year, int month) {
-		Calendar calendar = Calendar.getInstance();
-		calendar.set(Calendar.MONTH, month - 1);
-		calendar.set(Calendar.YEAR, year);
-		return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
-	}
-
-	public static boolean isSameDay(Date date1, Date date2) {
-		LocalDate localDate1 = date2localDate(date1);
-		LocalDate localDate2 = date2localDate(date2);
-		return localDate1.equals(localDate2);
-	}
-
-	/**
-	 * <p> 描述 : 调整日期时间</p>
-	 * <p> 备注 : hours 整数为几个小时后,负数几个小时前</p>
-	 *
-	 * @param date
-	 * @param hours
-	 * @return java.util.Date
-	 */
-	public static Date adjustDateTime(Date date, int hours) {
-		LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
-		if (hours > 0) {
-			localDateTime = localDateTime.plusHours(hours);
-		} else {
-			localDateTime = localDateTime.minusHours(Math.abs(hours));
-		}
-		return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
-	}
-
-
-	/**
-	 * @return
-	 * @Title 想要获取的日期与传入日期的差值   比如想要获取传入日期前四天的日期 			day=-4即可
-	 * @Description
-	 * @author hang
-	 */
-	public static Date getSomeDay(Date date, int day) {
-		Calendar calendar = Calendar.getInstance();
-		calendar.setTime(date);
-		calendar.add(Calendar.DATE, day);
-		return getStartOfDay(calendar.getTime());
-	}
-
-
-	/**
-	 * @return
-	 * @Title 想要获取几个月前后的日期与传入日期的差值   比如想要获取传入日期前四天的日期
-	 * @Description
-	 * @author hang
-	 */
-	public static Date getMonthDiffDay(Date date, int day) {
-		Calendar calendar = Calendar.getInstance();
-		calendar.setTime(date);
-		calendar.add(Calendar.MONTH, day);
-		return getStartOfDay(calendar.getTime());
-	}
-
-	/**
-	 * @return
-	 * @Title 想要获取几个月前后的日期与传入日期的差值   比如想要获取传入日期前四天的日期
-	 * @Description
-	 * @author hang
-	 */
-	public static Date getYearDiffDay(Date date, int day) {
-		Calendar calendar = Calendar.getInstance();
-		calendar.setTime(date);
-		calendar.add(Calendar.YEAR, day);
-		return getStartOfDay(calendar.getTime());
-	}
-
-	/**
-	 * @param date
-	 * @return
-	 * @description: 获得当天最小时间
-	 * @author: jiang
-	 * @date: 2021年06月21日
-	 */
-	public static Date getStartOfDay(Date date) {
-		if( date != null ){
-			LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()),
-					ZoneId.systemDefault());
-			LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);
-			return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
-		}
-		return  null;
-	}
-
-	/**
-	 * @param date
-	 * @return
-	 * @description: 获得当天最大时间
-	 * @author: Jeff
-	 * @date: 2021年06月21日
-	 */
-	public static Date getEndOfDay(Date date) {
-		LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()),
-				ZoneId.systemDefault());
-		LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
-		return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
-	}
-
-	/**
-	 * @return
-	 * @Title 计算两个日期的天数
-	 * @Description
-	 * @author hang
-	 */
-	public static int getDayDiffer(Date startDate, Date endDate) {
-		try {
-			SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
-			long startDateTime = dateFormat.parse(dateFormat.format(startDate)).getTime();
-			long endDateTime = dateFormat.parse(dateFormat.format(endDate)).getTime();
-			return (int) ((endDateTime - startDateTime) / (1000 * 3600 * 24));
-		} catch (ParseException e) {
-			return 0;
-		}
-	}
-
-	public static Date getMonthFirstDay(Date thisDay, int diff) throws ParseException {
-		//时间字符串转 LocalDate 类型
-		LocalDate today = thisDay.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
-		//当前月份+(-diff)
-		today = today.minusMonths(diff);
-		today = today.with(TemporalAdjusters.firstDayOfMonth());
-		SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
-		ZonedDateTime zonedDateTime = today.atStartOfDay(ZoneId.systemDefault());
-		String newday = simple.format(Date.from(zonedDateTime.toInstant()));
-		Date date = simple.parse(newday);
-		return date;
-	}
-
-	/**
-	 * 获取上个月指定第几天的日期(包括跨年)
-	 *
-	 * @param isEndDay   是否是最后一天  true默认上个月最后一天的日期,dayOfMonth随便传什么,false指定上个月某一天的日期
-	 * @param dayOfMonth 指定要获取的上个月的日期
-	 * @return 获取上个月最后一天的日期(包括跨年)
-	 */
-	public static Date getLastDayOfLastMonth(boolean isEndDay, int dayOfMonth) {
-		// 获取当前日期
-		LocalDate currentDate = LocalDate.now();
-		// 获取上个月的年份和月份
-		int lastMonthYear;
-		int lastMonth;
-		if (currentDate.getMonthValue() == 1) {
-			// 如果当前月份是1月,则上个月的年份为去年,月份为12
-			lastMonthYear = currentDate.getYear() - 1;
-			lastMonth = 12;
-		} else {
-			// 否则上个月的年份和月份分别为当前年份和当前月份减1
-			lastMonthYear = currentDate.getYear();
-			lastMonth = currentDate.getMonthValue() - 1;
-		}
-		// 构造上个月的YearMonth对象
-		YearMonth lastYearMonth = YearMonth.of(lastMonthYear, lastMonth);
-		LocalDate lastDayOfLastMonth;
-		if (isEndDay) {
-			// 获取上个月的最后一天
-			lastDayOfLastMonth = lastYearMonth.atEndOfMonth();
-		} else {
-			lastDayOfLastMonth = lastYearMonth.atDay(dayOfMonth);
-		}
-		return java.sql.Date.valueOf(lastDayOfLastMonth);
-	}
-
-	/**
-	 * 获取指定日期上个月指定第几天的日期(包括跨年)
-	 *
-	 * @param isEndDay   是否是最后一天  true默认上个月最后一天的日期,dayOfMonth随便传什么,false指定上个月某一天的日期
-	 * @param dayOfMonth 获取指定日期的上个月的日期
-	 * @param date       指定日期
-	 * @return 获取上个月最后一天的日期(包括跨年)
-	 */
-	public static Date getLastDayOfLastMonth(boolean isEndDay, int dayOfMonth, Date date) {
-		LocalDate currentDate = date.toInstant().atZone(UTC_PLUS_8).toLocalDate();
-		// 获取上个月的年份和月份
-		int lastMonthYear;
-		int lastMonth;
-		if (currentDate.getMonthValue() == 1) {
-			// 如果当前月份是1月,则上个月的年份为去年,月份为12
-			lastMonthYear = currentDate.getYear() - 1;
-			lastMonth = 12;
-		} else {
-			// 否则上个月的年份和月份分别为当前年份和当前月份减1
-			lastMonthYear = currentDate.getYear();
-			lastMonth = currentDate.getMonthValue() - 1;
-		}
-		// 构造上个月的YearMonth对象
-		YearMonth lastYearMonth = YearMonth.of(lastMonthYear, lastMonth);
-		LocalDate lastDayOfLastMonth;
-		if (isEndDay) {
-			// 获取上个月的最后一天
-			lastDayOfLastMonth = lastYearMonth.atEndOfMonth();
-		} else {
-			lastDayOfLastMonth = lastYearMonth.atDay(dayOfMonth);
-		}
-		return java.sql.Date.valueOf(lastDayOfLastMonth);
-	}
-
-
-	/**
-	 * 获取当月某天
-	 *
-	 * @param day
-	 * @return
-	 */
-	public static Date getDayOfMonth(int day) {
-		// 获取当前日期
-		LocalDate currentDate = LocalDate.now();
-		// 设置日期为当月的第15天
-		LocalDate fifteenthDayOfMonth = LocalDate.of(currentDate.getYear(), currentDate.getMonth(), day);
-		return java.sql.Date.valueOf(fifteenthDayOfMonth);
-	}
-
-	/**
-	 * 上个月月份
-	 *
-	 * @return 上个月月份
-	 */
-	public static int getLastMonth() {
-		// 获取当前日期
-		LocalDate currentDate = LocalDate.now();
-		// 获取上个月的日期
-		LocalDate lastMonthDate = currentDate.minusMonths(1);
-		// 获取上个月的月份
-		int lastMonth = lastMonthDate.getMonthValue();
-		return lastMonth;
-	}
-
-	/**
-	 * 判断当天是否是多少号
-	 *
-	 * @param mark 号
-	 * @return 判断当天是否是多少号
-	 */
-	public static Boolean isMark(int mark) {
-		Calendar calendar = Calendar.getInstance();
-		// 获取日期的日
-		int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
-		// 判断当天是否是多少号
-		return dayOfMonth == mark;
-	}
-
-	/**
-	 * 指定日期月份第一天
-	 *
-	 * @param date 指定日期
-	 * @return 指定日期月份第一天
-	 */
-	public static Date getFirstDayOfMonth(Date date) {
-		Calendar calendar = Calendar.getInstance();
-		calendar.setTime(date);
-		calendar.set(Calendar.DAY_OF_MONTH, 1);
-		calendar.set(Calendar.HOUR_OF_DAY, 0);
-		calendar.set(Calendar.MINUTE, 0);
-		calendar.set(Calendar.SECOND, 0);
-		calendar.set(Calendar.MILLISECOND, 0);
-		return calendar.getTime();
-	}
-
-	/**
-	 * 指定日期月份最后一天
-	 *
-	 * @param date 指定日期
-	 * @return 指定日期月份最后一天
-	 */
-	public static Date getLastDayOfMonth(Date date) {
-		Calendar calendar = Calendar.getInstance();
-		calendar.setTime(date);
-		calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
-		calendar.set(Calendar.HOUR_OF_DAY, 23);
-		calendar.set(Calendar.MINUTE, 59);
-		calendar.set(Calendar.SECOND, 59);
-		calendar.set(Calendar.MILLISECOND, 999);
-		return calendar.getTime();
-	}
-
-	/**
-	 * @param yearMonth 年月 2024-01
-	 * @return 获取月份天数
-	 */
-	public static int getDaysInMonth(String yearMonth) {
-		YearMonth ym = YearMonth.parse(yearMonth);
-		Month month = ym.getMonth();
-		if (month == Month.FEBRUARY && ym.isLeapYear()) {
-			return 29;
-		} else {
-			return month.maxLength();
-		}
-	}
-
-	public static DynamicObject getPeriodByDate(Date date) {
-		QFilter filter = new QFilter("begindate", "<=", date).and("enddate", ">=", date);
-		return BusinessDataServiceHelper.loadSingle("bd_period", filter.toArray());
-	}
-
-	public static String convertTimestamp(long timestamp) {
-		// 转换为秒
-		long totalSeconds = timestamp;
-		// 计算小时
-		long hours = totalSeconds / 3600;
-		// 计算分钟
-		long minutes = (totalSeconds % 3600) / 60;
-		// 计算秒
-		long seconds = totalSeconds % 60;
-
-		return String.format("%02d:%02d:%02d", hours, minutes, seconds);
-	}
-
-	/**
-	 * 取最大值
-	 * @param d1 d1
-	 * @param d2 d2
-	 * @return 最大值
-	 */
-	public static Date max(Date d1, Date d2) {
-		if (d1 == null) {
-			return d2;
-		}
-		if (d2 == null) {
-			return d1;
-		}
-		if (d1.after(d2)) {
-			return d1;
-		}else {
-			return d2;
-		}
-	}
-
-	/**
-	 * 取最小值
-	 * @param d1 d1
-	 * @param d2 d2
-	 * @return 最小值
-	 */
-	public static Date min(Date d1, Date d2) {
-		if (d1 == null) {
-			return d2;
-		}
-		if (d2 == null) {
-			return d1;
-		}
-		if (d1.before(d2)) {
-			return d1;
-		}else {
-			return d2;
-		}
-	}
-}

+ 1 - 1
nckd-pur/src/main/java/nckd/pur/scp/plugin/form/PurApplyBillPlugin.java

@@ -5,7 +5,7 @@ import kd.bos.form.field.events.BeforeF7SelectEvent;
 import kd.bos.form.field.events.BeforeF7SelectListener;
 import kd.bos.form.field.events.BeforeF7SelectListener;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.orm.query.QFilter;
-import nckd.pur.scp.common.utils.FormUtils;
+import nckd.base.common.utils.FormUtils;
 
 
 import java.util.EventObject;
 import java.util.EventObject;
 
 

+ 1 - 2
nckd-pur/src/main/java/nckd/pur/scp/plugin/operate/SaloutStockOpPlugin.java

@@ -9,8 +9,7 @@ import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.botp.BFTrackerServiceHelper;
 import kd.bos.servicehelper.botp.BFTrackerServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
-import kd.sdk.plugin.Plugin;
-import nckd.pur.scp.common.DateUtil;
+import nckd.base.common.utils.DateUtil;
 
 
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;