Browse Source

优化增补

guarantee-lsq 7 months ago
parent
commit
1c3fe6536c

+ 3 - 104
platform-common/src/main/java/com/platform/common/constant/CommonConstants.java

@@ -20,21 +20,11 @@ public interface CommonConstants {
      */
     Integer USER_STATUS_FROZE = 2;
 
-    /**
-     * 删除
-     */
-    Integer STATUS_DEL = 1;
     /**
      * 正常
      */
     Integer STATUS_NORMAL = 0;
 
-    /**
-     * 锁定
-     */
-    Integer STATUS_LOCK = 9;
-
-
     /**
      * 成功标记
      */
@@ -44,41 +34,11 @@ public interface CommonConstants {
      */
     int FAIL = 1;
 
-    /**
-     * 逗号分隔符
-     */
-    String SPLIT_COMMA = ",";
-
     /**
      * 冒号分隔符
      */
     String SPLIT_COLON = ":";
 
-    /**
-     * 省
-     */
-    int PROVINCE_LENGTH = 2;
-
-    /**
-     * 市
-     */
-    int CITY_LENGTH = 4;
-
-    /**
-     * 县
-     */
-    int AREA_LENGTH = 6;
-
-    /**
-     * 街道
-     */
-    int STREET_LENGTH = 9;
-
-    /**
-     * 村
-     */
-    int VILLAGE_LENGTH = 12;
-
     /**
      * 编码
      */
@@ -117,16 +77,6 @@ public interface CommonConstants {
     String USER_AUTH_TO_ACCESS = platform_USER + "user_auth_to_access";
 
 
-    /**
-     * 微信 appId
-     */
-    String WECHAT_APP_ID = "app_id";
-
-    /**
-     * 微信 secret
-     */
-    String WECHAT_APP_SECRET = "app_secret";
-
     /**
      * 文件获取请求地址
      */
@@ -139,58 +89,7 @@ public interface CommonConstants {
      * 备件获取请求地址
      */
     String RESOURCE_PREFIX_POSITION= "/position/upload";
-    /**
-     * 一年多少天计算
-     */
-    Integer YEAR_TO_DAY = 360;
-
-    /**
-     * 天与百分比
-     */
-    Integer YEAR_TO_DAY_PER_CENT = 36000;
-
-    /**
-     * 一年多少月
-     */
-    Integer YEAR_TO_MONTH = 12;
-
-    /**
-     * 一年多少季
-     */
-    Integer YEAR_TO_SEASON = 4;
-
-    /**
-     * 金额位数
-     */
-    Integer AMOUNT_SCALE = 2;
 
-    /**
-     * 小计
-     */
-    String LITTLE_SUM = "小计";
-
-    /**
-     * 合计
-     */
-    String TOTAL_SUM = "合计";
-
-    /**
-     * 投资
-     */
-    String INVEST = "INVEST";
-    /**
-     * 财务
-     */
-    String FINANCE = "FINANCE";
-    /**
-     * 融资
-     */
-    String FINANCING = "FINANCING";
-
-    /**
-     * 能登录移动端的用户
-     */
-    String MOBILE_USER_NAME = "zhanglinjie:chenyuehu:chenli:shibaifeng";
 
     /**
      * 公司LOG
@@ -254,9 +153,6 @@ public interface CommonConstants {
 
     String REPAIR_STRATEGY_MODEL_DISPATCH = "2"; // 派发模式,路由到具体派发人那里,由派发人进行分配处理
 
-    String REPAIR_STRATEGY_MODEL_DISPATCH_LONG_YAN = "3"; // 维修模式之龙岩
-
-
     /**
      * 审批表单
      */
@@ -350,4 +246,7 @@ public interface CommonConstants {
     int RECEIVE_VERIFY_BACK = 10; // 收件负责人回退
     int FIRST_PROCESSING_VERIFY_BACK = 13; // 材料费用审核-回退
     int SECOND_PROCESSING_BACK = 17; // 验收回退
+
+    int CONDITION_TYPE = 2; // 条件分支
+    int VERIFY_USER_TYPE = 3; // 审核人
 }

+ 2 - 4
platform-dao/src/main/java/com/platform/dao/dto/workflow/WorkflowNodeDTO.java

@@ -78,7 +78,7 @@ public class WorkflowNodeDTO extends BaseDTO implements Serializable {
     /**
      * 审批层级节点顺序
      */
-    private Integer nodeSort;
+    //private Integer nodeSort;
     /**
      * 审批人ID
      */
@@ -96,7 +96,5 @@ public class WorkflowNodeDTO extends BaseDTO implements Serializable {
 
     private String switchJson; // 分支json
 
-    private String className; // 处理类
-
-    private String methodName; // 处理方法
+    private String switchHandleId; // 分支处理ID
 }

+ 3 - 5
platform-dao/src/main/java/com/platform/dao/entity/workflow/WorkflowNode.java

@@ -55,7 +55,7 @@ public class WorkflowNode implements Serializable {
      */
     private String flowId;
     /**
-     * 人员类型 1 审核人 2 协同人
+     * 人员类型 3 审核人 2 条件分支
      */
     private Integer type;
     /**
@@ -65,7 +65,7 @@ public class WorkflowNode implements Serializable {
     /**
      * 审批层级节点顺序
      */
-    private Integer nodeSort;
+    //private Integer nodeSort;
     /**
      * 审批人ID
      */
@@ -85,8 +85,6 @@ public class WorkflowNode implements Serializable {
 
     private String switchJson; // 分支json
 
-    private String className; // 处理类
-
-    private String methodName; // 处理方法
+    private String switchHandleId; // 分支处理ID
 
 }

+ 2 - 4
platform-dao/src/main/java/com/platform/dao/vo/query/workflow/WorkflowNodeVO.java

@@ -62,7 +62,7 @@ public class WorkflowNodeVO extends BaseVO implements Serializable {
     /**
      * 审批层级节点顺序
      */
-    private Integer nodeSort;
+    //private Integer nodeSort;
     /**
      * 审批人ID
      */
@@ -77,9 +77,7 @@ public class WorkflowNodeVO extends BaseVO implements Serializable {
 
     private String switchJson; // 分支json
 
-    private String className; // 处理类
-
-    private String methodName; // 处理方法
+    private String switchHandleId; // 分支处理ID
 
 
 }

+ 1 - 6
platform-rest/src/main/java/com/platform/rest/controller/workflow/WorkflowController.java

@@ -52,9 +52,8 @@ public class WorkflowController {
      */
     @SysLog("新增流程表")
     @PostMapping
-    @PreAuthorize("@pms.hasPermission('workflow-workflow-add')")
     public R save(@Validated({AddGroup.class}) @RequestBody WorkflowDTO workflowDTO) {
-        return new R<>(workflowService.saveModelByDTO(workflowDTO));
+        return new R<>(workflowService.saveByDTO(workflowDTO));
     }
 
     /**
@@ -65,7 +64,6 @@ public class WorkflowController {
      */
     @SysLog("修改流程表")
     @PutMapping("/{id}")
-    @PreAuthorize("@pms.hasPermission('workflow-workflow-edit')")
     public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody WorkflowDTO workflowDTO) {
         workflowService.modModelByDTO(workflowDTO);
         return new R<>();
@@ -80,7 +78,6 @@ public class WorkflowController {
      */
     @SysLog("删除流程表")
     @DeleteMapping("/{id}")
-    @PreAuthorize("@pms.hasPermission('workflow-workflow-del')")
     public R removeById(@PathVariable String id) {
         workflowService.deleteByPrimaryKey(id);
         return new R<>();
@@ -94,7 +91,6 @@ public class WorkflowController {
      */
     @SysLog("批量删除流程表")
     @DeleteMapping("")
-    @PreAuthorize("@pms.hasPermission('workflow-workflow-del')")
     public R removeIds(@RequestBody List<String> ids) {
         workflowService.batchDelete(ids);
         return new R<>();
@@ -132,7 +128,6 @@ public class WorkflowController {
      */
     @GetMapping("/export")
     @SysLog("流程表导出")
-    @PreAuthorize("@pms.hasPermission('workflow-workflow-export')")
     public void export(HttpServletResponse response, WorkflowDTO workflowDTO) {
         List<Workflow> list = workflowService.getModelListByDTO(workflowDTO);
         ExcelUtil.exportResponseDict(response, ExportWorkflowVO.class, BeanConverterUtil.copyListProperties(list, ExportWorkflowVO.class), "流程表");

+ 47 - 0
platform-service/src/main/java/com/platform/service/workflow/impl/WorkflowServiceImpl.java

@@ -1,19 +1,28 @@
 package com.platform.service.workflow.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.constant.CommonConstants;
+import com.platform.common.util.IdGeneratorUtils;
+import com.platform.common.util.ListUtils;
+import com.platform.common.util.SecurityUtils;
 import com.platform.dao.bean.MyPage;
 import com.platform.dao.dto.workflow.WorkflowDTO;
 import com.platform.dao.entity.workflow.Workflow;
+import com.platform.dao.entity.workflow.WorkflowNode;
 import com.platform.dao.mapper.workflow.WorkflowMapper;
 import com.platform.dao.vo.query.workflow.WorkflowVO;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.workflow.WorkflowService;
 import lombok.AllArgsConstructor;
+import org.apache.tomcat.jni.Local;
 import org.springframework.stereotype.Service;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -43,12 +52,50 @@ public class WorkflowServiceImpl extends BaseServiceImpl<WorkflowMapper, Workflo
 
     @Override
     public Workflow saveByDTO(WorkflowDTO workflowDTO) {
+        JSONArray array = JSONArray.parseArray(workflowDTO.getJson());
         // 计算总节点数
+        int total = array.size();
         // 计算层级数
+        saveModelByDTO(workflowDTO);
+        List<WorkflowNode> nodeList = ListUtils.newArrayList();
         // 解析json,生成workflowNode,发起表单或者其他审批根据workflowNode来生成任务
         return null;
     }
 
+    private void parseJson(JSONArray array,WorkflowDTO record,List<WorkflowNode> nodeList) {
+        int maxNodeNum = 1;
+        for(Object object : array) {
+            JSONObject jsonObject = (JSONObject) object;
+            int sortNum = jsonObject.getInteger("sortNum"); // 节点层级
+            if(sortNum > maxNodeNum) {
+                maxNodeNum = sortNum;
+            }
+            if(sortNum > 1) {
+                int type = jsonObject.getInteger("type");
+                // 存储节点
+                WorkflowNode node = new WorkflowNode();
+                node.setId(IdGeneratorUtils.getObjectId());
+                node.setNodeLevel(sortNum);
+                node.setType(type);
+                node.setCreatedTime(LocalDateTime.now());
+                node.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
+                node.setCreatedUserName(SecurityUtils.getUserInfo().getRealName());
+                switch(type) {
+                    case CommonConstants.CONDITION_TYPE: // 条件分支
+                        node.setSwitchJson(jsonObject.getString("switchJson"));
+                        node.setSwitchHandleId(jsonObject.getString("handleNameId"));
+                        break;
+                    case CommonConstants.VERIFY_USER_TYPE: // 审核人
+                        node.setUserId(jsonObject.getString("verifier"));
+                        node.setUserName(jsonObject.getString("userName"));
+                        break;
+                }
+                nodeList.add(node);
+            }
+        }
+        record.setLevelNode(maxNodeNum);
+    }
+
     @Override
     public AbstractPageResultBean<Workflow> selectPageInfo(WorkflowDTO record, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);