|
@@ -3,22 +3,18 @@ package com.qmth.sop.business.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.google.gson.reflect.TypeToken;
|
|
import com.qmth.sop.business.activiti.service.ActivitiService;
|
|
import com.qmth.sop.business.activiti.service.ActivitiService;
|
|
import com.qmth.sop.business.bean.dto.DataPermissionDto;
|
|
import com.qmth.sop.business.bean.dto.DataPermissionDto;
|
|
import com.qmth.sop.business.bean.params.FlowApproveParam;
|
|
import com.qmth.sop.business.bean.params.FlowApproveParam;
|
|
-import com.qmth.sop.business.bean.result.CrmProjectResult;
|
|
|
|
-import com.qmth.sop.business.bean.result.DingApplyDoneResult;
|
|
|
|
-import com.qmth.sop.business.bean.result.DingApplyUnDoneResult;
|
|
|
|
-import com.qmth.sop.business.bean.result.TBDingApplyViewResult;
|
|
|
|
|
|
+import com.qmth.sop.business.bean.result.*;
|
|
import com.qmth.sop.business.entity.*;
|
|
import com.qmth.sop.business.entity.*;
|
|
import com.qmth.sop.business.mapper.TBDingApplyMapper;
|
|
import com.qmth.sop.business.mapper.TBDingApplyMapper;
|
|
import com.qmth.sop.business.service.*;
|
|
import com.qmth.sop.business.service.*;
|
|
import com.qmth.sop.common.contant.SpringContextHolder;
|
|
import com.qmth.sop.common.contant.SpringContextHolder;
|
|
import com.qmth.sop.common.contant.SystemConstant;
|
|
import com.qmth.sop.common.contant.SystemConstant;
|
|
-import com.qmth.sop.common.enums.DingExceptionApproveEnum;
|
|
|
|
-import com.qmth.sop.common.enums.ExceptionResultEnum;
|
|
|
|
-import com.qmth.sop.common.enums.FlowApprovePassEnum;
|
|
|
|
-import com.qmth.sop.common.enums.InOutTypeEnum;
|
|
|
|
|
|
+import com.qmth.sop.common.enums.*;
|
|
|
|
+import com.qmth.sop.common.util.GsonUtil;
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
import org.activiti.engine.TaskService;
|
|
import org.activiti.engine.TaskService;
|
|
import org.activiti.engine.task.IdentityLink;
|
|
import org.activiti.engine.task.IdentityLink;
|
|
@@ -72,6 +68,12 @@ public class TBDingApplyServiceImpl extends ServiceImpl<TBDingApplyMapper, TBDin
|
|
@Resource
|
|
@Resource
|
|
SysUserRoleService sysUserRoleService;
|
|
SysUserRoleService sysUserRoleService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ TFFlowApproveService tfFlowApproveService;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ TFFlowLogService tfFlowLogService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 新增考勤异常补卡申请
|
|
* 新增考勤异常补卡申请
|
|
*
|
|
*
|
|
@@ -329,6 +331,31 @@ public class TBDingApplyServiceImpl extends ServiceImpl<TBDingApplyMapper, TBDin
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public TBDingApplyViewResult view(Long id) {
|
|
public TBDingApplyViewResult view(Long id) {
|
|
- return null;
|
|
|
|
|
|
+ TBDingApply tbDingApply = this.getById(id);
|
|
|
|
+ Optional.ofNullable(tbDingApply).orElseThrow(() -> ExceptionResultEnum.DING_APPLY_NO_DATA.exception());
|
|
|
|
+
|
|
|
|
+ CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(tbDingApply.getSopNo(), tbDingApply.getCrmNo());
|
|
|
|
+ Optional.ofNullable(crmProjectResult).orElseThrow(() -> ExceptionResultEnum.CRM_NO_NO_DATA.exception());
|
|
|
|
+
|
|
|
|
+ TFCustomFlowEntity tfCustomFlowEntity = tfCustomFlowEntityService.getOne(new QueryWrapper<TFCustomFlowEntity>().lambda().eq(TFCustomFlowEntity::getCode, tbDingApply.getDingExceptionNo()));
|
|
|
|
+ Optional.ofNullable(tfCustomFlowEntity).orElseThrow(() -> ExceptionResultEnum.FLOW_ENTITY_NO_DATA.exception());
|
|
|
|
+
|
|
|
|
+ //获取当前流程节点
|
|
|
|
+ TFFlowApprove tfFlowApprove = tfFlowApproveService.getOne(new QueryWrapper<TFFlowApprove>().lambda().eq(TFFlowApprove::getFlowId, tfCustomFlowEntity.getFlowId()));
|
|
|
|
+ Optional.ofNullable(tfFlowApprove).orElseThrow(() -> ExceptionResultEnum.FLOW_APPROVE_NO_DATA.exception());
|
|
|
|
+
|
|
|
|
+ //获取流程审批历史
|
|
|
|
+ List<TFFlowViewLogResult> flowApproveHistoryList = null;
|
|
|
|
+ Map<Integer, Integer> approveSetupMap = new HashMap<>();
|
|
|
|
+ List<TFFlowLogResult> tfFlowLogResultList = tfFlowLogService.findByObjectId(tfCustomFlowEntity.getId());
|
|
|
|
+ if (!CollectionUtils.isEmpty(tfFlowLogResultList)) {
|
|
|
|
+ flowApproveHistoryList = GsonUtil.fromJson(GsonUtil.toJson(tfFlowLogResultList), new TypeToken<List<TFFlowViewLogResult>>() {
|
|
|
|
+ }.getType());
|
|
|
|
+ for (TFFlowViewLogResult t : flowApproveHistoryList) {
|
|
|
|
+ t.setMessageType(FlowMsgTypeEnum.STANDARD);
|
|
|
|
+ approveSetupMap.put(t.getApproveSetup(), t.getApproveSetup());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return new TBDingApplyViewResult(crmProjectResult, tbDingApply, flowApproveHistoryList);
|
|
}
|
|
}
|
|
}
|
|
}
|