cy
2022-06-22 425675051e544cf29b2132615cfbf7a93dc5e51f
src/cn/ksource/web/facade/dsl/DSLFacadeImpl.java
@@ -1,17 +1,16 @@
package cn.ksource.web.facade.dsl;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import cn.ksource.beans.*;
import cn.ksource.core.dao.BaseDao;
import cn.ksource.core.dao.SqlParameter;
import cn.ksource.core.page.PageInfo;
import cn.ksource.core.util.*;
import cn.ksource.core.web.TreeNode;
import cn.ksource.core.web.WebUtil;
import cn.ksource.entity.FacedeResponse;
import cn.ksource.web.Constants;
import cn.ksource.web.service.cmdb.SequenceService;
import cn.ksource.web.service.file.FileService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -19,42 +18,28 @@
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import cn.ksource.beans.DSL_CATEGORY;
import cn.ksource.beans.DSL_CONFIG;
import cn.ksource.beans.DSL_CONFIG_FILE;
import cn.ksource.beans.DSL_VERSION;
import cn.ksource.beans.PROJECT_DSL;
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.EqualUtil;
import cn.ksource.core.util.JsonUtil;
import cn.ksource.core.util.StringUtil;
import cn.ksource.core.web.TreeNode;
import cn.ksource.core.web.WebUtil;
import cn.ksource.entity.FacedeResponse;
import cn.ksource.web.Constants;
import cn.ksource.web.service.cmdb.SequenceService;
import cn.ksource.web.service.file.FileService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.*;
@Service("dslFacade")
public class DSLFacadeImpl implements DSLFacade{
   @Resource
   private BaseDao baseDao;
   @Resource
   private FileService fileService;
   @Autowired
   private SequenceService sequenceService;
   /*@Autowired
   private SequenceService sequenceService;*/
   @Override
   public List<Map> getOrderDslList(String flowId) {
      SqlParameter param = new SqlParameter();
@@ -67,11 +52,11 @@
            "    SELECT UPDATE_TIME,ID,EDITION FROM  DSL_VERSION WHERE (STATE=1 OR STATE=3) " +
            " ) V ON L.DSL_VERSION_ID = V.ID  " +
            " WHERE (D.STATE=1 OR D.STATE=3) AND L.FLOW_ID=:flowId " +
            " ORDER BY V.UPDATE_TIME DESC  " +
            " ) T GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC ";
            " ORDER BY V.UPDATE_TIME DESC  " +
            " ) T GROUP BY DSL_ID,T.FLOW_ID, T.UPDATE_TIME, T.CATE_NAME,T.VER_ID,T.LINK_ID,T.DSL_SEARCHCODE,T.DSL_NAME,T.EDITION ORDER BY UPDATE_TIME DESC ";
      return baseDao.queryForList(sql,param);
   }
   @Override
   public void saveConfigDslDealRecord(String flowId) {
      String sql = "SELECT ID,DSL_VERSION_ID,CI_ID,DSL_ID,NEW_VERSION_ID,FLOW_ID,STATE,DEALER_ID,DEALER_NAME,UPDATE_TIME " +
@@ -89,10 +74,10 @@
         params.put("ID", id);
         paramList.add(params);
      }
      baseDao.executeBatch(sqlinsert, paramList);
   }
   @Override
   public void updateConfigDslWhenFinish(String flowId) {
      SqlParameter param = new SqlParameter();
@@ -106,10 +91,10 @@
      //更新dsl状态
      baseDao.execute(" UPDATE PROJECT_DSL SET STATE=1 WHERE FLOW_ID = :flowId ", param);
      baseDao.execute(" UPDATE DSL_VERSION SET STATE=1 WHERE CREATE_FLOW_ID = :flowId ", param);
   }
   @Override
   public void updateConfigDslWhenClose(String flowId) {
      SqlParameter param = new SqlParameter();
@@ -121,7 +106,7 @@
      //将要修改的数据恢复
      baseDao.execute(" UPDATE CMDB_DSL_LINK SET NEW_VERSION_ID=DSL_VERSION_ID,STATE=NULL,DEALER_ID=NULL,DEALER_NAME=NULL,UPDATE_TIME=NULL,FLOW_ID=NULL WHERE STATE=2 AND FLOW_ID = :flowId ", param);
   }
   @Override
   public void addDslByFlow(PROJECT_DSL proDsl,String flowId){
      String searchcode = sequenceService.getDslCategorySequence(proDsl.getDsl_third_category_id());
@@ -140,7 +125,7 @@
         baseDao.execute(sql, param);
      }
   }
   @Override
   public PageInfo getProDslContainAddData(HttpServletRequest request) {
      Map support = getProDslContainAddSupport(request);
@@ -149,7 +134,7 @@
      PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, sql, param);
      return pageInfo;
   }
   @Override
   public int getProDslContainAddCount(HttpServletRequest request) {
      Map support = getProDslContainAddSupport(request);
@@ -158,7 +143,7 @@
      int count = baseDao.queryForInteger(sql, param);
      return count;
   }
   private Map getProDslContainAddSupport(HttpServletRequest request) {
      Map support = new HashMap();
      SqlParameter param = new SqlParameter();
@@ -169,7 +154,7 @@
      builder.append("       FROM PROJECT_DSL D LEFT JOIN (SELECT * FROM DSL_VERSION WHERE STATE=1) V ON D.ID = V.DSL_ID  ");
      builder.append("       WHERE D.STATE=1   ");
      builder.append("    ) T1   ");
      String flowId = request.getParameter("flowId");
      if(StringUtil.notEmpty(flowId)) {
         builder.append("    UNION SELECT * FROM ( ");
@@ -182,15 +167,15 @@
         builder.append("      ) T1 ");
         param.put("flowId", flowId);
      }
      builder.append("    ORDER BY UPDATE_TIME DESC ");
      builder.append(" ) T WHERE 1=1 ");
      String proId = request.getParameter("proId");
      if(StringUtil.notEmpty(proId)) {
         param.put("proId", proId);
      }
      String dslName = request.getParameter("dslName");
      if(StringUtil.notEmpty(dslName)) {
         builder.append(" AND DSL_NAME LIKE :dslName ");
@@ -206,26 +191,26 @@
         builder.append(" AND DSL_SEARCHCODE like :dslSearchCode ");
         param.put("dslSearchCode", "%"+dslSearchCode+"%");
      }
      String dslIds = request.getParameter("dslIds");
      if(StringUtil.notEmpty(dslIds)) {
         dslIds = "'" + dslIds.replace(",", "','") + "'";
         builder.append(" AND DSL_ID NOT IN ("+dslIds+") ");
      }
      builder.append(" GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC ");
      support.put("sql", builder.toString());
      support.put("param", param);
      return support;
   }
   @Override
   public int queryDslCount(HttpServletRequest request) {
      StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM PROJECT_DSL A WHERE A.PARTNER_ID = :partnerId AND A.STATE != 3 ");
      //String partnerId = WebUtil.getLoginedPartnerId(request);
      Map paramMap = new HashMap();
      //paramMap.put("partnerId", partnerId);
      String projectId = request.getParameter("projectId");
@@ -233,39 +218,39 @@
         builder.append(" AND A.PROJECT_ID = :projectId ");
         paramMap.put("projectId", projectId);
      }
      String dslName = request.getParameter("dslName");
      if(StringUtil.notEmpty(dslName)) {
         builder.append(" AND A.DSL_NAME LIKE :dslName ");
         paramMap.put("dslName", "%"+dslName+"%");
      }
      String dslCate = request.getParameter("dslCate");
      if(StringUtil.notEmpty(dslCate)) {
         builder.append(" AND A.DSL_THIRD_CATEGORY_ID = :dslCate ");
         paramMap.put("dslCate", dslCate);
      }
      String dslSearchCode = request.getParameter("dslSearchCode");
      if(StringUtil.notEmpty(dslSearchCode)) {
         builder.append(" AND A.DSL_SEARCHCODE = :dslSearchCode ");
         paramMap.put("dslSearchCode", dslSearchCode);
      }
      int count = baseDao.queryForInteger(builder.toString(),paramMap);
      return count;
   }
   @Override
   public PageInfo queryDslData(HttpServletRequest request) {
      StringBuilder builder = new StringBuilder("SELECT A.*,C.EDITION FROM PROJECT_DSL A LEFT JOIN (SELECT E.DSL_ID,E.EDITION FROM DSL_VERSION E,(SELECT MAX(B.CREATE_TIME) AS TIME,B.DSL_ID FROM DSL_VERSION B WHERE B.STATE = 1 GROUP BY B.DSL_ID) F WHERE E.DSL_ID = F.DSL_ID AND E.CREATE_TIME = F.TIME) C ON A.ID = C.DSL_ID WHERE A.STATE != 3 ");
      //String partnerId = WebUtil.getLoginedPartnerId(request);
      Map paramMap = new HashMap();
      //paramMap.put("partnerId", partnerId);
      String projectId = request.getParameter("projectId");
@@ -273,32 +258,32 @@
         builder.append(" AND A.PROJECT_ID = :projectId ");
         paramMap.put("projectId", projectId);
      }
      String dslName = request.getParameter("dslName");
      if(StringUtil.notEmpty(dslName)) {
         builder.append(" AND A.DSL_NAME LIKE :dslName ");
         paramMap.put("dslName", "%"+dslName+"%");
      }
      String dslCate = request.getParameter("dslCate");
      if(StringUtil.notEmpty(dslCate)) {
         builder.append(" AND A.DSL_THIRD_CATEGORY_ID = :dslCate ");
         paramMap.put("dslCate", dslCate);
      }
      String dslSearchCode = request.getParameter("dslSearchCode");
      if(StringUtil.notEmpty(dslSearchCode)) {
         builder.append(" AND A.DSL_SEARCHCODE like :dslSearchCode ");
         paramMap.put("dslSearchCode", "%"+dslSearchCode+"%");
      }
      builder.append(" ORDER BY A.STATE ASC, A.ORDER_NUM ASC,ADD_TIME DESC ");
      PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap);
      return pageInfo;
   }
   @Override
   public List<Map> getDslCateTree(String pid, String partnerId) {
      String sql = " SELECT ID as id,P_ID AS pid,CATEGORY_NAME AS name,LEVEL AS jb FROM DSL_CATEGORY WHERE STATE=1 AND PARTNER_ID=:partnerId";
@@ -322,28 +307,28 @@
   public Map queryDslLevelTree(String partnerId, String cates) {
      String selectSql = "SELECT A.* FROM DSL_CATEGORY A WHERE A.STATE = 1 ORDER BY A.LEVEL,A.ORDER_NUM ";
      List<Map> categoryList = baseDao.queryForList(selectSql,new SqlParameter("partnerId",partnerId));
      Map slMap = new HashMap();
      Map slMap = new HashMap();
      if(StringUtil.notEmpty(cates)) {
         String[] catess = cates.split(",");
         for(String s : catess) {
            slMap.put(s, s);
         }
      }
      Map result = new HashMap();
      List<Map> resultList = new LinkedList<Map>();
      Map<String, Map> yjgnCache = new HashMap<String, Map>();
      Map<String, Map> ejgnCache = new HashMap<String, Map>();
      Map<String, Map> sjgnCache = new HashMap<String, Map>();
      for (Map map : categoryList) {
         String level = ConvertUtil.obj2StrBlank(map.get("LEVEL"));
         String id = ConvertUtil.obj2StrBlank(map.get("ID"));
         //一级树
         if (level.equalsIgnoreCase("1")) {
            yjgnCache.put(id, map);
@@ -358,21 +343,21 @@
            List<Map> list = (List<Map>)yjgnMap.get("ejTree");
            map.put("sjTree", new LinkedList<Map>());
            list.add(map);
            ejgnCache.put(id, map);
            continue;
         }
         //三级树
         if (level.equalsIgnoreCase("3")) {
            if(null!=map.get("P_ID")){
               if(slMap.containsKey(id)) {
                  slMap.put(id, map.get("CATEGORY_NAME"));
                  map.put("check", 1);
               } else {
                  map.put("check", 2);
               }
               Map ejgnMap = ejgnCache.get(map.get("P_ID").toString());
               List<Map> list = (List<Map>)ejgnMap.get("sjTree");
               list.add(map);
@@ -384,7 +369,7 @@
      resultMap.put("slMap", slMap);
      return resultMap;
   }
   @Override
   public void addOrderLinkDsl(String flowId, String dslIds, String verIds) {
      List<SqlParameter> params = new ArrayList<SqlParameter>();
@@ -400,19 +385,19 @@
            }else{
               param.addValue("verId", verArr[i]);
            }
         params.add(param);
         params.add(param);
      }
      String sql = "insert into DSL_ORDER_LINK (ID,FLOW_ID,DSL_VERSION_ID,DSL_ID) values (:id,:flowId,:verId,:dslId) ";
      baseDao.executeBatch(sql, params);
   }
   @Override
   public int queryDslChangeVersionCount(HttpServletRequest request) {
       StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A  WHERE A.DSL_ID = :dslId AND (A.STATE = 1 OR (A.STATE = 3 AND A.CREATE_FLOW_ID = :flowId ) ) ORDER BY A.CREATE_TIME DESC  ");
      String dslId = request.getParameter("dslId");
      String flowId = request.getParameter("flowId");
      Map paramMap = new HashMap();
      paramMap.put("dslId", dslId);
      paramMap.put("flowId", flowId);
@@ -423,18 +408,18 @@
   @Override
   public PageInfo queryDslChangeVersionData(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 AND (A.STATE = 1 OR (A.STATE = 3 AND A.CREATE_FLOW_ID = :flowId ) ) ORDER BY A.CREATE_TIME DESC  ");
      String dslId = request.getParameter("dslId");
      String flowId = request.getParameter("flowId");
      Map paramMap = new HashMap();
      paramMap.put("dslId", dslId);
      paramMap.put("flowId", flowId);
      PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap);
      return pageInfo;
   }
   @Override
   public List getDSLConfigListData(String configId) {
      StringBuilder builder = new StringBuilder();
@@ -453,14 +438,14 @@
         sql.append(" AND PID=:pid ");
      }
      sql.append(" ORDER BY SORT_ID ");
      SqlParameter param = new SqlParameter("pid",configId);
      param.addValue("partnerId", partnerId);
      param.addValue("thirdCateId", thirdCateId);
      List<Map> firstList = new LinkedList<Map>();
       List<Map> dataList = baseDao.queryForList(sql.toString(), param);
       for (Map map : dataList) {
         firstList.add(map);
         if (ConvertUtil.obj2Int(map.get("STATE")) == 1) {
@@ -468,14 +453,14 @@
         } else {
            map.put("STATE_TEXT", "未启用");
         }
         if (!EqualUtil.isStringEqual(map.get("LV"), "2")) {
            map.put("state", "closed");
            map.put("children", new LinkedList<Map>());
         }
      }
       if (StringUtils.isBlank(configId)) {
         List<Map> resultList = new LinkedList<Map>();
         Map map = new HashMap();
@@ -499,7 +484,7 @@
      String note = request.getParameter("note");
      String name = request.getParameter("name");
      String thirdCateName = new DSL_CATEGORY(thirdCateId).getInstanceById().getCategory_name();
      if(StringUtil.notEmpty(configId)) {
         DSL_CONFIG dsl = new DSL_CONFIG(configId).getInstanceById();
         pId = dsl.getPid();
@@ -517,7 +502,7 @@
         } else {
            level = 1;
         }
         String insertSql = "INSERT INTO DSL_CONFIG(ID,THIRD_CATEGORY_ID,THIRD_CATEGORY_NAME,LV,SORT_ID,STATE,PID,PARTNER_ID,NOTE,NAME) " +
               "VALUES (:id,:third_category_id,:third_category_name,:lv,:sort_id,1,:pid,:partner_id,:note,:name)";
         Map paramMap = new HashMap();
@@ -532,38 +517,38 @@
         paramMap.put("name", name);
         baseDao.execute(insertSql, paramMap);
      }
      return pId;
   }
   @Override
   public void saveProDslInfo(HttpServletRequest request) {
      String flowId = request.getParameter("flowId");
      String projectId = request.getParameter("projectId");
      String configureId = request.getParameter("configureId");
      String versionNo = request.getParameter("versionNo");
      SqlParameter param = new SqlParameter();
      param.addValue("flowId", flowId)
         .addValue("projectId", projectId)
         .addValue("versionNo", versionNo)
         .addValue("configureId", configureId)
         .addValue("id", StringUtil.getUUID());
      StringBuilder builder = new StringBuilder();
      builder.append(" delete from config_dsl_pro where RELEASE_FLOW_ID = :flowId and CONFIGURE_ID=:configureId and PROJECT_ID=:projectId ");
      baseDao.execute(builder.toString(), param);
      builder.setLength(0);
      builder.append(" insert into config_dsl_pro (id,PROJECT_ID,CONFIGURE_ID,VERSION_NO,RELEASE_FLOW_ID,SOURCE_TYPE) ");
      builder.append(" values (:id,:projectId,:configureId,:versionNo,:flowId,1) ");
      baseDao.execute(builder.toString(), param);
   }
   @Override
   public List<Map> getSecondDslfileList(String orderId,String configureId,String secondDslId){
      SqlParameter param = new SqlParameter();
@@ -574,7 +559,7 @@
         "and BUSINESS_ID = :orderId and EXTEND1 =:configureId and EXTEND2 = :secondDslId ";
      return baseDao.queryForList(sql,param);
   }
   @Override
   public void saveDslFile(HttpServletRequest request){
      Map user = WebUtil.getLoginUser(request).getLoginUser();
@@ -599,7 +584,7 @@
               //System.out.println("-----------"+request.getSession().getServletContext().getRealPath("/"));
               String fullPath = request.getSession().getServletContext().getRealPath("/")+"/upload/infofiles/" + fileName;
               long size = file.getSize();
               String fileFormat = fileName.substring(fileName.lastIndexOf(".")+1);
               String fileFormat = fileName.substring(fileName.lastIndexOf(".")+1);
               File localFile = new File(fullPath);
               // 写文件到本地
               try {
@@ -634,21 +619,21 @@
      //String partnerId = WebUtil.getLoginedPartnerId(request);
      String selectSubSql = "SELECT * FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId AND STATE = 1 ORDER BY LV,SORT_ID ";
      String thirdCateId = request.getParameter("thirdCate");
      paramMap.put("thirdCateId", thirdCateId);
      //paramMap.put("partnerId", partnerId);
      List<Map> cates = baseDao.queryForList(selectSubSql,paramMap);
        Map result = new HashMap();
      List<Map> resultList = new LinkedList<Map>();
      Map<String, Map> yjgnCache = new HashMap<String, Map>();
      for (Map map : cates) {
         String level = map.get("LV").toString();
         String id = map.get("ID").toString();
         //一级树
         if (level.equalsIgnoreCase("1")) {
            yjgnCache.put(id, map);
@@ -679,8 +664,8 @@
      String thirdCateId = request.getParameter("thirdCate");
      String pId = request.getParameter("pId");
      sql.append("SELECT COUNT(ID) FROM DSL_CONFIG WHERE  THIRD_CATEGORY_ID = :thirdCateId ");
      Map paramMap = new HashMap();
      //paramMap.put("partnerId", partnerId);
      paramMap.put("thirdCateId", thirdCateId);
@@ -689,10 +674,10 @@
         paramMap.put("pid", pId);
      } else {
         sql.append(" AND LV=1 AND (PID IS NULL OR PID ='' OR PID =0) ");
      }
      return baseDao.queryForInteger(sql.toString(), paramMap);
   }
@@ -703,8 +688,8 @@
      String thirdCateId = request.getParameter("thirdCate");
      String pId = request.getParameter("pId");
      sql.append("SELECT SORT_ID,NAME,ID,PID,LV,STATE FROM DSL_CONFIG WHERE  THIRD_CATEGORY_ID = :thirdCateId ");
      Map paramMap = new HashMap();
      //paramMap.put("partnerId", partnerId);
      paramMap.put("thirdCateId", thirdCateId);
@@ -713,13 +698,13 @@
         paramMap.put("pid", pId);
      } else {
         sql.append(" AND LV=1 AND (PID IS NULL OR PID ='' OR PID =0) ");
      }
      sql.append(" ORDER BY SORT_ID ");
      return baseDao.queryforSplitPageInfo(request, sql.toString(), paramMap);
   }
   /**
@@ -731,7 +716,7 @@
      return baseDao.queryForInteger(selectSql,new SqlParameter("pid",configId));
   }
   @Override
   public boolean saveProjectDsl(HttpServletRequest request) {
@@ -742,25 +727,25 @@
      String id = StringUtil.getUUID();
      String projectId = request.getParameter("projectId");
      String order_num = request.getParameter("order_num");
      String[] cates = dslCateId.split("-");
      String dsl_first_category_id = cates[0];
      String dsl_second_category_id = cates[1];
      String dsl_third_category_id = cates[2];
      String searchcode = sequenceService.getDslCategorySequence(dsl_third_category_id);
      sequenceService.nextCICategorySequence(dsl_third_category_id);
      String[] cateNames = dslCateName.split("-");
      String dsl_first_category_name = cateNames[0];
      String dsl_second_category_name = cateNames[1];
      String dsl_third_category_name = cateNames[2];
      String insertSql = "INSERT INTO PROJECT_DSL(ID,DSL_NAME,DSL_FIRST_CATEGORY_ID,DSL_FIRST_CATEGORY_NAME,DSL_SECOND_CATEGORY_ID,DSL_SECOND_CATEGORY_NAME,DSL_THIRD_CATEGORY_ID,DSL_THIRD_CATEGORY_NAME,NOTE,DSL_SEARCHCODE,STATE,PROJECT_ID,PARTNER_ID,ADD_TIME,ORDER_NUM)" +
            "VALUES (:id,:dsl_name,:dsl_first_category_id,:dsl_first_category_name,:dsl_second_category_id,:dsl_second_category_name,:dsl_third_category_id,:dsl_third_category_name,:note,:dsl_searchcode,1,:project_id,:partner_id,:add_time,:order_num)";
      Map paramMap = new HashMap();
      paramMap.put("id", id);
      paramMap.put("dsl_name", dsl_name);
@@ -776,9 +761,9 @@
      //paramMap.put("partner_id", WebUtil.getLoginedPartnerId(request));
      paramMap.put("add_time", DateUtil.getCurrentDate14());
      paramMap.put("order_num", order_num);
      baseDao.execute(insertSql, paramMap);
      return true;
   }
@@ -805,24 +790,24 @@
      String note = request.getParameter("note");
      String id = request.getParameter("id");
      String order_num = request.getParameter("order_num");
      String[] cates = dslCateId.split("-");
      String dsl_first_category_id = cates[0];
      String dsl_second_category_id = cates[1];
      String dsl_third_category_id = cates[2];
      String searchcode = sequenceService.getDslCategorySequence(dsl_third_category_id);
      String[] cateNames = dslCateName.split("-");
      String dsl_first_category_name = cateNames[0];
      String dsl_second_category_name = cateNames[1];
      String dsl_third_category_name = cateNames[2];
      String updateSql = "UPDATE PROJECT_DSL SET DSL_NAME = :dsl_name,DSL_FIRST_CATEGORY_ID = :dsl_first_category_id,DSL_FIRST_CATEGORY_NAME = :dsl_first_category_name," +
            "DSL_SECOND_CATEGORY_ID = :dsl_second_category_id,DSL_SECOND_CATEGORY_NAME = :dsl_second_category_name,DSL_THIRD_CATEGORY_ID = :dsl_third_category_id,DSL_THIRD_CATEGORY_NAME = :dsl_third_category_name,NOTE = :note,ORDER_NUM = :order_num WHERE ID = :id ";
      Map paramMap = new HashMap();
      paramMap.put("id", id);
      paramMap.put("dsl_name", dsl_name);
@@ -834,12 +819,12 @@
      paramMap.put("dsl_third_category_name", dsl_third_category_name);
      paramMap.put("note", note);
      paramMap.put("order_num", order_num);
      baseDao.execute(updateSql, paramMap);
      return true;
   }
   @Override
   public String updateDslState(HttpServletRequest request) {
      String id = request.getParameter("id");
@@ -860,17 +845,17 @@
      //paramMap.put("partnerId", partnerId);
      List<Map> cates = baseDao.queryForList(selectSubSql,paramMap);
        Map result = new HashMap();
      List<Map> resultList = new LinkedList<Map>();
      Map<String, Map> yjgnCache = new HashMap<String, Map>();
      Map<String, Map> ejgnCache = new HashMap<String, Map>();
      Map<String, Map> sjgnCache = new HashMap<String, Map>();
      for (Map map : cates) {
         String level = map.get("LEVEL").toString();
         String id = map.get("ID").toString();
         //一级树
         if (level.equalsIgnoreCase("1")) {
            yjgnCache.put(id, map);
@@ -887,7 +872,7 @@
               List<Map> list = (List<Map>)yjgnMap.get("ejTree");
               map.put("sjTree", new LinkedList<Map>());
               list.add(map);
               ejgnCache.put(id, map);
            }
            continue;
@@ -921,8 +906,8 @@
      } else {
         builder.append(" AND C.LEVEL = 1 ");
      }
      int count = baseDao.queryForInteger(builder.toString(),paramMap);
      return count;
   }
@@ -940,11 +925,11 @@
      } else {
         builder.append(" AND C.LEVEL = 1 ");
      }
      builder.append(" ORDER BY STATE,ORDER_NUM ");
      PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap);
      return pageInfo;
   }
@@ -953,7 +938,7 @@
      String partner_id = "";
      String id = dsl_category.getId();
      String categoryid = request.getParameter("pId");
      String firstCate = "";
      String secondCate = "";
      if(!StringUtil.notEmpty(id)) {
@@ -962,27 +947,27 @@
            int level = ConvertUtil.obj2Integer(pCate.getLevel());
            dsl_category.setP_id(categoryid);
            dsl_category.setLevel(level+1);
            if(level==2) {
               firstCate = pCate.getP_id();
               secondCate = pCate.getId();
            } else {
               firstCate = pCate.getId();
            }
         } else {
            dsl_category.setP_id(null);
            dsl_category.setLevel(1);
         }
         dsl_category.setState(Constants.COMMON_STATE_ENABLE);//所有节点添加时
         dsl_category.setPartner_id(partner_id);
      }
      dsl_category.insertOrUpdate();
        Map result = new HashMap();
        result.put("firstCate", firstCate);
      result.put("secondCate", secondCate);
@@ -990,20 +975,20 @@
   }
   @Override
   public List<Map> getConfigDslList(String configId) {
      SqlParameter param = new SqlParameter();
      SqlParameter param = new SqlParameter();
      param.addValue("configId", configId);
      String sql = " SELECT  L.NEW_VERSION_ID,L.STATE FLAG,V.UPDATE_TIME,CONCAT(D.DSL_FIRST_CATEGORY_NAME,'-',D.DSL_SECOND_CATEGORY_NAME,'-',D.DSL_THIRD_CATEGORY_NAME) CATE_NAME,D.ID DSL_ID,V.ID VER_ID,L.ID LINK_ID,D.DSL_SEARCHCODE,D.DSL_NAME,V.EDITION  " +
            " FROM CMDB_DSL_LINK L ,DSL_VERSION V , PROJECT_DSL D " +
            " WHERE L.DSL_ID = D.ID AND L.NEW_VERSION_ID = V.ID AND L.CI_ID = :configId AND (L.STATE IS NULL OR L.STATE = 1 OR L.STATE = 2 )";
      return baseDao.queryForList(sql,param);
   }
   @Override
   public void addDslByConfig(PROJECT_DSL proDsl,String configId){
      proDsl.setState(3);
@@ -1020,8 +1005,8 @@
         baseDao.execute(sql, param);
      }
   }
   @Override
   public void addDslVersionByOrder(DSL_VERSION dslVersion){
      String id = StringUtil.getUUID();
@@ -1047,21 +1032,21 @@
      .addValue("update_time", dslVersion.getCreate_time());
      baseDao.execute("delete from DSL_ORDER_LINK where FLOW_ID=:flowId and DSL_ID = :dslId ", param);
      sql = " insert into DSL_ORDER_LINK (ID,FLOW_ID,DSL_ID,DSL_VERSION_ID) values (:id,:flowId,:dslId,:versionId) ";
      if(oldversion != null){
         if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(oldversion.get("VER_ID")))){
            //复制最新版本的配置信息
            saveDslConfig(ConvertUtil.obj2StrBlank(oldversion.get("VER_ID")),id);
         }
      }
      baseDao.execute(sql, param);
      //dsl关联配置默认为最新版本
      baseDao.execute("UPDATE CMDB_DSL_LINK SET STATE = 2,NEW_VERSION_ID = :versionId , FLOW_ID = :flowId,DEALER_ID = :dealer_id,DEALER_NAME = :dealer_name,UPDATE_TIME = :update_time WHERE DSL_ID = :dslId  ", param);
   }
   @Override
   public int selectByCode(String code, String id,String partnerId,String pId) {
      StringBuffer sql=new StringBuffer("select count(*) from DSL_CATEGORY where CATE_CODE= :code AND PARTNER_ID =:partner_id AND P_ID =:p_id ");
@@ -1091,31 +1076,31 @@
       int count=baseDao.queryForInteger(sql.toString(),param);
       return count;
   }
   @Override
   public FacedeResponse execDisableDslCategory(String id, String partnerId) {
        FacedeResponse res = new FacedeResponse();
      //获取该分类下的所有子类
      List<Map> list = this.getAllChildList(id);
      Map map = new HashMap();
      map.put("ID", id);
      list.add(map);
      //先删除原来的分类
      String sql = "UPDATE DSL_CATEGORY SET STATE = 2 WHERE ID=:id AND PARTNER_ID=:partner_id ";
      List<SqlParameter> paramList = new ArrayList<SqlParameter>();
      if (list != null && list.size() > 0) {
         for (Map map2 : list) {
            String categoryId = ConvertUtil.obj2Str(map2.get("ID"));
            SqlParameter param = new SqlParameter();
            param.addValue("id", categoryId);
            param.addValue("partner_id", partnerId);
            paramList.add(param);
         }
         baseDao.executeBatch(sql, paramList);
      }
        return res;
@@ -1124,34 +1109,34 @@
   @Override
   public FacedeResponse execEnableDslCategory(String id, String partnerId) {
        FacedeResponse res = new FacedeResponse();
      //获取该分类的父类
      List<Map> pList = this.getAllParentList(id, new ArrayList<Map>());
      //获取该分类下的所有子类
      List<Map> list = this.getAllChildList(id);
      Map map = new HashMap();
      map.put("ID", id);
      list.add(map);
      //合并父类和子类列表
      list.addAll(pList);
      //修改DSL分类状态
      this.saveDslCategory(list, partnerId);
        return res;
   }
   /**
    * 保存加盟商DSL分类
    * @param categoryIdList
    * @param partnerId
    */
   private void saveDslCategory(List<Map> categoryIdList, String partnerId) {
      List<SqlParameter> paramList = new ArrayList<SqlParameter>();
      if (categoryIdList != null && categoryIdList.size() > 0) {
         for (Map map : categoryIdList) {
            String categoryId = ConvertUtil.obj2Str(map.get("ID"));
@@ -1160,12 +1145,12 @@
            param.addValue("partner_id", partnerId);
            paramList.add(param);
         }
         String sql = "UPDATE DSL_CATEGORY SET STATE = 1 WHERE ID = :id AND PARTNER_ID=:partner_id ";
         baseDao.executeBatch(sql, paramList);
      }
   }
   /**
    * 递归,获取分类下的所有子类,一直到三级分类
    * @param pid
@@ -1173,7 +1158,7 @@
    */
   private List<Map> getAllChildList(String pid) {
      String sql = "select ID,LEVEL from DSL_CATEGORY where STATE=1 and P_ID=:pid ";
      List<Map> list = baseDao.queryForList(sql, new SqlParameter("pid", pid));
      if (list != null && list.size() > 0) {
         for (int i=0 ;i<list.size();i++) {
@@ -1186,10 +1171,10 @@
            }
         }
      }
      return list;
   }
   /**
    * 递归,获取当前子类的所有父级分类
    * @param id
@@ -1198,7 +1183,7 @@
   private List<Map> getAllParentList(String id, List<Map> tList) {
      String sql = "select c.ID,c.LEVEL from DSL_CATEGORY c where c.STATE=1 and c.ID=(select P_ID from DSL_CATEGORY c2 where c2.STATE=1 and c2.ID=:id) ";
      Map map = baseDao.queryForMap(sql, new SqlParameter("id", id));
      if (map != null && map.size() > 0) {
         tList.add(map);
         String cid = ConvertUtil.obj2Str(map.get("ID"));
@@ -1210,7 +1195,7 @@
      }
      return tList;
   }
   @Override
   public int selectByconfigName(String name, String id,String partnerId,String pId,String thirdCate) {
      StringBuffer sql=new StringBuffer("select count(*) from DSL_CONFIG where NAME= :name AND PARTNER_ID =:partner_id AND PID =:p_id AND THIRD_CATEGORY_ID = :thirdCate ");
@@ -1230,27 +1215,27 @@
   @Override
   public FacedeResponse execDisableDslconfigCate(String id, String partnerId) {
        FacedeResponse res = new FacedeResponse();
      //获取该分类下的所有子类
      List<Map> list = this.getAllChildconfigList(id);
      Map map = new HashMap();
      map.put("ID", id);
      list.add(map);
      //先删除原来的分类
      String sql = "UPDATE DSL_CONFIG SET STATE = 2 WHERE ID=:id AND PARTNER_ID=:partner_id ";
      List<SqlParameter> paramList = new ArrayList<SqlParameter>();
      if (list != null && list.size() > 0) {
         for (Map map2 : list) {
            String categoryId = ConvertUtil.obj2Str(map2.get("ID"));
            SqlParameter param = new SqlParameter();
            param.addValue("id", categoryId);
            param.addValue("partner_id", partnerId);
            paramList.add(param);
         }
         baseDao.executeBatch(sql, paramList);
      }
        return res;
@@ -1259,22 +1244,22 @@
   @Override
   public FacedeResponse execEnableDslconfigCate(String id, String partnerId) {
       FacedeResponse res = new FacedeResponse();
         //获取该分类的父类
         List<Map> pList = this.getAllParentconfigList(id, new ArrayList<Map>());
         //获取该分类下的所有子类
         List<Map> list = this.getAllChildconfigList(id);
         Map map = new HashMap();
         map.put("ID", id);
         list.add(map);
         //合并父类和子类列表
         list.addAll(pList);
         //修改DSL分类状态
         this.saveDslconfigCate(list, partnerId);
           return res;
   }
   /**
@@ -1283,9 +1268,9 @@
    * @param partnerId
    */
   private void saveDslconfigCate(List<Map> categoryIdList, String partnerId) {
      List<SqlParameter> paramList = new ArrayList<SqlParameter>();
      if (categoryIdList != null && categoryIdList.size() > 0) {
         for (Map map : categoryIdList) {
            String categoryId = ConvertUtil.obj2Str(map.get("ID"));
@@ -1294,12 +1279,12 @@
            param.addValue("partner_id", partnerId);
            paramList.add(param);
         }
         String sql = "UPDATE DSL_CONFIG SET STATE = 1 WHERE ID = :id AND PARTNER_ID=:partner_id ";
         baseDao.executeBatch(sql, paramList);
      }
   }
   /**
    * 递归,获取分类下的所有子类,一直到三级分类
    * @param pid
@@ -1307,7 +1292,7 @@
    */
   private List<Map> getAllChildconfigList(String pid) {
      String sql = "select ID,LV from DSL_CONFIG where STATE=1 and PID=:pid ";
      List<Map> list = baseDao.queryForList(sql, new SqlParameter("pid", pid));
      if (list != null && list.size() > 0) {
         for (int i=0 ;i<list.size();i++) {
@@ -1320,10 +1305,10 @@
            }
         }
      }
      return list;
   }
   /**
    * 递归,获取当前子类的所有父级分类
    * @param id
@@ -1332,7 +1317,7 @@
   private List<Map> getAllParentconfigList(String id, List<Map> tList) {
      String sql = "select c.ID,c.LV from DSL_CONFIG c where c.STATE=1 and c.ID=(select PID from DSL_CATEGORY c2 where c2.STATE=1 and c2.ID=:id) ";
      Map map = baseDao.queryForMap(sql, new SqlParameter("id", id));
      if (map != null && map.size() > 0) {
         tList.add(map);
         String cid = ConvertUtil.obj2Str(map.get("ID"));
@@ -1351,21 +1336,21 @@
      Map paramMap = new HashMap();
      //String partnerId = WebUtil.getLoginedPartnerId(request);
      String selectSubSql = "SELECT * FROM DSL_CONFIG WHERE  THIRD_CATEGORY_ID = :thirdCateId AND STATE = 1 ORDER BY LV,SORT_ID ";
      //paramMap.put("partnerId", partnerId);
      paramMap.put("thirdCateId", id);
      List<Map> cates = baseDao.queryForList(selectSubSql,paramMap);
        Map result = new HashMap();
      List<Map> resultList = new LinkedList<Map>();
      Map<String, Map> yjgnCache = new HashMap<String, Map>();
      for (Map map : cates) {
         String level = map.get("LV").toString();
         String configId = map.get("ID").toString();
         //一级树
         if (level.equalsIgnoreCase("1")) {
            yjgnCache.put(configId, map);
@@ -1400,9 +1385,9 @@
   @Override
   public int queryDslVersionCount(HttpServletRequest request) {
      StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A  WHERE A.DSL_ID = :dslId AND A.STATE <> 3 ");
      String dslId = request.getParameter("dslId");
      Map paramMap = new HashMap();
      paramMap.put("dslId", dslId);
      int count = baseDao.queryForInteger(builder.toString(), paramMap);
@@ -1412,13 +1397,13 @@
   @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 AND A.STATE <> 3 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;
   }
@@ -1430,13 +1415,13 @@
      long update_time = DateUtil.getCurrentDate14();
      long create_time = update_time;
      String dealer_user_id = WebUtil.getLoginedUserId(request);
      Map user = WebUtil.getLoginUser(request).getLoginUser();
      String dealer_user_name = ConvertUtil.obj2StrBlank(user.get("ZSXM"));
      String id = StringUtil.getUUID();
      Map paramMap = new HashMap();
      paramMap.put("id", id);
      paramMap.put("dsl_id", dsl_id);
@@ -1446,30 +1431,30 @@
      paramMap.put("create_time", create_time);
      paramMap.put("update_time", update_time);
      paramMap.put("note", note);
      String insertSql = "INSERT INTO DSL_VERSION(ID,DSL_ID,EDITION,STATE,UPDATE_TIME,DEALER_USER_ID,DEALER_USER_NAME,CREATE_TIME,NOTE,LAST_VERSION) VALUES (:id,:dsl_id,:edition,1,:update_time,:dealer_user_id,:dealer_user_name,:create_time,:note,:lastVersion)";
      //查询当前最新的版本信息
      Map newestVersion = queryDslNewestVersionById(dsl_id);
      String oldVersion = new String();
      if(null!=newestVersion && newestVersion.size()>0) {
         oldVersion = ConvertUtil.obj2StrBlank(newestVersion.get("VER_ID"));
      }
      paramMap.put("lastVersion", oldVersion);
      baseDao.execute(insertSql, paramMap);
      if(StringUtil.notEmpty(oldVersion)) {
         //复制版本信息
         saveDslConfig(oldVersion, id);
      }
      return true;
   }
@@ -1485,7 +1470,7 @@
      return "1";
   }
   @Override
   public Map versionMore(String id) {
      String selectSql = "SELECT A.*,B.DSL_NAME,B.DSL_FIRST_CATEGORY_NAME,B.DSL_SECOND_CATEGORY_NAME,B.DSL_THIRD_CATEGORY_NAME FROM DSL_VERSION A,PROJECT_DSL B WHERE A.DSL_ID = B.ID AND A.ID = :id ";
@@ -1495,7 +1480,7 @@
   @Override
   public Map queryDslNewestVersionById(String dslId) {
      String selectSql = "SELECT A.*,C.EDITION,C.VER_ID,C.UPDATE_TIME FROM PROJECT_DSL A LEFT JOIN (SELECT B.DSL_ID,B.EDITION,B.ID AS VER_ID,B.UPDATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.DSL_ID = :dslId ORDER BY B.CREATE_TIME DESC LIMIT 0,1 ) C ON A.ID = C.DSL_ID WHERE A.ID = :dslId ";
      String selectSql = "SELECT A.*,C.EDITION,C.VER_ID,C.UPDATE_TIME FROM PROJECT_DSL A LEFT JOIN (SELECT B.DSL_ID,B.EDITION,B.ID AS VER_ID,B.UPDATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.DSL_ID = :dslId ORDER BY B.CREATE_TIME DESC LIMIT 0,1 ) C ON A.ID = C.DSL_ID WHERE A.ID = :dslId ";
      Map newestVersion = baseDao.queryForMap(selectSql,new SqlParameter("dslId",dslId));
      return newestVersion;
   }
@@ -1515,7 +1500,7 @@
      return "0";
   }
   @Override
   public List queryDslConfigFolder(String partnerId,String cateId) {
      Map paramMap = new HashMap();
@@ -1524,15 +1509,15 @@
      paramMap.put("cateId", cateId);
      List<Map> cates = baseDao.queryForList(selectSubSql,paramMap);
        Map result = new HashMap();
      List<Map> resultList = new LinkedList<Map>();
      Map<String, Map> yjgnCache = new HashMap<String, Map>();
      for (Map map : cates) {
         String level = map.get("LV").toString();
         String id = map.get("ID").toString();
         //一级树
         if (level.equalsIgnoreCase("1")) {
            yjgnCache.put(id, map);
@@ -1564,9 +1549,9 @@
         builder.append(" AND DSL_SECOND_CATE = :folderId ");
         paramMap.put("folderId", folderId);
      }
      int count = baseDao.queryForInteger(builder.toString(),paramMap);
      return count;
   }
@@ -1579,18 +1564,18 @@
         builder.append(" AND DSL_SECOND_CATE = :folderId ");
         paramMap.put("folderId", folderId);
      }
      builder.append(" ORDER BY 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) {
            file.put("FILE_SIZE", StringUtil.getFileSize(ConvertUtil.obj2Double(file.get("FILE_SIZE"))));
         }
      }
      return pageInfo;
   }
@@ -1601,7 +1586,7 @@
      String updateSql = "UPDATE DSL_CONFIG_FILE SET DEL_FLAG = 2 WHERE ID = :fileId ";
      baseDao.execute(updateSql, new SqlParameter("fileId",fileId));
      DSL_CONFIG_FILE file = new DSL_CONFIG_FILE(fileId).getInstanceById();
      //添加删除文件记录
      DSL_VERSION version = new DSL_VERSION(file.getVersion_id()).getInstanceById();
      String saverecordSql = "INSERT INTO DSL_CONFIG_FILE_CHANGE_DETAIL(ID,FIRST_CONFIG_CATE,SECOND_CONFIG_CATE,DSL_VERSION_ID,FILE_ID,DEAL_TYPE,FLOW_ID,CREATE_TIME,USER_ID,USER_NAME) VALUES(:id,:first_config_cate,:folderId,:versionId,:file_id,:deal_type,:flow_id,:createTime,:userId,:userName)";
@@ -1620,8 +1605,8 @@
      return true;
   }
   @Override
   public void addConfigLinkDsl(String configId, String dslIds, String verIds, String delFlags, String flowId, String userId, String userName) {
      List<SqlParameter> addParams = new ArrayList<SqlParameter>();
@@ -1661,16 +1646,16 @@
         sql = " UPDATE CMDB_DSL_LINK SET STATE = NULL,DEALER_ID=NULL,DEALER_NAME=NULL,UPDATE_TIME=NULL,FLOW_ID=NULL WHERE CI_ID=:configId AND DSL_ID =:dslId AND STATE=3 ";
         baseDao.executeBatch(sql, updateParams);
      }
   }
   private Map getSelConfigDslSupport(HttpServletRequest request) {
      Map support = new HashMap();
      SqlParameter param = new SqlParameter();
      StringBuilder builder = new StringBuilder();
      builder.append(" SELECT * FROM ( ");
      builder.append("    SELECT 0 AS DEL_FLAG,D.STATE,D.DSL_THIRD_CATEGORY_ID,V.UPDATE_TIME,CONCAT(D.DSL_FIRST_CATEGORY_NAME,'-',D.DSL_SECOND_CATEGORY_NAME,'-',D.DSL_THIRD_CATEGORY_NAME) CATE_NAME,D.ID DSL_ID,V.ID VER_ID,D.DSL_SEARCHCODE,D.DSL_NAME,V.EDITION ");
      builder.append("    FROM PROJECT_DSL D ,DSL_VERSION V ");
@@ -1683,22 +1668,22 @@
      builder.append("    FROM CMDB_DSL_LINK L,PROJECT_DSL D,DSL_VERSION V ");
      builder.append("    WHERE L.DSL_ID = D.ID AND L.DSL_VERSION_ID = V.ID AND L.STATE=3 AND L.CI_ID = :configId ORDER BY UPDATE_TIME DESC ");
      builder.append(" ) T WHERE 1=1 ");
      String proId = request.getParameter("proId");
      if(StringUtil.notEmpty(proId)) {
         param.put("proId", proId);
      }
      String configId = request.getParameter("configId");
      if(StringUtil.notEmpty(configId)) {
         param.put("configId", configId);
      }
      String flowId = request.getParameter("flowId");
      if(StringUtil.notEmpty(flowId)) {
         param.put("flowId", flowId);
      }
      String dslName = request.getParameter("dslName");
      if(StringUtil.notEmpty(dslName)) {
         builder.append(" AND DSL_NAME LIKE :dslName ");
@@ -1714,27 +1699,27 @@
         builder.append(" AND DSL_SEARCHCODE like :dslSearchCode ");
         param.put("dslSearchCode", "%"+dslSearchCode+"%");
      }
      String dslIds = request.getParameter("dslIds");
      if(StringUtil.notEmpty(dslIds)) {
         dslIds = "'" + dslIds.replace(",", "','") + "'";
         builder.append(" AND DSL_ID NOT IN ("+dslIds+") ");
      }
      builder.append(" GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC ");
      support.put("sql", builder.toString());
      support.put("param", param);
      return support;
   }
   @Override
   public Map getDslMsgById(String id,HttpServletRequest request) {
      StringBuilder builder = new StringBuilder("SELECT c.*,A.EDITION,A.CREATE_TIME,A.VERSIONID FROM PROJECT_DSL c LEFT JOIN (SELECT MAX(B.CREATE_TIME),B.ID AS VERSIONID,B.DSL_ID,B.EDITION,B.CREATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.ID = :id ) A ON c.ID = A.DSL_ID WHERE  c.STATE <> 3 ");
       // String partnerId = WebUtil.getLoginedPartnerId(request);
      Map paramMap = new HashMap();
      paramMap.put("id", id);
      //paramMap.put("partnerId", partnerId);
@@ -1766,9 +1751,9 @@
      PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, sql, param);
      return pageInfo;
   }
   @Override
   public int getSelConfigDslListCount(HttpServletRequest request) {
      Map support = getSelConfigDslSupport(request);
@@ -1794,10 +1779,10 @@
         .addValue("curDate", curDate)
         .addValue("flowId", flowId);
      baseDao.execute(sql, param);
   }
   @Override
@@ -1850,11 +1835,11 @@
            sqlParameter.put("VERSION_ID", newVersion);
            paramList.add(sqlParameter);
         }
         String insertSql = "INSERT INTO DSL_CONFIG_FILE(ID,FILE_NAME,FILE_PATH,FILE_SIZE,FILE_FORMAT,VERSION_ID,ORDERNUM,FILE_NOTE,DSL_FIRST_CATE,DSL_SECOND_CATE,CREATE_TIME,USER_ID,USER_NAME,DEL_FLAG) VALUES (:ID,:FILE_NAME,:FILE_PATH,:FILE_SIZE,:FILE_FORMAT,:VERSION_ID,:ORDERNUM,:FILE_NOTE,:DSL_FIRST_CATE,:DSL_SECOND_CATE,:CREATE_TIME,:USER_ID,:USER_NAME,:DEL_FLAG)";
         baseDao.executeBatch(insertSql,paramList);
      }
   }
   @Override
@@ -1911,5 +1896,5 @@
      return info;
   }
}