cy
2022-06-22 425675051e544cf29b2132615cfbf7a93dc5e51f
src/cn/ksource/web/facade/change/ChangeFacadeImpl.java
@@ -4,20 +4,14 @@
import cn.ksource.core.dao.BaseDao;
import cn.ksource.core.dao.SqlParameter;
import cn.ksource.core.page.PageInfo;
import cn.ksource.core.util.ConvertUtil;
import cn.ksource.core.util.DateUtil;
import cn.ksource.core.util.JsonUtil;
import cn.ksource.core.util.NumberUtil;
import cn.ksource.core.util.StringUtil;
import cn.ksource.core.util.*;
import cn.ksource.core.web.SysInfoMsg;
import cn.ksource.core.web.WebUtil;
import cn.ksource.core.workflow.*;
import cn.ksource.web.Constants;
import cn.ksource.web.controller.wechat.util.WechatConstants;
import cn.ksource.web.entity.WorkFlowSupportEntity;
import cn.ksource.web.facade.dsl.DSLFacade;
import cn.ksource.web.facade.incident.IncidentFacade;
import cn.ksource.web.facade.message.MessageFacade;
import cn.ksource.web.service.WorkOrderCodeService;
import cn.ksource.web.service.device.DeviceService;
import cn.ksource.web.service.file.FileService;
@@ -283,24 +277,24 @@
            if (flowstate.equals("1")) {
                builder.append(" SELECT DISTINCT D.* FROM ( ");
                //查询处理人是我的
                builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl ");
                builder.append(" SELECT B.BUSINESS_ID, B.BUSINESSTYPE, B.CREATERID, B.CREATERNAME, B.CREATETIME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_NODE_ID, B.CURRENT_NODE_NAME, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.DEAL_TYPE, B.ENDTIME, B.ID, B.MAINFLOWID, B.ORDER_CODE, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_ID, B.SUB_CUSTOMER_NAME, B.WF_TEMPLATE_ID, B.WFNAME, B.WFSTATE, B.WORKFLOWTYPE,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl ");
                builder.append(")D");
                paramMap.put("jddcl", Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE);
            } else if (flowstate.equals("2")) {
                builder.append(" SELECT DISTINCT D.* FROM ( ");
                builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID  AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz");
                builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID  AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz");
                builder.append(")D");
                paramMap.put("jdjxz", Constants.WORKFLOW_NODE_FLOWSTATE_DOING);
            } else {
                builder.append(" SELECT DISTINCT D.* FROM ( ");
                builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID  FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C  WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID  AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc ");
                builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID  FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C  WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID  AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc ");
                builder.append(")D");
                paramMap.put("jdywc", Constants.WORKFLOW_NODE_FLOWSTATE_FINISH);
            }
        } else {
            builder.append(" SELECT DISTINCT D.* FROM ( ");
            //查询处理人是我的
            builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId ");
            builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId ");
            builder.append(")D");
        }
        builder.append(" WHERE 1=1 ");
@@ -894,7 +888,7 @@
    @Override
    public List<Map> getCcbResult(String flowId) {
        String sqla = "SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY ORDER BY NUM ";
        String sqla = "SELECT SAMEKEY,NUM FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY,NUM ORDER BY NUM ";
        List<Map> fzList = baseDao.queryForList(sqla, new SqlParameter("flow_id", flowId));
        for (Map mapa : fzList) {
            String sqlb = "SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE SAMEKEY=:sameKey ORDER BY IS_END ,IS_MAIN";
@@ -920,7 +914,7 @@
    public List<Map> getCcbTjResult(String flowId) {
        Map param = new HashMap();
        param.put("flow_id", flowId);
        String sqla="SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY ORDER BY NUM";
        String sqla="SELECT SAMEKEY,NUM FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY,NUM ORDER BY NUM";
        List<Map> ccbList = baseDao.queryForList(sqla,param);
        for(Map mapa:ccbList){
            param.put("sameKey", mapa.get("SAMEKEY"));
@@ -1772,7 +1766,7 @@
        recordService.addRecord(record);
        return resultMap;
    }
    @Override
   public int getDslLinkCiCount(HttpServletRequest request) {
      String dslId = request.getParameter("id");
@@ -1788,7 +1782,7 @@
      }else{
         sql = "SELECT COUNT(A.ID)  FROM CMDB_DSL_LINK A WHERE  A.DSL_ID = :dslId AND A.FLOW_ID = :flowId AND A.STATE <> 3 ";
      }
      Map param = new HashMap();
      param.put("dslId", dslId);
      param.put("flowId", flowId);
@@ -1811,20 +1805,20 @@
      }else{
         sql = "SELECT A.*,B.CINAME,B.SEARCHCODE SEACHCODE,B.STATE USINGSTATE,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE B.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE B.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE B.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_DSL_LINK A,CMDB_CI_BASE B WHERE A.CI_ID = B.ID AND A.DSL_ID = :dslId AND A.FLOW_ID = :flowId  ";
      }
      Map param = new HashMap();
      param.put("dslId", dslId);
      param.put("flowId", flowId);
      PageInfo info = baseDao.queryforSplitPageInfo(request, sql, param);
      return info;
   }
   @Override
   public int queryDslVersionCount(HttpServletRequest request) {
        StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A  WHERE A.DSL_ID = :dslId  ");
      String dslId = request.getParameter("dslId");
      Map paramMap = new HashMap();
      paramMap.put("dslId", dslId);
      int count = baseDao.queryForInteger(builder.toString(), paramMap);
@@ -1834,14 +1828,14 @@
   @Override
   public PageInfo queryDslVersionData(HttpServletRequest request) {
        StringBuilder builder = new StringBuilder("SELECT A.*,B.WFNAME FROM DSL_VERSION A LEFT JOIN WORKFLOW_BASE B ON A.CREATE_FLOW_ID = B.ID  WHERE A.DSL_ID = :dslId  ORDER BY A.CREATE_TIME DESC  ");
      String dslId = request.getParameter("dslId");
      Map paramMap = new HashMap();
      paramMap.put("dslId", dslId);
      PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap);
      return pageInfo;
      return pageInfo;
   }
   @Override
@@ -1857,17 +1851,17 @@
         builder.append(" AND SECOND_CONFIG_CATE = :folderId ");
         paramMap.put("folderId", id);
      }
      int count = baseDao.queryForInteger(builder.toString(), paramMap);
      return count;
   }
   @Override
   public PageInfo queryDslConfigRecordData(HttpServletRequest request,
         String versionId) {
      String flowId = request.getParameter("flowId");
      String id = request.getParameter("id");
      StringBuilder builder = new StringBuilder("SELECT B.*,A.FILE_NAME,A.FILE_SIZE,A.USER_NAME,A.CREATE_TIME FROM DSL_CONFIG_FILE A,DSL_CONFIG_FILE_CHANGE_DETAIL B WHERE B.FILE_ID = A.ID AND B.DSL_VERSION_ID = :versionId  AND B.FLOW_ID = :flowId ");
@@ -1878,11 +1872,11 @@
         builder.append(" AND SECOND_CONFIG_CATE = :folderId ");
         paramMap.put("folderId", id);
      }
      builder.append(" ORDER BY A.CREATE_TIME DESC ");
      PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap);
      List<Map> files = pageInfo.getDatas();
      if(null!=files && files.size()>0) {
         for(Map file : files) {
@@ -1891,13 +1885,13 @@
      }
      return pageInfo;
   }
   @Override
   public List<Map> getDslciData(HttpServletRequest request) {
      String flowId = request.getParameter("flowId");
      String dslId = request.getParameter("dslId");
      String projectId = request.getParameter("proId");
      /*if(!StringUtil.notEmpty(projectId)) {
         WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById();
         projectId = base.getProject_id();
@@ -1906,12 +1900,12 @@
      param.put("project_id", projectId);
      param.put("flow_id", flowId);
      param.put("dsl_id", dslId);
      StringBuffer sql1 = new StringBuffer("select * from (SELECT 1 AS UPDTYPE, A.*,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE A.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE A.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE A.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_CI_BASE A WHERE A.STATE = 1 AND  A.ID NOT IN  (SELECT B.CI_ID FROM CMDB_DSL_LINK B WHERE  B.DSL_ID = :dsl_id  )");//A.LEIX = 1 AND
      StringBuffer sql2 = new StringBuffer("SELECT 2 AS UPDTYPE,A.*,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE A.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE A.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE A.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_CI_BASE A WHERE A.STATE = 1 AND  A.ID IN (SELECT B.CI_ID FROM CMDB_DSL_LINK B WHERE  B.FLOW_ID IS NULL AND B.DSL_ID = :dsl_id  )");
      sql1.append(" UNION ALL ");
      sql1.append(sql2);
      sql1.append(" ) s where 1 = 1");
      String searchCode = request.getParameter("searchCode");
@@ -1919,13 +1913,13 @@
         sql1.append(" AND SEARCHCODE LIKE :searchCode ");
         param.put("searchCode", "%"+searchCode+"%");
      }
      String ciName = request.getParameter("cmdbName");
      if(StringUtil.notEmpty(ciName)) {
         sql1.append(" AND CINAME LIKE :cmdbName ");
         param.put("cmdbName", "%"+ciName+"%");
      }
      String cate = request.getParameter("categoryId");
      if(StringUtil.notEmpty(cate)) {
         sql1.append(" AND LV3_ID = :cate ");
@@ -1961,15 +1955,15 @@
      long create_time = DateUtil.getCurrentDate14();
      List<SqlParameter> listParams = new ArrayList<SqlParameter>();
      List<SqlParameter> updParams = new ArrayList<SqlParameter>();
      String[] linkIds = ids.split(",");
      String userId = "";
      Map user = WebUtil.getLoginUser(request).getLoginUser();
      String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM"));
      List<SqlParameter> listParamsRecord = new ArrayList<SqlParameter>();
      for(String linkId : linkIds) {
         SqlParameter sqlParameter = new SqlParameter();
         String citype[] = linkId.split("-");
@@ -1988,28 +1982,28 @@
         }else{
            updParams.add(sqlParameter);
         }
      }
      baseDao.executeBatch(insertSql,listParams);
      baseDao.executeBatch(updSql,updParams);
      return "1";
   }
   @Override
   public List changeFileReport(HttpServletRequest request) {
      String partnerId = "";
      String flowId = request.getParameter("flowId");
      Map paramMap = new HashMap();
      paramMap.put("flowId", flowId);
      String selectSql = "SELECT A.*,B.FILE_NAME,B.FILE_SIZE,B.USER_NAME AS UPLOAD_USER FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_CONFIG_FILE B WHERE A.FILE_ID = B.ID AND A.FLOW_ID = :flowId ";
      List<Map> records = baseDao.queryForList(selectSql,paramMap);
      Map cacheRecord = new HashMap();
      if(null!=records && records.size()>0) {
         for(Map record : records) {
            String versionId = ConvertUtil.obj2StrBlank(record.get("DSL_VERSION_ID"));
            String first_config_cate = ConvertUtil.obj2StrBlank(record.get("first_config_cate"));
@@ -2026,11 +2020,11 @@
            }
         }
      }
      StringBuilder selectCateSql = new StringBuilder("SELECT B.ID AS VERSION_ID,A.FIRST_CONFIG_CATE,(SELECT A1.NAME FROM DSL_CONFIG A1 WHERE A.FIRST_CONFIG_CATE = A1.ID) AS FIRST_NAME,A.SECOND_CONFIG_CATE,(SELECT A2.NAME FROM DSL_CONFIG A2 WHERE A.SECOND_CONFIG_CATE = A2.ID) AS SECOND_NAME FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_VERSION B,PROJECT_DSL C WHERE A.DSL_VERSION_ID = B.ID AND B.DSL_ID = C.ID AND A.FLOW_ID = :flowId  GROUP BY B.ID,A.FIRST_CONFIG_CATE,A.SECOND_CONFIG_CATE");
      List<Map> cates = baseDao.queryForList(selectCateSql.toString(),paramMap);
      if(cates.size()==0){
@@ -2041,72 +2035,72 @@
         selectCateSql = new StringBuilder("SELECT C.* FROM PROJECT_DSL C WHERE C.FLOW_ID = :flowId ");
         cates = baseDao.queryForList(selectCateSql.toString(),paramMap);
      }
      Map cacheFirst = new HashMap();
      Map version = new HashMap();
      if(null!=cates && cates.size()>0) {
         for(Map cate : cates) {
            String versionId = ConvertUtil.obj2StrBlank(cate.get("VERSION_ID"));
            String first_config_cate = ConvertUtil.obj2StrBlank(cate.get("FIRST_CONFIG_CATE"));
            String unitKey = versionId+"-"+first_config_cate;
            String first_name = ConvertUtil.obj2StrBlank(cate.get("FIRST_NAME"));
            String second_config_cate = ConvertUtil.obj2StrBlank(cate.get("SECOND_CONFIG_CATE"));
            String second_name = ConvertUtil.obj2StrBlank(cate.get("SECOND_NAME"));
            List result = new ArrayList();
            if(version.containsKey(versionId)) {
               result = (List)version.get(versionId);
            } else {
               version.put(versionId, result);
            }
            if(cacheFirst.containsKey(unitKey)) {
               List secondCates = (List)cacheFirst.get(unitKey);
               Map secondMap = new HashMap();
               secondMap.put("second_config_cate", second_config_cate);
               secondMap.put("second_name", second_name);
               String key = unitKey+"-"+second_config_cate;
               secondMap.put("files", cacheRecord.get(key));
               secondCates.add(secondMap);
            } else {
               Map firstMap = new HashMap();
               firstMap.put("key", unitKey);
               firstMap.put("first_name", first_name);
               List secondCates = new ArrayList();
               Map secondMap = new HashMap();
               secondMap.put("second_config_cate", second_config_cate);
               secondMap.put("second_name", second_name);
               String key = unitKey+"-"+second_config_cate;
               secondMap.put("files", cacheRecord.get(key));
               secondCates.add(secondMap);
               firstMap.put("seconds", secondCates);
               cacheFirst.put(unitKey,secondCates);
               result.add(firstMap);
            }
         }
      }
      String selectVersionSql = new String("SELECT C.DSL_SEARCHCODE,C.ID AS DSL_ID,C.DSL_NAME,B.ID AS VERSION_ID,B.EDITION,(SELECT B1.EDITION FROM DSL_VERSION B1 WHERE B.LAST_VERSION = B1.ID) AS LAST_VERSION FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_VERSION B,PROJECT_DSL C  WHERE A.DSL_VERSION_ID = B.ID AND B.DSL_ID = C.ID AND A.FLOW_ID = :flowId  GROUP BY C.ID,B.ID");
      List<Map> versions = baseDao.queryForList(selectVersionSql,paramMap);
      if(versions.size()==0){
         selectVersionSql = new String("SELECT C.DSL_SEARCHCODE,C.ID AS DSL_ID,C.DSL_NAME,B.ID AS VERSION_ID,B.EDITION,(SELECT B1.EDITION FROM DSL_VERSION B1 WHERE B.LAST_VERSION = B1.ID) AS LAST_VERSION FROM DSL_VERSION B,PROJECT_DSL C WHERE B.DSL_ID = C.ID AND B.CREATE_FLOW_ID = :flowId  GROUP BY B.ID");
         versions = baseDao.queryForList(selectVersionSql.toString(),paramMap);
@@ -2115,11 +2109,11 @@
         selectVersionSql = new String("SELECT C.*,C.ID AS DSL_ID FROM PROJECT_DSL C WHERE C.FLOW_ID = :flowId ");
         versions = baseDao.queryForList(selectVersionSql.toString(),paramMap);
      }
      List<Map> resultList = new ArrayList<Map>();
      Map cacheDsl = new HashMap();
      if(null!=versions && versions.size()>0) {
         for(Map ver : versions) {
            String dsl_searchcode = ConvertUtil.obj2StrBlank(ver.get("DSL_SEARCHCODE"));
@@ -2132,7 +2126,7 @@
            Map v = new HashMap();
            v.put("version_id", version_id);
            v.put("edition", edition);
            List<Map> cs = (List<Map>)version.get(version_id);
            System.out.println("vs------->"+JsonUtil.list2Json(cs));
            int totalNum = 0;
@@ -2156,7 +2150,7 @@
                        num = num+1;
                        ej.put("sjNum", 1);
                     }
                  }
               } else {
                  num = num+1;
@@ -2164,7 +2158,7 @@
               totalNum += num;
               yj.put("num", num);
            }
            v.put("cates", cs);
            if(cacheDsl.containsKey(dslId)) {
               List vs = (List)cacheDsl.get(dslId);
@@ -2183,13 +2177,13 @@
            }
         }
      }
      System.out.println(JsonUtil.list2Json(resultList));
      return resultList;
   }
@@ -2198,7 +2192,7 @@
   public void updatefinishnode(HttpServletRequest request) {
      String userId = WebUtil.getLoginedUserId(request);
      String userName = ConvertUtil.obj2StrBlank(WebUtil.getLoginUser(request).getLoginUser().get("ZSXM"));
      String flowId = request.getParameter("flowId");
      String curnodeId = request.getParameter("curnodeId");
       String nodeId = request.getParameter("nodeId");
@@ -2238,7 +2232,7 @@
          .setIs_end(2).setIs_main(2).setCreate_id(userId).setCreate_name(userName).
          setSamekey(sameKey).setNum(num).insert();
       }
      NodeFinishEntity finishEntity = new NodeFinishEntity();
      finishEntity.setDeal_result(1);
      finishEntity.setDeal_note_title(userName+"完成了节点");
@@ -2246,7 +2240,7 @@
      WORKFLOW_BASE base = new WORKFLOW_BASE(node.getFlowid()).getInstanceById();
      //关闭当前节点
      workflowCoreService.finishNode(base, node, finishEntity);
   }
   @Override
   public void updateResolveType(HttpServletRequest request) {
@@ -2258,7 +2252,7 @@
      //修改变更信息的解决方式
      SC_WORKFLOW_CHANGE question = new SC_WORKFLOW_CHANGE(orderId).getInstanceById();
      question.setId(orderId).setResolve_type_id(solveWay).setResolve_type_name(solveWayName).setState(ConvertUtil.obj2Integer(Constants.SC_WORKFLOW_CHANGE_STATE_YGB)).update();
      //添加处理记录
      Map user = WebUtil.getLoginUser(request).getLoginUser();
      String createUserId = ConvertUtil.obj2StrBlank(user.get("ID"));
@@ -2276,11 +2270,11 @@
      record.setDeal_user_name(createUserName);
      record.setBusiness_id(flowId);
      record.setNode_id(curnodeid).setNode_name(nodeName);
      recordService.addRecord(record);
      fileService.uploadFile(request, id, flowId, null, null);
      //fileService.newuploadFileAll(request,id,flowId,Constants.GG_FOLDERS_BGFOLDERS,Constants.FILE_STATE_SHTG,"",question.getCustomer_id(),question.getProject_id(),question.getProject_name(),question.getCustomer_name());
      //配置关系保存到记录表-关闭工单
      saveRelationWhenClose(flowId);
      //删除变更中的配置关系-关闭工单
@@ -2289,12 +2283,12 @@
      dslFacade.saveConfigDslDealRecord(flowId);
      //恢复关联DSL-关闭工单
      dslFacade.updateConfigDslWhenClose(flowId);
      //恢复DSL资料
      delDslMsg(flowId);
        WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById();
      NodeFinishEntity finishEntity = new NodeFinishEntity();
      finishEntity.setDeal_result(1);
      finishEntity.setDeal_note_title(createUserName+"结束节点");
@@ -2309,7 +2303,7 @@
      }
      //关闭工单
      workflowCoreService.closeWorkFlow(base);
   }
   @Override
   public void delDslMsg(String flowId) {
@@ -2317,16 +2311,16 @@
      param.addValue("flowId", flowId);
      //删除新增DSL版本的配置文件记录
      String sqlfilerecord = "DELETE FROM DSL_CONFIG_FILE_CHANGE_DETAIL WHERE  FLOW_ID = :flowId   ";
      //删除新增DSL版本的配置文件
      String sql = "DELETE FROM DSL_CONFIG_FILE WHERE VERSION_ID IN ( SELECT ID FROM DSL_VERSION WHERE CREATE_FLOW_ID = :flowId  AND STATE = 3 ) ";
      //删除新增版本
      String sqlversion = "DELETE FROM DSL_VERSION WHERE  CREATE_FLOW_ID = :flowId  AND STATE = 3  ";
      //删除新增DSL
      String sqldsl = "DELETE FROM PROJECT_DSL WHERE  FLOW_ID = :flowId  AND STATE = 3  ";
      baseDao.execute(sqlfilerecord, param);
      baseDao.execute(sql, param);
      baseDao.execute(sqlversion, param);