yuxc
2024-06-21 cc6354cee46ff8facbd16c8919f2616c9031acdb
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebProcessDefineServiceImpl.java
@@ -1,7 +1,6 @@
package com.vci.web.service.impl;
import com.vci.client.bof.ClientLinkObject;
import com.vci.client.workflow.editor.FlowConstants;
import com.vci.corba.omd.data.LinkObject;
import com.vci.file.pagemodel.VciFileObjectVO;
import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI;
import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
@@ -23,6 +22,7 @@
import com.vci.web.pageModel.*;
import com.vci.web.properties.WebProperties;
import com.vci.web.service.*;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
import org.dom4j.Document;
@@ -60,6 +60,9 @@
   
   @Autowired
   private WebProcessCommandServiceI proCmdService;
   @Autowired
   private PlatformClientUtil platformClientUtil;
   /**
    * 业务数据服务
@@ -440,14 +443,14 @@
      map.put("detailUrl",detailUrl== null?"":detailUrl);
      map.put("UIContentCode",UIContent);
      //增加查询关联的业务数据
      List<ClientLinkObject> linkObjects = processDao.getDataCloInTask("",executionid);
      List<LinkObject> linkObjects = processDao.getDataCloInTask("",executionid);
      StringBuilder sb = new StringBuilder();
      String thisBusinessOid = "";
      if(linkObjects!=null && linkObjects.size()>0){
         Set<String> oidSet = new HashSet<String>();
         //去除重复
         for(ClientLinkObject clo : linkObjects){
            oidSet.add(clo.getToOid());
         for(LinkObject clo : linkObjects){
            oidSet.add(clo.toOid);
         }
         for(String oidString : oidSet) {
            sb.append(oidString).append(",");
@@ -480,11 +483,12 @@
               }
               for (Iterator<?> a = root.elementIterator(); a.hasNext();) {
                  Element next = (Element) a.next();
                  String cellName = next.attributeValue(FlowConstants.XMLNAME);
                  if(cellName != null && cellName.equals(name)) {
                     map.put("customerbuttoninfo",next.attributeValue(FlowConstants.URL_PATH));
                     break;
                  }
                  //todo FlowConstants此占无法引用,后续会进行调整,再进行引用
//                  String cellName = next.attributeValue(FlowConstants.XMLNAME);
//                  if(cellName != null && cellName.equals(name)) {
//                     map.put("customerbuttoninfo",next.attributeValue(FlowConstants.URL_PATH));
//                     break;
//                  }
               }
            }catch (Exception e) {
               throw new VciBaseException("读取流程的xml内容出现了错误");
@@ -644,19 +648,19 @@
    */
   @Override
   public DataGrid getFilesInProcess(Map<String, String> conditionMap, String taskOid, String executionId,PageHelper pageHelper) throws VciBaseException{
      List<ClientLinkObject> cloByTask = processDao.getDataCloInTask(taskOid,executionId);
      List<LinkObject> cloByTask = processDao.getDataCloInTask(taskOid,executionId);
      if(cloByTask == null || cloByTask.size() == 0){
         throw new VciBaseException("没有关联的业务数据");
      }
      Map<String,List<String>> busOid_btmMap = new HashMap<String, List<String>>();
      Set<String> fileOidSet = new HashSet();
      for(ClientLinkObject clo:cloByTask){
         if(FileTypeConstants.FILE_DATA_TABLE.equals(clo.getToBTMName())){
            fileOidSet.add(clo.getToOid());
      for(LinkObject clo:cloByTask){
         if(FileTypeConstants.FILE_DATA_TABLE.equals(clo.toBTName)){
            fileOidSet.add(clo.toOid);
         }else {
            List<String> thisBtmOids = busOid_btmMap.getOrDefault(clo.getToBTMName(),new ArrayList<>());
            thisBtmOids.add(clo.getToOid());
            busOid_btmMap.put(clo.getToBTMName(), thisBtmOids);
            List<String> thisBtmOids = busOid_btmMap.getOrDefault(clo.toBTName,new ArrayList<>());
            thisBtmOids.add(clo.toOid);
            busOid_btmMap.put(clo.toBTName, thisBtmOids);
         }
      }
      DataGrid dg = new DataGrid();