luohairen
2024-11-29 fc06896dd3094f3b272d2f941c8f738479b5ad73
计划项审批
9个文件已修改
63 ■■■■■ 已修改文件
business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoVO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/ProjectPlanInfoMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.system.domain.base.AbsEntity;
import com.ycl.system.domain.base.AbsEntityOnlyIdAndDeleted;
import lombok.Data;
import java.time.LocalDateTime;
@@ -18,7 +19,7 @@
 */
@Data
@TableName("t_project_plan_info")
public class ProjectPlanInfo extends AbsEntity {
public class ProjectPlanInfo extends AbsEntityOnlyIdAndDeleted {
    private static final long serialVersionUID = 1L;
@@ -35,23 +36,11 @@
    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;
    /** 创建时间 */
    @TableField(exist = false)
    private Date gmtCreate;
    /** 修改时间 */
    @TableField(exist = false)
    private Date gmtUpdate;
    @TableField(exist = false)
    private Integer deleted;
}
business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java
@@ -14,6 +14,8 @@
@NoArgsConstructor
public class ProjectPlanInfoItem {
    private String title;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
}
business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoVO.java
@@ -2,6 +2,7 @@
import com.ycl.domain.entity.ProjectPlanInfo;
import com.ycl.system.domain.base.AbsEntity;
import com.ycl.system.domain.base.AbsVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -19,7 +20,7 @@
 */
@Data
@ApiModel(value = "项目计划项响应数据", description = "项目计划项响应数据")
public class ProjectPlanInfoVO extends AbsVo {
public class ProjectPlanInfoVO extends AbsEntity {
    /** 项目计划记录id */
    @ApiModelProperty("项目计划记录id")
business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
@@ -4,8 +4,10 @@
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.common.utils.SecurityUtils;
import com.ycl.domain.entity.ProjectPlanExamineRecord;
import com.ycl.domain.entity.ProjectPlanRecord;
import com.ycl.domain.vo.DepartmentApprovalResponseVO;
import com.ycl.mapper.ProjectPlanExamineRecordMapper;
import com.ycl.mapper.ProjectPlanRecordMapper;
import com.ycl.service.ProjectPlanExamineRecordService;
import com.ycl.common.base.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,6 +35,7 @@
public class ProjectPlanExamineRecordServiceImpl extends ServiceImpl<ProjectPlanExamineRecordMapper, ProjectPlanExamineRecord> implements ProjectPlanExamineRecordService {
    private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
    private final ProjectPlanRecordMapper projectPlanRecordMapper;
    /**
     * 添加
@@ -150,10 +153,21 @@
    @Override
    public Result saveExamine(ProjectPlanExamineRecordForm form) {
        ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null);
        projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId());
        projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId());
        baseMapper.updateById(projectPlanExamineRecord);
        // 判断,如果都同意,则直接更新审批记录
        if (null != form.getDepartmentExamine() && null != form.getManageExamine() && form.getDepartmentExamine() == 0 && form.getManageExamine() == 0){
            ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null);
            projectPlanExamineRecord.setId(form.getId().longValue());
            projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId());
            projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId());
            baseMapper.updateById(projectPlanExamineRecord);
        }
        // 否则,将项目记录设置为未上报,并将记录逻辑删除
        new LambdaUpdateChainWrapper<>(projectPlanRecordMapper)
                .eq(ProjectPlanRecord::getId, form.getProjectPlanRecordId())
                .set(ProjectPlanRecord::getReportStatus,1);
        new LambdaUpdateChainWrapper<>(baseMapper)
                .eq(ProjectPlanExamineRecord::getProjectPlanRecordId, form.getProjectPlanRecordId())
                .remove();
        return Result.ok("回复成功");
    }
}
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -139,7 +139,10 @@
            return Result.error("请选择要添加的计划项");
        }}
        // 删除原有记录
        new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getProjectPlanRecordId, request.getProjectPlanRecordId()).remove();
        new LambdaUpdateChainWrapper<>(baseMapper)
                .eq(ProjectPlanInfo::getProjectPlanRecordId, request.getProjectPlanRecordId())
                .set(ProjectPlanInfo::getDeleted, 1)
                .update();
        // 批量插入新记录
        List<ProjectPlanInfo> list = new ArrayList<>();
        request.getAddList().forEach(item -> {
@@ -149,15 +152,19 @@
            projectPlanInfo.setProgressStatus(0);
            projectPlanInfo.setStartTime(item.getStartTime());
            projectPlanInfo.setEndTime(item.getEndTime());
            projectPlanInfo.setDeleted(0);
            list.add(projectPlanInfo);
        });
        baseMapper.batchInsert(list);
        list.stream().forEach(i -> {
            baseMapper.insert(i);
        });
        // 更新计划记录的投资,以及上报状态
        new LambdaUpdateChainWrapper<>(projectPlanRecordMapper)
                .eq(ProjectPlanRecord::getId, request.getProjectPlanRecordId())
                .set(ProjectPlanRecord::getActualInvest, request.getActualInvest())
                .set(ProjectPlanRecord::getReportStatus, 0)
                .update();
        // 新增一条审核记录
        ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
        item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
@@ -166,8 +173,8 @@
        item.setDeleted(0);
        list.stream().forEach(i -> {
            item.setProjectPlanInfoId(i.getId().longValue());
//            projectPlanExamineRecordMapper.insert(item);
            projectPlanExamineRecordMapper.insertOne(item);
//            projectPlanExamineRecordMapper.insertOne(item);
        });
        return Result.ok("添加成功");
    }
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
@@ -68,7 +68,6 @@
            baseMapper.insertOne(projectPlanProgressReport);
        }else {
            projectPlanProgressReport.setId(form.getProgressReportId());
//            baseMapper.updateOne(projectPlanProgressReport);
            baseMapper.updateById(projectPlanProgressReport);
        }
business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
@@ -145,6 +145,7 @@
                 WHERE project_plan_record_id = #{projectPlanRecordId}
             ) AS ranked
        WHERE rn = 1 AND ranked.deleted = 0
        Order by gmt_create DESC
    </select>
    <select id="getPlanLog" resultType="com.ycl.domain.vo.DepartmentApprovalResponseVO">
business/src/main/resources/mapper/ProjectPlanInfoMapper.xml
@@ -9,12 +9,13 @@
        <result column="progress_status" property="progressStatus" />
        <result column="start_time" property="startTime" />
        <result column="end_time" property="endTime" />
        <result column="deleted" property="deleted" />
    </resultMap>
    <insert id="batchInsert" keyColumn="id" useGeneratedKeys="true" keyProperty="id">
        insert into t_project_plan_info(project_plan_record_id, title, progress_status, start_time, end_time)
        insert into t_project_plan_info(project_plan_record_id, title, progress_status, start_time, end_time, deleted)
        values
        <foreach collection="list" item="item" separator=",">
            (#{item.projectPlanRecordId}, #{item.title}, #{item.progressStatus}, #{item.startTime}, #{item.endTime})
            (#{item.projectPlanRecordId}, #{item.title}, #{item.progressStatus}, #{item.startTime}, #{item.endTime}, #{item.deleted})
        </foreach>
    </insert>
    <insert id="insertOne">
business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml
@@ -93,7 +93,6 @@
                 LEFT JOIN t_project_plan_progress_report AS pppr ON pppr.project_plan_info_id = ppi.id
                 RIGHT JOIN t_project_plan_examine_record AS pper ON pper.project_plan_info_id = ppi.id
        WHERE ppi.id = #{id}
        ORDER BY pper.gmt_create DESC LIMIT 1
    </select>
</mapper>