From fc6b946b1020ddff4fe2b01c9e439680cbda6b47 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 04 十二月 2024 09:32:53 +0800
Subject: [PATCH] 分角色展示项目计划,实现不同角色的功能
---
business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java | 79 ++++++++++++++++++++++++++++++++++-----
1 files changed, 69 insertions(+), 10 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
index 0404651..a176a1c 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
@@ -2,9 +2,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
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.ProjectPlanInfo;
+import com.ycl.domain.entity.ProjectPlanRecord;
import com.ycl.domain.vo.DepartmentApprovalResponseVO;
+import com.ycl.domain.vo.ProjectProcessToDoVo;
import com.ycl.mapper.ProjectPlanExamineRecordMapper;
+import com.ycl.mapper.ProjectPlanInfoMapper;
+import com.ycl.mapper.ProjectPlanRecordMapper;
import com.ycl.service.ProjectPlanExamineRecordService;
import com.ycl.common.base.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -32,9 +38,12 @@
public class ProjectPlanExamineRecordServiceImpl extends ServiceImpl<ProjectPlanExamineRecordMapper, ProjectPlanExamineRecord> implements ProjectPlanExamineRecordService {
private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
+ private final ProjectPlanRecordMapper projectPlanRecordMapper;
+ private final ProjectPlanInfoMapper projectPlanInfoMapper;
/**
* 娣诲姞
+ *
* @param form
* @return
*/
@@ -47,6 +56,7 @@
/**
* 淇敼
+ *
* @param form
* @return
*/
@@ -63,6 +73,7 @@
/**
* 鎵归噺鍒犻櫎
+ *
* @param ids
* @return
*/
@@ -74,6 +85,7 @@
/**
* id鍒犻櫎
+ *
* @param id
* @return
*/
@@ -85,6 +97,7 @@
/**
* 鍒嗛〉鏌ヨ
+ *
* @param query
* @return
*/
@@ -97,6 +110,7 @@
/**
* 鏍规嵁id鏌ユ壘
+ *
* @param id
* @return
*/
@@ -109,6 +123,7 @@
/**
* 鍒楄〃
+ *
* @return
*/
@Override
@@ -122,25 +137,69 @@
@Override
public Result departmentApproval(Integer projectPlanRecordId) {
- List<DepartmentApprovalResponseVO> vo =baseMapper.selectInfo(projectPlanRecordId);
+ List<DepartmentApprovalResponseVO> vo = baseMapper.selectInfo(projectPlanRecordId);
return Result.ok().data(vo);
}
@Override
public Result planLog(Integer projectPlanRecordId) {
- List<DepartmentApprovalResponseVO> vo =baseMapper.getPlanLog(projectPlanRecordId);
+ List<DepartmentApprovalResponseVO> vo = baseMapper.getPlanLog(projectPlanRecordId);
return Result.ok().data(vo);
}
+ /**
+ * 鍥炲瀹℃壒浜嬮」
+ *
+ * @param form
+ * @return
+ */
@Override
- public Result replyDepartmentApproval(ProjectPlanExamineRecordForm form) {
- baseMapper.updateByForm(form);
-// new LambdaUpdateChainWrapper<>(baseMapper)
-// .eq(ProjectPlanExamineRecord::getId, form.getId())
-// .set(ProjectPlanExamineRecord::getDepartmentApprovalReply,form.getDepartmentApprovalReply())
-// .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply())
-// .set(ProjectPlanExamineRecord::getGmtUpdate ,new Date())
-// .update();
+ public Result replyExamine(ProjectPlanExamineRecordForm form) {
+ ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null);
+ projectPlanExamineRecord.setId(form.getId().longValue());
+ projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId());
+ projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId());
+ baseMapper.updateById(projectPlanExamineRecord);
return Result.ok("鍥炲鎴愬姛");
}
+
+ @Override
+ public Result saveExamine(ProjectPlanExamineRecordForm form) {
+ // 鏇存柊瀹℃壒璁板綍
+ ProjectPlanExamineRecord item = ProjectPlanExamineRecordForm.getEntityByForm(form, null);
+ item.setId(form.getId().longValue());
+ item.setDepartmentUserId(SecurityUtils.getUserId());
+ item.setManagerUserId(SecurityUtils.getUserId());
+ baseMapper.updateById(item);
+ Long projectPlanRecordId = baseMapper.selectById(item.getId()).getProjectPlanRecordId();
+ // 濡傛灉鍚屾剰锛岃鍒掗」鐘舵�佷负宸查�氳繃锛屽苟涓旀柊澧炰竴鏉¢」鐩繘搴﹀鏍歌褰曪紝鍚﹀垯涓哄凡椹冲洖
+ if (null != form.getDepartmentExamine() && null != form.getManageExamine() && form.getDepartmentExamine() == 0 && form.getManageExamine() == 0) {
+ new LambdaUpdateChainWrapper<>(projectPlanInfoMapper)
+ .eq(ProjectPlanInfo::getId, form.getProjectPlanInfoId())
+ .set(ProjectPlanInfo::getPlanStatus, 2)
+ .update();
+ // 鏂板椤圭洰杩涘害瀹℃牳璁板綍
+ ProjectPlanExamineRecord newItem = new ProjectPlanExamineRecord();
+ newItem.setProjectPlanRecordId(projectPlanRecordId); // 椤圭洰璁″垝璁板綍ID
+ newItem.setProjectPlanInfoId(item.getProjectPlanInfoId()); // 椤圭洰璁″垝椤笽D
+ newItem.setEventType(2); // 杩涘害涓婃姤
+ newItem.setDeleted(0); // 鏈垹闄�
+ baseMapper.insert(newItem);
+ }else{
+ new LambdaUpdateChainWrapper<>(projectPlanInfoMapper)
+ .eq(ProjectPlanInfo::getId, form.getProjectPlanInfoId())
+ .set(ProjectPlanInfo::getPlanStatus, 1)
+ .update();
+ }
+ return Result.ok("瀹℃壒鎴愬姛");
+ }
+
+ @Override
+ public Result todoList(Long userId, ProjectPlanExamineRecordQuery query) {
+
+ IPage<ProjectProcessToDoVo> page = PageUtil.getPage(query, ProjectProcessToDoVo.class);
+
+ baseMapper.todoList(page, query, userId);
+ return Result.ok().data(page.getRecords()).total(page.getTotal());
+ }
}
--
Gitblit v1.8.0