Przeglądaj źródła

1. 自动审批通过功能- 以分发的时间开始算

wangjiang 2 lat temu
rodzic
commit
5136c0670f

+ 29 - 0
doc/flow.md

@@ -0,0 +1,29 @@
+## 现有用户
+
+
+
+### 2023年9月10日16:28:03 需求变更
+
+王总这两天空的话,需要再看一下,部门都审核过之后,没有变更成“汇总”状态的原因。
+   -- 2023年9月10日16:28:23 是因为部门没有绑定联系人导致
+
+还有一个是再分发的时候,需要让所有的部门都可以在在分发的选框中。  第一个单据,再分发的时候,目前只能分发给之前未分发的部门。
+   -- 2023年9月10日16:28:40 之前常规流程进行到汇总阶段可以进行合规性审查补发,只能发给未发送过得部门,现在需要发送到所有其他部门
+
+
+
+
+
+#### 解析流程
+常规流程合规性审查,状态没有变为汇总
+
+参考单据: 20230724160532
+
+
+韩公博-> 薛坤
+
+合规性审查
+-- 合规性审查汇总
+-- 合规性审查补发  (这里可以选择已经发送过得部门)
+-- 合规性审查
+下一审批人为联合工作小组

+ 18 - 1
src/main/java/platform/common/util/DateUtil.java

@@ -198,7 +198,7 @@ public class DateUtil {
 
     public static void main(String args[]) {
         try {
-            System.out.println(getCurrentMonth());
+            System.out.println(getMinuteDiff("2023-09-23 09:00:00", "2023-09-24 09:00:00"));
             System.out.println(getCurrentYear());
         } catch (ParseException e) {
             e.printStackTrace();
@@ -487,6 +487,23 @@ public class DateUtil {
         return "";
     }
 
+    public static long getMinuteDiff(String startDateStr, String endDateStr) {
+        try {
+            DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+            Date beginDate = df.parse(startDateStr);
+            Date endDate = df.parse(endDateStr);
+
+            long date = endDate.getTime() - beginDate.getTime();
+
+            long min = ((date / (60 * 1000)) );
+            return min;
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return -1;
+    }
+
     //
     public static String getTimeDiff(String create_time, String deal_time, Integer overDay, String holiday) throws ParseException {
 

+ 1 - 1
src/main/java/platform/modules/sys/dao/ApprovalDao.java

@@ -23,7 +23,7 @@ public interface ApprovalDao extends BaseMapper<Approval> {
 
 	Approval getLatestApprovalByUser(@Param("apply_id") Integer apply_id,@Param("type") String type,@Param("user_id")  Integer user_id);
 
-	List<Approval> getApprovalList(Integer apply_id);
+//	List<Approval> getApprovalList(Integer apply_id);
 
 
     Approval findLastByCheckerAndBeforeStatu(@Param("id")Integer id,@Param("type") String type,@Param("userId") Integer userId, @Param("complianceAudit")String complianceAudit);

+ 4 - 0
src/main/java/platform/modules/sys/task/StocklandAutoFinishFlowTask.java

@@ -82,6 +82,10 @@ public class StocklandAutoFinishFlowTask {
     private void autoJudge(StockLand stockLand) throws ParseException, ClientException, InterruptedException {
         Approval latestApproval = approvalService.getLatestApproval(stockLand.getId(), Constant.DictionaryType.STOCKLAND);
         Approval dispatchApproval = approvalService.getLatestDispatchApproval(stockLand.getId(), Constant.DictionaryType.STOCKLAND);
+        // 从今天上班开始分发的开始计算, 低于这个这个时间,则不进行自动分发
+        if (DateUtil.getMinuteDiff(dispatchApproval.getCreate_time() , "2023-09-23 08:00:00") > 0) {
+            return;
+        }
         // 最后一个审批超过5天的 开始自动审批
         Boolean overTime = DateUtil.isOverTime(dispatchApproval.getCreate_time(), 5);
         if (!overTime) return;