fuliqi
2024-11-29 363cf83f55c886bacb8ccab451071442a3313e67
Merge remote-tracking branch 'origin/master'
13个文件已修改
1个文件已添加
232 ■■■■ 已修改文件
business/src/main/java/com/ycl/controller/ProgressPlanController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProjectInfoController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProjectProgressFileListsRequest.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/ProgressPlanService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/ProjectInfoService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/src/main/java/com/ycl/common/enums/business/FileTypeEnum.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
start/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProgressPlanController.java
@@ -6,6 +6,8 @@
import com.ycl.common.group.Update;
import com.ycl.domain.form.ProgressPlanForm;
import com.ycl.domain.query.ProgressPlanQuery;
import com.ycl.domain.vo.ProjectProgressFileListsRequest;
import com.ycl.mapper.FileMapper;
import com.ycl.service.ProgressPlanService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -31,6 +33,7 @@
public class ProgressPlanController {
    private final ProgressPlanService progressPlanService;
    private final FileMapper fileMapper;
    @PostMapping
    @ApiOperation(value = "添加", notes = "添加")
@@ -80,4 +83,15 @@
    public Result list() {
        return progressPlanService.all();
    }
    @PostMapping("/saveProjectProgressFileLists")
    public Result saveProjectProgressFileLists(@RequestBody ProjectProgressFileListsRequest request) {
        return progressPlanService.saveProjectProgressFileLists(request);
    }
    @GetMapping("/getProjectProgressForm/{id}")
    public Result getProjectProgressForm(@PathVariable("id") Integer id) {
        return progressPlanService.getProjectProgressForm(id);
    }
}
business/src/main/java/com/ycl/controller/ProjectInfoController.java
@@ -99,4 +99,9 @@
    public Result generateProjectCode() {
        return Result.ok().data(ProjectCodeGenerator.generateProjectCode());
    };
    @GetMapping("/getManagerFlag/{recordId}")
    public Result getManagerFlag(@PathVariable("recordId") Integer recordId) {
        return projectInfoService.getManagerFlag(recordId);
    }
}
business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java
@@ -90,8 +90,13 @@
        return projectPlanExamineRecordService.planLog(projectPlanRecordId);
    }
    @PostMapping("/replyDepartmentApproval")
    public Result replyDepartmentApproval(@RequestBody ProjectPlanExamineRecordForm form) {
        return projectPlanExamineRecordService.replyDepartmentApproval(form);
    @PostMapping("/saveExamine")
    public Result saveExamine(@RequestBody ProjectPlanExamineRecordForm form) {
        return projectPlanExamineRecordService.saveExamine(form);
    }
    @PostMapping("/replyExamine")
    public Result replyExamine(@RequestBody ProjectPlanExamineRecordForm form) {
        return projectPlanExamineRecordService.replyExamine(form);
    }
}
business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java
@@ -1,12 +1,14 @@
package com.ycl.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.domain.entity.File;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
@AllArgsConstructor
@@ -33,5 +35,6 @@
    private Integer manageExamine;
    private String manageApproval;
    private String manageApprovalReply;
    private List<File> fileList;
}
business/src/main/java/com/ycl/domain/vo/ProjectProgressFileListsRequest.java
New file
@@ -0,0 +1,17 @@
package com.ycl.domain.vo;
import com.ycl.domain.entity.File;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProjectProgressFileListsRequest {
    private Integer projectReportId;
    private List<File> completedReportFileList;
    private List<File> situationDescriptionFileList;
}
business/src/main/java/com/ycl/service/ProgressPlanService.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.domain.form.ProgressPlanForm;
import com.ycl.domain.query.ProgressPlanQuery;
import com.ycl.domain.vo.ProjectProgressFileListsRequest;
import java.util.List;
/**
@@ -62,4 +64,13 @@
     * @return
     */
    Result all();
    /**
     * 保存竣工报告、情况说明附件
     * @param request
     * @return
     */
    Result saveProjectProgressFileLists(ProjectProgressFileListsRequest request);
    Result getProjectProgressForm(Integer id);
}
business/src/main/java/com/ycl/service/ProjectInfoService.java
@@ -75,4 +75,6 @@
    Result docDetail(Integer id);
    Result addDoc(DocumentInfoForm form);
    Result getManagerFlag(Integer recordId);
}
business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java
@@ -78,9 +78,16 @@
    Result planLog(Integer projectPlanRecordId);
    /**
     *  上级回复
     *  回复审批
     * @param form
     * @return
     */
    Result replyDepartmentApproval(ProjectPlanExamineRecordForm form);
    Result replyExamine(ProjectPlanExamineRecordForm form);
    /**
     * 保存审批
     * @param form
     * @return
     */
    Result saveExamine(ProjectPlanExamineRecordForm form);
}
business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java
@@ -2,27 +2,28 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.common.base.Result;
import com.ycl.domain.entity.ProgressPlan;
import com.ycl.domain.entity.ProjectPlanInfo;
import com.ycl.domain.entity.ProjectPlanRecord;
import com.ycl.common.enums.business.FileTypeEnum;
import com.ycl.domain.entity.*;
import com.ycl.domain.form.ProgressPlanForm;
import com.ycl.domain.query.ProgressPlanQuery;
import com.ycl.domain.vo.ProgressPlanInfoFlag;
import com.ycl.domain.vo.ProgressPlanInfoResponseVO;
import com.ycl.domain.vo.ProgressPlanVO;
import com.ycl.domain.vo.ProjectProgressFileListsRequest;
import com.ycl.framework.utils.PageUtil;
import com.ycl.mapper.ProgressPlanMapper;
import com.ycl.mapper.ProjectPlanInfoMapper;
import com.ycl.mapper.ProjectPlanRecordMapper;
import com.ycl.mapper.*;
import com.ycl.service.ProgressPlanService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -39,6 +40,8 @@
    private final ProgressPlanMapper progressPlanMapper;
    private final ProjectPlanRecordMapper projectPlanRecordMapper;
    private final ProjectPlanInfoMapper projectPlanInfoMapper;
    private final PlanMapper planMapper;
    private final FileMapper fileMapper;
    /**
     * 添加
@@ -187,4 +190,60 @@
                .collect(Collectors.toList());
        return Result.ok().data(vos);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result saveProjectProgressFileLists(ProjectProgressFileListsRequest request) {
            new LambdaUpdateChainWrapper<>(fileMapper)
                    .eq(File::getBusId, request.getProjectReportId())
                    .eq(File::getType, FileTypeEnum.PROJECT_SITUATION_DESCRIPTION.getType())
                    .set(File::getDeleted,1)
                    .update();
            request.getSituationDescriptionFileList().stream()
                    .forEach(file -> {
                        file.setId(null);
                        file.setBusId(request.getProjectReportId().longValue());
                        file.setType(FileTypeEnum.PROJECT_SITUATION_DESCRIPTION);
                        file.setGmtCreate(new Date());
                        file.setGmtUpdate(new Date());
                        file.setDeleted(0);
                        fileMapper.insert(file);
                    });
            new LambdaUpdateChainWrapper<>(fileMapper)
                    .eq(File::getBusId, request.getProjectReportId())
                    .eq(File::getType, FileTypeEnum.PROJECT_COMPLETE_REPORT.getType())
                    .set(File::getDeleted,1)
                    .update();
            request.getCompletedReportFileList().stream()
                    .forEach(file -> {
                        file.setId(null);
                        file.setBusId(request.getProjectReportId().longValue());
                        file.setType(FileTypeEnum.PROJECT_COMPLETE_REPORT);
                        file.setGmtCreate(new Date());
                        file.setGmtUpdate(new Date());
                        file.setDeleted(0);
                        fileMapper.insert(file);
                    });
        return Result.ok("保存成功");
    }
    @Override
    public Result getProjectProgressForm(Integer id) {
        ProjectProgressFileListsRequest result = new ProjectProgressFileListsRequest();
        result.setProjectReportId(id);
        result.setCompletedReportFileList(new LambdaQueryChainWrapper<>(fileMapper)
                .eq(File::getBusId, id)
                .eq(File::getType, FileTypeEnum.PROJECT_COMPLETE_REPORT)
                .eq(File::getDeleted, 0)
                .list());
        result.setSituationDescriptionFileList(new LambdaQueryChainWrapper<>(fileMapper)
                .eq(File::getBusId, id)
                .eq(File::getType, FileTypeEnum.PROJECT_SITUATION_DESCRIPTION)
                .eq(File::getDeleted, 0)
                .list());
        return Result.ok().data(result);
    }
}
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -25,10 +25,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -260,4 +257,19 @@
        fileService.saveBatch(fileList);
        return Result.ok();
    }
    @Override
    public Result getManagerFlag(Integer recordId) {
        ProjectInfo projectInfo = baseMapper.selectById(recordId);
        // 判断当前用户id是否在主管列表中
        String competentDepartment = projectInfo.getCompetentDepartment();
        List<String> list = Arrays.asList(competentDepartment.split(","));
        // 获得当前用户id
        Long userId = SecurityUtils.getUserId();
        if (list.contains(userId.toString())) {
            return Result.ok().data(true);
        } else {
            return Result.ok().data(false);
        }
    }
}
business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.common.utils.SecurityUtils;
import com.ycl.domain.entity.ProjectPlanExamineRecord;
import com.ycl.domain.vo.DepartmentApprovalResponseVO;
import com.ycl.mapper.ProjectPlanExamineRecordMapper;
@@ -132,15 +133,27 @@
        return Result.ok().data(vo);
    }
    /**
     * 回复审批事项
     * @param form
     * @return
     */
    @Override
    public Result replyDepartmentApproval(ProjectPlanExamineRecordForm form) {
        baseMapper.updateByForm(form);
//        new LambdaUpdateChainWrapper<>(baseMapper)
//               .eq(ProjectPlanExamineRecord::getId, form.getId())
//                .set(ProjectPlanExamineRecord::getDepartmentApprovalReply,form.getDepartmentApprovalReply())
//                .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply())
//                .set(ProjectPlanExamineRecord::getGmtUpdate ,new Date())
//                .update();
    public Result replyExamine(ProjectPlanExamineRecordForm form) {
        ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null);
        projectPlanExamineRecord.setId(form.getId().longValue());
        projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId());
        projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId());
        baseMapper.updateById(projectPlanExamineRecord);
        return Result.ok("回复成功");
    }
    @Override
    public Result saveExamine(ProjectPlanExamineRecordForm form) {
        ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null);
        projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId());
        projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId());
        baseMapper.updateById(projectPlanExamineRecord);
        return Result.ok("回复成功");
    }
}
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
@@ -1,13 +1,17 @@
package com.ycl.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.common.base.Result;
import com.ycl.common.enums.business.FileTypeEnum;
import com.ycl.domain.entity.File;
import com.ycl.domain.entity.ProjectPlanExamineRecord;
import com.ycl.domain.entity.ProjectPlanInfo;
import com.ycl.domain.entity.ProjectPlanProgressReport;
import com.ycl.domain.vo.ProgressReportResponseVO;
import com.ycl.framework.utils.PageUtil;
import com.ycl.mapper.FileMapper;
import com.ycl.mapper.ProjectPlanExamineRecordMapper;
import com.ycl.mapper.ProjectPlanInfoMapper;
import com.ycl.mapper.ProjectPlanProgressReportMapper;
@@ -24,6 +28,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -42,6 +47,8 @@
    private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
    @Autowired
    private ProjectPlanInfoMapper projectPlanInfoMapper;
    @Autowired
    private FileMapper fileMapper;
    /**
     * 添加
@@ -51,7 +58,6 @@
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Result add(ProgressReportResponseVO form) {
        ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport();
        projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue());
        projectPlanProgressReport.setStartTime(form.getActualStartTime());
@@ -64,6 +70,25 @@
            projectPlanProgressReport.setId(form.getProgressReportId());
//            baseMapper.updateOne(projectPlanProgressReport);
            baseMapper.updateById(projectPlanProgressReport);
        }
        // 文件上传
        new LambdaUpdateChainWrapper<>(fileMapper)
                .eq(File::getBusId, form.getId())
                .eq(File::getType, FileTypeEnum.PROJECT_PROGRESS_INFO_REPORT.getType())
                .set(File::getDeleted,1)
                .update();
        if (form.getFileList() != null && form.getFileList().size() > 0) {
            form.getFileList().stream()
                    .forEach(file -> {
                        file.setId(null);
                        file.setBusId(form.getId().longValue());
                        file.setType(FileTypeEnum.PROJECT_PROGRESS_INFO_REPORT);
                        file.setGmtCreate(new Date());
                        file.setGmtUpdate(new Date());
                        file.setDeleted(0);
                        fileMapper.insert(file);
                    });
        }
        // 更新上级批复
@@ -139,6 +164,9 @@
    @Override
    public Result detail(Integer id) {
        ProgressReportResponseVO vo = baseMapper.getDetail(id);
        if (vo != null) {
            vo.setFileList(new LambdaQueryChainWrapper<>(fileMapper).eq(File::getBusId, id).eq(File::getType, FileTypeEnum.PROJECT_PROGRESS_INFO_REPORT).list());
        }
        return Result.ok().data(vo);
    }
common/src/main/java/com/ycl/common/enums/business/FileTypeEnum.java
@@ -14,7 +14,11 @@
public enum FileTypeEnum {
    PROJECT_INFO("project_info", "项目基本信息"),
    INVEST_POLICY("invest_policy","投资项目产业政策符合情况"),
    DOCUMENT_INFO("document_info","相关文件");
    DOCUMENT_INFO("document_info","相关文件"),
    PROJECT_COMPLETE_REPORT("project_complete_report", "项目竣工报告"),
    PROJECT_SITUATION_DESCRIPTION("project_situation_description", "项目情况说明"),
    PROJECT_PROGRESS_INFO_REPORT("project_progress_info_report", "项目进度计划项上报");
    @EnumValue // 标明该字段存入数据库
    private final String type;
start/src/main/resources/application.yml
@@ -71,7 +71,7 @@
  devtools:
    restart:
      # 热部署开关
      enabled: true
      enabled: false
# token配置
token: