package cn.ksource.web.facade.customerconfig;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.LinkedList;
|
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.beans.SC_PARTNER_CUSTOMER_INFO;
|
import cn.ksource.beans.SC_SERVCE_CATEGORY;
|
import cn.ksource.beans.SC_SLA;
|
import cn.ksource.beans.SC_SLA_CONFIG;
|
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.web.Constants;
|
import cn.ksource.web.service.DataDictionaryService;
|
|
@Service("slaCusFacade")
|
@SuppressWarnings("unchecked")
|
public class SlaCusFacadeImpl implements SlaCusFacade {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Autowired
|
private DataDictionaryService dataDictionaryService;
|
|
@Override
|
public List queryProjectSeviceList(String customerId) {
|
String selectSql = "SELECT A.*,B.STATE,B.ID AS LINK_ID FROM SC_SERVCE_CATEGORY A,SC_SERVCE_CATEGORY_CUSTOMER B WHERE A.ID = B.CATEGORY_ID AND B.CUSTOMER_ID = :customerId ORDER BY A.LEVEL,A.SERIAL ";
|
|
List<Map> categoryList = baseDao.queryForList(selectSql,new SqlParameter("customerId", customerId));
|
|
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) {
|
|
//一级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("1") && null == map.get("P_ID")) {
|
yjgnCache.put(map.get("ID").toString(), map);
|
List<Map> ejgnList = new LinkedList<Map>();
|
map.put("ejTree", ejgnList);
|
resultList.add(map);
|
continue;
|
}
|
//二级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("2")) {
|
String pId = map.get("P_ID").toString();
|
if(yjgnCache.containsKey(pId)) {
|
Map yjgnMap = yjgnCache.get(pId);
|
List<Map> list = (List<Map>)yjgnMap.get("ejTree");
|
map.put("sjTree", new LinkedList<Map>());
|
list.add(map);
|
|
ejgnCache.put(map.get("ID").toString(), map);
|
}
|
continue;
|
}
|
//三级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("3")) {
|
if(null!=map.get("P_ID")){
|
String pId = map.get("P_ID").toString();
|
if(ejgnCache.containsKey(pId)) {
|
Map ejgnMap = ejgnCache.get(map.get("P_ID").toString());
|
List<Map> list = (List<Map>)ejgnMap.get("sjTree");
|
list.add(map);
|
}
|
}
|
}
|
}
|
|
for(int i = 0;i < resultList.size();i++ ){
|
List<Map> ejlist = (List<Map>)resultList.get(i).get("ejTree");
|
if(ejlist != null){
|
if(ejlist.size() == 0){
|
resultList.remove(i);
|
i = i -1 ;
|
}else{
|
int count = 0;
|
for(int j = 0;j < ejlist.size();j++){
|
List<Map> sjlist = (List<Map>)ejlist.get(j).get("sjTree");
|
if(sjlist != null){
|
if(sjlist.size() == 0){
|
ejlist.remove(j);
|
j = j -1 ;
|
resultList.get(i).put("ejTree", ejlist);
|
}else{
|
count = count + 1;
|
}
|
}else{
|
ejlist.remove(j);
|
j = j -1 ;
|
resultList.get(i).put("ejTree", ejlist);
|
}
|
}
|
if(count == 0){
|
resultList.remove(i);
|
i = i -1 ;
|
}
|
}
|
}else{
|
resultList.remove(i);
|
i = i -1 ;
|
}
|
}
|
|
int totalNum = 0;
|
//查询三级分类展示成列表的需要占的表格数
|
for(Map yj : resultList) {
|
int num = 0;
|
List<Map> ejList = (List<Map>)(yj.get("ejTree"));
|
if(null!=ejList && ejList.size()>0) {
|
for(Map ej :ejList) {
|
List sjList = (List)ej.get("sjTree");
|
int sjNum = sjList.size();
|
if(sjNum>0) {
|
num = num+sjNum;
|
ej.put("sjNum", sjNum);
|
} else {
|
num = num+1;
|
ej.put("sjNum", 1);
|
}
|
}
|
} else {
|
num = num+1;
|
}
|
totalNum += num;
|
yj.put("num", num);
|
}
|
System.out.println(JsonUtil.list2Json(resultList));
|
return resultList;
|
}
|
|
@Override
|
public boolean updateState(HttpServletRequest request) {
|
String customerId = request.getParameter("customerId");
|
String cateId = request.getParameter("cateId");
|
String state = request.getParameter("state");
|
|
String link_id = request.getParameter("link_id");
|
if(state.equals("2")) {
|
//查询该分类下是否有信息
|
String sql = "SELECT COUNT(*) FROM SC_SERVCE_CATEGORY A,SC_SERVCE_CATEGORY_CUSTOMER B WHERE A.ID = B.CATEGORY_ID AND A.P_ID = :cateId AND B.STATE = 1 AND B.CUSTOMER_ID = :customerId ";
|
int count = baseDao.queryForInteger(sql,new SqlParameter("cateId",cateId).addValue("customerId", customerId));
|
if(count>0) {
|
return false;
|
}
|
} else if (state.equals("1")) {
|
//查询该分类是否有上级
|
//String selectSql = "SELECT ";
|
}
|
|
String updateSql = "UPDATE SC_SERVCE_CATEGORY_CUSTOMER SET STATE = :state WHERE ID = :link_id ";
|
baseDao.execute(updateSql, new SqlParameter("link_id",link_id).addValue("state", state));
|
return true;
|
}
|
|
/**
|
* 查询项目可以新增的服务目录
|
*/
|
@Override
|
public List queryAddServiceList(String customerId) {
|
String sql="SELECT A.* FROM SC_SERVCE_CATEGORY A WHERE A.STATE = 1 AND NOT EXISTS (SELECT B.CATEGORY_ID FROM (SELECT D.CATEGORY_ID FROM SC_SERVCE_CATEGORY C, SC_SERVCE_CATEGORY_CUSTOMER D WHERE C.ID = D.CATEGORY_ID AND C.LEVEL = 3 AND D.CUSTOMER_ID = :customerId ) B WHERE A.ID = B.CATEGORY_ID ) ORDER BY A.LEVEL,A.SERIAL ";
|
|
List<Map> categoryList = baseDao.queryForList(sql,new SqlParameter("customerId", customerId));
|
|
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) {
|
|
//一级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("1") && null == map.get("P_ID")) {
|
yjgnCache.put(map.get("ID").toString(), map);
|
List<Map> ejgnList = new LinkedList<Map>();
|
map.put("ejTree", ejgnList);
|
resultList.add(map);
|
continue;
|
}
|
//二级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("2")) {
|
if(yjgnCache.containsKey(map.get("P_ID"))) {
|
Map yjgnMap = yjgnCache.get(map.get("P_ID").toString());
|
List<Map> list = (List<Map>)yjgnMap.get("ejTree");
|
map.put("sjTree", new LinkedList<Map>());
|
list.add(map);
|
|
ejgnCache.put(map.get("ID").toString(), map);
|
}
|
continue;
|
}
|
//三级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("3")) {
|
if(null!=map.get("P_ID")){
|
if(ejgnCache.containsKey(map.get("P_ID"))) {
|
Map ejgnMap = ejgnCache.get(map.get("P_ID").toString());
|
List<Map> list = (List<Map>)ejgnMap.get("sjTree");
|
list.add(map);
|
}
|
}
|
}
|
}
|
|
for(int i = 0;i < resultList.size();i++ ){
|
List<Map> ejlist = (List<Map>)resultList.get(i).get("ejTree");
|
if(ejlist != null){
|
if(ejlist.size() == 0){
|
resultList.remove(i);
|
i = i -1 ;
|
}else{
|
int count = 0;
|
for(int j = 0;j < ejlist.size();j++){
|
List<Map> sjlist = (List<Map>)ejlist.get(j).get("sjTree");
|
if(sjlist != null){
|
if(sjlist.size() == 0){
|
ejlist.remove(j);
|
j = j -1 ;
|
resultList.get(i).put("ejTree", ejlist);
|
}else{
|
count = count + 1;
|
}
|
}else{
|
ejlist.remove(j);
|
j = j -1 ;
|
resultList.get(i).put("ejTree", ejlist);
|
}
|
}
|
if(count == 0){
|
resultList.remove(i);
|
i = i -1 ;
|
}
|
}
|
}else{
|
resultList.remove(i);
|
i = i -1 ;
|
}
|
}
|
|
int totalNum = 0;
|
//查询三级分类展示成列表的需要占的表格数
|
for(Map yj : resultList) {
|
int num = 0;
|
List<Map> ejList = (List<Map>)(yj.get("ejTree"));
|
if(null!=ejList && ejList.size()>0) {
|
for(Map ej :ejList) {
|
List sjList = (List)ej.get("sjTree");
|
int sjNum = sjList.size();
|
if(sjNum>0) {
|
num = num+sjNum;
|
ej.put("sjNum", sjNum);
|
}
|
}
|
} else {
|
num = num+1;
|
}
|
totalNum += num;
|
yj.put("num", num);
|
}
|
|
System.out.println(JsonUtil.list2Json(resultList));
|
return resultList;
|
}
|
|
@Override
|
public boolean savesl(HttpServletRequest request) {
|
String customerId = request.getParameter("customerId");
|
String proId = request.getParameter("proId");
|
String[] sls = request.getParameterValues("sl");
|
|
//查询该客户已有的服务目录
|
String selectSql = "SELECT * FROM SC_SERVCE_CATEGORY_CUSTOMER WHERE CUSTOMER_ID = :customerId ";
|
List<Map> cates = baseDao.queryForList(selectSql,new SqlParameter("customerId",customerId));
|
List<String> cacheList = new ArrayList<String>();
|
if(null!=cates && cates.size()>0) {
|
for(Map cate : cates) {
|
String categoryId = ConvertUtil.obj2StrBlank(cate.get("CATEGORY_ID"));
|
cacheList.add(categoryId);
|
}
|
}
|
|
|
List<String> newCacheList = new ArrayList<String>();
|
|
|
if(StringUtil.notEmpty(customerId) && null!=sls && sls.length>0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for(String sl : sls) {
|
if(StringUtil.notEmpty(sl)) {
|
String[] categorys = sl.split("-");
|
if(categorys.length == 3) {
|
for(String cate : categorys) {
|
if(!cacheList.contains(cate) && !newCacheList.contains(cate)) {
|
SqlParameter sqlParameter = new SqlParameter();
|
sqlParameter.put("id", StringUtil.getUUID());
|
sqlParameter.put("customer_id", customerId);
|
sqlParameter.put("category_id", cate);
|
sqlParameter.put("proId", proId);
|
paramList.add(sqlParameter);
|
newCacheList.add(cate);
|
}
|
}
|
}
|
}
|
}
|
|
String insertSql = "INSERT INTO SC_SERVCE_CATEGORY_CUSTOMER(ID,CATEGORY_ID,CUSTOMER_ID,STATE) VALUES (:id,:category_id,:customer_id,1)";
|
baseDao.executeBatch(insertSql,paramList);
|
return true;
|
}
|
|
return false;
|
}
|
|
@Override
|
public Map querySlaCusLink(String customerId) {
|
Map resultMap = new HashMap();
|
//查询紧急程度数据字典
|
List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI);
|
if(null==eventPri || eventPri.size()==0) {
|
return resultMap;
|
}
|
//查询事件影响度数据字典
|
List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG);
|
if(null==eventDg || eventDg.size()==0) {
|
return resultMap;
|
}
|
|
//查询所有的优先级设置
|
String selectSql = "SELECT A.* FROM SC_SLA_LEVEL_CONFIG A,SC_SLA B WHERE A.LEVEL_ID = B.ID AND B.STATE = 1 AND A.CUSTOMER_ID = :customerId ";
|
List<Map> list = baseDao.queryForList(selectSql,new SqlParameter("customerId", customerId));
|
Map cacheMap = new HashMap();
|
|
|
if(null!=list && list.size()>0) {
|
for(Map map : list) {
|
String priId = ConvertUtil.obj2Str(map.get("PRIORITY_ID"));
|
String effId = ConvertUtil.obj2Str(map.get("INFLUENCE_ID"));
|
cacheMap.put(priId+"-"+effId, map);
|
}
|
}
|
|
|
for(Map dg : eventDg) {
|
List levels = new ArrayList();
|
String effId = ConvertUtil.obj2Str(dg.get("DATAKEY"));
|
for(Map pri : eventPri) {
|
String priId = ConvertUtil.obj2Str(pri.get("DATAKEY"));
|
String key = priId+"-"+effId;
|
Map m = new HashMap();
|
if(cacheMap.containsKey(key)) {
|
m = (Map)cacheMap.get(key);
|
m.put("unitkey", key);
|
} else {
|
m.put("unitkey", key);
|
}
|
levels.add(m);
|
}
|
dg.put("levels", levels);
|
}
|
|
|
resultMap.put("pri", eventPri);
|
resultMap.put("dg", eventDg);
|
return resultMap;
|
}
|
|
@Override
|
public List queryPartnerLevels(HttpServletRequest request) {
|
String sql = "SELECT * FROM SC_SLA WHERE STATE = :state ORDER BY SERIAL";
|
return baseDao.queryForList(sql,new SqlParameter("state",Constants.SC_SLA_TEMPLATE_STATE_OPEN));
|
}
|
|
/**
|
* 保存SLA关联
|
*/
|
@Override
|
public String saveSlaLink(HttpServletRequest request) {
|
String[] links = request.getParameterValues("level");
|
String customerId = request.getParameter("customerId");
|
String proId = request.getParameter("proId");
|
|
Map<String,String> priMap = new HashMap<String,String>();
|
//查询紧急程度数据字典
|
List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI);
|
for(Map m : eventPri) {
|
String key = ConvertUtil.obj2StrBlank(m.get("DATAKEY"));
|
String value = ConvertUtil.obj2StrBlank(m.get("DATAVALUE"));
|
priMap.put(key, value);
|
}
|
|
Map<String,String> dgMap = new HashMap<String,String>();
|
//查询事件影响度数据字典
|
List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG);
|
for(Map m : eventDg) {
|
String key = ConvertUtil.obj2StrBlank(m.get("DATAKEY"));
|
String value = ConvertUtil.obj2StrBlank(m.get("DATAVALUE"));
|
dgMap.put(key, value);
|
}
|
|
Map<String,String> levelMap = new HashMap<String,String>();
|
//查询所有的优先级设置
|
List<Map> levels = queryPartnerLevels(request);
|
for(Map m : levels) {
|
String key = ConvertUtil.obj2StrBlank(m.get("ID"));
|
String value = ConvertUtil.obj2StrBlank(m.get("LEVEL_NAME"));
|
levelMap.put(key, value);
|
}
|
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for(String s : links) {
|
SqlParameter sqlParameter = new SqlParameter();
|
String[] keys = s.split("-");
|
String priId = keys[0];
|
String dgId = keys[1];
|
String levelId = keys[2];
|
sqlParameter.put("id", StringUtil.getUUID());
|
sqlParameter.put("influence_id", dgId);
|
sqlParameter.put("influence_name", dgMap.get(dgId));
|
sqlParameter.put("priority_id", priId);
|
sqlParameter.put("priority_name", priMap.get(priId));
|
sqlParameter.put("level_id", levelId);
|
sqlParameter.put("level_name", levelMap.get(levelId));
|
sqlParameter.put("customer_id", customerId);
|
paramList.add(sqlParameter);
|
}
|
|
String deleteSql = "DELETE FROM SC_SLA_LEVEL_CONFIG WHERE CUSTOMER_ID = :customerId ";
|
String insertSql = "INSERT INTO SC_SLA_LEVEL_CONFIG(ID,INFLUENCE_ID,INFLUENCE_NAME,PRIORITY_ID,PRIORITY_NAME,LEVEL_ID,LEVEL_NAME,TYPE,CUSTOMER_ID) VALUES (:id,:influence_id,:influence_name,:priority_id,:priority_name,:level_id,:level_name,2,:customer_id)";
|
baseDao.execute(deleteSql, new SqlParameter("customerId", customerId));
|
baseDao.executeBatch(insertSql, paramList);
|
return "1";
|
}
|
|
@Override
|
public Map slaReport(HttpServletRequest request) {
|
Map resultMap = new HashMap();
|
String customerId = request.getParameter("customerId");
|
//查询所有的服务级别
|
List<Map> levels = queryPartnerLevels(request);
|
|
System.out.println(JsonUtil.list2Json(levels));
|
resultMap.put("levels", levels);
|
|
|
//查询服务目录三级树
|
List categoryList = queryTreeList(customerId,levels);
|
|
resultMap.put("categoryList", categoryList);
|
|
return resultMap;
|
}
|
|
@Override
|
public List<Map> getSlalevelList() {
|
String sql = "SELECT * FROM SC_SLA WHERE STATE = :state ORDER BY SERIAL";
|
return baseDao.queryForList(sql, new SqlParameter("state", 1));
|
}
|
|
@Override
|
public boolean saveBatchSlaTab(HttpServletRequest request) {
|
String levelid = request.getParameter("levelid");
|
String customerId = request.getParameter("customerId");
|
String partnerName = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById().getCustomer_name();
|
|
String levelName = ConvertUtil.obj2Str(new SC_SLA(levelid).getBeanMapById().get("LEVEL_NAME"));
|
String response_time = request.getParameter("response_time");
|
String resolve_time = request.getParameter("resolve_time");
|
|
String cateIdStrs = request.getParameter("cateIds");
|
|
|
|
//查询出该服务目录该级别对应的所有服务级别协议设置
|
String selectSql = "SELECT * FROM SC_SLA_CONFIG WHERE CATEGORY_ID = :categoryId AND LEVEL_ID = :levelId AND CUSTOMER_ID = :customerId";
|
String user1 = request.getParameter("user1");
|
String userName1 = request.getParameter("userName1");
|
|
|
List<SqlParameter> paramListSaveConfig = new ArrayList<SqlParameter>();
|
List<SqlParameter> paramListUpdateConfig = new ArrayList<SqlParameter>();
|
|
|
List<SqlParameter> configs = new ArrayList<SqlParameter>();
|
List<SqlParameter> configs2 = new ArrayList<SqlParameter>();
|
|
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
|
if(StringUtil.notEmpty(cateIdStrs)) {
|
String[] cateIds = cateIdStrs.split(",");
|
for(String cateId : cateIds) {
|
|
|
String cateName = ConvertUtil.obj2Str(new SC_SERVCE_CATEGORY(cateId).getBeanMapById().get("CATEGORY_NAME"));
|
SqlParameter sqlParameter = new SqlParameter();
|
sqlParameter.put("cateId", cateId);
|
sqlParameter.put("category_name", cateName);
|
sqlParameter.put("level_id", levelid);
|
sqlParameter.put("level_name", levelName);
|
sqlParameter.put("partnerName", partnerName);
|
sqlParameter.put("resolveTime", resolve_time);
|
sqlParameter.put("responseTime", response_time);
|
sqlParameter.put("customerId", customerId);
|
sqlParameter.put("dealerType", 2);
|
sqlParameter.put("groupId", "");
|
sqlParameter.put("groupName", "");
|
sqlParameter.put("userId", user1);
|
sqlParameter.put("userName", userName1);
|
|
|
Map result = baseDao.queryForMap(selectSql,new SqlParameter("categoryId",cateId).addValue("levelId", levelid).addValue("customerId", customerId));
|
|
String configId = new String();
|
|
if(result.size()>0) {
|
String conId = ConvertUtil.obj2StrBlank(result.get("ID"));
|
SqlParameter sqlParameter2 = new SqlParameter();
|
sqlParameter2.put("configId", conId);
|
configs.add(sqlParameter2);
|
|
configId = conId;
|
sqlParameter.put("id", configId);
|
|
paramListUpdateConfig.add(sqlParameter);
|
} else {
|
configId = StringUtil.getUUID();
|
sqlParameter.put("id", configId);
|
paramListSaveConfig.add(sqlParameter);
|
}
|
|
for(int i=2; i<=7; i++) {
|
|
String time = request.getParameter("time"+i);
|
if(StringUtil.notEmpty(time)) {
|
String user = request.getParameter("user"+i);
|
String userName = request.getParameter("userName"+i);
|
SqlParameter param = new SqlParameter();
|
param.put("id", StringUtil.getUUID());
|
param.put("level_id",configId);
|
if(i>4) {
|
param.put("notice_type", Constants.SC_SLA_USER_NOTICE_TYPE_RESOLVE_OVERTIME);
|
} else {
|
param.put("notice_type", Constants.SC_SLA_USER_NOTICE_TYPE_ANSWER_OVERTIME);
|
}
|
param.put("over_time", time);
|
param.put("user_id", user);
|
param.put("user_name", userName);
|
param.put("type", "2");
|
param.put("dealer_type", "2");
|
param.put("group_id", "");
|
param.put("group_name", "");
|
paramList.add(param);
|
}
|
}
|
|
}
|
}
|
|
if(configs.size()>0) {
|
String deleteSql2 = "DELETE FROM SC_SLA_USER WHERE LEVEL_ID = :configId";
|
baseDao.executeBatch(deleteSql2,configs);
|
}
|
|
|
if(paramListSaveConfig.size()>0) {
|
String saveSql1 = "INSERT INTO SC_SLA_CONFIG(ID,CATEGORY_ID,CATEGORY_NAME,LEVEL_ID,LEVEL_NAME,RESPONSE_TIME,RESOLVE_TIME,STATE,TYPE,CUSTOMER_ID,USER_ID,USER_NAME,GROUP_ID,GROUP_NAME,DEALER_TYPE) VALUES (" +
|
":id,:cateId,:category_name,:level_id,:level_name,:responseTime,:resolveTime,1,2,:customerId,:userId,:userName,:groupId,:groupName,2)";
|
|
baseDao.executeBatch(saveSql1,paramListSaveConfig);
|
}
|
|
|
if(paramListUpdateConfig.size()>0) {
|
String updateSql1 = "UPDATE SC_SLA_CONFIG SET CATEGORY_ID = :cateId,CATEGORY_NAME = :category_name,LEVEL_ID = :level_id,LEVEL_NAME = :level_name,RESPONSE_TIME = :responseTime,RESOLVE_TIME = :resolveTime," +
|
"CUSTOMER_ID = :customerId,USER_ID = :userId,USER_NAME = :userName,GROUP_ID = :groupId,GROUP_NAME = :groupName,DEALER_TYPE = 2 WHERE ID = :id";
|
baseDao.executeBatch(updateSql1,paramListUpdateConfig);
|
}
|
|
|
if(paramList.size()>0) {
|
String sql = "INSERT INTO SC_SLA_USER(ID,LEVEL_ID,NOTICE_TYPE,OVER_TIME,USER_ID,USER_NAME,TYPE,DEALER_TYPE,GROUP_ID,GROUP_NAME) VALUES(:id,:level_id,:notice_type,:over_time,:user_id,:user_name,:type,:dealer_type,:group_id,:group_name)";
|
baseDao.executeBatch(sql, paramList);
|
}
|
return true;
|
}
|
|
public List queryTreeList(String customerId,List<Map> levels) {
|
String sql="SELECT A.* FROM SC_SERVCE_CATEGORY A,SC_SERVCE_CATEGORY_CUSTOMER B WHERE A.ID = B.CATEGORY_ID AND A.STATE = 1 AND B.STATE = 1 AND B.CUSTOMER_ID = :customerId ORDER BY A.LEVEL,A.SERIAL ";
|
SqlParameter sqlParameter = new SqlParameter("customerId", customerId);
|
List<Map> categoryList = baseDao.queryForList(sql,sqlParameter);
|
|
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>();
|
|
|
//查询该客户的项目的服务目录的所有负责人信息
|
String userSql = "SELECT * FROM SC_SERVCE_CATEGORY_USER WHERE CUSTOMER_ID = :customerId ";
|
List<Map> users = baseDao.queryForList(userSql,sqlParameter);
|
Map cacheMap = new HashMap();
|
if(null!=users && users.size()>0) {
|
for(Map user : users) {
|
String cateId = ConvertUtil.obj2StrBlank(user.get("CATEGORY_ID"));
|
String userType = ConvertUtil.obj2StrBlank(user.get("USER_TYPE"));
|
cacheMap.put(cateId+"-"+userType, user);
|
}
|
}
|
|
//查询级别对应的协议设置
|
String configSql = "SELECT * FROM SC_SLA_CONFIG WHERE STATE = 1 AND CUSTOMER_ID = :customerId ";
|
List<Map> configs = baseDao.queryForList(configSql,sqlParameter);
|
Map cacheConfig = new HashMap();
|
if(null!=configs && configs.size()>0) {
|
for(Map config : configs) {
|
String categoryId = ConvertUtil.obj2StrBlank(config.get("CATEGORY_ID"));
|
String levelId = ConvertUtil.obj2StrBlank(config.get("LEVEL_ID"));
|
String key = categoryId + "-" + levelId;
|
cacheConfig.put(key, config);
|
}
|
}
|
|
|
//查询人员信息
|
String timeUserSql = "SELECT A.*,B.CATEGORY_ID,B.LEVEL_ID,B.ID AS CONFIG_ID FROM SC_SLA_USER A,SC_SLA_CONFIG B WHERE A.LEVEL_ID = B.ID AND B.STATE = 1 AND B.CUSTOMER_ID = :customerId ORDER BY A.OVER_TIME ";
|
List<Map> timeUsers = baseDao.queryForList(timeUserSql,sqlParameter);
|
Map cacheXyTime = new HashMap();
|
Map cacheJjTime = new HashMap();
|
|
if(null!=timeUsers && timeUsers.size()>0) {
|
for(Map user : timeUsers) {
|
String id = ConvertUtil.obj2StrBlank(user.get("CONFIG_ID"));
|
|
String noticeType = ConvertUtil.obj2StrBlank(user.get("NOTICE_TYPE"));
|
if(noticeType.equals("1")) {
|
if(cacheXyTime.containsKey(id)) {
|
List list = (List)cacheXyTime.get(id);
|
list.add(user);
|
} else {
|
List list = new ArrayList();
|
list.add(user);
|
cacheXyTime.put(id, list);
|
}
|
} else {
|
if(cacheJjTime.containsKey(id)) {
|
List list = (List)cacheJjTime.get(id);
|
list.add(user);
|
} else {
|
List list = new ArrayList();
|
list.add(user);
|
cacheJjTime.put(id, list);
|
}
|
}
|
}
|
}
|
|
|
if(null!=categoryList && categoryList.size()>0) {
|
|
for (Map map : categoryList) {
|
|
//一级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("1")) {
|
yjgnCache.put(map.get("ID").toString(), map);
|
List<Map> ejgnList = new LinkedList<Map>();
|
map.put("ejTree", ejgnList);
|
resultList.add(map);
|
continue;
|
}
|
//二级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("2")) {
|
|
String pId = ConvertUtil.obj2StrBlank(map.get("P_ID"));
|
if(yjgnCache.containsKey(pId)) {
|
|
Map yjgnMap = yjgnCache.get(pId);
|
List<Map> list = (List<Map>)yjgnMap.get("ejTree");
|
map.put("sjTree", new LinkedList<Map>());
|
list.add(map);
|
|
ejgnCache.put(map.get("ID").toString(), map);
|
}
|
continue;
|
}
|
//三级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("3")) {
|
if(null!=map.get("P_ID")){
|
String pId = ConvertUtil.obj2StrBlank(map.get("P_ID"));
|
if(ejgnCache.containsKey(pId)) {
|
|
String categoryId = ConvertUtil.obj2StrBlank(map.get("ID"));
|
|
Map ejgnMap = ejgnCache.get(pId);
|
List<Map> list = (List<Map>)ejgnMap.get("sjTree");
|
|
|
//存放级别配置信息
|
if(null!=levels && levels.size()>0) {
|
for(Map level : levels) {
|
String levelId = ConvertUtil.obj2StrBlank(level.get("ID"));
|
String key = categoryId + "-" + levelId;
|
|
String configMsg = "config"+levelId;
|
|
if(cacheConfig.containsKey(key)) {
|
Map config = (Map)cacheConfig.get(key);
|
|
String configId = ConvertUtil.obj2StrBlank(config.get("ID"));
|
if(cacheXyTime.containsKey(configId)) {
|
List xys = (List)cacheXyTime.get(configId);
|
while (xys.size()<3) {
|
xys.add(new HashMap());
|
}
|
|
|
config.put("xys", xys);
|
}
|
|
if(cacheJjTime.containsKey(configId)) {
|
List jjs = (List)cacheJjTime.get(configId);
|
while (jjs.size()<3) {
|
jjs.add(new HashMap());
|
}
|
config.put("jjs", jjs);
|
}
|
|
|
|
map.put(configMsg, config);
|
} else {
|
map.put(configMsg, new HashMap());
|
}
|
}
|
}
|
|
list.add(map);
|
}
|
|
|
}
|
}
|
}
|
|
for(int i = 0;i < resultList.size();i++ ){
|
List<Map> ejlist = (List<Map>)resultList.get(i).get("ejTree");
|
if(ejlist != null){
|
if(ejlist.size() == 0){
|
resultList.remove(i);
|
i = i -1 ;
|
}else{
|
int count = 0;
|
for(int j = 0;j < ejlist.size();j++){
|
List<Map> sjlist = (List<Map>)ejlist.get(j).get("sjTree");
|
if(sjlist != null){
|
if(sjlist.size() == 0){
|
ejlist.remove(j);
|
j = j -1 ;
|
resultList.get(i).put("ejTree", ejlist);
|
}else{
|
count = count + 1;
|
}
|
}else{
|
ejlist.remove(j);
|
j = j -1 ;
|
resultList.get(i).put("ejTree", ejlist);
|
}
|
}
|
if(count == 0){
|
resultList.remove(i);
|
i = i -1 ;
|
}
|
}
|
}else{
|
resultList.remove(i);
|
i = i -1 ;
|
}
|
}
|
|
|
int totalNum = 0;
|
//查询三级分类展示成列表的需要占的表格数
|
for(Map yj : resultList) {
|
int num = 0;
|
List<Map> ejList = (List<Map>)(yj.get("ejTree"));
|
if(null!=ejList && ejList.size()>0) {
|
for(Map ej :ejList) {
|
List sjList = (List)ej.get("sjTree");
|
int sjNum = sjList.size();
|
if(sjNum>0) {
|
num = num+sjNum;
|
ej.put("sjNum", sjNum);
|
} else {
|
num = num+1;
|
ej.put("sjNum", 1);
|
}
|
}
|
} else {
|
num = num+1;
|
}
|
totalNum += num;
|
yj.put("num", num);
|
}
|
}
|
|
System.out.println(JsonUtil.list2Json(resultList));
|
return resultList;
|
}
|
|
@Override
|
public Map getSlaList(HttpServletRequest request) {
|
String cateid = request.getParameter("cateId");
|
String levelid = request.getParameter("levelid");
|
String customerId = request.getParameter("customerId");
|
String sql = "SELECT * FROM SC_SLA_CONFIG WHERE CATEGORY_ID = :category_id AND CUSTOMER_ID = :customer_id AND LEVEL_ID = :level_id AND STATE = :state";
|
Map param = new HashMap();
|
param.put("category_id", cateid);
|
param.put("level_id", levelid);
|
param.put("customer_id", customerId);
|
param.put("state", 1);
|
Map slaMap = baseDao.queryForMap(sql, param);
|
|
|
String userId = ConvertUtil.obj2StrBlank(slaMap.get("USER_ID"));
|
List users = new ArrayList();
|
if(StringUtil.notEmpty(userId)) {
|
String[] ids = userId.split(",");
|
String userName = ConvertUtil.obj2StrBlank(slaMap.get("USER_NAME"));
|
String[] names = userName.split(",");
|
for(int i=0; i<ids.length; i++) {
|
Map map = new HashMap();
|
map.put("userId", ids[i]);
|
map.put("userName", names[i]);
|
users.add(map);
|
}
|
}
|
|
slaMap.put("users", users);
|
|
String configId = ConvertUtil.obj2StrBlank(slaMap.get("ID"));
|
String sqluser = "SELECT A.* FROM SC_SLA_USER A WHERE A.LEVEL_ID = :level_id ORDER BY A.OVER_TIME";
|
List<Map> list = baseDao.queryForList(sqluser, new SqlParameter("level_id",configId));
|
|
List<Map> userList = new ArrayList<Map>();
|
List<Map> userjjList = new ArrayList<Map>();
|
if(null!=list && list.size()>0) {
|
for(Map map : list) {
|
String noticeType = ConvertUtil.obj2StrBlank(map.get("NOTICE_TYPE"));
|
if(noticeType.equals(Constants.SC_SLA_USER_NOTICE_TYPE_ANSWER_OVERTIME)) {
|
userList.add(map);
|
} else {
|
userjjList.add(map);
|
}
|
}
|
}
|
|
|
Map xy1 = new HashMap();
|
Map xy2 = new HashMap();
|
Map xy3 = new HashMap();
|
if(null!=userList && userList.size()>0) {
|
if(userList.size()==1) {
|
xy1 = userList.get(0);
|
} else if (userList.size()==2) {
|
xy1 = userList.get(0);
|
xy2 = userList.get(1);
|
} else if (userList.size()==3) {
|
xy1 = userList.get(0);
|
xy2 = userList.get(1);
|
xy3 = userList.get(2);
|
}
|
}
|
if(xy1.size()>0) {
|
String uId = ConvertUtil.obj2StrBlank(xy1.get("USER_ID"));
|
List us = new ArrayList();
|
if(StringUtil.notEmpty(uId)) {
|
String[] ids = uId.split(",");
|
String userName = ConvertUtil.obj2StrBlank(xy1.get("USER_NAME"));
|
String[] names = userName.split(",");
|
for(int i=0; i<ids.length; i++) {
|
Map map = new HashMap();
|
map.put("userId", ids[i]);
|
map.put("userName", names[i]);
|
us.add(map);
|
}
|
}
|
xy1.put("users", us);
|
}
|
|
if(xy2.size()>0) {
|
String uId = ConvertUtil.obj2StrBlank(xy2.get("USER_ID"));
|
List us = new ArrayList();
|
if(StringUtil.notEmpty(uId)) {
|
String[] ids = uId.split(",");
|
String userName = ConvertUtil.obj2StrBlank(xy2.get("USER_NAME"));
|
String[] names = userName.split(",");
|
for(int i=0; i<ids.length; i++) {
|
Map map = new HashMap();
|
map.put("userId", ids[i]);
|
map.put("userName", names[i]);
|
us.add(map);
|
}
|
}
|
xy2.put("users", us);
|
}
|
|
|
if(xy3.size()>0) {
|
String uId = ConvertUtil.obj2StrBlank(xy3.get("USER_ID"));
|
List us = new ArrayList();
|
if(StringUtil.notEmpty(uId)) {
|
String[] ids = uId.split(",");
|
String userName = ConvertUtil.obj2StrBlank(xy3.get("USER_NAME"));
|
String[] names = userName.split(",");
|
for(int i=0; i<ids.length; i++) {
|
Map map = new HashMap();
|
map.put("userId", ids[i]);
|
map.put("userName", names[i]);
|
us.add(map);
|
}
|
}
|
xy3.put("users", us);
|
}
|
|
slaMap.put("xy1", xy1);
|
slaMap.put("xy2", xy2);
|
slaMap.put("xy3", xy3);
|
|
|
Map jiej1 = new HashMap();
|
Map jiej2 = new HashMap();
|
Map jiej3 = new HashMap();
|
if(null!=userjjList && userjjList.size()>0) {
|
if(userjjList.size()==1) {
|
jiej1 = userjjList.get(0);
|
} else if (userjjList.size()==2) {
|
jiej1 = userjjList.get(0);
|
jiej2 = userjjList.get(1);
|
} else if (userjjList.size()==3) {
|
jiej1 = userjjList.get(0);
|
jiej2 = userjjList.get(1);
|
jiej3 = userjjList.get(2);
|
}
|
}
|
|
if(jiej1.size()>0) {
|
String uId = ConvertUtil.obj2StrBlank(jiej1.get("USER_ID"));
|
List us = new ArrayList();
|
if(StringUtil.notEmpty(uId)) {
|
String[] ids = uId.split(",");
|
String userName = ConvertUtil.obj2StrBlank(jiej1.get("USER_NAME"));
|
String[] names = userName.split(",");
|
for(int i=0; i<ids.length; i++) {
|
Map map = new HashMap();
|
map.put("userId", ids[i]);
|
map.put("userName", names[i]);
|
us.add(map);
|
}
|
}
|
jiej1.put("users", us);
|
}
|
|
if(jiej2.size()>0) {
|
String uId = ConvertUtil.obj2StrBlank(jiej2.get("USER_ID"));
|
List us = new ArrayList();
|
if(StringUtil.notEmpty(uId)) {
|
String[] ids = uId.split(",");
|
String userName = ConvertUtil.obj2StrBlank(jiej2.get("USER_NAME"));
|
String[] names = userName.split(",");
|
for(int i=0; i<ids.length; i++) {
|
Map map = new HashMap();
|
map.put("userId", ids[i]);
|
map.put("userName", names[i]);
|
us.add(map);
|
}
|
}
|
jiej2.put("users", us);
|
}
|
|
|
if(jiej3.size()>0) {
|
String uId = ConvertUtil.obj2StrBlank(jiej3.get("USER_ID"));
|
List us = new ArrayList();
|
if(StringUtil.notEmpty(uId)) {
|
String[] ids = uId.split(",");
|
String userName = ConvertUtil.obj2StrBlank(jiej3.get("USER_NAME"));
|
String[] names = userName.split(",");
|
for(int i=0; i<ids.length; i++) {
|
Map map = new HashMap();
|
map.put("userId", ids[i]);
|
map.put("userName", names[i]);
|
us.add(map);
|
}
|
}
|
jiej3.put("users", us);
|
}
|
|
|
slaMap.put("jiej1", jiej1);
|
slaMap.put("jiej2", jiej2);
|
slaMap.put("jiej3", jiej3);
|
|
return slaMap;
|
}
|
|
/**
|
* 查询所有的项目联系人
|
*/
|
@Override
|
public List queryAllCusContacts(String customerId) {
|
String sql = "SELECT * FROM CUSTOMER_CONTACTS WHERE STATE = 1 AND CUSTOMER_ID = :customerId ";
|
List users = baseDao.queryForList(sql,new SqlParameter("customerId",customerId));
|
return users;
|
}
|
|
@Override
|
public void saveSlaTab(HttpServletRequest request) {
|
String levelid = request.getParameter("levelid");
|
String customerId = request.getParameter("customerId");
|
String id = request.getParameter("id");
|
String isSelf = request.getParameter("isSelf");
|
|
String levelName = ConvertUtil.obj2Str(new SC_SLA(levelid).getBeanMapById().get("LEVEL_NAME"));
|
String cateId = request.getParameter("cateId");
|
SC_SERVCE_CATEGORY cate = new SC_SERVCE_CATEGORY(cateId).getInstanceById();
|
String cateName = ConvertUtil.obj2Str(cate.getCategory_name());
|
String response_time = request.getParameter("response_time");
|
String resolve_time = request.getParameter("resolve_time");
|
|
|
String user1 = request.getParameter("user1");
|
String userName1 = request.getParameter("userName1");
|
|
SC_SLA_CONFIG config = new SC_SLA_CONFIG();
|
config.setCategory_id(cateId).setCategory_name(cateName).setLevel_id(levelid).setLevel_name(levelName)
|
.setResolve_time(ConvertUtil.obj2Integer(resolve_time))
|
.setResponse_time(ConvertUtil.obj2Integer(response_time)).setCustomer_id(customerId)
|
.setDealer_type(2).setGroup_id("").setGroup_name("").setUser_id(user1).setUser_name(userName1);
|
if("1".equals(isSelf)){
|
config.setId(id).update();
|
}else{
|
config.setState(1).setType(2).insert();
|
}
|
|
String configId = config.getId();
|
|
baseDao.execute("DELETE FROM SC_SLA_USER WHERE LEVEL_ID = :level_id", new SqlParameter("level_id",config.getId()));
|
|
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for(int i=2; i<=7; i++) {
|
|
String time = request.getParameter("time"+i);
|
if(StringUtil.notEmpty(time)) {
|
String user = request.getParameter("user"+i);
|
String userName = request.getParameter("userName"+i);
|
SqlParameter param = new SqlParameter();
|
param.put("id", StringUtil.getUUID());
|
param.put("level_id",configId );
|
if(i>4) {
|
param.put("notice_type", Constants.SC_SLA_USER_NOTICE_TYPE_RESOLVE_OVERTIME);
|
} else {
|
param.put("notice_type", Constants.SC_SLA_USER_NOTICE_TYPE_ANSWER_OVERTIME);
|
}
|
param.put("over_time", time);
|
param.put("user_id", user);
|
param.put("user_name", userName);
|
param.put("type", "2");
|
param.put("dealer_type", "2");
|
param.put("group_id", "");
|
param.put("group_name", "");
|
paramList.add(param);
|
}
|
}
|
|
if(paramList.size()>0) {
|
String sql = "INSERT INTO SC_SLA_USER(ID,LEVEL_ID,NOTICE_TYPE,OVER_TIME,USER_ID,USER_NAME,TYPE,DEALER_TYPE,GROUP_ID,GROUP_NAME) VALUES(:id,:level_id,:notice_type,:over_time,:user_id,:user_name,:type,:dealer_type,:group_id,:group_name)";
|
baseDao.executeBatch(sql, paramList);
|
}
|
|
|
//二级等级协议修改,对应三级等级协议清空
|
if(cate.getLevel() == 2){
|
String catesql = "SELECT * FROM SC_SERVCE_CATEGORY WHERE P_ID = :p_id ";
|
List<Map> cateList = baseDao.queryForList(catesql, new SqlParameter("p_id",cate.getId()));
|
List<SqlParameter> paramsList = new ArrayList<SqlParameter>();
|
for(Map map:cateList){
|
SqlParameter param = new SqlParameter();
|
param.put("category_id", map.get("ID"));
|
param.put("level_id", levelid);
|
param.put("customer_id", customerId);
|
paramsList.add(param);
|
}
|
String del = "DELETE FROM SC_SLA_USER WHERE LEVEL_ID = (SELECT ID FROM SC_SLA_CONFIG WHERE CATEGORY_ID = :category_id AND CUSTOMER_ID =:customer_id AND LEVEL_ID = :level_id )";
|
String delcfg = "DELETE FROM SC_SLA_CONFIG WHERE CATEGORY_ID = :category_id AND CUSTOMER_ID =:customer_id AND LEVEL_ID = :level_id ";
|
baseDao.executeBatch(del, paramsList);
|
baseDao.executeBatch(delcfg, paramsList);
|
}
|
|
}
|
|
@Override
|
public Map queryAllUser() {
|
//当前登录加盟商所有用户,包括加盟商
|
String userSql = "select ID,ZSXM,SSBMBH,LOGINNAME from gg_user where zt=1 order by bmpx asc";
|
Map param = new HashMap();
|
List<Map> allUserList = baseDao.queryForList(userSql,param);
|
Map resultMap = new HashMap();
|
resultMap.put("PARTNERLIST", allUserList);
|
|
//所有部门
|
String sql = "SELECT * FROM GG_ZZJG WHERE ZT=1 ORDER BY CENGJ ASC,SXH ASC";
|
List<Map> bmList = baseDao.queryForList(sql, new SqlParameter());
|
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 : bmList) {
|
String level = map.get("CENGJ").toString();
|
String id = map.get("ID").toString();
|
|
//一级树
|
if (level.equalsIgnoreCase("1")) {
|
yjgnCache.put(id, map);
|
List<Map> ejgnList = new LinkedList<Map>();
|
map.put("ejTree", ejgnList);
|
resultList.add(map);
|
continue;
|
}
|
//二级树
|
if (level.equalsIgnoreCase("2")) {
|
String pId = map.get("SJBH").toString();
|
if(yjgnCache.containsKey(pId)) {
|
Map yjgnMap = yjgnCache.get(pId);
|
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("SJBH")){
|
String pId = map.get("SJBH").toString();
|
if(ejgnCache.containsKey(pId)) {
|
Map ejgnMap = ejgnCache.get(map.get("SJBH").toString());
|
List<Map> list = (List<Map>)ejgnMap.get("sjTree");
|
map.put("fjTree", new LinkedList<Map>());
|
list.add(map);
|
sjgnCache.put(id, map);
|
}
|
}
|
}
|
}
|
resultMap.put("resultList", resultList);
|
return resultMap;
|
}
|
|
@Override
|
public void updateSla(Map<String, String> params) {
|
String levelid = params.get("levelid");
|
String customerId = params.get("customerId");
|
String id = params.get("id");
|
String cateId = params.get("cateId");
|
SC_SERVCE_CATEGORY cate = new SC_SERVCE_CATEGORY(cateId).getInstanceById();
|
SC_SLA_CONFIG config = new SC_SLA_CONFIG(id);
|
|
baseDao.execute("DELETE FROM SC_SLA_USER WHERE LEVEL_ID = :id", params);
|
config.deleteById();
|
|
//二级等级协议修改,对应三级等级协议清空
|
if(cate.getLevel() == 2){
|
String catesql = "SELECT * FROM SC_SERVCE_CATEGORY WHERE P_ID = :cateId ";
|
List<Map> cateList = baseDao.queryForList(catesql, params);
|
List<SqlParameter> paramsList = new ArrayList<SqlParameter>();
|
for(Map map:cateList){
|
SqlParameter param = new SqlParameter();
|
param.put("category_id", map.get("ID"));
|
param.put("level_id", levelid);
|
param.put("customer_id", customerId);
|
paramsList.add(param);
|
}
|
String del = "DELETE FROM SC_SLA_USER WHERE LEVEL_ID = (SELECT ID FROM SC_SLA_CONFIG WHERE CATEGORY_ID = :category_id AND CUSTOMER_ID =:customer_id AND LEVEL_ID = :level_id )";
|
String delcfg = "DELETE FROM SC_SLA_CONFIG WHERE CATEGORY_ID = :category_id AND CUSTOMER_ID =:customer_id AND LEVEL_ID = :level_id ";
|
baseDao.executeBatch(del, paramsList);
|
baseDao.executeBatch(delcfg, paramsList);
|
}
|
|
}
|
|
@Override
|
public boolean saveUser(HttpServletRequest request) {
|
|
String cateId = request.getParameter("cateId");
|
String customerId = request.getParameter("customerId");
|
Map type = new HashMap();
|
type.put("1", "一线工程师");
|
type.put("2", "二线工程师");
|
type.put("3", "三线工程师");
|
//查询工单类型
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
List result = new ArrayList();
|
for (Object key : type.keySet()) {
|
String dealer_type = request.getParameter("dealType"+key);
|
if(StringUtil.notEmpty(dealer_type)) {
|
String group_id = request.getParameter("group"+key);
|
String group_name = request.getParameter("groupName"+key);
|
String user_id = new String();
|
String user_name = new String();
|
if(dealer_type.equals("2")) {
|
user_id = request.getParameter("user"+key);
|
user_name = request.getParameter("userName"+key);
|
group_id = request.getParameter("roleId"+key);
|
group_name = request.getParameter("roleName"+key);
|
}
|
|
SqlParameter sqlParameter = new SqlParameter();
|
sqlParameter.put("id", StringUtil.getUUID());
|
sqlParameter.put("category_id", cateId);
|
sqlParameter.put("user_type", dealer_type);
|
sqlParameter.put("user_id", user_id);
|
sqlParameter.put("user_name", user_name);
|
sqlParameter.put("group_id", group_id);
|
sqlParameter.put("group_name", group_name);
|
sqlParameter.put("customer_id", customerId);
|
paramList.add(sqlParameter);
|
}
|
}
|
|
if(null!=paramList && paramList.size()>0) {
|
|
String deleteSql = "DELETE FROM SC_SERVCE_CATEGORY_USER WHERE CATEGORY_ID = :cateId AND CUSTOMER_ID =:customer_id ";
|
Map paramMap = new HashMap();
|
paramMap.put("cateId", cateId);
|
paramMap.put("customer_id", customerId);
|
baseDao.execute(deleteSql, paramMap);
|
String insertSql = "INSERT INTO SC_SERVCE_CATEGORY_USER(ID,CATEGORY_ID,USER_TYPE,USER_ID,USER_NAME,GROUP_ID,GROUP_NAME,CUSTOMER_ID) VALUES (:id,:category_id,:user_type,:user_id,:user_name,:group_id,:group_name,:customer_id) ";
|
baseDao.executeBatch(insertSql,paramList);
|
}
|
|
//二级服务人员修改,对应三级服务人员清空
|
SC_SERVCE_CATEGORY cate = new SC_SERVCE_CATEGORY(cateId).getInstanceById();
|
if(cate.getLevel() == 2){
|
String catesql = "SELECT * FROM SC_SERVCE_CATEGORY WHERE P_ID = :p_id ";
|
List<Map> cateList = baseDao.queryForList(catesql, new SqlParameter("p_id",cate.getId()));
|
List<SqlParameter> paramsList = new ArrayList<SqlParameter>();
|
for(Map map:cateList){
|
SqlParameter param = new SqlParameter();
|
param.put("category_id", map.get("ID"));
|
param.put("customer_id", customerId);
|
paramsList.add(param);
|
}
|
String del = "DELETE FROM SC_SERVCE_CATEGORY_USER WHERE CATEGORY_ID = :category_id AND CUSTOMER_ID =:customer_id ";
|
baseDao.executeBatch(del, paramsList);
|
}
|
|
return true;
|
}
|
|
@Override
|
public void updateSlaUser(Map<String, String> params) {
|
String customerId = params.get("customerId");
|
String cateId = params.get("cateId");
|
SC_SERVCE_CATEGORY cate = new SC_SERVCE_CATEGORY(cateId).getInstanceById();
|
|
baseDao.execute("DELETE FROM SC_SERVCE_CATEGORY_USER WHERE CATEGORY_ID = :cateId AND CUSTOMER_ID = :customerId ", params);
|
|
//二级服务人员修改,对应三级服务人员清空
|
if(cate.getLevel() == 2){
|
String catesql = "SELECT * FROM SC_SERVCE_CATEGORY WHERE P_ID = :cateId ";
|
List<Map> cateList = baseDao.queryForList(catesql, params);
|
List<SqlParameter> paramsList = new ArrayList<SqlParameter>();
|
for(Map map:cateList){
|
SqlParameter param = new SqlParameter();
|
param.put("category_id", map.get("ID"));
|
param.put("customer_id", customerId);
|
paramsList.add(param);
|
}
|
String del = "DELETE FROM SC_SERVCE_CATEGORY_USER WHERE CATEGORY_ID = :category_id AND CUSTOMER_ID = :customer_id ";
|
baseDao.executeBatch(del, paramsList);
|
}
|
|
}
|
|
}
|