From 2d0c245d5b5c9099969f7618bddbc3696ccfb6a9 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期四, 28 十一月 2024 00:06:25 +0800
Subject: [PATCH] 修改项目计划bug
---
business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java | 4 ++
business/src/main/java/com/ycl/domain/entity/ProjectPlanProgressReport.java | 8 ++-
business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java | 2 -
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java | 2 +
business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java | 3 +
business/src/main/java/com/ycl/domain/entity/ProjectPlanRecord.java | 3 +
business/src/main/java/com/ycl/service/ProjectPlanProgressReportService.java | 3 +
business/src/main/java/com/ycl/controller/ProjectPlanProgressReportController.java | 5 +-
business/src/main/java/com/ycl/mapper/ProjectPlanProgressReportMapper.java | 4 ++
business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml | 34 ++++++++++++++---
business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml | 8 ++-
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java | 43 ++++++++++++++++++++-
12 files changed, 98 insertions(+), 21 deletions(-)
diff --git a/business/src/main/java/com/ycl/controller/ProjectPlanProgressReportController.java b/business/src/main/java/com/ycl/controller/ProjectPlanProgressReportController.java
index c19d78f..64db8ca 100644
--- a/business/src/main/java/com/ycl/controller/ProjectPlanProgressReportController.java
+++ b/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);
}
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java b/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java
index 02506a9..60a26e1 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java
+++ b/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;
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectPlanProgressReport.java b/business/src/main/java/com/ycl/domain/entity/ProjectPlanProgressReport.java
index 7e51dcb..b170006 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectPlanProgressReport.java
+++ b/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")
/** 杩涘害鎯呭喌 */
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectPlanRecord.java b/business/src/main/java/com/ycl/domain/entity/ProjectPlanRecord.java
index 9495cb1..4056d7d 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectPlanRecord.java
+++ b/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;
diff --git a/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java b/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java
index 241086e..2536961 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java
@@ -13,6 +13,10 @@
public class ProgressReportResponseVO {
// 璁″垝椤筰d
private Integer id;
+ // 杩涘害涓婃姤id
+ private Integer progressReportId;
+ // 瀹℃牳璁板綍id
+ private Integer examineRecordId;
private Integer planTime;
private Integer PlanTimeFlag;
private String title;
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java
index 9be4fa1..fee3153 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java
+++ b/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
diff --git a/business/src/main/java/com/ycl/mapper/ProjectPlanProgressReportMapper.java b/business/src/main/java/com/ycl/mapper/ProjectPlanProgressReportMapper.java
index e4f81c5..794b47c 100644
--- a/business/src/main/java/com/ycl/mapper/ProjectPlanProgressReportMapper.java
+++ b/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);
}
diff --git a/business/src/main/java/com/ycl/service/ProjectPlanProgressReportService.java b/business/src/main/java/com/ycl/service/ProjectPlanProgressReportService.java
index 0a9802c..c9fbd88 100644
--- a/business/src/main/java/com/ycl/service/ProjectPlanProgressReportService.java
+++ b/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);
/**
* 淇敼
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
index 55690a8..a202490 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
+++ b/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("娣诲姞鎴愬姛");
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
index 79674ce..65e7358 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
+++ b/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("娣诲姞鎴愬姛");
}
diff --git a/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml b/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
index 14a03c2..1f5eea5 100644
--- a/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
+++ b/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">
diff --git a/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml b/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml
index 80f9304..5e7ddeb 100644
--- a/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml
+++ b/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,
--
Gitblit v1.8.0