whycrzg
2021-03-31 5e127bec7fdd0272fa90c97ea79d26b0d8d42581
更新
6个文件已修改
130 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/ProjectManageController.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ProjectManageMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/ProjectManage.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProjectArchiveManageService.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProjectProcessManageService.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ProjectManageMapper.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/ProjectManageController.java
@@ -18,6 +18,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -49,7 +50,7 @@
    }
    @PostMapping("add")
    @ApiOperation(value = "新建项目",notes = "fileList 存文件地址 {\n" +
    @ApiOperation(value = "项目过程管理-新建项目",notes = "fileList 存文件地址 {\n" +
            "  \"fileList\": [\n" +
            "    \n" +
            "  ],\n" +
@@ -69,7 +70,7 @@
            "  \"proState\": 0,\n" +
            "  \"proProgress\": 0\n" +
            "}")
    public Response add(@RequestBody ProjectManage projectManage) {
    public Response add(@RequestBody @Valid ProjectManage projectManage) {
        Response response = service.add(projectManage);
        return response;
    }
@@ -82,7 +83,7 @@
     * @return
     */
    @PostMapping("upload")
    @ApiOperation(notes = "返回文件地址,确认时提交保存到字段", value = "文档材料添加(选择文件)")
    @ApiOperation(notes = "返回文件地址,确认时提交保存到字段", value = "项目过程管理-文档材料添加(选择文件)")
    public Response upload(@RequestParam("file") MultipartFile file) {
        // 获取原始名字
        String originalFilename = file.getOriginalFilename();
@@ -103,13 +104,12 @@
        try {
            // 保存到服务器中
            file.transferTo(dest);
            map.put("文件类型:", file.getContentType());
            map.put("原文件名:", originalFilename);
            map.put("是否为空:", file.isEmpty());
            map.put("fileType", file.getContentType());
            map.put("fileName", originalFilename);
            Double size = file.getSize() * 0.01 / 1024 / 1024 * 100;
            String douStr = String.format("%.2f", size);
            map.put("文件大小:", douStr+" M");
            map.put("文件地址:",fileName);
            map.put("fileSize", douStr+" M");
            map.put("url",fileName);
        } catch (Exception e) {
            e.printStackTrace();
            return response.setMsg(0, "上传失败");
@@ -122,15 +122,15 @@
    @PostMapping("/uploads")
    @ApiOperation(notes = "返回文件地址,确认时提交保存到字段", value = "文档材料添加(多选)")
    public Response uploads(MultipartFile[] files) throws IOException {
    @ApiOperation(notes = "返回文件地址,确认时提交保存到字段", value = "项目过程管理-文档材料添加(多选)")
    public Response uploads(MultipartFile[] file) throws IOException {
        Response<Object> response = new Response<>();
        if (files.length == 0) {
        if (file.length == 0) {
            return response.setMsg(0, "请选择要上传的文件");
        }
        ArrayList<Object> list = new ArrayList<>();
        for (MultipartFile multipartFile : files) {
        for (MultipartFile multipartFile : file) {
            if (multipartFile.isEmpty()) {
                return response.setMsg(0, "请选择要上传的文件");
            }
@@ -148,8 +148,8 @@
                e.printStackTrace();
                return response.setMsg(0, "上传失败");
            }
            map.put("原文件名:", originalFilename);
            map.put("文件地址:", filePath + fileName);
            map.put("fileName", originalFilename);
            map.put("url", filePath + fileName);
            list.add(map);
        }
@@ -159,7 +159,7 @@
    @GetMapping("/download")
    @ApiOperation(notes = "需要在地址栏测试",value = "文档材料下载")
    @ApiOperation(notes = "需要在地址栏测试",value = "项目过程管理-文档材料下载")
    public Object download(HttpServletResponse response, @RequestParam String filePath,@RequestParam String fileName) {
        Response<Object> result = new Response<>();
        File file = new File( filePath);
@@ -211,7 +211,7 @@
    @GetMapping("managesState")
    @ApiOperation(notes = "", value = "项目管理-己确认/未确认阶段查询")
    @ApiOperation(notes = "", value = "项目过程管理-己确认/未确认阶段查询")
    public Response<Object> searchManageStateByCondition(@ApiParam(value = "项目编号", required = true) @RequestParam String proNum,
                                                         @ApiParam(value = "项目名称代码", required = true) @RequestParam String proNameCode) {
        ProjectManage projectManage = new ProjectManage();
@@ -226,7 +226,7 @@
     * @return
     */
    @PutMapping("updateManageState")
    @ApiOperation(notes = "项目进度确认1-6 对应 立项-审批-研究-结题-验收-归档",value = "项目管理-未确认阶段更新")
    @ApiOperation(notes = "项目进度确认1-6 对应 立项-审批-研究-结题-验收-归档",value = "项目过程管理-未确认阶段更新")
    public Response updateManageState(@ApiParam(value = "项目编号", required = true) @RequestParam String proNum,
                                      @ApiParam(value = "项目名称代码", required = true) @RequestParam String proNameCode,
                                      @ApiParam(value = "项目进度确认1-6",required = true)@RequestParam int proProgress,
@@ -239,9 +239,22 @@
        return service.updateManageState(projectManage);
    }
    @PutMapping("updateArchive")
    @ApiOperation(notes = "",value = "项目过程管理-归档")
    public Response updateArchive(@ApiParam(value = "项目编号", required = true) @RequestParam String proNum,
                                  @ApiParam(value = "项目名称代码", required = true) @RequestParam String proNameCode) {
        ProjectManage projectManage = new ProjectManage();
        projectManage.setProNum(proNum);
        projectManage.setProNameCode(proNameCode);
        projectManage.setProProgress(6);
        return service.updateProjectProgress(projectManage);
    }
    @GetMapping("searchDoc")
    @ApiOperation(notes = "项目过程管理-项目管理",value = "文档材料查询")
    @ApiOperation(notes = "项目过程管理-项目管理",value = "项目过程管理-文档材料查询")
    public  Response searchDocumentation(@ApiParam(value = "项目编号", required = true) @RequestParam String proNum,
                                         @ApiParam(value = "项目名称代码", required = true) @RequestParam String proNameCode){
        ProjectArchiveManage projectArchiveManage = new ProjectArchiveManage();
@@ -252,7 +265,7 @@
    }
    @DeleteMapping("delDoc")
    @ApiOperation(notes = "项目过程管理-项目管理",value = "文档材料删除")
    @ApiOperation(notes = "项目过程管理-项目管理",value = "项目过程管理-文档材料删除")
    public  Response delDocumentation(@ApiParam(value = "项目编号", required = true) @RequestParam String proNum,
                                      @ApiParam(value = "项目名称代码", required = true) @RequestParam String proNameCode,
                                      @ApiParam(value = "文档路径", required = true) @RequestParam String proFilePath){
src/main/java/com/whyc/mapper/ProjectManageMapper.java
@@ -40,4 +40,6 @@
    //项目概况信息
    ProjectManage searchArchiveProjectInfo(ProjectManage pm);
    int updateProjectProgress(ProjectManage progress);
}
src/main/java/com/whyc/pojo/ProjectManage.java
@@ -28,11 +28,13 @@
    /**
     * 项目编号
     */
    @NotNull(message = "项目编号不能为空")
    private String proNum;
    /**
     * 项目名称
     */
    @NotNull(message = "项目名称不能为空")
    private String proName;
    /**
@@ -43,11 +45,13 @@
    /**
     * 项目类型/类别
     */
    @NotNull(message = "项目编号不能为空")
    private String proSort;
    /**
     * 项目负责人
     */
    @NotNull(message = "项目负责人不能为空")
    private String proAdmin;
    /**
@@ -58,23 +62,27 @@
    /**
     * 联系方式
     */
    @NotNull(message = "联系方式不能为空")
    private String proTel;
    /**
     * 立项日期/申报日期
     */
    @NotNull(message = "立项日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    private Date proCreatedate;
    /**
     * 执行日期/开始日期
     */
    @NotNull(message = "执行日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    private Date proExecutionDate;
    /**
     * 执行日期1/结束日期
     */
    @NotNull(message = "执行日期1不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    private Date proExecutionDate1;
@@ -87,11 +95,13 @@
    /**
     * 参与人员
     */
    @NotNull(message = "参与人员不能为空")
    private String proPerson;
    /**
     * 经费预算
     */
    @NotNull(message = "经费预算不能为空")
    private Long proFunding;
    /**
src/main/java/com/whyc/service/ProjectArchiveManageService.java
@@ -33,8 +33,8 @@
            for (int i = 0; i < list.size(); i++) {
                HashMap<String, String> map = new HashMap<>();
                ProjectArchiveManage projectArchiveManage = list.get(i);
                map.put("文件名",projectArchiveManage.getProDocumentName());
                map.put("文件路径",projectArchiveManage.getProFilePath());
                map.put("fileName",projectArchiveManage.getProDocumentName());
                map.put("url",projectArchiveManage.getProFilePath());
                list1.add(map);
            }
            response.setMsg(1,"查询成功");
@@ -56,8 +56,8 @@
                String name = absoluteFile.getName();
                file.delete();
                HashMap<Object, Object> map = new HashMap<>();
                map.put("删除的文件名", name);
                map.put("删除的文件路径", pam.getProFilePath());
                map.put("delFileName", name);
                map.put("delUrl", pam.getProFilePath());
                response.setData(map);
            }
        } catch (Exception e) {
@@ -116,15 +116,15 @@
                for (int i = 0; i < lists.size(); i++) {
                    ProjectArchiveManage pam = lists.get(i);
                    HashMap<Object, Object> map = new HashMap<>();
                    map.put("文档名称",pam.getProDocumentName());
                    map.put("文档格式",pam.getProDocumentFormat());
                    map.put("fileName",pam.getProDocumentName());
                    map.put("documentFormat",pam.getProDocumentFormat());
                    Date proArchiveDate = pam.getProArchiveDate();
                    String format = "";
                    if (null != proArchiveDate) {
                        format = new SimpleDateFormat("yyyy-MM-dd").format(proArchiveDate);
                    }
                    map.put("归档日期", format);
                    map.put("下载地址",pam.getProFilePath());
                    map.put("archiveDate", format);
                    map.put("url",pam.getProFilePath());
                    last.add(map);
                }
            }
@@ -172,19 +172,19 @@
                for (int i = 0; i < lists.size(); i++) {
                    ProjectArchiveExperiment pae = lists.get(i);
                    HashMap<Object, Object> map = new HashMap<>();
                    map.put("试验名称", pae.getProName2());
                    map.put("testName", pae.getProName2());
                    Date proUploadDate = pae.getProUploadDate();
                    String format1 = null;
                    if (null != proUploadDate) {
                        format1 = new SimpleDateFormat("yyyy-MM-dd").format(proUploadDate);
                    }
                    map.put("上传日期", format1);
                    map.put("uploadDate", format1);
                    Date proArchiveDate = pae.getProArchiveDate();
                    String format = null;
                    if (null != proArchiveDate) {
                        format = new SimpleDateFormat("yyyy-MM-dd").format(proArchiveDate);
                    }
                    map.put("归档日期", format);
                    map.put("archiveDate", format);
//                map.put("下载地址",pam.getProFilePath());
                    last.add(map);
                }
@@ -213,21 +213,21 @@
                for (int i = 0; i < lists.size(); i++) {
                    ProjectArchiveManage pam = lists.get(i);
                    HashMap<Object, Object> map = new HashMap<>();
                    map.put("成果名称", pam.getAchievementName());
                    map.put("成果类型",pam.getAchievementType());
                    map.put("achievementName", pam.getAchievementName());
                    map.put("achievementType",pam.getAchievementType());
                    Date gainDate = pam.getGainDate();
                    String str1 = null;
                    if(null!=gainDate){
                        str1 = new SimpleDateFormat("yyyy-MM-dd").format(gainDate);
                    }
                    map.put("取得/发表日期",str1);
                    map.put("publishedDate",str1);
                    Date proArchiveDate = pam.getProArchiveDate();
                    String str2 = null;
                    if(null!=proArchiveDate){
                        str2 = new SimpleDateFormat("yyyy-MM-dd").format(proArchiveDate);
                    }
                    map.put("归档日期",str2);
                    map.put("archiveDate",str2);
                    last.add(map);
                }
            }
src/main/java/com/whyc/service/ProjectProcessManageService.java
@@ -70,6 +70,7 @@
    public Response add(ProjectManage pm) {
        Response response = new Response<>();
        pm.setProNameCode(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
        pm.setProProgress(1);//立项
        Integer num = projectManageMapper.checkUniqueId(pm);
        if (num > 0) {
            return response.setMsg(0, "添加失败,pro_name_code重复");
@@ -126,18 +127,18 @@
            ProjectManage pm = projectManageMapper.searchManageStateByCondition(projectManage);
            List<ProjectArchiveManage> pams = projectArchiveManageMapper.searchByConditionDocumentPath(projectManage);
            HashMap<Object, Object> map = new HashMap<>();
            map.put("项目管理", pm);
            map.put("pm", pm);
            ArrayList<Object> list = new ArrayList<>();
            if (null != pams) {
                for (int i = 0; i < pams.size(); i++) {
                    ProjectArchiveManage pam = pams.get(i);
                    HashMap<Object, Object> mapDoc = new HashMap<>();
                    mapDoc.put("文件名", pam.getProDocumentName());
                    mapDoc.put("文件路径", pam.getProFilePath());
                    mapDoc.put("fileName", pam.getProDocumentName());
                    mapDoc.put("url", pam.getProFilePath());
                    list.add(mapDoc);
                }
            }
            map.put("文档材料", list);
            map.put("mapDoc", list);
            response.setCode(1);
            response.setMsg(1, "查询成功");
            response.setData(map);
@@ -191,4 +192,20 @@
    }
    /**
     * 项目进度管理
     * 项目进度(1-6 立项、审批、研究、结题、验收、归档)
     * @param progress
     * @return
     */
    public Response updateProjectProgress(ProjectManage progress) {
        Response<Object> response = new Response<>();
        boolean b = projectManageMapper.updateProjectProgress(progress) > 0;
        if (b) {
            response.setMsg(1, "更新成功");
        } else {
            response.setMsg(0, "更新失败");
        }
        return response;
    }
}
src/main/resources/mapper/ProjectManageMapper.xml
@@ -257,7 +257,7 @@
    where pro_num = #{proNum} and pro_name_code = #{proNameCode}
  </update>
  <select id="searchAll" resultType="com.whyc.pojo.ProjectManage">
    <select id="searchAll" resultType="com.whyc.pojo.ProjectManage">
    SELECT pro_num,
           pro_name,
           pro_name_code,
@@ -282,7 +282,7 @@
        pro_execution_date1,
        pro_state
        FROM db_experiment.tb_project_manage
        where 1=1
        where pro_progress <![CDATA[<=]]> 5
        <if test="proNum!=null">
            and pro_num = #{proNum}
        </if>
@@ -330,7 +330,7 @@
               pro_execution_date1,
               pro_archive_date
        FROM db_experiment.tb_project_manage
        where 1=1
        and pro_progress = 6
        <if test="proNum!=null">
            and pro_num = #{proNum}
        </if>
@@ -357,6 +357,12 @@
        where pro_num = #{proNum}
          and pro_name_code = #{proNameCode} limit 1
    </select>
    <update id="updateProjectProgress">
        update tb_project_manage
        set pro_progress = #{proProgress,jdbcType=VARCHAR}
        where pro_num = #{proNum}
          and pro_name_code = #{proNameCode}
    </update>
</mapper>