From a0020e9ccac495a6bb9efedc2c2f523277387081 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 26 三月 2025 00:09:24 +0800
Subject: [PATCH] 按时完成的任务还需要排除被驳回的
---
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java | 111 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 69 insertions(+), 42 deletions(-)
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 a202490..78f132c 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -9,8 +9,8 @@
import com.ycl.domain.entity.ProjectPlanInfo;
import com.ycl.domain.entity.ProjectPlanRecord;
import com.ycl.domain.form.ProjectPlanInfoForm;
+import com.ycl.domain.form.ProjectPlanInfoRequestForm;
import com.ycl.domain.query.ProjectPlanInfoQuery;
-import com.ycl.domain.vo.ProjectPlanInfoRequest;
import com.ycl.domain.vo.ProjectPlanInfoResponseVO;
import com.ycl.domain.vo.ProjectPlanInfoVO;
import com.ycl.framework.utils.PageUtil;
@@ -20,7 +20,6 @@
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;
@@ -112,7 +111,7 @@
* @return
*/
@Override
- public Result detail(Integer id) {
+ public Result detail(Long id) {
ProjectPlanInfoResponseVO vo = new ProjectPlanInfoResponseVO();
vo.setList(new LambdaQueryChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getProjectPlanRecordId, id).list());
vo.setActualInvest(new LambdaQueryChainWrapper<>(projectPlanRecordMapper).eq(ProjectPlanRecord::getId, id).one().getActualInvest());
@@ -134,55 +133,57 @@
@Transactional(rollbackFor = Exception.class)
@Override
- public Result addPlanInfo(ProjectPlanInfoRequest request) {
- if (request.getAddList() == null || request.getAddList().isEmpty()) {{
- return Result.error("璇烽�夋嫨瑕佹坊鍔犵殑璁″垝椤�");
- }}
+ public Result addPlanInfo(ProjectPlanInfoRequestForm form) {
// 鍒犻櫎鍘熸湁璁板綍
- new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getProjectPlanRecordId, request.getProjectPlanRecordId()).remove();
+ new LambdaUpdateChainWrapper<>(baseMapper)
+ .eq(ProjectPlanInfo::getProjectPlanRecordId, form.getProjectPlanRecordId())
+ .remove();
// 鎵归噺鎻掑叆鏂拌褰�
List<ProjectPlanInfo> list = new ArrayList<>();
- request.getAddList().forEach(item -> {
+ form.getAddList().forEach(item -> {
ProjectPlanInfo projectPlanInfo = new ProjectPlanInfo();
- projectPlanInfo.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
- projectPlanInfo.setTitle(item.getTitle());
- projectPlanInfo.setProgressStatus(0);
- projectPlanInfo.setStartTime(item.getStartTime());
- projectPlanInfo.setEndTime(item.getEndTime());
+ projectPlanInfo.setProjectPlanRecordId(form.getProjectPlanRecordId());
+ projectPlanInfo.setTitle(item.getTitle()); // 璁″垝椤规爣棰�
+ projectPlanInfo.setPlanStatus(0); // 璁″垝椤圭姸鎬佷负鏈紑濮�
+ projectPlanInfo.setProgressStatus(0); // 璁″垝椤硅繘搴︿负鏈紑濮�
+ projectPlanInfo.setStartTime(item.getStartTime()); // 璁″垝椤瑰紑濮嬫椂闂�
+ projectPlanInfo.setEndTime(item.getEndTime()); // 璁″垝椤圭粨鏉熸椂闂�
list.add(projectPlanInfo);
});
- baseMapper.batchInsert(list);
+ this.saveBatch(list);
// 鏇存柊璁″垝璁板綍鐨勬姇璧�,浠ュ強涓婃姤鐘舵��
new LambdaUpdateChainWrapper<>(projectPlanRecordMapper)
- .eq(ProjectPlanRecord::getId, request.getProjectPlanRecordId())
- .set(ProjectPlanRecord::getActualInvest, request.getActualInvest())
+ .eq(ProjectPlanRecord::getId, form.getProjectPlanRecordId())
+ .set(ProjectPlanRecord::getActualInvest, form.getActualInvest())
.set(ProjectPlanRecord::getReportStatus, 0)
.update();
+
// 鏂板涓�鏉″鏍歌褰�
- ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
- item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
- item.setEventType(0);
- item.setGmtCreate(new Date());
- item.setDeleted(0);
- list.stream().forEach(i -> {
- item.setProjectPlanInfoId(i.getId().longValue());
-// projectPlanExamineRecordMapper.insert(item);
- projectPlanExamineRecordMapper.insertOne(item);
- });
+ for (ProjectPlanInfo i : list){
+ ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
+ item.setProjectPlanRecordId(form.getProjectPlanRecordId());
+ item.setEventType(0); // 璁″垝涓婃姤
+ item.setProjectPlanInfoId(i.getId());
+ projectPlanExamineRecordMapper.insert(item);
+ }
return Result.ok("娣诲姞鎴愬姛");
}
@Override
- public Result savePlanInfo(ProjectPlanInfo item) {
- item.setProgressStatus(0);
+ public Result savePlanInfo(ProjectPlanInfoForm form, Long planRecordId) {
+ ProjectPlanInfo entity = new ProjectPlanInfo();
+ BeanUtils.copyProperties(form, entity);
+ entity.setProjectPlanRecordId(planRecordId); // 椤圭洰璁″垝璁板綍id
+ entity.setProgressStatus(0); // 鏈紑濮�
+ entity.setPlanStatus(0); // 鏈鏍�
// 鍒ゆ柇id鏄惁瀛樺湪锛屽瓨鍦ㄥ垯鏇存柊锛屼笉瀛樺湪鍒欐柊澧�
- if (item.getId() == null) {
- baseMapper.insertOne(item);
+ if (entity.getId() == null) {
+ baseMapper.insert(entity);
} else {
- new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getId, item.getId())
- .set(ProjectPlanInfo::getTitle, item.getTitle())
- .set(ProjectPlanInfo::getStartTime, item.getStartTime())
- .set(ProjectPlanInfo::getEndTime, item.getEndTime())
+ new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getId, entity.getId())
+ .set(ProjectPlanInfo::getTitle, entity.getTitle())
+ .set(ProjectPlanInfo::getStartTime, entity.getStartTime())
+ .set(ProjectPlanInfo::getEndTime, entity.getEndTime())
.update();
}
return Result.ok("淇濆瓨鎴愬姛");
@@ -197,16 +198,42 @@
.set(ProjectPlanInfo::getStartTime, request.getStartTime())
.set(ProjectPlanInfo::getEndTime, request.getEndTime())
.update();
- // 鏂板涓�鏉″鏍歌褰�
- ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
- item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
- item.setProjectPlanInfoId(request.getId().longValue());
+ // 鏌ヨ鍑哄師鏉ョ殑瀹℃牳璁板綍
+ 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();
+ // 鏇存柊鍘熸潵鐨勫鏍歌褰�
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("寤舵湡鎴愬姛");
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result resubmitPlanInfo(ProjectPlanInfoForm form) {
+ // 鏇存柊閲嶆柊涓婃姤鍚庣殑鍐呭
+ new LambdaUpdateChainWrapper<>(baseMapper)
+ .eq(ProjectPlanInfo::getId, form.getId())
+ .set(ProjectPlanInfo::getTitle, form.getTitle())
+ .set(ProjectPlanInfo::getStartTime, form.getStartTime())
+ .set(ProjectPlanInfo::getEndTime, form.getEndTime())
+ .set(ProjectPlanInfo::getPlanStatus, 0) // 灏嗚璁″垝椤硅缃负鏈鏍哥殑鐘舵��
+ .update();
+
+ // 鏂板涓�鏉¤鍒掍笂鎶ョ殑瀹℃牳璁板綍
+ ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
+ item.setProjectPlanRecordId(form.getProjectPlanRecordId());
+ item.setProjectPlanInfoId(form.getId());
+ item.setEventType(0); // 璁″垝涓婃姤
+ item.setGmtCreate(new Date());
+ projectPlanExamineRecordMapper.insert(item);
+ return Result.ok("閲嶆柊涓婃姤鎴愬姛");
+ }
}
--
Gitblit v1.8.0