bug
luohairen
2024-12-10 062b1245a57d4e8a1e04a62efbc7d872e36eb073
bug
13个文件已修改
155 ■■■■ 已修改文件
business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/query/PlanQuery.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/PlanServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanRecordServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/PlanMapper.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/src/main/java/com/ycl/common/enums/business/ProjectStatusEnum.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/src/main/java/com/ycl/common/enums/business/ProjectTypeEnum.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
start/src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java
@@ -90,7 +90,7 @@
    }
    @PostMapping("/resubmitPlanInfo")
    public Result resubmitPlanInfo(@RequestBody ProjectPlanInfoForm form) {
    public Result resubmitPlanInfo(@RequestBody @Validated(Add.class) ProjectPlanInfoForm form) {
        return projectPlanInfoService.resubmitPlanInfo(form);
    }
business/src/main/java/com/ycl/domain/query/PlanQuery.java
@@ -13,5 +13,11 @@
@Data
@ApiModel(value = "Plan查询参数", description = "项目计划表查询参数")
public class PlanQuery extends AbsQuery {
    private String projectName;
    private String projectCode;
    private Integer reportStatus;
    private Integer yearStatus;
    private Integer seasonStatus;
    private Integer monthStatus;
}
business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java
@@ -13,10 +13,11 @@
    private Integer reportStatus;
    private String projectCode;
    private String projectType;
    private Integer projectPhase;
    private String projectPhase;
    private Integer monthStatus;
    private Integer seasonStatus;
    private Integer yearStatus;
    private String projectStatus;
    private String investType;
    private String projectColorCode;
}
business/src/main/java/com/ycl/service/impl/PlanServiceImpl.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.common.base.Result;
import com.ycl.common.enums.business.ProjectStatusEnum;
import com.ycl.common.enums.business.ProjectTypeEnum;
import com.ycl.domain.entity.Plan;
import com.ycl.domain.vo.ProjectPlanResponseVO;
import com.ycl.framework.utils.PageUtil;
@@ -90,6 +92,14 @@
    public Result page(PlanQuery query) {
        IPage<ProjectPlanResponseVO> page = PageUtil.getPage(query, ProjectPlanResponseVO.class);
        baseMapper.getPage(page, query);
        // 对分页后的属性进行处理
        List<ProjectPlanResponseVO> records = page.getRecords();
        for (ProjectPlanResponseVO record : records) {
            record.setProjectType(ProjectTypeEnum.getDescByType(record.getProjectType()));
            record.setProjectStatus(ProjectStatusEnum.getDescByType(record.getProjectStatus()));
            record.setProjectColorCode("green");
        }
        return Result.ok().data(page.getRecords()).total(page.getTotal());
    }
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -24,6 +24,7 @@
import com.ycl.domain.entity.*;
import com.ycl.domain.excel.ProjectExcelTemplate;
import com.ycl.domain.form.DocumentInfoForm;
import com.ycl.domain.form.PlanForm;
import com.ycl.domain.form.ProjectInfoForm;
import com.ycl.domain.query.ProjectExportQuery;
import com.ycl.domain.query.ProjectInfoQuery;
@@ -70,6 +71,7 @@
    private final ProjectUnitRegistrationInfoMapper unitRegistrationInfoMapper;
    private final FileService fileService;
    private final FileMapper fileMapper;
    private final PlanMapper planMapper;
    /**
     * 添加
@@ -86,6 +88,7 @@
        entity.setCreateBy(userId);
        entity.setUpdateBy(userId);
        baseMapper.insert(entity);
        addPlan(entity.getId()); //添加计划表
        //添加文件
        List<File> fileList = form.getFileList();
        fileList.forEach(item -> {
@@ -94,6 +97,17 @@
        });
        fileService.saveBatch(fileList);
        return Result.ok("添加成功").data(entity.getId());
    }
    public void addPlan(Long projectInfoId) {
        Plan plan = new Plan();
        plan.setProjectInfoId(projectInfoId);
        plan.setReportStatus(1);
        plan.setMonthStatus(1);
        plan.setSeasonStatus(1);
        plan.setYearStatus(1);
        plan.setDeleted(0);
        planMapper.insert(plan);
    }
    /**
@@ -390,6 +404,9 @@
        ProjectInfo projectInfo = baseMapper.selectById(recordId);
        // 判断当前用户id是否在主管列表中
        String competentDepartment = projectInfo.getCompetentDepartment();
        if (StringUtils.isEmpty(competentDepartment)){
            return Result.ok().data(false);
        }
        List<String> list = Arrays.asList(competentDepartment.split(","));
        // 获得当前用户id
        Long userId = SecurityUtils.getUserId();
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -174,7 +174,7 @@
        item.setDeleted(0); // 未删除
        list.stream().forEach(i -> {
            item.setProjectPlanInfoId(i.getId().longValue());
            projectPlanExamineRecordMapper.insertOne(item);
            projectPlanExamineRecordMapper.insert(item);
        });
        return Result.ok("添加成功");
    }
@@ -207,16 +207,28 @@
                .set(ProjectPlanInfo::getStartTime, request.getStartTime())
                .set(ProjectPlanInfo::getEndTime, request.getEndTime())
                .update();
        // 查询出原来的审核记录
        ProjectPlanExamineRecord item = new LambdaQueryChainWrapper<>(projectPlanExamineRecordMapper)
                .eq(ProjectPlanExamineRecord::getProjectPlanInfoId, request.getId())
                .eq(ProjectPlanExamineRecord::getProjectPlanRecordId, request.getProjectPlanRecordId())
                .ne(ProjectPlanExamineRecord::getEventType, 2)
                .eq(ProjectPlanExamineRecord::getDeleted, 0) // 未删除
                .orderByDesc(ProjectPlanExamineRecord::getGmtCreate)
                .last("LIMIT 1")
                .one();
        // 新增一条审核记录
        ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
        item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
        item.setProjectPlanInfoId(request.getId().longValue());
//        item.setId(null);
//        item.setEventType(1);
//        item.setDelayStartTime(request.getStartTime());
//        item.setDelayEndTime(request.getEndTime());
//        item.setGmtCreate(null);
//        item.setGmtUpdate(null);
//        projectPlanExamineRecordMapper.insertOne(item);
        // 更新原来的审核记录
        item.setEventType(1);
        item.setDelayStartTime(request.getStartTime());
        item.setDelayEndTime(request.getEndTime());
        item.setGmtCreate(new Date());
        item.setDeleted(0);
        projectPlanExamineRecordMapper.insertOne(item);
        projectPlanExamineRecordMapper.updateById(item);
        return Result.ok("延期成功");
    }
@@ -236,11 +248,9 @@
        item.setProjectPlanRecordId(form.getProjectPlanRecordId().longValue());
        item.setProjectPlanInfoId(form.getId().longValue());
        item.setEventType(0); // 计划上报
        item.setDelayStartTime(form.getStartTime());
        item.setDelayEndTime(form.getEndTime());
        item.setGmtCreate(new Date());
        item.setDeleted(0); // 未删除
        projectPlanExamineRecordMapper.insertOne(item);
        projectPlanExamineRecordMapper.insert(item);
        return Result.ok("重新上报成功");
    }
}
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
@@ -59,18 +59,24 @@
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Result add(ProgressReportResponseVO form) {
        ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport();
        projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue());
        projectPlanProgressReport.setStartTime(form.getActualStartTime());
        projectPlanProgressReport.setEndTime(form.getActualEndTime());
        projectPlanProgressReport.setProgressStatus(form.getProgressStatusStr());
        projectPlanProgressReport.setActualInvest(form.getActualInvest());
        // 判断上报状态
        if (form.getProgressStatusInt() == 0) { // 未开始  上报进度
            ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport();
            projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue());
            projectPlanProgressReport.setStartTime(form.getActualStartTime());
            projectPlanProgressReport.setEndTime(form.getActualEndTime());
            projectPlanProgressReport.setProgressStatus(form.getProgressStatusStr());
            projectPlanProgressReport.setActualInvest(form.getActualInvest());
            // 新增进度上报内容
            baseMapper.insert(projectPlanProgressReport);
        }else if (form.getProgressStatusInt() == 2) { // 已驳回  重新上报
            ProjectPlanProgressReport projectPlanProgressReport = baseMapper.selectById(form.getProgressReportId());
            projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue());
            projectPlanProgressReport.setStartTime(form.getActualStartTime());
            projectPlanProgressReport.setEndTime(form.getActualEndTime());
            projectPlanProgressReport.setProgressStatus(form.getProgressStatusStr());
            projectPlanProgressReport.setActualInvest(form.getActualInvest());
            // 更新进度上报内容
            baseMapper.updateById(projectPlanProgressReport);
        }
business/src/main/java/com/ycl/service/impl/ProjectPlanRecordServiceImpl.java
@@ -55,8 +55,9 @@
    @Override
    public Result add(ProjectPlanRecordAddRequest request) {
        ProjectPlanRecord item = new ProjectPlanRecord();
        Plan one = new LambdaQueryChainWrapper<>(planMapper).eq(Plan::getProjectInfoId, request.getProjectInfoId()).one();
        // 查询项目计划id
        item.setPlanId(new LambdaQueryChainWrapper<>(planMapper).eq(Plan::getProjectInfoId, request.getProjectInfoId()).one().getId().longValue());
        item.setPlanId(new LambdaQueryChainWrapper<>(planMapper).eq(Plan::getProjectInfoId, request.getProjectInfoId()).one().getId());
        // 判断标志位是否为0,如果为0,则为月度计划,1为季度计划,2为年度计划
        if (request.getPlanTimeFlag() == MONTH_FLAG) {
            // 判断id是否为0
business/src/main/resources/mapper/PlanMapper.xml
@@ -29,11 +29,6 @@
    </resultMap>
    <select id="getById" resultMap="BaseResultMap">
        SELECT
            TP.project_info_id,
@@ -59,19 +54,34 @@
            pi.project_code,
            pi.project_type,
            pi.project_phase,
            IFNULL((select report_status from t_project_plan_record
             WHERE plan_time_flag = 0 AND project_info_id = pi.id ORDER BY create_time DESC LIMIT 1),1) as month_status,
            IFNULL((select report_status from t_project_plan_record
             WHERE plan_time_flag = 1 AND project_info_id = pi.id ORDER BY create_time DESC LIMIT 1),1) as season_status,
            IFNULL((select report_status from t_project_plan_record
             WHERE plan_time_flag = 2 AND project_info_id = pi.id ORDER BY create_time DESC LIMIT 1),1) as year_status,
            p.month_status,
            p.season_status,
            p.year_status,
            pi.project_status,
            pi.invest_type
        FROM t_plan AS p
            INNER JOIN t_project_info AS pi ON p.project_info_id = pi.id
            INNER JOIN t_project_plan_record AS ppr ON p.id = ppr.plan_id
        WHERE
            p.deleted = 0
        FROM t_project_info AS pi
        LEFT JOIN t_plan AS p ON p.project_info_id = pi.id
        <where>
            pi.deleted = 0
            <if test="query.projectName!= null and query.projectName!= ''">
                AND pi.project_name LIKE CONCAT('%', #{query.projectName}, '%')
            </if>
            <if test="query.projectCode!= null and query.projectCode!= ''">
                AND pi.project_code LIKE CONCAT('%', #{query.projectCode}, '%')
            </if>
            <if test="query.reportStatus!= null">
                AND p.report_status = #{query.reportStatus}
            </if>
            <if test="query.monthStatus!= null">
                AND p.month_status = #{query.monthStatus}
            </if>
            <if test="query.seasonStatus!= null">
                AND p.season_status = #{query.seasonStatus}
            </if>
            <if test="query.yearStatus!= null">
                AND p.year_status = #{query.yearStatus}
            </if>
        </where>
    </select>
</mapper>
business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
@@ -179,7 +179,7 @@
        FROM t_project_plan_examine_record AS pper
        WHERE
            pper.project_plan_record_id = #{projectPlanRecordId}
            AND pper.event_type = 0
            AND pper.event_type != 2
            AND pper.deleted = 0
        ORDER BY gmt_update DESC
    </select>
common/src/main/java/com/ycl/common/enums/business/ProjectStatusEnum.java
@@ -27,4 +27,13 @@
        this.type = type;
        this.desc = desc;
    }
    public static String getDescByType(String type) {
        for (ProjectStatusEnum status : ProjectStatusEnum.values()) {
            if (status.type.equals(type)) {
                return status.desc;
            }
        }
        return null; // 如果没有找到对应的类型,可以返回 null 或者抛出异常
    }
}
common/src/main/java/com/ycl/common/enums/business/ProjectTypeEnum.java
@@ -29,4 +29,13 @@
        this.type = type;
        this.desc = desc;
    }
    public static String getDescByType(String type) {
        for (ProjectTypeEnum projectType : ProjectTypeEnum.values()) {
            if (projectType.type.equals(type)) {
                return projectType.desc;
            }
        }
        return null; // 如果没有找到对应的type,可以返回null或抛出异常
    }
}
start/src/main/resources/application.yml
@@ -72,6 +72,10 @@
    restart:
      # 热部署开关
      enabled: false
  # 日期格式
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
# token配置
token: