Browse Source

20220927
项目类型附件设置

sunruiqi 2 năm trước cách đây
mục cha
commit
2f05fdbe61

+ 72 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/controller/ProjectDictController.java

@@ -0,0 +1,72 @@
+package com.jeeplus.test.program.configuration.projectDict.controller;
+
+import com.jeeplus.test.program.configuration.fileDict.domain.ProgramFileDict;
+import com.jeeplus.test.program.configuration.projectDict.domain.vo.FileDictVo;
+import com.jeeplus.test.program.configuration.projectDict.service.ProjectDictService;
+import com.jeeplus.test.program.configuration.projectDict.service.dto.ProjectDictDto;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Api(tags ="项目类型附件设置")
+@RestController
+@RequestMapping(value = "/program/project")
+public class ProjectDictController {
+
+    @Resource
+    private ProjectDictService projectDictService;
+
+    /**
+     * 查询
+     */
+    @ApiOperation(value = "查询")
+    @PostMapping(value = "/list")
+    public ResponseEntity<List<FileDictVo>> list(@RequestBody ProjectDictDto projectDictDto){
+        List<FileDictVo> list = projectDictService.list(projectDictDto);
+        return ResponseEntity.ok(list);
+    }
+
+    /**
+     * 新增
+     */
+    @ApiOperation(value = "新增")
+    @PostMapping(value = "/add")
+    public ResponseEntity<String> add(@RequestBody ProjectDictDto projectDictDto){
+        String add = projectDictService.add(projectDictDto);
+        return ResponseEntity.ok(add);
+    }
+
+    /**
+     * 修改
+     */
+    @ApiOperation(value = "修改")
+    @PostMapping(value = "/update")
+    public ResponseEntity<String> update(@RequestBody ProjectDictDto projectDictDto){
+        String update = projectDictService.update(projectDictDto);
+        return ResponseEntity.ok(update);
+    }
+
+    /**
+     * 新增
+     */
+    @ApiOperation(value = "删除")
+    @PostMapping(value = "/deleteById")
+    public ResponseEntity<String> deleteById(@RequestParam String id){
+        String deleteById = projectDictService.deleteById(id);
+        return ResponseEntity.ok(deleteById);
+    }
+
+    /**
+     * 新增下拉查询
+     */
+    @ApiOperation(value = "新增下拉查询")
+    @PostMapping(value = "/getFileList")
+    public ResponseEntity<List<ProgramFileDict>> getFileList(@RequestBody ProjectDictDto projectDictDto){
+        List<ProgramFileDict> fileList = projectDictService.getFileList(projectDictDto);
+        return ResponseEntity.ok(fileList);
+    }
+}

+ 25 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/domain/ProgramProjectDict.java

@@ -0,0 +1,25 @@
+package com.jeeplus.test.program.configuration.projectDict.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "program_project_dict")
+public class ProgramProjectDict extends BaseEntity {
+
+    private String attachmentProjectType;
+
+    private String attachmentProjectSort;
+
+    private String projectType;
+
+    private String fileType;
+
+    private String fileId;
+
+    private String requiredStage;
+
+    private String attachmentProjectApprovalMoney;
+
+}

+ 13 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/domain/vo/FileDictVo.java

@@ -0,0 +1,13 @@
+package com.jeeplus.test.program.configuration.projectDict.domain.vo;
+
+import com.jeeplus.test.program.configuration.fileDict.domain.ProgramFileDict;
+import lombok.Data;
+
+@Data
+public class FileDictVo extends ProgramFileDict {
+
+    private String fileId;
+
+    private String requiredStage;
+
+}

+ 18 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/mapper/ProjectDictMapper.java

@@ -0,0 +1,18 @@
+package com.jeeplus.test.program.configuration.projectDict.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.program.configuration.fileDict.domain.ProgramFileDict;
+import com.jeeplus.test.program.configuration.projectDict.domain.ProgramProjectDict;
+import com.jeeplus.test.program.configuration.projectDict.domain.vo.FileDictVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface ProjectDictMapper extends BaseMapper<ProgramProjectDict> {
+
+    List<FileDictVo> parentList();
+
+    List<FileDictVo> list(@Param("type") String type, @Param("sort") String sort);
+
+    List<ProgramFileDict> getFileList(@Param("id") String id, @Param("fileIds") List<String> fileIds);
+}

+ 70 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/mapper/xml/ProjectDictMapper.xml

@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.program.configuration.projectDict.mapper.ProjectDictMapper">
+
+    <select id="parentList" resultType="com.jeeplus.test.program.configuration.projectDict.domain.vo.FileDictVo">
+        SELECT
+            id AS file_id,
+            create_by,
+            create_by,
+            update_by,
+            update_date,
+            del_flag,
+            remarks,
+            parent_id,
+            `name`,
+            type,
+            sort,
+            size
+        FROM
+            program_file_dict
+        WHERE
+            del_flag = 0
+            AND parent_id = 0
+            ORDER BY sort
+    </select>
+
+    <select id="list" resultType="com.jeeplus.test.program.configuration.projectDict.domain.vo.FileDictVo">
+        SELECT
+            a.id,
+            a.required_stage,
+            b.id AS file_id,
+            b.create_by,
+            b.create_by,
+            b.update_by,
+            b.update_date,
+            b.del_flag,
+            b.remarks,
+            b.parent_id,
+            b.`name`,
+            b.type,
+            b.sort,
+            b.size
+        FROM
+            program_project_dict a
+            LEFT JOIN program_file_dict b ON a.file_id = b.id
+        WHERE
+            a.del_flag = 0
+            AND a.attachment_project_type = #{type}
+            AND a.attachment_project_sort = #{sort}
+            ORDER BY b.sort
+    </select>
+
+    <select id="getFileList" resultType="com.jeeplus.test.program.configuration.fileDict.domain.ProgramFileDict">
+        SELECT
+            *
+        FROM
+            program_file_dict
+        WHERE
+            del_flag = 0
+            AND parent_id = #{id}
+            <if test="fileIds != null">
+                AND id NOT IN
+                <foreach collection="fileIds" item="item" index="index" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            ORDER BY sort
+    </select>
+
+</mapper>

+ 105 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/service/ProjectDictService.java

@@ -0,0 +1,105 @@
+package com.jeeplus.test.program.configuration.projectDict.service;
+
+import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.sys.utils.StringUtils;
+import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.program.configuration.fileDict.domain.ProgramFileDict;
+import com.jeeplus.test.program.configuration.projectDict.domain.ProgramProjectDict;
+import com.jeeplus.test.program.configuration.projectDict.domain.vo.FileDictVo;
+import com.jeeplus.test.program.configuration.projectDict.mapper.ProjectDictMapper;
+import com.jeeplus.test.program.configuration.projectDict.service.dto.ProjectDictDto;
+import org.flowable.editor.language.json.converter.util.CollectionUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
+@Service
+public class ProjectDictService {
+
+    @Resource
+    private ProjectDictMapper projectDictMapper;
+
+    /**
+     * 查询
+     * @param projectDictDto
+     * @return
+     */
+    public List<FileDictVo> list(ProjectDictDto projectDictDto) {
+        List<FileDictVo> list = new ArrayList<>();
+        if (StringUtils.isNotEmpty(projectDictDto.getAttachmentProjectType()) && StringUtils.isNotEmpty(projectDictDto.getAttachmentProjectSort())) {
+            //查询父级
+            List<FileDictVo> parentList = projectDictMapper.parentList();
+            list.addAll(parentList);
+            //查询子级
+            List<FileDictVo> dictVos = projectDictMapper.list(projectDictDto.getAttachmentProjectType(), projectDictDto.getAttachmentProjectSort());
+            list.addAll(dictVos);
+        }
+        return list;
+    }
+
+    /**
+     * 新增
+     * @param projectDictDto
+     * @return
+     */
+    public String add(ProjectDictDto projectDictDto) {
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        String id = UUID.randomUUID().toString().replace("-", "");
+        ProgramProjectDict dict = new ProgramProjectDict();
+        BeanUtils.copyProperties(projectDictDto, dict);
+        dict.setId(id);
+        dict.setCreateBy(userDTO.getId());
+        dict.setCreateDate(new Date());
+        dict.setUpdateBy(userDTO.getId());
+        dict.setUpdateDate(new Date());
+        dict.setDelFlag(0);
+        projectDictMapper.insert(dict);
+        return "操作成功";
+    }
+
+    /**
+     * 修改
+     * @param projectDictDto
+     * @return
+     */
+    public String update(ProjectDictDto projectDictDto) {
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        ProgramProjectDict dict = new ProgramProjectDict();
+        BeanUtils.copyProperties(projectDictDto, dict);
+        dict.setUpdateBy(userDTO.getId());
+        dict.setUpdateDate(new Date());
+        dict.setDelFlag(0);
+        projectDictMapper.updateById(dict);
+        return "操作成功";
+    }
+
+    /**
+     * 删除
+     * @param id
+     * @return
+     */
+    public String deleteById(String id) {
+        projectDictMapper.deleteById(id);
+        return "操作成功";
+    }
+
+    /**
+     * 新增附件结构信息附件名称查询
+     * @param projectDictDto
+     * @return
+     */
+    public List<ProgramFileDict> getFileList(ProjectDictDto projectDictDto) {
+        List<FileDictVo> list = list(projectDictDto);
+        if (CollectionUtils.isNotEmpty(list)) {
+            List<String> fileIds = list.stream().map(i -> i.getFileId()).collect(Collectors.toList());
+            return projectDictMapper.getFileList(projectDictDto.getFileId(), fileIds);
+        }
+        return new ArrayList<>();
+    }
+}

+ 16 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/service/dto/ProjectDictDto.java

@@ -0,0 +1,16 @@
+package com.jeeplus.test.program.configuration.projectDict.service.dto;
+
+import lombok.Data;
+
+@Data
+public class ProjectDictDto {
+
+    private String attachmentProjectType;
+
+    private String attachmentProjectSort;
+
+    private String fileId;
+
+    private String requiredStage;
+
+}