package cn.ksource.web.service.partner;
|
|
import java.io.File;
|
import java.io.IOException;
|
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.apache.commons.lang.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.beans.GG_FILES;
|
import cn.ksource.beans.SC_PARTNER_INFO;
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.EqualUtil;
|
import cn.ksource.core.util.FileUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.TreeNode;
|
import cn.ksource.core.web.WebUtil;
|
|
@Service("partnerService")
|
public class PartnerServiceImpl implements PartnerService {
|
@Autowired
|
public BaseDao baseDao;
|
|
@Override
|
public List<Map> getPartnerCustomerList(String partnerId) {
|
String sql = "select ID as CUSTOMER_ID,CUSTOMER_NAME from sc_partner_customer_info "
|
+ "where PARTNER_ID=:partner_id and CUSTOMER_STATE=1 order by CREATE_TIME";
|
|
return baseDao.queryForList(sql, new SqlParameter("partner_id", partnerId));
|
}
|
|
@Override
|
public List<Map> getZcCustomerList(String zcUserId) {
|
String sql = "select DISTINCT CUSTOMER_ID,CUSTOMER_NAME from sc_expatriates "
|
+ "where USER_ID=:employee_id and USINGSTATE=1 ORDER BY CUSTOMER_NAME";
|
|
return baseDao.queryForList(sql, new SqlParameter("employee_id", zcUserId));
|
}
|
|
@Override
|
public TreeNode getPartnerCiCategoryTree(String categoryId, String partnerId) {
|
TreeNode root = new TreeNode("0","配置分类树");
|
StringBuilder sql = new StringBuilder();
|
sql.append(" select c.* from CMDB_CI_CATEGORY c where c.partner_id=:partner_id and leix = 1 and cate_type=1 ");
|
|
if (StringUtils.isBlank(categoryId)) {
|
sql.append("and c.JB=1 and c.pid is null ");
|
} else {
|
sql.append("and c.pid=:pid ");
|
}
|
sql.append("order by c.STATE,c.JB,c.SERIAL ");
|
SqlParameter param = new SqlParameter("pid",categoryId);
|
param.addValue("partner_id", partnerId);
|
|
List<Map> categoryList = baseDao.queryForList(sql.toString(), param);
|
|
for (Map map : categoryList) {
|
TreeNode yjTree = new TreeNode(map.get("ID").toString(),map.get("NAME").toString());
|
if (!EqualUtil.isStringEqual(map.get("JB"), "3")) {
|
yjTree.setIsOpen(false);
|
}
|
Map attr = new HashMap();
|
attr.put("ISNODE", "1");
|
attr.put("JB", map.get("JB").toString());
|
yjTree.setAttributes(attr);
|
root.addChild(yjTree);
|
}
|
return root;
|
}
|
|
@Override
|
public List<Map> getPartnerList() {
|
String sql = "select ID as PARTNER_ID,PARTNER_NAME from sc_partner_info where PARTNER_STATE=1 order by PARTNER_NAME ";
|
|
return baseDao.queryForList(sql, new SqlParameter());
|
}
|
|
@Override
|
public List<Map> getPartnerUserList(String partnerId) {
|
String sql = "select ID as USER_ID,ZSXM as USER_NAME from gg_user "
|
+ "where MANUFACTURERID=:partner_id and ZT=1 and ACCOUNTTYPE=3 ";
|
|
return baseDao.queryForList(sql, new SqlParameter("partner_id", partnerId));
|
}
|
|
@Override
|
public List<Map> getPartnerManufactureList(String partnerId, Integer type) {
|
String sql = "select ID,MANUFACTURERNAME,TYPE from cmdb_mainufacturer "
|
+ "where PARTNER_ID=:partner_id and STATE=1 ";
|
|
SqlParameter param = new SqlParameter("partner_id", partnerId);
|
|
// 动态查询type 参数 zhaoqt 2015.05.10 modify
|
if(type != null) {
|
sql += " and TYPE=:type";
|
param.addValue("type", type);
|
}
|
|
return baseDao.queryForList(sql, param);
|
}
|
|
@Override
|
public void doInitCiCategory(String partnerId) {
|
//配置项分类表初始化
|
String sql = "select * from CMDB_CI_CATEGORY where STATE=1 AND JB = :jb and cate_type=1 AND PARTNER_ID is null and cate_type=1 ";
|
List<Map> yjlist = baseDao.queryForList(sql,new SqlParameter("jb",1));
|
List<Map> ejlist = baseDao.queryForList(sql,new SqlParameter("jb",2));
|
List<Map> sjlist = baseDao.queryForList(sql,new SqlParameter("jb",3));
|
Map cacheMap = new HashMap();
|
sql = "insert into CMDB_CI_CATEGORY(ID,NAME,CODE,JB,SERIAL,NOTE,PID,STATE,ICON,TABLE_NAME,LEIX,PARTNER_ID) values(:id,:name,:code,:jb,:serial,:note,:pid,:state,:icon,:table_name,:leix,:partner_id)";
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
if (yjlist != null && yjlist.size() > 0) {
|
for (Map map : yjlist) {
|
String newid = StringUtil.getUUID();
|
cacheMap.put(map.get("ID"), newid);
|
SqlParameter param = new SqlParameter();
|
param.addValue("id", newid);
|
param.addValue("name", map.get("NAME"));
|
param.addValue("code", map.get("CODE"));
|
param.addValue("jb", map.get("JB"));
|
param.addValue("serial", map.get("SERIAL"));
|
param.addValue("note", map.get("NOTE"));
|
param.addValue("state", map.get("STATE"));
|
param.addValue("icon", map.get("ICON"));
|
param.addValue("note", map.get("NOTE"));
|
param.addValue("pid", null);
|
param.addValue("table_name", map.get("TABLE_NAME"));
|
param.addValue("leix", map.get("LEIX"));
|
param.addValue("partner_id", partnerId);
|
|
paramList.add(param);
|
}
|
}
|
if (ejlist != null && ejlist.size() > 0) {
|
for (Map map : ejlist) {
|
String newid = StringUtil.getUUID();
|
cacheMap.put(map.get("ID"), newid);
|
SqlParameter param = new SqlParameter();
|
param.addValue("id", newid);
|
param.addValue("name", map.get("NAME"));
|
param.addValue("code", map.get("CODE"));
|
param.addValue("jb", map.get("JB"));
|
param.addValue("serial", map.get("SERIAL"));
|
param.addValue("note", map.get("NOTE"));
|
param.addValue("state", map.get("STATE"));
|
param.addValue("icon", map.get("ICON"));
|
param.addValue("note", map.get("NOTE"));
|
param.addValue("pid", cacheMap.get(map.get("PID")));
|
param.addValue("table_name", map.get("TABLE_NAME"));
|
param.addValue("leix", map.get("LEIX"));
|
param.addValue("partner_id", partnerId);
|
|
paramList.add(param);
|
}
|
}
|
if (sjlist != null && sjlist.size() > 0) {
|
for (Map map : sjlist) {
|
String newid = StringUtil.getUUID();
|
cacheMap.put(map.get("ID"), newid);
|
SqlParameter param = new SqlParameter();
|
param.addValue("id", newid);
|
param.addValue("name", map.get("NAME"));
|
param.addValue("code", map.get("CODE"));
|
param.addValue("jb", map.get("JB"));
|
param.addValue("serial", map.get("SERIAL"));
|
param.addValue("note", map.get("NOTE"));
|
param.addValue("state", map.get("STATE"));
|
param.addValue("icon", map.get("ICON"));
|
param.addValue("note", map.get("NOTE"));
|
param.addValue("pid", cacheMap.get(map.get("PID")));
|
param.addValue("table_name", map.get("TABLE_NAME"));
|
param.addValue("leix", map.get("LEIX"));
|
param.addValue("partner_id", partnerId);
|
|
paramList.add(param);
|
}
|
}
|
|
baseDao.executeBatch(sql, paramList);
|
//配置项属性分组表初始化
|
sql = "select B.* from CMDB_CI_CATEGORY A,CMDB_CI_PROPERTIY_GROUP B where A.ID = B.CATEGORY_ID AND B.STATE=1 AND A.STATE=1 and cate_type=1 AND A.PARTNER_ID is null ";
|
List<Map> grouplist = baseDao.queryForList(sql);
|
Map groupcacheMap = new HashMap();
|
sql = "insert into CMDB_CI_PROPERTIY_GROUP(ID,GROUP_NAME,ORDERNUM,NOTE,STATE,CATEGORY_ID) values(:id,:group_name,:ordernum,:note,:state,:category_id)";
|
List<SqlParameter> groupparamList = new ArrayList<SqlParameter>();
|
if(grouplist != null && grouplist.size() > 0){
|
for(Map map:grouplist){
|
String newid = StringUtil.getUUID();
|
groupcacheMap.put(map.get("ID"), newid);
|
SqlParameter param = new SqlParameter();
|
param.addValue("id", newid);
|
param.addValue("group_name", map.get("GROUP_NAME"));
|
param.addValue("ordernum", map.get("ORDERNUM"));
|
param.addValue("jb", map.get("JB"));
|
param.addValue("note", map.get("NOTE"));
|
param.addValue("state", map.get("STATE"));
|
param.addValue("category_id", cacheMap.get(map.get("CATEGORY_ID")));
|
groupparamList.add(param);
|
}
|
}
|
baseDao.executeBatch(sql, groupparamList);
|
//扩展字段表初始化
|
sql = "select * from CMDB_CI_EXTEND_COLUMN where STATE=1 AND PARTNER_ID is null ";
|
List<Map> columnlist = baseDao.queryForList(sql);
|
Map columncacheMap = new HashMap();
|
sql = "insert into CMDB_CI_EXTEND_COLUMN(ID,COLUMNNAME,COLUMNCODE,DATATYPE,ALLOWNULL,MINVALUES,MAXVALUES,SHOWINLIST,ALLOWQUERY,INPUTTYPE,SELECTVALUE,STATE,CREATETIME,NOTE,ORDERNUM,ALERT,CMDB_CI_PRO_GROUP_ID,BUSINESS_TYPE,PARTNER_ID) values(:id,:columnname,:columncode,:datatype,:allownull,:minvalues,:maxvalues,:showinlist,:allowquery,:inputtype,:selectvalue,:state,:createtime,:note,:ordernum,:alert,:cmdb_ci_pro_group_id,:business_type,:partner_id)";
|
List<SqlParameter> columnparamList = new ArrayList<SqlParameter>();
|
if(columnlist != null && columnlist.size() > 0){
|
for(Map map:columnlist){
|
String newid = StringUtil.getUUID();
|
columncacheMap.put(map.get("ID"), newid);
|
SqlParameter param = new SqlParameter();
|
param.addValue("id", newid);
|
param.addValue("columnname", map.get("COLUMNNAME"));
|
param.addValue("columncode", map.get("COLUMNCODE"));
|
param.addValue("datatype", map.get("DATATYPE"));
|
param.addValue("allownull", map.get("ALLOWNULL"));
|
param.addValue("minvalues", map.get("MINVALUES"));
|
param.addValue("maxvalues", cacheMap.get(map.get("MAXVALUES")));
|
param.addValue("showinlist", cacheMap.get(map.get("SHOWINLIST")));
|
param.addValue("allowquery", cacheMap.get(map.get("ALLOWQUERY")));
|
param.addValue("inputtype", cacheMap.get(map.get("INPUTTYPE")));
|
param.addValue("selectvalue", cacheMap.get(map.get("SELECTVALUE")));
|
param.addValue("state", cacheMap.get(map.get("STATE")));
|
param.addValue("createtime", cacheMap.get(map.get("CREATETIME")));
|
param.addValue("note", cacheMap.get(map.get("NOTE")));
|
param.addValue("ordernum", cacheMap.get(map.get("ORDERNUM")));
|
param.addValue("alert", cacheMap.get(map.get("ALERT")));
|
param.addValue("cmdb_ci_pro_group_id", groupcacheMap.get(map.get("CMDB_CI_PRO_GROUP_ID")));
|
param.addValue("business_type", 1);
|
param.addValue("partner_id",partnerId);
|
columnparamList.add(param);
|
}
|
}
|
baseDao.executeBatch(sql, columnparamList);
|
//选择项可选值表初始化
|
sql = "select A.* from CMDB_CI_EXTEND_COLUMN_SELECTITEMS A,CMDB_CI_EXTEND_COLUMN B where A.EXTENDID = B.ID AND B.STATE=1 AND A.STATE=1 AND B.PARTNER_ID is null ";
|
List<Map> itemslist = baseDao.queryForList(sql);
|
sql = "insert into CMDB_CI_EXTEND_COLUMN_SELECTITEMS(ID,EXTENDID,STATE,ITEMVALUE,ORDERNUM) values(:id,:extendid,:state,:itemvalue,:ordernum)";
|
List<SqlParameter> itemsparamList = new ArrayList<SqlParameter>();
|
if(itemslist != null && itemslist.size() > 0){
|
for(Map map:itemslist){
|
String newid = StringUtil.getUUID();
|
SqlParameter param = new SqlParameter();
|
param.addValue("id", newid);
|
param.addValue("extendid", columncacheMap.get(map.get("EXTENDID")));
|
param.addValue("state", map.get("STATE"));
|
param.addValue("itemvalue", map.get("ITEMVALUE"));
|
param.addValue("ordernum", map.get("ORDERNUM"));
|
itemsparamList.add(param);
|
}
|
}
|
baseDao.executeBatch(sql, itemsparamList);
|
}
|
|
@Override
|
public void doInitManufacture(String partnerId) {
|
String sql = "select MANUFACTURERNAME,TYPE,ZH_NAME,PHONE,WEB_URL,NOTE,STATE from cmdb_mainufacturer where STATE=1 and PARTNER_ID is null ";
|
List<Map> tlist= baseDao.queryForList(sql);
|
if (tlist != null && tlist.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : tlist) {
|
map.put("ID", StringUtil.getUUID());
|
map.put("PARTNER_ID", partnerId);
|
SqlParameter param = new SqlParameter();
|
param.setSource(map);
|
paramList.add(param);
|
}
|
|
//保存
|
sql = "insert into cmdb_mainufacturer(ID,MANUFACTURERNAME,TYPE,ZH_NAME,PHONE,WEB_URL,NOTE,STATE,PARTNER_ID) "
|
+ "values(:ID,:MANUFACTURERNAME,:TYPE,:ZH_NAME,:PHONE,:WEB_URL,:NOTE,:STATE,:PARTNER_ID)";
|
|
baseDao.executeBatch(sql, paramList);
|
}
|
|
}
|
|
@Override
|
public void doInitMaintainItem(String partnerId) {
|
//日常巡检项
|
String sql = "select t.ID,t.ITEM_NAME,t.ITEM_NOTE,t.GET_STEPS,t.NORMAL_VALUE,t.EXCEPT_VALUE,t.ORDER_NUM,t.THIRDLEVEL_ID,t.THIRDLEVEL_NAME,t.SECONDLEVEL_ID,t.SECONDLEVEL_NAME "
|
+ "from ci_daily_patrol_item_template t where t.STATE=1 "
|
+ "and exists (select p.ID from cmdb_ci_category_partner p where (p.CATEGORY_ID = t.THIRDLEVEL_ID or P.CATEGORY_ID=t.SECONDLEVEL_ID) and p.PARTNER_ID=:partner_id) ";
|
|
List<Map> tlist= baseDao.queryForList(sql, new SqlParameter("partner_id", partnerId));
|
if (tlist != null && tlist.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : tlist) {
|
map.put("ID", StringUtil.getUUID());
|
map.put("PARTNER_ID", partnerId);
|
SqlParameter param = new SqlParameter();
|
param.setSource(map);
|
paramList.add(param);
|
}
|
|
//保存通用巡检项
|
sql = "insert into ci_daily_patrol_item(ID,ITEM_NAME,ITEM_NOTE,GET_STEPS,NORMAL_VALUE,EXCEPT_VALUE,ORDER_NUM,THIRDLEVEL_ID,THIRDLEVEL_NAME,ITEM_TYPE,STATE,PARTNER_ID,SECONDLEVEL_ID,SECONDLEVEL_NAME) "
|
+ "values(:ID,:ITEM_NAME,:ITEM_NOTE,:GET_STEPS,:NORMAL_VALUE,:EXCEPT_VALUE,:ORDER_NUM,:THIRDLEVEL_ID,:THIRDLEVEL_NAME,1,1,:PARTNER_ID,:SECONDLEVEL_ID,:SECONDLEVEL_NAME)";
|
|
baseDao.executeBatch(sql, paramList);
|
}
|
|
//健康检查项
|
sql = "select t.ID,t.ITEM_NAME,t.PRIORITY_LEVEL_ID,t.PRIORITY_LEVEL_NAME,t.ITEM_NOTE,t.STEPS,t.EXPECT_VALUE,t.THIRDLEVEL_ID,t.THIRDLEVEL_NAME,t.ORDER_NUM,SECONDLEVEL_ID,SECONDLEVEL_NAME "
|
+ "from ci_health_item_template t where t.STATE=1 "
|
+ "and exists (select p.ID from cmdb_ci_category_partner p where (p.CATEGORY_ID = t.THIRDLEVEL_ID or P.CATEGORY_ID=t.SECONDLEVEL_ID) and p.PARTNER_ID=:partner_id) ";
|
|
tlist= baseDao.queryForList(sql, new SqlParameter("partner_id", partnerId));
|
if (tlist != null && tlist.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : tlist) {
|
map.put("ID", StringUtil.getUUID());
|
map.put("PARTNER_ID", partnerId);
|
SqlParameter param = new SqlParameter();
|
param.setSource(map);
|
paramList.add(param);
|
}
|
|
//保存新的通用巡检项
|
sql = "insert into ci_health_item(ID,ITEM_NAME,PRIORITY_LEVEL_ID,PRIORITY_LEVEL_NAME,ITEM_NOTE,STEPS,EXPECT_VALUE,ORDER_NUM,THIRDLEVEL_ID,THIRDLEVEL_NAME,ITEM_TYPE,STATE,PARTNER_ID,SECONDLEVEL_ID,SECONDLEVEL_NAME) "
|
+ "values(:ID,:ITEM_NAME,:PRIORITY_LEVEL_ID,:PRIORITY_LEVEL_NAME,:ITEM_NOTE,:STEPS,:EXPECT_VALUE,:ORDER_NUM,:THIRDLEVEL_ID,:THIRDLEVEL_NAME,1,1,:PARTNER_ID,:SECONDLEVEL_ID,:SECONDLEVEL_NAME)";
|
|
baseDao.executeBatch(sql, paramList);
|
}
|
|
//作业计划项
|
sql = "select t.ID,t.ITEM_NAME,t.CYCLE,t.PRIORITY_LEVEL_ID,t.PRIORITY_LEVEL_NAME,t.ITEM_NOTE,t.THIRDLEVEL_ID,t.THIRDLEVEL_NAME,t.ORDER_NUM, "
|
+ "t.SECONDLEVEL_ID,t.SECONDLEVEL_NAME "
|
+ "from ci_remind_item_template t where t.STATE=1 "
|
+ "and exists (select p.ID from cmdb_ci_category_partner p where (p.CATEGORY_ID = t.THIRDLEVEL_ID or P.CATEGORY_ID=t.SECONDLEVEL_ID) and p.PARTNER_ID=:partner_id) ";
|
tlist= baseDao.queryForList(sql, new SqlParameter("partner_id", partnerId));
|
if (tlist != null && tlist.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : tlist) {
|
map.put("ID", StringUtil.getUUID());
|
map.put("PARTNER_ID", partnerId);
|
|
//计算首次提醒时间
|
int cycle = map.get("CYCLE") == null ? 0 : ConvertUtil.obj2Int(map.get("CYCLE"));
|
map.put("BASE_REMIND_TIME", DateUtil.getDateAdd(DateUtil.getCurrentDate8(), cycle, 8));
|
|
SqlParameter param = new SqlParameter();
|
param.setSource(map);
|
paramList.add(param);
|
}
|
|
//保存新的通用巡检项
|
sql = "insert into ci_remind_item(ID,ITEM_NAME,CYCLE,PRIORITY_LEVEL_ID,PRIORITY_LEVEL_NAME,ITEM_NOTE,ORDER_NUM,THIRDLEVEL_ID,THIRDLEVEL_NAME,ITEM_TYPE,STATE,PARTNER_ID,SECONDLEVEL_ID,SECONDLEVEL_NAME,"
|
+ "BASE_REMIND_TIME) "
|
+ "values(:ID,:ITEM_NAME,:CYCLE,:PRIORITY_LEVEL_ID,:PRIORITY_LEVEL_NAME,:ITEM_NOTE,:ORDER_NUM,:THIRDLEVEL_ID,:THIRDLEVEL_NAME,1,1,:PARTNER_ID,:SECONDLEVEL_ID,:SECONDLEVEL_NAME,:BASE_REMIND_TIME)";
|
|
baseDao.executeBatch(sql, paramList);
|
}
|
|
}
|
|
@Override
|
public void doInitCustomerSatisConfig(String partnerId) {
|
String insertSql = "INSERT INTO CUSTOMER_SATIS_CONFIG(ID,NAME,LEVEL,P_ID,SATIS_TYPE,ORDER_NUM,SCORE,STATE,PARTNER_ID) "
|
+ " VALUES (:ID,:NAME,:LEVEL,:P_ID,:SATIS_TYPE,:ORDER_NUM,:SCORE,:STATE,:PARTNER_ID)";
|
|
StringBuilder sql = new StringBuilder();
|
sql.append("SELECT * ");
|
sql.append(" FROM CUSTOMER_SATIS_CONFIG_TEMPLATE ");
|
sql.append(" WHERE STATE=1 ");
|
sql.append(" ORDER BY ORDER_NUM ");
|
|
// 同步数据
|
List<Map> list = baseDao.queryForList(sql.toString());
|
if (list != null && list.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : list) {
|
SqlParameter param = new SqlParameter();
|
param.setSource(map);
|
param.addValue("PARTNER_ID", partnerId);
|
param.addValue("ID", StringUtil.getUUID());
|
paramList.add(param);
|
}
|
|
baseDao.executeBatch(insertSql, paramList);
|
}
|
|
|
|
}
|
|
@Override
|
public void doInitServiceCard(HttpServletRequest request, String partnerId) {
|
// 获取平台模板
|
/*StringBuilder sql = new StringBuilder();
|
sql.append("select t.TEMPLATE_NAME,f.FILE_NAME,f.FILE_PATH,f.FILE_SIZE,f.FILE_FORMAT ");
|
sql.append("from sc_expatriates_supervise_card_template t ");
|
sql.append("left join gg_files f on f.BUSINESS_ID=t.ID ");
|
sql.append("where t.PARTNER_ID is null and t.STATE=1 ");
|
|
List<Map> list = baseDao.queryForList(sql.toString());
|
if (list != null && list.size() > 0) {
|
for (Map map : list) {
|
String filePath = ConvertUtil.obj2Str(map.get("FILE_PATH"));
|
if (StringUtil.isEmpty(filePath)) {
|
return;
|
}
|
String path = StringUtils.substringBeforeLast(filePath, "/") + "/";
|
String format = StringUtils.substringAfterLast(filePath, ".");
|
String tname = WebUtil.getRealPath(request, path + DateUtil.getCurrentDate14() + "_" + (Math.random()*9000+1000) + "." + format);
|
|
//判断源文件是否存在
|
File file = new File(WebUtil.getRealPath(request, filePath));
|
if (file.exists()) {
|
try {
|
FileUtil.copyFile(WebUtil.getRealPath(request, filePath), tname);
|
|
//写入文件记录
|
SC_EXPATRIATES_SUPERVISE_CARD_TEMPLATE template = new SC_EXPATRIATES_SUPERVISE_CARD_TEMPLATE().setPartner_id(partnerId)
|
.setState(1)
|
.setTemplate_name(ConvertUtil.obj2Str(map.get("TEMPLATE_NAME")))
|
.setUpload_time(DateUtil.getCurrentDate14())
|
.setUser_name("系统同步")
|
.insert();
|
|
new GG_FILES().setBusiness_id(template.getId())
|
.setFile_format(format)
|
.setFile_name(ConvertUtil.obj2Str(map.get("FILE_NAME")))
|
.setFile_path(path + DateUtil.getCurrentDate14() + "_" + (Math.random()*9000+1000) + "." + format)
|
.setFile_size(ConvertUtil.obj2Str(map.get("FILE_SIZE")))
|
.insert();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
}
|
}*/
|
|
}
|
|
@Override
|
public List<Map> getPartnerZcList(String partnerId) {
|
String sql ="SELECT A.USER_ID,A.USER_NAME FROM SC_EXPATRIATES A,GG_USER B " +
|
"WHERE A.USER_ID= B.ID AND B.MANUFACTURERID = :partnerid";
|
|
return baseDao.queryForList(sql, new SqlParameter("partnerid", partnerId));
|
|
}
|
|
@Override
|
public void doInitServiceCatolog(String partnerId) {
|
|
String partnerName = "";
|
SC_PARTNER_INFO partner = new SC_PARTNER_INFO().setId(partnerId).queryForBean();
|
if (partner != null) {
|
partnerName = partner.getPartner_name();
|
}
|
|
Map categoryIdMap = new HashMap();
|
Map levelIdMap = new HashMap();
|
|
//服务目录
|
String insertSql = "INSERT INTO sc_servce_category (ID,CATEGORY_NAME,LEVEL,P_ID,STATE,SERIAL,PARTNER_ID,PARTNER_NAME,TYPE) "
|
+ " VALUES (:ID,:CATEGORY_NAME,:LEVEL,:P_ID,:STATE,:SERIAL,:PARTNER_ID,:PARTNER_NAME,:TYPE) ";
|
|
StringBuilder sql = new StringBuilder();
|
sql.append("select ID,CATEGORY_NAME,LEVEL,P_ID,STATE,SERIAL ");
|
sql.append("from sc_servce_category_template where STATE=1 ");
|
|
List<Map> list = baseDao.queryForList(sql.toString());
|
if (list != null && list.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : list) {
|
SqlParameter param = new SqlParameter();
|
String newId = StringUtil.getUUID();
|
param.setSource(map);
|
param.addValue("PARTNER_ID", partnerId);
|
param.addValue("PARTNER_NAME", partnerName);
|
param.addValue("ID", newId);
|
param.addValue("TYPE", 1);
|
|
categoryIdMap.put(map.get("ID"), newId);
|
|
paramList.add(param);
|
}
|
|
baseDao.executeBatch(insertSql, paramList);
|
}
|
|
//SLA
|
insertSql = "INSERT INTO sc_sla(ID,LEVEL_NAME,STATE,SERIAL,PARTNER_ID,PARTNER_NAME,TYPE) "
|
+ " VALUES (:ID,:LEVEL_NAME,:STATE,:SERIAL,:PARTNER_ID,:PARTNER_NAME,:TYPE) ";
|
|
sql = new StringBuilder();
|
sql.append("select ID,LEVEL_NAME,STATE,SERIAL ");
|
sql.append("from sc_sla_template where STATE=1 ");
|
|
list = baseDao.queryForList(sql.toString());
|
if (list != null && list.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : list) {
|
SqlParameter param = new SqlParameter();
|
String newId = StringUtil.getUUID();
|
param.setSource(map);
|
param.addValue("PARTNER_ID", partnerId);
|
param.addValue("PARTNER_NAME", partnerName);
|
param.addValue("TYPE", 1);
|
param.addValue("ID", newId);
|
|
levelIdMap.put(map.get("ID"), newId);
|
|
paramList.add(param);
|
}
|
|
baseDao.executeBatch(insertSql, paramList);
|
}
|
|
//SLA设置
|
insertSql = "INSERT INTO sc_sla_config (ID,CATEGORY_ID,CATEGORY_NAME,LEVEL_ID,LEVEL_NAME,RESPONSE_TIME,RESOLVE_TIME,STATE,SERIAL,PARTNER_ID,PARTNER_NAME,TYPE) "
|
+ " VALUES (:ID,:CATEGORY_ID,:CATEGORY_NAME,:LEVEL_ID,:LEVEL_NAME,:RESPONSE_TIME,:RESOLVE_TIME,:STATE,:SERIAL,:PARTNER_ID,:PARTNER_NAME,:TYPE) ";
|
|
sql = new StringBuilder();
|
sql.append("select CATEGORY_ID,CATEGORY_NAME,LEVEL_ID,LEVEL_NAME,RESPONSE_TIME,RESOLVE_TIME,STATE,SERIAL ");
|
sql.append("from sc_sla_config_template where STATE=1 ");
|
|
list = baseDao.queryForList(sql.toString());
|
if (list != null && list.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : list) {
|
SqlParameter param = new SqlParameter();
|
param.setSource(map);
|
param.addValue("PARTNER_ID", partnerId);
|
param.addValue("PARTNER_NAME", partnerName);
|
param.addValue("ID", StringUtil.getUUID());
|
param.addValue("TYPE", 1);
|
param.addValue("CATEGORY_ID", categoryIdMap.get(map.get("CATEGORY_ID")));
|
param.addValue("LEVEL_ID", levelIdMap.get(map.get("LEVEL_ID")));
|
|
paramList.add(param);
|
}
|
|
baseDao.executeBatch(insertSql, paramList);
|
}
|
|
//SLA时间
|
insertSql = "INSERT INTO sc_sla_time (ID,LEVEL_ID,TYPE,OVER_TIME,SERIAL) "
|
+ " VALUES (:ID,:LEVEL_ID,:TYPE,:OVER_TIME,:SERIAL) ";
|
|
sql = new StringBuilder();
|
sql.append("select LEVEL_ID,TYPE,OVER_TIME,SERIAL ");
|
sql.append("from sc_sla_time_template ");
|
|
list = baseDao.queryForList(sql.toString());
|
if (list != null && list.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : list) {
|
SqlParameter param = new SqlParameter();
|
param.setSource(map);
|
param.addValue("ID", StringUtil.getUUID());
|
param.addValue("LEVEL_ID", levelIdMap.get(map.get("LEVEL_ID")));
|
|
paramList.add(param);
|
}
|
|
baseDao.executeBatch(insertSql, paramList);
|
}
|
|
//SLA级别
|
insertSql = "INSERT INTO sc_sla_level_config (ID,INFLUENCE_ID,INFLUENCE_NAME,PRIORITY_ID,PRIORITY_NAME,LEVEL_ID,LEVEL_NAME,SHOW_NAME,PARTNER_ID,PARTNER_NAME,TYPE) "
|
+ " VALUES (:ID,:INFLUENCE_ID,:INFLUENCE_NAME,:PRIORITY_ID,:PRIORITY_NAME,:LEVEL_ID,:LEVEL_NAME,:SHOW_NAME,:PARTNER_ID,:PARTNER_NAME,:TYPE) ";
|
|
sql = new StringBuilder();
|
sql.append("select INFLUENCE_ID,INFLUENCE_NAME,PRIORITY_ID,PRIORITY_NAME,LEVEL_ID,LEVEL_NAME,SHOW_NAME ");
|
sql.append("from sc_sla_level_config_template ");
|
|
list = baseDao.queryForList(sql.toString());
|
if (list != null && list.size() > 0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for (Map map : list) {
|
SqlParameter param = new SqlParameter();
|
param.setSource(map);
|
param.addValue("PARTNER_ID", partnerId);
|
param.addValue("PARTNER_NAME", partnerName);
|
param.addValue("ID", StringUtil.getUUID());
|
param.addValue("TYPE", 1);
|
param.addValue("LEVEL_ID", levelIdMap.get(map.get("LEVEL_ID")));
|
|
paramList.add(param);
|
}
|
|
baseDao.executeBatch(insertSql, paramList);
|
}
|
}
|
|
@SuppressWarnings("unchecked")
|
@Override
|
public void doInitPartnerPatrolRoom(String partnerId) {
|
//插入加盟商机房巡查项分类数据
|
String searchSql="SELECT * FROM SC_DAILY_PATROL_ROOM_CATEGORY_TEMPLATE WHERE STATE=1";
|
List<Map> list_category_s = baseDao.queryForList(searchSql);
|
if(list_category_s!=null&&list_category_s.size()>0){
|
StringBuilder insertSql_category = new StringBuilder();
|
insertSql_category.append("INSERT INTO SC_DAILY_PATROL_ROOM_CATEGORY (ID,CATEGORY_NAME,ORDER_NUM,PARTNER_ID,STATE) ");
|
insertSql_category.append("VALUES (:ID,:CATEGORY_NAME,:ORDER_NUM,:PARTNER_ID,:STATE) ");
|
for(Map map_category : list_category_s){
|
SqlParameter param_category = new SqlParameter();
|
String ID = StringUtil.getUUID();
|
param_category.addValue("ID", ID);
|
param_category.addValue("PARTNER_ID", partnerId);
|
param_category.addValue("CATEGORY_NAME",map_category.get("CATEGORY_NAME"));
|
param_category.addValue("ORDER_NUM",map_category.get("ORDER_NUM"));
|
param_category.addValue("STATE", 1);
|
baseDao.execute(insertSql_category.toString(), param_category);
|
//插入机房巡检项数据
|
String searchSql_item = "select * from sc_daily_patrol_room_item_template where state=1 and CATEGORY_ID=:CATEGORY_ID";
|
SqlParameter param_item_s = new SqlParameter();
|
param_item_s.addValue("CATEGORY_ID", map_category.get("ID"));
|
List<Map> list_item_s = new ArrayList<Map>();
|
list_item_s = baseDao.queryForList(searchSql_item, param_item_s);
|
if(list_item_s!=null&&list_item_s.size()>0){
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
StringBuilder insertSql_item = new StringBuilder();
|
insertSql_item.append(" INSERT INTO sc_daily_patrol_room_item (ID,CATEGORY_id,CATEGORY_NAME,ITEM_CODE,ITEM_NAME,IS_RESULT,IS_VALUE,ORDER_NUM,STATE)");
|
insertSql_item.append(" VALUES (:ID,:CATEGORY_id,:CATEGORY_NAME,:ITEM_CODE,:ITEM_NAME,:IS_RESULT,:IS_VALUE,:ORDER_NUM,:STATE)");
|
|
for(Map map_item:list_item_s){
|
SqlParameter param_item = new SqlParameter();
|
param_item.addValue("ID", StringUtil.getUUID());
|
param_item.addValue("CATEGORY_id", ID);
|
param_item.addValue("CATEGORY_NAME", map_item.get("CATEGORY_NAME"));
|
param_item.addValue("ITEM_CODE", map_item.get("ITEM_CODE"));
|
param_item.addValue("ITEM_NAME", map_item.get("ITEM_NAME"));
|
param_item.addValue("IS_RESULT", map_item.get("IS_RESULT"));
|
param_item.addValue("IS_VALUE", map_item.get("IS_VALUE"));
|
param_item.addValue("ORDER_NUM", map_item.get("ORDER_NUM"));
|
param_item.addValue("STATE", "1");
|
paramList.add(param_item);
|
}
|
baseDao.executeBatch(insertSql_item.toString(),paramList);
|
}
|
}
|
|
}
|
}
|
|
@Override
|
public void doInitIncidentFlowRule(String partnerId) {
|
Map paramMap = new HashMap();
|
paramMap.put("partnerId", partnerId);
|
//查询出事件管理流转策略模板
|
String selectSql = "SELECT * FROM SC_WORKFLOW_INCIDENT_FLOWRULE WHERE PARTNER_ID IS NULL ";
|
Map template = baseDao.queryForMap(selectSql);
|
if(null!=template && template.size()>0) {
|
String kfry = ConvertUtil.obj2StrBlank(template.get("NODE_INCIDENT_DEAL"));
|
String ycjszc = ConvertUtil.obj2StrBlank(template.get("NODE_INCIDENT_STARTEND"));
|
String yxgcs = ConvertUtil.obj2StrBlank(template.get("YXGCS"));
|
String exgcs = ConvertUtil.obj2StrBlank(template.get("EXGCS"));
|
String sxgcs = ConvertUtil.obj2StrBlank(template.get("SXGCS"));
|
paramMap.put("kfry", kfry);
|
paramMap.put("ycjszc", ycjszc);
|
paramMap.put("yxgcs", yxgcs);
|
paramMap.put("exgcs", exgcs);
|
paramMap.put("sxgcs", sxgcs);
|
paramMap.put("id", StringUtil.getUUID());
|
String insertSql = "INSERT INTO SC_WORKFLOW_INCIDENT_FLOWRULE(ID,NODE_INCIDENT_DEAL,NODE_INCIDENT_STARTEND,YXGCS,EXGCS,SXGCS,PARTNER_ID) VALUES (:id,:kfry,:ycjszc,:yxgcs,:exgcs,:sxgcs,:partnerId)";
|
baseDao.execute(insertSql, paramMap);
|
}
|
|
}
|
|
public List<Map> getRoleList(String partnerId){
|
String sql =
|
"SELECT * from (\n" +
|
"SELECT * FROM ac_role WHERE TYPE = 0 AND CATEGORY = 2\n" +
|
"UNION\n" +
|
"SELECT * from ac_role WHERE PARTNER_ID = :partnerId ) r \n" +
|
"ORDER BY r.BIGCATEGORY asc,sxh asc";
|
|
return baseDao.queryForList(sql,new SqlParameter("partnerId",partnerId));
|
}
|
|
@Override
|
public List<Map> partnerPzflTree(HttpServletRequest request) {
|
Map paramMap = new HashMap();
|
//String partnerId = WebUtil.getLoginedPartnerId(request);
|
String selectSubSql = "SELECT * FROM CMDB_CI_CATEGORY WHERE PARTNER_ID=:partnerId AND LEIX = 1 AND STATE = 1 ORDER BY JB,SERIAL ";
|
//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("JB").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("PID").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("PID")){
|
String pId = map.get("PID").toString();
|
if(ejgnCache.containsKey(pId)) {
|
Map ejgnMap = ejgnCache.get(map.get("PID").toString());
|
List<Map> list = (List<Map>)ejgnMap.get("sjTree");
|
list.add(map);
|
}
|
}
|
}
|
}
|
System.out.println(JsonUtil.list2Json(resultList));
|
return resultList;
|
}
|
|
|
|
}
|