ludc
2024-12-04 e405b861b9521f5ea38c5402203a5b05988f9de2
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java
ÎļþÃû´Ó Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java ÐÞ¸Ä
@@ -1,6 +1,7 @@
package com.vci.web.dao.impl;
import com.vci.common.utility.ObjectUtility;
import com.vci.constant.WFVariablesKeyConstant;
import com.vci.corba.common.PLException;
import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.omd.data.BusinessObject;
@@ -8,25 +9,24 @@
import com.vci.corba.workflow.WorkflowServicePrx;
import com.vci.corba.workflow.data.*;
import com.vci.dto.ProcessTemplateVO;
import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
import com.vci.pagemodel.*;
import com.vci.model.ProcessInstance;
import com.vci.model.ProcessTask;
import com.vci.model.WFProcessClassifyDO;
import com.vci.model.WFProcessTemplateDO;
import com.vci.omd.utils.ObjectTool;
import com.vci.pagemodel.*;
import com.vci.starter.web.constant.QueryOptionConstant;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.util.BeanUtil;
import com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.util.VciDateUtil;
import com.vci.constant.WFVariablesKeyConstant;
import com.vci.web.dao.WebProcessDaoI;
import com.vci.model.ProcessInstance;
import com.vci.model.ProcessTask;
import com.vci.model.WFProcessClassifyDO;
import com.vci.model.WFProcessTemplateDO;
import com.vci.web.service.OsLifeCycleServiceI;
import com.vci.web.service.SmUserQueryServiceI;
import com.vci.web.service.WebBoServiceI;
import com.vci.web.service.WebLifeCycleServiceI;
import com.vci.web.service.WebLoServiceI;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
@@ -38,6 +38,7 @@
import org.springframework.stereotype.Repository;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@@ -50,21 +51,6 @@
 */
@Repository
public class WebProcessDaoImpl implements WebProcessDaoI {
   @Autowired
   private WebBoServiceI boService;
   @Autowired
   private WebLoServiceI loService;
   @Autowired
   private OsLifeCycleServiceI lifeCycleService;
   /**
    * ç”¨æˆ·æŸ¥è¯¢æœåŠ¡
    */
   @Autowired
   private SmUserQueryServiceI userQueryService;
   /**
    * æ—¥å¿—
@@ -72,13 +58,24 @@
   private Logger logger = LoggerFactory.getLogger(getClass());
   /**
    * æž„造方法,初始化平台的流程服务
    */
   /**
    * å¤šè¯­è¨€çš„前缀
    */
   private final String msgCodePrefix = "com.vci.web.flow.";
   @Resource
   private WebBoServiceI boService;
   @Resource
   private WebLoServiceI loService;
   @Resource
   private WebLifeCycleServiceI lifeCycleService;
   /**
    * ç”¨æˆ·æŸ¥è¯¢æœåŠ¡
    */
   @Autowired
   private SmUserQueryServiceI userQueryService;
   /**
    * å¹³å°çš„æµç¨‹æœåŠ¡
@@ -502,7 +499,7 @@
         conditionMap.put("lcstatus", "Executing");
         btmType = workitemBtmType;
      }else{
         throw new VciBaseException("msgCodePrefix",new String[]{doTaskType+""});
         throw new VciBaseException(msgCodePrefix+"doTaskTypeError",new String[]{doTaskType+""});
      }
      List<String> causeList = new ArrayList<String>();
      causeList.add("*");
@@ -577,7 +574,7 @@
      List<ProcessTaskVO> taskVOList = new ArrayList<>();
      Optional.ofNullable(tasks).orElseGet(()->new ArrayList<>()).stream().forEach(task->{
         ProcessTaskVO taskVO = new ProcessTaskVO();
         BeanUtil.convert(task,taskVO);
         BeanUtilForVCI.convert(task,taskVO);
         taskVOList.add(taskVO);
      });
      return taskVOList;
@@ -591,7 +588,7 @@
      if(process == null || StringUtils.isBlank(process.getOid())){
         throw new VciBaseException(DATA_OID_NOT_EXIST);
      }
      BeanUtil.convert(process,processInstanceVO);
      BeanUtilForVCI.convert(process,processInstanceVO);
      return processInstanceVO;
   }
@@ -952,7 +949,7 @@
    * @throws VciBaseException
    */
   @Override
   public void endProcess(String executionId) throws VciBaseException {
   public void endProcess(String executionId) {
      try {
         DataGrid dataGrid  = getDataByProcess(executionId,null);
         //先获取一下
@@ -970,10 +967,12 @@
         }
      } catch (PLException vciError) {
         throw WebUtil.getVciBaseException(vciError);
      }
   }
      } catch (Exception e) {
            throw new VciBaseException("结束流程失败!", new Object[]{}, e);
        }
    }
   private void  resetLcStatusForBusinessData(List<Map> bussinesDataList,String resetStatus) throws VciBaseException{
   private void  resetLcStatusForBusinessData(List<Map> bussinesDataList,String resetStatus) throws Exception{
      if(bussinesDataList!=null && bussinesDataList.size() > 0){
         String btmType = "";
         String lctId = "";
@@ -1024,7 +1023,7 @@
      List<ProcessInstanceVO> instanceVOS = new ArrayList<>();
      Optional.ofNullable(processInstances).orElseGet(()->new ArrayList<>()).stream().forEach(instance->{
         ProcessInstanceVO instanceVO = new ProcessInstanceVO();
         BeanUtil.convert(instance,instanceVO);
         BeanUtilForVCI.convert(instance,instanceVO);
         instanceVOS.add(instanceVO);
      });
      return instanceVOS;
@@ -1087,7 +1086,7 @@
   public ProcessClassifyVO processClassifyDO2VO(WFProcessClassifyDO classifyDO){
      ProcessClassifyVO classifyVO = new ProcessClassifyVO();
      if(classifyVO!=null){
         BeanUtil.convert(classifyDO,classifyVO);
         BeanUtilForVCI.convert(classifyDO,classifyVO);
      }
      return classifyVO;
   }
@@ -1118,7 +1117,7 @@
   public ProcessTemplateVO processTemplateDO2VO(WFProcessTemplateDO templateDO){
      ProcessTemplateVO templateVO = new ProcessTemplateVO();
      if(templateVO!=null){
         BeanUtil.convert(templateDO,templateVO);
         BeanUtilForVCI.convert(templateDO,templateVO);
      }
      return templateVO;
   }