|
|
@@ -9,11 +9,13 @@ import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowwork.vo.
|
|
|
import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowworknode.vo.ApprovalNodeReqVO;
|
|
|
import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowworknode.vo.StartWorkVO;
|
|
|
import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowworknode.vo.WorkflowWorkNodeRespVO;
|
|
|
+import cn.iocoder.yudao.module.iscs.controller.admin.android.vo.AppHomeVO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.dataobject.workdesign.WorkflowDesignDO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.dataobject.workdesign.WorkflowWorkDO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.dataobject.workdesign.WorkflowWorkNodeDO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.dataobject.workdesign.WorkflowWorkNodeUserDO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.mysql.workdesign.WorkflowWorkMapper;
|
|
|
+import cn.iocoder.yudao.module.iscs.utils.MonthTimeUtil;
|
|
|
import cn.iocoder.yudao.module.iscs.utils.RandomCodeUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
@@ -226,19 +228,6 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
|
|
|
return respVOPageResult;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public PageResult<MyWorkRespVO> getAppMyWorkPage(MyWorkReqVO vo) {
|
|
|
- Long loginUserId = getLoginUserId();
|
|
|
- vo.setLoginUserId(loginUserId);
|
|
|
- Page page = new Page<>().setSize(vo.getPageSize()).setCurrent(vo.getPageNo());
|
|
|
- // 获取和我相关的作业
|
|
|
- Page<MyWorkRespVO> myWorkPage = workflowWorkMapper.getAppMyWorkPage(page, vo);
|
|
|
- PageResult<MyWorkRespVO> respVOPageResult = new PageResult<>();
|
|
|
- respVOPageResult.setList(myWorkPage.getRecords());
|
|
|
- respVOPageResult.setTotal(myWorkPage.getTotal());
|
|
|
- return respVOPageResult;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public WorkflowWorkNodeRespVO getMyWorkNodeDetail(Long nodeId) {
|
|
|
WorkflowWorkNodeDO byId = workflowWorkNodeService.getById(nodeId);
|
|
|
@@ -256,6 +245,7 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
|
|
|
Assert.notNull(nodeDO, "审批节点数据丢失了!");
|
|
|
Assert.isFalse("approved".equals(nodeDO.getApprovalStatus()) || "rejected".equals(nodeDO.getApprovalStatus()), "当前节[" + vo.getNodeId() + "]点已被审批!");
|
|
|
// 2.开始审批
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
if ("rejected".equals(vo.getApprovalStatus())) {
|
|
|
// 如果是驳回,则只需要更新node状态
|
|
|
workflowWorkNodeService.update(Wrappers.<WorkflowWorkNodeDO>lambdaUpdate()
|
|
|
@@ -263,6 +253,7 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
|
|
|
.set(WorkflowWorkNodeDO::getApprovalStatus, vo.getApprovalStatus())
|
|
|
.set(WorkflowWorkNodeDO::getApprovalOpinion, vo.getApprovalOpinion())
|
|
|
.set(WorkflowWorkNodeDO::getFormData, vo.getFormData())
|
|
|
+ .set(WorkflowWorkNodeDO::getEndTime, now)
|
|
|
);
|
|
|
} else if ("approved".equals(vo.getApprovalStatus())) {
|
|
|
// 如果是通过,需要更新node状态,开启后面的节点
|
|
|
@@ -271,6 +262,7 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
|
|
|
.set(WorkflowWorkNodeDO::getApprovalStatus, vo.getApprovalStatus())
|
|
|
.set(WorkflowWorkNodeDO::getApprovalOpinion, vo.getApprovalOpinion())
|
|
|
.set(WorkflowWorkNodeDO::getFormData, vo.getFormData())
|
|
|
+ .set(WorkflowWorkNodeDO::getEndTime, now)
|
|
|
);
|
|
|
|
|
|
|
|
|
@@ -283,6 +275,7 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
|
|
|
.eq(WorkflowWorkNodeDO::getWorkId, nodeDO.getWorkId())
|
|
|
.in(WorkflowWorkNodeDO::getUuid, list)
|
|
|
.set(WorkflowWorkNodeDO::getApprovalStatus, "unaudited")
|
|
|
+ .set(WorkflowWorkNodeDO::getStartTime, now)
|
|
|
);
|
|
|
} else {
|
|
|
// 如果没有后续节点,看下是否完成整个流程
|
|
|
@@ -303,4 +296,34 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ // ------------------------------------android------------------------------------------
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageResult<MyWorkRespVO> getAppMyWorkPage(MyWorkReqVO vo) {
|
|
|
+ Long loginUserId = getLoginUserId();
|
|
|
+ Assert.notNull(loginUserId, "请登录!");
|
|
|
+ vo.setLoginUserId(loginUserId);
|
|
|
+ Page page = new Page<>().setSize(vo.getPageSize()).setCurrent(vo.getPageNo());
|
|
|
+ // 获取和我相关的作业
|
|
|
+ Page<MyWorkRespVO> myWorkPage = workflowWorkMapper.getAppMyWorkPage(page, vo);
|
|
|
+ PageResult<MyWorkRespVO> respVOPageResult = new PageResult<>();
|
|
|
+ respVOPageResult.setList(myWorkPage.getRecords());
|
|
|
+ respVOPageResult.setTotal(myWorkPage.getTotal());
|
|
|
+ return respVOPageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AppHomeVO getAppHomeStatistics() {
|
|
|
+ Long loginUserId = getLoginUserId();
|
|
|
+ Assert.notNull(loginUserId, "请登录!");
|
|
|
+ List<Long> myInProgressCount = workflowWorkMapper.getMyInProgressCount(loginUserId);
|
|
|
+ List<Long> myCompletedCount = workflowWorkMapper.getMyCompletedCount(loginUserId, MonthTimeUtil.getMonthStart(), MonthTimeUtil.getMonthEnd());
|
|
|
+ AppHomeVO appHomeVO = new AppHomeVO();
|
|
|
+ appHomeVO.setInProgressCount(myInProgressCount.size());
|
|
|
+ appHomeVO.setCompletedCount(myCompletedCount.size());
|
|
|
+ return appHomeVO;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|