luohairen
2024-11-28 2d0c245d5b5c9099969f7618bddbc3696ccfb6a9
修改项目计划bug
12个文件已修改
119 ■■■■ 已修改文件
business/src/main/java/com/ycl/controller/ProjectPlanProgressReportController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/ProjectPlanProgressReport.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/ProjectPlanRecord.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/mapper/ProjectPlanProgressReportMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/ProjectPlanProgressReportService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProjectPlanProgressReportController.java
@@ -6,6 +6,7 @@
import com.ycl.common.group.Update;
import com.ycl.domain.form.ProjectPlanProgressReportForm;
import com.ycl.domain.query.ProjectPlanProgressReportQuery;
import com.ycl.domain.vo.ProgressReportResponseVO;
import com.ycl.service.ProjectPlanProgressReportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -34,8 +35,8 @@
    @PostMapping
    @ApiOperation(value = "添加", notes = "添加")
    @PreAuthorize("hasAuthority('projectPlanProgressReport:add')")
    public Result add(@RequestBody @Validated(Add.class) ProjectPlanProgressReportForm form) {
//    @PreAuthorize("hasAuthority('projectPlanProgressReport:add')")
    public Result add(@RequestBody @Validated(Add.class) ProgressReportResponseVO form) {
        return projectPlanProgressReportService.add(form);
    }
business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java
@@ -35,12 +35,10 @@
    private Integer progressStatus;
    @TableField("start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    /** 计划开始时间 */
    private Date startTime;
    @TableField("end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    /** 计划完成时间 */
    private Date endTime;
business/src/main/java/com/ycl/domain/entity/ProjectPlanProgressReport.java
@@ -3,10 +3,12 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycl.system.domain.base.AbsEntity;
import com.ycl.system.domain.base.AbsEntityOnlyId;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * 进度上报内容
@@ -16,7 +18,7 @@
 */
@Data
@TableName("t_project_plan_progress_report")
public class ProjectPlanProgressReport extends AbsEntity {
public class ProjectPlanProgressReport extends AbsEntityOnlyId {
    private static final long serialVersionUID = 1L;
@@ -26,11 +28,11 @@
    @TableField("start_time")
    /** 实际开始时间 */
    private LocalDateTime startTime;
    private Date startTime;
    @TableField("end_time")
    /** 实际完成时间 */
    private LocalDateTime endTime;
    private Date endTime;
    @TableField("progress_status")
    /** 进度情况 */
business/src/main/java/com/ycl/domain/entity/ProjectPlanRecord.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycl.system.domain.base.AbsEntity;
import com.ycl.system.domain.base.AbsEntityOnlyId;
import lombok.Data;
import java.math.BigDecimal;
@@ -17,7 +18,7 @@
 */
@Data
@TableName("t_project_plan_record")
public class ProjectPlanRecord extends AbsEntity {
public class ProjectPlanRecord extends AbsEntityOnlyId {
    private static final long serialVersionUID = 1L;
business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java
@@ -13,6 +13,10 @@
public class ProgressReportResponseVO {
    // 计划项id
    private Integer id;
    // 进度上报id
    private Integer progressReportId;
    // 审核记录id
    private Integer examineRecordId;
    private Integer planTime;
    private Integer PlanTimeFlag;
    private String title;
business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java
@@ -1,11 +1,14 @@
package com.ycl.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
business/src/main/java/com/ycl/mapper/ProjectPlanProgressReportMapper.java
@@ -33,4 +33,8 @@
    IPage getPage(IPage page, @Param("query") ProjectPlanProgressReportQuery query);
    ProgressReportResponseVO getDetail(Integer id);
    void insertOne(ProjectPlanProgressReport projectPlanProgressReport);
    void updateOne(ProjectPlanProgressReport projectPlanProgressReport);
}
business/src/main/java/com/ycl/service/ProjectPlanProgressReportService.java
@@ -5,6 +5,7 @@
import com.ycl.domain.entity.ProjectPlanProgressReport;
import com.ycl.domain.form.ProjectPlanProgressReportForm;
import com.ycl.domain.query.ProjectPlanProgressReportQuery;
import com.ycl.domain.vo.ProgressReportResponseVO;
import java.util.List;
@@ -21,7 +22,7 @@
     * @param form
     * @return
     */
    Result add(ProjectPlanProgressReportForm form);
    Result add(ProgressReportResponseVO form);
    /**
     * 修改
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -20,6 +20,7 @@
import com.ycl.service.ProjectPlanInfoService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
@@ -165,6 +166,7 @@
        item.setDeleted(0);
        list.stream().forEach(i -> {
            item.setProjectPlanInfoId(i.getId().longValue());
//            projectPlanExamineRecordMapper.insert(item);
            projectPlanExamineRecordMapper.insertOne(item);
        });
        return Result.ok("添加成功");
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
@@ -1,10 +1,15 @@
package com.ycl.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.common.base.Result;
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.ProjectPlanExamineRecordMapper;
import com.ycl.mapper.ProjectPlanInfoMapper;
import com.ycl.mapper.ProjectPlanProgressReportMapper;
import com.ycl.service.ProjectPlanProgressReportService;
@@ -12,9 +17,11 @@
import com.ycl.domain.form.ProjectPlanProgressReportForm;
import com.ycl.domain.vo.ProjectPlanProgressReportVO;
import com.ycl.domain.query.ProjectPlanProgressReportQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.List;
@@ -31,16 +38,46 @@
public class ProjectPlanProgressReportServiceImpl extends ServiceImpl<ProjectPlanProgressReportMapper, ProjectPlanProgressReport> implements ProjectPlanProgressReportService {
    private final ProjectPlanProgressReportMapper projectPlanProgressReportMapper;
    @Autowired
    private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
    @Autowired
    private ProjectPlanInfoMapper projectPlanInfoMapper;
    /**
     * 添加
     * @param form
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Result add(ProjectPlanProgressReportForm form) {
        ProjectPlanProgressReport entity = ProjectPlanProgressReportForm.getEntityByForm(form, null);
        baseMapper.insert(entity);
    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.getProgressStatus());
        projectPlanProgressReport.setActualInvest(form.getActualInvest());
        if (form.getProgressReportId() == null) {
            baseMapper.insertOne(projectPlanProgressReport);
        }else {
            projectPlanProgressReport.setId(form.getProgressReportId());
//            baseMapper.updateOne(projectPlanProgressReport);
            baseMapper.updateById(projectPlanProgressReport);
        }
        // 更新上级批复
        new LambdaUpdateChainWrapper<>(projectPlanExamineRecordMapper)
                .eq(ProjectPlanExamineRecord::getId, form.getExamineRecordId())
                .set(ProjectPlanExamineRecord::getDepartmentApprovalReply, form.getDepartmentApprovalReply())
                .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply())
                .update();
        // 更新上报状态
        new LambdaUpdateChainWrapper<>(projectPlanInfoMapper)
                .eq(ProjectPlanInfo::getId, form.getId())
                .set(ProjectPlanInfo::getProgressStatus, 2)
                .update();
        return Result.ok("添加成功");
    }
business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
@@ -49,7 +49,8 @@
            delay_start_time,
            delay_end_time,
            gmt_create,
            gmt_update
            gmt_update,
            deleted
        ) values (
            #{projectPlanRecordId},
            #{projectPlanInfoId},
@@ -65,7 +66,8 @@
            #{delayStartTime},
            #{delayEndTime},
            #{gmtCreate},
            #{gmtUpdate}
            #{gmtUpdate},
            #{deleted}
        )
    </insert>
    <update id="updateByForm">
@@ -142,7 +144,7 @@
                 FROM t_project_plan_examine_record AS pper
                 WHERE project_plan_record_id = #{projectPlanRecordId}
             ) AS ranked
        WHERE rn = 1;
        WHERE rn = 1 AND ranked.deleted = 0
    </select>
    <select id="getPlanLog" resultType="com.ycl.domain.vo.DepartmentApprovalResponseVO">
business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml
@@ -10,12 +10,32 @@
        <result column="progress_status" property="progressStatus" />
        <result column="actual_invest" property="actualInvest" />
    </resultMap>
    <insert id="insertOne">
        INSERT INTO t_project_plan_progress_report (
            project_plan_info_id,
            start_time,
            end_time,
            progress_status,
            actual_invest
        )
        VALUES (
            #{projectPlanInfoId},
            #{startTime},
            #{endTime},
            #{progressStatus},
            #{actualInvest}
        )
    </insert>
    <update id="updateOne">
        UPDATE t_project_plan_progress_report
        SET
            start_time = #{startTime},
            end_time = #{endTime},
            progress_status = #{progressStatus},
            actual_invest = #{actualInvest}
        WHERE
            id = #{id}
    </update>
    <select id="getById" resultMap="BaseResultMap">
@@ -51,6 +71,8 @@
    <select id="getDetail" resultType="com.ycl.domain.vo.ProgressReportResponseVO">
        SELECT
            ppi.id,
            pppr.id AS progress_report_id,
            pper.id AS examine_record_id,
            ppr.plan_time,
            ppr.plan_time_flag,
            ppi.title,