|
@@ -0,0 +1,117 @@
|
|
|
+package com.dragonsoft.dcuc.approve.business.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.dragoninfo.dcuc.common.utils.DcucBeanUtil;
|
|
|
+import com.dragoninfo.dcuc.common.utils.ResponseUtil;
|
|
|
+import com.dragonsoft.dcuc.approve.business.IApproveTaskBusiness;
|
|
|
+import com.dragonsoft.dcuc.approve.business.IBimBusiness;
|
|
|
+import com.dragonsoft.dcuc.approve.model.ApproveRecordInfo;
|
|
|
+import com.dragonsoft.dcuc.approve.model.ApproveTaskClass;
|
|
|
+import com.dragonsoft.dcuc.approve.model.resp.bim.ZeroTrustUserTokenInfoRespVO;
|
|
|
+import com.dragonsoft.dcuc.approve.model.resp.taskclass.ApiTaskClassRespVO;
|
|
|
+import com.dragonsoft.dcuc.approve.model.resp.taskclass.ApiTaskDetailRespVO;
|
|
|
+import com.dragonsoft.dcuc.approve.service.IApproveRecordService;
|
|
|
+import com.dragonsoft.dcuc.approve.service.IApproveTaskClassService;
|
|
|
+import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ *
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author huangzqa
|
|
|
+ * @date 2023/7/11
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Component
|
|
|
+public class ApproveTaskBusinessImpl implements IApproveTaskBusiness {
|
|
|
+
|
|
|
+ private IApproveTaskClassService approveTaskClassService;
|
|
|
+
|
|
|
+ private IApproveRecordService approveRecordService;
|
|
|
+
|
|
|
+ private IBimBusiness bimBusiness;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public void setBimBusiness(IBimBusiness bimBusiness) {
|
|
|
+ this.bimBusiness = bimBusiness;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public void setApproveRecordService(IApproveRecordService approveRecordService) {
|
|
|
+ this.approveRecordService = approveRecordService;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public void setApproveTaskClassService(IApproveTaskClassService approveTaskClassService) {
|
|
|
+ this.approveTaskClassService = approveTaskClassService;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<List<ApiTaskClassRespVO>> taskClassList() {
|
|
|
+ List<ApproveTaskClass> approveTaskClasses = approveTaskClassService.fillAll();
|
|
|
+
|
|
|
+ List<ApiTaskClassRespVO> respVOList = DcucBeanUtil.createCopyToObjectList(approveTaskClasses, ApiTaskClassRespVO.class);
|
|
|
+
|
|
|
+ return ResponseUtil.newInstance(respVOList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<ApiTaskDetailRespVO> taskDetail(String taskCode) {
|
|
|
+ ApproveRecordInfo approveRecordInfo = approveRecordService.selectByApproveNo(taskCode);
|
|
|
+ if (ObjectUtil.isNull(approveRecordInfo)) {
|
|
|
+ return ResponseUtil.dtoFail("当前任务标识不存在");
|
|
|
+ }
|
|
|
+ String processTitle = approveRecordInfo.getProcessTitle();
|
|
|
+ String approveTaskClassCode = approveRecordInfo.getApproveTaskClass();
|
|
|
+ ApproveTaskClass approveTaskClass = approveTaskClassService.detailByCode(approveTaskClassCode);
|
|
|
+ if (ObjectUtil.isNull(approveTaskClass)) {
|
|
|
+ log.error("无法查找到对应的任务类型:{}", approveTaskClassCode);
|
|
|
+ return ResponseUtil.dtoFail("无法查找到对应的任务类型");
|
|
|
+ }
|
|
|
+
|
|
|
+ String taskClassName = approveTaskClass.getTaskClassName();
|
|
|
+ ApiTaskDetailRespVO apiTaskDetailRespVO = new ApiTaskDetailRespVO();
|
|
|
+ apiTaskDetailRespVO.setTaskCode(taskCode);
|
|
|
+ apiTaskDetailRespVO.setTaskName(processTitle);
|
|
|
+ apiTaskDetailRespVO.setTaskClassCode(approveTaskClassCode);
|
|
|
+ apiTaskDetailRespVO.setTaskClassName(taskClassName);
|
|
|
+
|
|
|
+ return ResponseUtil.newInstance(apiTaskDetailRespVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<List<ApiTaskDetailRespVO>> getUserAppTaskList(String userToken, String appCode) {
|
|
|
+ ZeroTrustUserTokenInfoRespVO userTokenInfo = bimBusiness.getUserTokenInfo(userToken);
|
|
|
+ if (ObjectUtil.isNull(userTokenInfo)) {
|
|
|
+ return ResponseUtil.dtoFail("用户令牌失效");
|
|
|
+ }
|
|
|
+
|
|
|
+ String pid = userTokenInfo.getPid();
|
|
|
+ List<ApproveRecordInfo> recordInfoList = approveRecordService.getRecordByIdcardAppCode(pid, appCode);
|
|
|
+
|
|
|
+ List<ApiTaskDetailRespVO> respVOList = DcucBeanUtil.createCopyToObjectList(recordInfoList, ApiTaskDetailRespVO.class, ((sourceObject, targetObject) -> {
|
|
|
+ String approveNo = sourceObject.getApproveNo();
|
|
|
+ String processTitle = sourceObject.getProcessTitle();
|
|
|
+ String approveTaskClassCode = sourceObject.getApproveTaskClass();
|
|
|
+
|
|
|
+ String taskClassName = "";
|
|
|
+ ApproveTaskClass approveTaskClass = approveTaskClassService.detailByCode(approveTaskClassCode);
|
|
|
+ if (ObjectUtil.isNull(approveTaskClass)) {
|
|
|
+ taskClassName = approveTaskClass.getTaskClassName();
|
|
|
+ }
|
|
|
+ targetObject.setTaskCode(approveNo);
|
|
|
+ targetObject.setTaskName(processTitle);
|
|
|
+ targetObject.setTaskClassCode(approveTaskClassCode);
|
|
|
+ targetObject.setTaskClassName(taskClassName);
|
|
|
+ return targetObject;
|
|
|
+ }));
|
|
|
+
|
|
|
+ return ResponseUtil.newInstance(respVOList);
|
|
|
+ }
|
|
|
+}
|