package cn.ksource.web.facade.workflow; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.util.JsonUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; @Service("templateFacade") public class TemplateFacadeImpl implements TemplateFacade{ @Autowired private BaseDao baseDao; /** * 查询事件管理流程节点配置 */ @Override public Map queryIncidentNodeDealConfig(Map param) { String selectSql = "SELECT * FROM SC_WORKFLOW_INCIDENT_FLOWRULE WHERE PROJECT_ID IS NULL "; Map map = baseDao.queryForMap(selectSql,new SqlParameter()); return map; } /** * 保存事件管理流程模板配置 */ @Override public void saveIncidentNodeDealConfig(Map param) { List listKfry = new ArrayList(); if(!StringUtil.isEmpty(param.get("kfry"))){ String[] kfry= param.get("kfry").split(","); if(null!=kfry && kfry.length>0) { for(String nodeId : kfry) { String nodeName = Constants.incidentNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listKfry.add(map); } } } List listYcjszc = new ArrayList(); if(!StringUtil.isEmpty(param.get("ycjszc"))){ String[] ycjszc= param.get("ycjszc").split(","); if(null!=ycjszc && ycjszc.length>0) { for(String nodeId : ycjszc) { String nodeName = Constants.incidentNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listYcjszc.add(map); } } } List listYxgcs = new ArrayList(); if(!StringUtil.isEmpty(param.get("yxgcs"))){ String[] yxgcs= param.get("yxgcs").split(","); if(null!=yxgcs && yxgcs.length>0) { for(String nodeId : yxgcs) { String nodeName = Constants.incidentNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listYxgcs.add(map); } } } List listExgcs = new ArrayList(); if(!StringUtil.isEmpty(param.get("exgcs"))){ String[] exgcs= param.get("exgcs").split(","); if(null!=exgcs && exgcs.length>0) { for(String nodeId : exgcs) { String nodeName = Constants.incidentNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listExgcs.add(map); } } } List listSxgcs = new ArrayList(); if(!StringUtil.isEmpty(param.get("sxgcs"))){ String[] sxgcs= param.get("sxgcs").split(","); if(null!=sxgcs && sxgcs.length>0) { for(String nodeId : sxgcs) { String nodeName = Constants.incidentNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listSxgcs.add(map); } } } String id = param.get("id"); String updateSql = new String(); if(StringUtil.isEmpty(id)){ param.put("id", StringUtil.getUUID()); updateSql = "INSERT INTO SC_WORKFLOW_INCIDENT_FLOWRULE (ID,KFRY,YCJSZC,YXGCS,EXGCS,SXGCS) VALUES(:id,:kfry,:ycjszc,:yxgcs,:exgcs,:sxgcs) "; }else{ updateSql = "UPDATE SC_WORKFLOW_INCIDENT_FLOWRULE SET KFRY = :kfry,YCJSZC=:ycjszc,YXGCS=:yxgcs,EXGCS=:exgcs,SXGCS=:sxgcs WHERE ID = :id AND PROJECT_ID IS NULL"; param.put("id", id); } param.put("kfry", JsonUtil.list2Json(listKfry)); param.put("ycjszc", JsonUtil.list2Json(listYcjszc)); param.put("yxgcs", JsonUtil.list2Json(listYxgcs)); param.put("exgcs", JsonUtil.list2Json(listExgcs)); param.put("sxgcs", JsonUtil.list2Json(listSxgcs)); baseDao.execute(updateSql, param); } /** * 查询问题管理流程节点配置 */ @Override public Map queryQuestionNodeDealConfig(Map param) { String selectSql = "SELECT * FROM QUESTION_FLOWRULE WHERE CUSTOMER_ID IS NULL "; Map map = baseDao.queryForMap(selectSql,new SqlParameter()); return map; } /** * 保存问题管理流程模板配置 */ @Override public void saveQuestionNodeDealConfig(Map param) { List listwtfq = new ArrayList(); if(!StringUtil.isEmpty(param.get("wtfq"))){ String[] wtfq= param.get("wtfq").split(","); if(null!=wtfq && wtfq.length>0) { for(String nodeId : wtfq) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listwtfq.add(map); } } } List listwtsl = new ArrayList(); if(!StringUtil.isEmpty(param.get("wtsl"))){ String[] wtsl= param.get("wtsl").split(","); if(null!=wtsl && wtsl.length>0) { for(String nodeId : wtsl) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listwtsl.add(map); } } } List listwtsh = new ArrayList(); if(!StringUtil.isEmpty(param.get("wtsh"))){ String[] wtsh= param.get("wtsh").split(","); if(null!=wtsh && wtsh.length>0) { for(String nodeId : wtsh) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listwtsh.add(map); } } } List listwtzd = new ArrayList(); if(!StringUtil.isEmpty(param.get("wtzd"))){ String[] wtzd= param.get("wtzd").split(","); if(null!=wtzd && wtzd.length>0) { for(String nodeId : wtzd) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listwtzd.add(map); } } } List listfasp = new ArrayList(); if(!StringUtil.isEmpty(param.get("fasp"))){ String[] fasp= param.get("fasp").split(","); if(null!=fasp && fasp.length>0) { for(String nodeId : fasp) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listfasp.add(map); } } } List listfass = new ArrayList(); if(!StringUtil.isEmpty(param.get("fass"))){ String[] fass= param.get("fass").split(","); if(null!=fass && fass.length>0) { for(String nodeId : fass) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listfass.add(map); } } } List listwthg = new ArrayList(); if(!StringUtil.isEmpty(param.get("wthg"))){ String[] wthg= param.get("wthg").split(","); if(null!=wthg && wthg.length>0) { for(String nodeId : wthg) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listwthg.add(map); } } } List listclose = new ArrayList(); if(!StringUtil.isEmpty(param.get("isclose"))){ String[] close= param.get("isclose").split(","); if(null!=close && close.length>0) { for(String nodeId : close) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listclose.add(map); } } } List listback = new ArrayList(); if(!StringUtil.isEmpty(param.get("isback"))){ String[] back= param.get("isback").split(","); if(null!=back && back.length>0) { for(String nodeId : back) { String nodeName = Constants.questionNode.get(nodeId); Map map = new HashMap(); map.put("nodeId", nodeId); map.put("nodeName", nodeName); listback.add(map); } } } String updateSql = ""; String id = param.get("id"); if(StringUtil.isEmpty(id)){ param.put("id", StringUtil.getUUID()); updateSql = "INSERT INTO QUESTION_FLOWRULE(ID,WTFQ,WTSL,WTSH,WTZD,FASP,FASS,WTHG,CLOSEJD,GOBACKJD) VALUES(:id,:wtfq,:wtsl,:wtsh,:wtzd,:fasp,:fass,:wthg,:closejd,:gobackjd) "; }else{ updateSql = "UPDATE QUESTION_FLOWRULE SET WTFQ = :wtfq,WTSL=:wtsl,WTSH=:wtsh,WTZD=:wtzd,FASP=:fasp,FASS=:fass,WTHG=:wthg ,CLOSEJD=:closejd,GOBACKJD=:gobackjd WHERE ID = :id AND CUSTOMER_ID IS NULL "; param.put("id", id); } param.put("wtfq", JsonUtil.list2Json(listwtfq)); param.put("wtsl", JsonUtil.list2Json(listwtsl)); param.put("wtsh", JsonUtil.list2Json(listwtsh)); param.put("wtzd", JsonUtil.list2Json(listwtzd)); param.put("fasp", JsonUtil.list2Json(listfasp)); param.put("fass", JsonUtil.list2Json(listfass)); param.put("wthg", JsonUtil.list2Json(listwthg)); param.put("closejd", JsonUtil.list2Json(listclose)); param.put("gobackjd", JsonUtil.list2Json(listback)); baseDao.execute(updateSql, param); } }