package cn.ksource.web.facade.customerconfig.incident;
|
|
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.ConvertUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
@Service("incidentflowFacade")
|
public class IncidentflowFacadeImpl implements IncidentflowFacade {
|
@Autowired
|
private BaseDao baseDao;
|
/**
|
* 查询事件管理流转策略
|
*/
|
@Override
|
public Map queryIncidentNodeDealConfig(String customerId) {
|
String selectSql = "SELECT * FROM SC_WORKFLOW_INCIDENT_FLOWRULE WHERE PROJECT_ID = :customerId";
|
List<Map> list = baseDao.queryForList(selectSql,new SqlParameter("customerId",customerId));
|
if(null!=list && list.size()>0) {
|
Map lcMap = list.get(0);
|
lcMap.put("isSelf", 1);
|
return lcMap;
|
}else{
|
String sql = "SELECT * FROM SC_WORKFLOW_INCIDENT_FLOWRULE WHERE (PROJECT_ID = '' OR PROJECT_ID IS NULL)";
|
List<Map> gslist = baseDao.queryForList(sql);
|
if(null!=gslist && gslist.size()>0) {
|
Map lcMap = gslist.get(0);
|
lcMap.put("isSelf", 2);
|
return lcMap;
|
}
|
}
|
return null;
|
}
|
/**
|
* 保存事件管理流转策略
|
*/
|
@Override
|
public void saveIncidentNodeDealConfig(Map<String, String> 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 proId = param.get("customerId");
|
|
String id = param.get("id");
|
String isSelf = param.get("isSelf");
|
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));
|
param.put("project_id", proId);
|
String updateSql = new String();
|
|
if(!StringUtil.isEmpty(isSelf)){
|
if(ConvertUtil.obj2Integer(isSelf) == 2) {
|
param.put("id", StringUtil.getUUID());
|
updateSql = "INSERT INTO SC_WORKFLOW_INCIDENT_FLOWRULE (ID,KFRY,YCJSZC,YXGCS,EXGCS,SXGCS,PROJECT_ID) VALUES (:id,:kfry,:ycjszc,:yxgcs,:exgcs,:sxgcs,:project_id)";
|
} else {
|
param.put("id", id);
|
updateSql = "UPDATE SC_WORKFLOW_INCIDENT_FLOWRULE SET KFRY = :kfry,YCJSZC=:ycjszc,YXGCS=:yxgcs,EXGCS=:exgcs,SXGCS=:sxgcs WHERE ID = :id AND PROJECT_ID = :project_id";
|
}
|
}else{
|
param.put("id", StringUtil.getUUID());
|
updateSql = "INSERT INTO SC_WORKFLOW_INCIDENT_FLOWRULE (ID,KFRY,YCJSZC,YXGCS,EXGCS,SXGCS,PROJECT_ID) VALUES (:id,:kfry,:ycjszc,:yxgcs,:exgcs,:sxgcs,:project_id)";
|
}
|
|
|
baseDao.execute(updateSql, param);
|
}
|
/**
|
* 得到登录用户事件配置的总数 判断是否显示公司默认选项
|
*/
|
@Override
|
public Integer getIncidentNodeDealCount(String customerId) {
|
String selectSql = "SELECT COUNT(*) FROM SC_WORKFLOW_INCIDENT_FLOWRULE WHERE PROJECT_ID = :customerId ";
|
Map param = new HashMap();
|
param.put("customerId", customerId);
|
int count = baseDao.queryForInteger(selectSql.toString(),param);
|
return count;
|
}
|
|
/**
|
* 查询 事件管理流程节点配置 除去ID值
|
*/
|
@Override
|
public Map queryIncidentNodeDealNotId(Map<String, String> param) {
|
String selectSql = "SELECT KFRY,YCJSZC,YXGCS,EXGCS,SXGCS FROM SC_WORKFLOW_INCIDENT_FLOWRULE WHERE PROJECT_ID IS NULL ";
|
Map map = baseDao.queryForMap(selectSql,new SqlParameter());
|
return map;
|
}
|
@Override
|
public void updatelc(Map<String, String> params) {
|
String delsql = "DELETE FROM SC_WORKFLOW_INCIDENT_FLOWRULE WHERE PROJECT_ID = :customerId ";
|
baseDao.execute(delsql, params);
|
}
|
|
}
|