sangwenwei hai 1 ano
pai
achega
12052cea00

+ 4 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/program/configuration/projectDict/domain/vo/FileDictVo.java

@@ -41,4 +41,8 @@ public class FileDictVo extends ProgramFileDict {
      */
     private String workAttachmentType;
 
+    private String fileSize;
+
+    private Date createDate;
+
 }

+ 56 - 6
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/program/configuration/projectDict/service/ProjectDictService.java

@@ -1,6 +1,7 @@
 package com.jeeplus.business.program.configuration.projectDict.service;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.google.common.collect.Lists;
@@ -10,8 +11,13 @@ import com.jeeplus.business.program.configuration.projectDict.domain.ProgramProj
 import com.jeeplus.business.program.configuration.projectDict.domain.vo.FileDictVo;
 import com.jeeplus.business.program.configuration.projectDict.mapper.ProjectDictMapper;
 import com.jeeplus.business.program.configuration.projectDict.service.dto.ProjectDictDto;
+import com.jeeplus.business.project.domain.JyProject;
+import com.jeeplus.business.project.mapper.JyProjectArchiveMapper;
+import com.jeeplus.business.project.mapper.JyProjectEiaQualificationMapper;
+import com.jeeplus.business.project.mapper.JyProjectMapper;
 import com.jeeplus.business.project.mapper.JyProjectOutinstanceMapper;
 import com.jeeplus.common.TokenProvider;
+import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.service.dto.UserDTO;
 //import com.jeeplus.sys.utils.UserUtils;
@@ -38,6 +44,15 @@ public class ProjectDictService {
     @Resource
     private JyProjectOutinstanceMapper jyProjectOutinstanceMapper;
 
+    @Resource
+    private JyProjectMapper jyProjectMapper;
+
+    @Resource
+    private JyProjectEiaQualificationMapper jyProjectEiaQualificationMapper;
+
+    @Resource
+    private JyProjectArchiveMapper jyProjectArchiveMapper;
+
     /**
      * 查询
      * @param projectDictDto
@@ -152,9 +167,12 @@ public class ProjectDictService {
     /**
      * 查询
      * @param projectDictDto
+     * @param id
      * @return
      */
-    public List<FileDictVo> getFileDictList(ProjectDictDto projectDictDto,String projectId) {
+    public List<FileDictVo> getFileDictList(ProjectDictDto projectDictDto, String id, String projectId) {
+        //获取当前登陆人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
         List<FileDictVo> list = new ArrayList<>();
         if (StringUtils.isNotEmpty(projectDictDto.getAttachmentProjectType())) {
             //查询父级
@@ -168,20 +186,52 @@ public class ProjectDictService {
             list.addAll(dictVos);
         }
         List<WorkAttachmentInfoDTO> fileList = Lists.newArrayList();
+        String stage="";
+        //获取当前项目处于哪个阶段
+        JyProject jyProject = jyProjectMapper.getById(id);
+        //获取当前节点审核人
+        List<String> users = SpringUtil.getBean(IFlowableApi.class).getTaskAuditUsers(jyProject.getTaskIdEia());
+
+        if (StringUtils.isNotBlank(jyProject.getOutInstanceId()) || StringUtils.isNotBlank(jyProject.getArchiveId()) || StringUtils.isNotBlank(jyProject.getEiaId())){
+            //设置必填项
+            //外审
+            if (jyProject.getOutInstanceId().equals(projectId)){
+                stage="2";
+            }
+            //如果是环评项目,则需要在设置审核阶段的必填项
+            if (jyProject.getEiaId().equals(projectId)){
+                stage="1";
+                //判断当前登录人是否是节点审核人
+                if (ObjectUtil.isNotEmpty(users)){
+                    for (String user : users) {
+                        if (user.equals(userDTO.getId())){
+                            stage= "4";
+                        }
+                    }
+                }
+
+            }
+            //归档
+            if (jyProject.getArchiveId().equals(projectId)){
+                stage="3";
+            }
+        }
+
         for (FileDictVo dictVo : list) {
-            if(StringUtils.isNotBlank(dictVo.getRequiredStage()) && dictVo.getRequiredStage().equals("2")){
+            if(StringUtils.isNotBlank(dictVo.getRequiredStage()) && dictVo.getRequiredStage().equals(stage)){
                 dictVo.setMustFlag(1);
             }else{
                 dictVo.setMustFlag(0);
             }
             if(StringUtils.isNotBlank(dictVo.getType())){
+                //此处为子集菜单,需根据项目id和附件类型id查询对应附件信息
+                dictVo.setLevelFlag(2);
                 // 查询附件信息
                 List<WorkAttachmentInfoDTO> files = jyProjectOutinstanceMapper.getFileListByAttachmentAndModuleType(dictVo.getId(), projectId);
                 if (CollectionUtils.isNotEmpty(files)) {
                     fileList.addAll(files);
+                    continue;
                 }
-                //此处为子集菜单,需根据项目id和附件类型id查询对应附件信息
-                dictVo.setLevelFlag(2);
             }else{
                 dictVo.setLevelFlag(1);
             }
@@ -194,8 +244,8 @@ public class ProjectDictService {
                 info.setParentId(workAttachmentInfoDTO.getAttachmentId());
                 info.setAttachmentName(workAttachmentInfoDTO.getAttachmentName());
                 info.setWorkAttachmentType(workAttachmentInfoDTO.getType());
-                info.setSize(workAttachmentInfoDTO.getSize());
-                info.setCreateTime(workAttachmentInfoDTO.getCreateTime());
+                info.setFileSize(workAttachmentInfoDTO.getFileSize());
+                info.setCreateDate(workAttachmentInfoDTO.getCreateTime());
                 info.setUrl(workAttachmentInfoDTO.getUrl());
                 //此处为子集菜单,需根据项目id和附件类型id查询对应附件信息
                 info.setLevelFlag(3);

+ 9 - 14
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/controller/JyProjectController.java

@@ -8,24 +8,16 @@ import com.jeeplus.aop.demo.annotation.DemoMode;
 import com.jeeplus.business.program.configuration.projectDict.domain.vo.FileDictVo;
 import com.jeeplus.business.program.configuration.projectDict.service.ProjectDictService;
 import com.jeeplus.business.program.configuration.projectDict.service.dto.ProjectDictDto;
-import com.jeeplus.assess.program.configuration.projectList.domain.ProgramProjectListInfo;
-import com.jeeplus.assess.program.configuration.projectList.service.dto.ContractDto;
-import com.jeeplus.assess.program.configuration.projectList.service.dto.ProgramAuditDto;
-import com.jeeplus.assess.program.configuration.projectList.service.dto.ProjectListDto;
+
 import com.jeeplus.assess.utils.FreemarkerUtil;
-import com.jeeplus.assess.workContract.domain.WorkContractInfo;
-import com.jeeplus.business.program.configuration.projectDict.domain.vo.FileDictVo;
-import com.jeeplus.business.program.configuration.projectDict.service.ProjectDictService;
-import com.jeeplus.business.program.configuration.projectDict.service.dto.ProjectDictDto;
+
 import com.jeeplus.business.project.domain.JyProject;
 import com.jeeplus.business.project.domain.JyProjectAudit;
 import com.jeeplus.business.project.domain.JyProjectReportsSubmit;
-import com.jeeplus.business.project.service.JyProjectAuditService;
 import com.jeeplus.business.project.service.JyProjectService;
 import com.jeeplus.business.project.service.dto.*;
-import com.jeeplus.business.project.utils.FreemarkerUtil;
+
 import com.jeeplus.business.project.utils.JyResponseUtil;
-import com.jeeplus.business.useSeal.service.dto.SignetDTO;
 import com.jeeplus.business.workContractInfo.domain.JyWorkContractInfo;
 import com.jeeplus.business.workContractInfo.service.dto.JyWorkContractInfoDto;
 
@@ -304,11 +296,14 @@ public class JyProjectController {
     }
 
     /**
-     * 根据项目id查询外审附件信息(归档)
+     * 根据项目id查询外审附件信息
+     * @param projectId  当前阶段的id
+     * @param id  项目id
+     * @return
      */
     @ApiOperation(value = "根据项目id查询外审附件信息")
     @GetMapping(value = "/getAttachmentList")
-    public ResponseEntity<List<FileDictVo>> getAttachmentList(@RequestParam String projectId){
+    public ResponseEntity<List<FileDictVo>> getAttachmentList(@RequestParam String projectId, @RequestParam String id){
         //根据项目id查询项目信息
         JyProjectDTO project = jyProjectService.findById(projectId);
         ProjectDictDto projectDictDto = new ProjectDictDto();
@@ -324,7 +319,7 @@ public class JyProjectController {
             projectDictDto.setAttachmentProjectType("5");
         }
         projectDictDto.setSortList(sortList);
-        List<FileDictVo> list = projectDictService.getFileDictList(projectDictDto,projectId);
+        List<FileDictVo> list = projectDictService.getFileDictList(projectDictDto,projectId,id);
         return ResponseEntity.ok(list);
     }
 

+ 2 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/JyProjectArchiveMapper.java

@@ -16,4 +16,6 @@ public interface JyProjectArchiveMapper extends BaseMapper<JyProjectArchive> {
     JyProjectArchiveDTO findById(@Param("id")String id);
 
     List<WorkAttachmentInfoDTO> findDtos(@Param("id")String id);
+
+    List<WorkAttachmentInfoDTO> getFileListByAttachmentAndModuleType(@Param("attachmentId")String attachmentId , @Param("moduleType")String moduleType);
 }

+ 2 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/JyProjectEiaQualificationMapper.java

@@ -12,4 +12,6 @@ public interface JyProjectEiaQualificationMapper extends BaseMapper<JyProjectEia
     JyProjectEiaQualificationDTO findById(@Param("id") String id);
 
     List<WorkAttachmentInfoDTO> findDtos(@Param("id")String id);
+
+    List<WorkAttachmentInfoDTO> getFileListByAttachmentAndModuleType(@Param("attachmentId")String attachmentId , @Param("moduleType")String moduleType);
 }

+ 30 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/xml/JyProjectArchiveMapper.xml

@@ -30,4 +30,34 @@
 		    wa.del_flag = 0
 			AND wa.attachment_id = #{id}
     </select>
+
+
+    <select id="getFileListByAttachmentAndModuleType" resultType="com.jeeplus.sys.service.dto.WorkAttachmentInfoDTO">
+        select
+        wa.id,
+        wa.url,
+        wa.attachment_name AS `name`,
+        wa.create_by_id AS `createBy.id`,
+        su.name AS `createBy.name`,
+        wa.create_time,
+        wa.type as "type",
+        wa.attachment_id as "attachmentId",
+        wa.attachment_name as "attachmentName",
+        wa.attachment_flag as "attachmentFlag",
+        wa.module_type as "moduleType",
+        wa.attachment_type as "attachmentType",
+        wa.file_size as "fileSize",
+        wa.sort as "sort",
+        wa.description as "description"
+        from
+        work_attachment wa
+        left join sys_user su on su.id = wa.create_by_id
+        <where>
+            wa.del_flag = 0
+            AND wa.attachment_id = #{attachmentId}
+            AND wa.module_type = #{moduleType}
+        </where>
+    </select>
+
+
 </mapper>

+ 28 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/xml/JyProjectEiaQualificationMapper.xml

@@ -31,6 +31,34 @@
 			AND wa.attachment_id = #{id}
     </select>
 
+    <select id="getFileListByAttachmentAndModuleType" resultType="com.jeeplus.sys.service.dto.WorkAttachmentInfoDTO">
+        select
+        wa.id,
+        wa.url,
+        wa.attachment_name AS `name`,
+        wa.create_by_id AS `createBy.id`,
+        su.name AS `createBy.name`,
+        wa.create_time,
+        wa.type as "type",
+        wa.attachment_id as "attachmentId",
+        wa.attachment_name as "attachmentName",
+        wa.attachment_flag as "attachmentFlag",
+        wa.module_type as "moduleType",
+        wa.attachment_type as "attachmentType",
+        wa.file_size as "fileSize",
+        wa.sort as "sort",
+        wa.description as "description"
+        from
+        work_attachment wa
+        left join sys_user su on su.id = wa.create_by_id
+        <where>
+            wa.del_flag = 0
+            AND wa.attachment_id = #{attachmentId}
+            AND wa.module_type = #{moduleType}
+        </where>
+    </select>
+
+
 
 
 

+ 6 - 5
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/service/JyProjectService.java

@@ -185,13 +185,14 @@ public class JyProjectService {
         QueryWrapper<Signet> queryWrapper = new QueryWrapper<>();
         queryWrapper.orderByDesc("create_time");
         List<Signet> signets = signetMapper.selectList(queryWrapper);
+
         pageList.getRecords().stream().forEach(item ->{
             // 项目登记
-            if (StringUtils.isNotBlank(item.getTaskId()) && StringUtils.isNotBlank(item.getStatus())) {
-                if ("2".equals(item.getStatus())) { // “审核中”的数据要获取数据审核人
-                    item.setAuditUserIds(flowTaskService.getTaskAuditUsers(item.getTaskId()));  // 获取数据审核人
-                }
-            }
+//            if (StringUtils.isNotBlank(item.getTaskId()) && StringUtils.isNotBlank(item.getStatus())) {
+//                if ("2".equals(item.getStatus())) { // “审核中”的数据要获取数据审核人
+//                    item.setAuditUserIds(flowTaskService.getTaskAuditUsers(item.getTaskId()));  // 获取数据审核人
+//                }
+//            }
             //合同名称及委托方联系人
 //            if (StringUtils.isEmpty(item.getContractName())){
 //                item.setContractName("暂无合同");

+ 7 - 4
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/service/JyWorkContractService.java

@@ -16,8 +16,10 @@ import com.jeeplus.business.workContractInfo.service.dto.JyWorkContractInfoDto;
 import com.jeeplus.common.TokenProvider;
 import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.sys.domain.WorkAttachmentInfo;
+import com.jeeplus.sys.feign.IDictApi;
 import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.feign.IWorkAttachmentApi;
+import com.jeeplus.sys.service.dto.PostDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.service.dto.WorkAttachmentInfoDTO;
 import org.apache.commons.lang3.StringUtils;
@@ -90,6 +92,7 @@ public class JyWorkContractService {
                 queryWrapper.like("a.contract_type", contractTypeList.get(1));
             }
         }
+
         IPage<JyWorkContractInfo> pageList = jyWorkContractInfoMapper.findPageList(page, queryWrapper);
         pageList.getRecords().stream().forEach(i -> {
             // 合同归档
@@ -503,12 +506,12 @@ public class JyWorkContractService {
 //        info.setNo(serialNum);
         info.setUpdateById(userDTO.getId());
         info.setUpdateTime(new Date());
-        if (ObjectUtil.isNotEmpty(userDTO.getPostNameList())){
-            userDTO.getPostNameList().stream().forEach(item->{
-                if (item.equals("办公室(嘉溢)")){
+        if (ObjectUtil.isNotEmpty(userDTO.getPostDTOList())){
+            for (PostDTO item : userDTO.getPostDTOList()) {
+                if (item.getId().contains("办公室")){
                     info.setFiledNo(workContractInfoDto.getFiledNo());
                 }
-            });
+            }
         }
         jyWorkContractInfoMapper.updateContractById(info.getUpdateById(),info.getUpdateTime(),workContractInfoDto.getFiledType(),info.getFiledNo(),workContractInfoDto.getId());
         return workContractInfoDto.getId();

+ 1 - 1
jeeplus-modules/jeeplus-flowable/src/main/java/com/jeeplus/modules/flowable/listener/JyProjectArchiveListener.java

@@ -73,7 +73,7 @@ public class JyProjectArchiveListener implements ExecutionListener {
                 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
                 UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getById(flow.getAssigneeId());
-                //获取到总经办下的人员信息
+                //获取人员信息
                 IPage<UserDTO> page = SpringUtil.getBean(IUserApi.class).findPage();
                 String finalTitleName = titleName;
                 //将项目信息抄送给分管领导

+ 1 - 0
jeeplus-modules/jeeplus-public-modules/src/main/java/com/jeeplus/pubmodules/oss/service/OssService.java

@@ -167,6 +167,7 @@ public class OssService extends ServiceImpl<OssServiceMapper, WorkAttachment> {
                 workAttachment.setAttachmentId(workAttachment.getAttachmentId());
                 workAttachment.setModuleType(workAttachment.getModuleType());
                 workAttachment.setDelFlag(0);
+                workAttachment.setFileSize(workAttachment.getFileSize());
                 i++;
 
                 UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken (currentToken);