Browse Source

审批记录上传图片和附件

guarantee-lsq 7 months ago
parent
commit
d3396c3600

+ 11 - 0
platform-dao/src/main/java/com/platform/dao/dto/workflow/WorkflowTaskRecordDTO.java

@@ -1,12 +1,14 @@
 package com.platform.dao.dto.workflow;
 
 import com.platform.common.bean.BaseDTO;
+import com.platform.dao.entity.upms.SysFile;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * @Description 流程任务处理记录DTO
@@ -86,4 +88,13 @@ public class WorkflowTaskRecordDTO extends BaseDTO implements Serializable {
 
     private String flowId;
 
+    /**
+     * 审批图片
+     */
+    private List<SysFile> imageList;
+    /**
+     * 审批文件
+     */
+    private List<SysFile> fileList;
+
 }

+ 12 - 0
platform-dao/src/main/java/com/platform/dao/entity/workflow/WorkflowTaskRecord.java

@@ -1,6 +1,7 @@
 package com.platform.dao.entity.workflow;
 
 import com.platform.common.bean.DataScope;
+import com.platform.dao.entity.upms.SysFile;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
@@ -9,6 +10,7 @@ import javax.persistence.Table;
 import javax.persistence.Transient;
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * @Description 流程任务处理记录实体类
@@ -69,4 +71,14 @@ public class WorkflowTaskRecord implements Serializable {
     @Transient
     private DataScope dataScope;
 
+    /**
+     * 审批图片
+     */
+    @Transient
+    private List<SysFile> imageList;
+    /**
+     * 审批文件
+     */
+    @Transient
+    private List<SysFile> fileList;
 }

+ 3 - 1
platform-dao/src/main/java/com/platform/dao/enums/SysFileTypeEnum.java

@@ -47,7 +47,9 @@ public enum SysFileTypeEnum {
     HIDDEN_DANGER_FILES(53, "隐患整改附件"),
     Sb_MEASURE_FILES(32, "计量文件"),
     REPAIR_SCHEME_IMGS(33, "维修-方案图片"),
-    REPAIR_SCHEME_FILES(34, "维修-方案文件");
+    REPAIR_SCHEME_FILES(34, "维修-方案文件"),
+    VERIFY_RECORD_IMAGES(54, "流程审批记录图片"),
+    VERIFY_RECORD_FILES(55, "流程审批记录附件"),;
     private Integer value;
     private final String description;
 }

+ 3 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/workflow/WorkflowTaskBomVO.java

@@ -2,12 +2,14 @@ package com.platform.dao.vo.query.workflow;
 
 import com.alibaba.fastjson.JSONObject;
 import com.platform.common.bean.BaseVO;
+import com.platform.dao.entity.workflow.WorkflowTaskRecord;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * @Description 流程任务审核字段显示表VO结果类
@@ -78,6 +80,7 @@ public class WorkflowTaskBomVO extends BaseVO implements Serializable {
     private String linkType;
     private JSONObject data;
     private String formDataId;
+    private List<WorkflowTaskRecord> recordList;
    /* *//**
      * 自定义字段1
      *//*

+ 24 - 0
platform-service/src/main/java/com/platform/service/workflow/impl/WorkflowTaskBomServiceImpl.java

@@ -12,20 +12,25 @@ import com.platform.dao.dto.workflow.WorkflowTaskBomDTO;
 import com.platform.dao.dto.workflow.WorkflowTaskRecordDTO;
 import com.platform.dao.entity.workflow.WorkflowTask;
 import com.platform.dao.entity.workflow.WorkflowTaskBom;
+import com.platform.dao.entity.workflow.WorkflowTaskRecord;
 import com.platform.dao.enums.FlowTaskStatusEnum;
+import com.platform.dao.enums.SysFileTypeEnum;
 import com.platform.dao.enums.TaskRecordStatusEnum;
 import com.platform.dao.enums.YesNoEnum;
 import com.platform.dao.mapper.workflow.WorkflowNodeMapper;
 import com.platform.dao.mapper.workflow.WorkflowTaskBomMapper;
 import com.platform.dao.mapper.workflow.WorkflowTaskMapper;
+import com.platform.dao.mapper.workflow.WorkflowTaskRecordMapper;
 import com.platform.dao.vo.query.workflow.WorkflowNodeVO;
 import com.platform.dao.vo.query.workflow.WorkflowTaskBomVO;
 import com.platform.service.base.impl.BaseServiceImpl;
+import com.platform.service.upms.SysFileService;
 import com.platform.service.workflow.WorkflowTaskBomService;
 import com.platform.service.workflow.verifyStrategy.BaseStrategy;
 import com.platform.service.workflow.viewStrategy.BomViewStrategy;
 import lombok.AllArgsConstructor;
 import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
@@ -51,6 +56,10 @@ public class WorkflowTaskBomServiceImpl extends BaseServiceImpl<WorkflowTaskBomM
     private WorkflowTaskMapper workflowTaskMapper;
     @Resource
     private WorkflowNodeMapper workflowNodeMapper;
+    @Resource
+    private WorkflowTaskRecordMapper workflowTaskRecordMapper;
+    @Resource
+    private SysFileService sysFileService;
 
     @Override
     public int batchDelete(List<String> ids) {
@@ -103,9 +112,24 @@ public class WorkflowTaskBomServiceImpl extends BaseServiceImpl<WorkflowTaskBomM
         // 获取详情数据
         BomViewStrategy baseStrategy = bomViewStrategyList.stream().filter(strategy -> strategy.getType().equals(vo.getLinkType())).collect(Collectors.toList()).get(0);
         vo.setData(baseStrategy.getVOById(vo.getFormDataId()));
+        // 审批记录
+        packageVerifyRecord(vo);
         return vo;
     }
 
+    private void packageVerifyRecord(WorkflowTaskBomVO vo) {
+        WorkflowTaskRecord record = new WorkflowTaskRecord();
+        record.setTaskId(vo.getTaskId());
+        List<WorkflowTaskRecord> recordList = workflowTaskRecordMapper.select(record);
+        if (CollectionUtils.isNotEmpty(recordList)) {
+            // 获取图片和附件
+            for (WorkflowTaskRecord item : recordList) {
+                item.setImageList(sysFileService.getListByTargetAndType(item.getId(), SysFileTypeEnum.VERIFY_RECORD_IMAGES.getValue()));
+                item.setFileList(sysFileService.getListByTargetAndType(item.getId(), SysFileTypeEnum.VERIFY_RECORD_FILES.getValue()));
+            }
+        }
+    }
+
     @Override
     public void publishTask(String id) {
         WorkflowTaskBom bom = mapper.selectByPrimaryKey(id);

+ 11 - 0
platform-service/src/main/java/com/platform/service/workflow/verifyStrategy/AbstractBaseStrategy.java

@@ -4,7 +4,10 @@ import com.platform.common.util.IdGeneratorUtils;
 import com.platform.common.util.SecurityUtils;
 import com.platform.dao.dto.workflow.WorkflowTaskRecordDTO;
 import com.platform.dao.entity.workflow.WorkflowTaskRecord;
+import com.platform.dao.enums.SysFileTypeEnum;
 import com.platform.dao.mapper.workflow.WorkflowTaskRecordMapper;
+import com.platform.service.upms.SysFileService;
+import org.apache.commons.collections.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
@@ -12,6 +15,8 @@ import java.time.LocalDateTime;
 public abstract class AbstractBaseStrategy implements BaseStrategy{
     @Resource
     private WorkflowTaskRecordMapper workflowTaskRecordMapper;
+    @Resource
+    private SysFileService sysFileService;
 
     @Override
     public void saveTaskRecord(WorkflowTaskRecordDTO record) {
@@ -23,6 +28,12 @@ public abstract class AbstractBaseStrategy implements BaseStrategy{
         item.setHandleStatus(record.getHandleStatus());
         item.setTaskId(record.getTaskId());
         item.setHandleRemark(record.getHandleRemark());
+        if(CollectionUtils.isNotEmpty(record.getImageList())){
+            sysFileService.saveFile(item.getId(), SysFileTypeEnum.VERIFY_RECORD_IMAGES.getValue(), record.getImageList());
+        }
+        if(CollectionUtils.isNotEmpty(record.getFileList())){
+            sysFileService.saveFile(item.getId(), SysFileTypeEnum.VERIFY_RECORD_FILES.getValue(), record.getFileList());
+        }
         workflowTaskRecordMapper.insert(item);
     }
 }