package cn.ksource.web.facade.customermanage;
|
|
import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO;
|
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.LoginUser;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
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;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Service("customerManageFacade")
|
public class CustomerManageFacadeImpl implements CustomerManageFacade {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Autowired
|
private FileService fileService;
|
|
@Override
|
public int queryCustomerCount(Map<String, String> params) {
|
StringBuilder sql = new StringBuilder("SELECT COUNT(ID) FROM SC_PARTNER_CUSTOMER_INFO ");
|
queryCustomerIf(params, sql);
|
return baseDao.queryForInteger(sql.toString(), params);
|
}
|
|
@Override
|
public PageInfo queryCustomerData(Map<String, String> params,
|
PageInfo pageInfo) {
|
StringBuilder sql = new StringBuilder("SELECT * FROM SC_PARTNER_CUSTOMER_INFO ");
|
queryCustomerIf(params, sql);
|
sql.append(" ORDER BY CUSTOMER_STATE,CREATE_TIME DESC");
|
return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params);
|
}
|
@Override
|
public List<Map> queryCustomerDataList(Map<String, String> params) {
|
StringBuilder sql = new StringBuilder("SELECT * FROM SC_PARTNER_CUSTOMER_INFO ");
|
queryCustomerIf(params, sql);
|
sql.append(" ORDER BY CUSTOMER_STATE,CREATE_TIME DESC");
|
return baseDao.queryForList(sql.toString(), params);
|
}
|
|
private void queryCustomerIf(Map<String, String> params, StringBuilder sql) {
|
sql.append(" WHERE 1=1 ");
|
//客户名称
|
if(StringUtil.notEmpty(params.get("cusName"))){
|
sql.append(" AND CUSTOMER_NAME LIKE :cusName");
|
String cusName = String.valueOf(params.get("cusName"));
|
params.put("cusName", "%"+cusName+"%");
|
}
|
//客户状态
|
if(StringUtil.notEmpty(params.get("state"))){
|
sql.append(" AND CUSTOMER_STATE = :state");
|
}
|
//客户联系人联系电话
|
if(StringUtil.notEmpty(params.get("phone"))){
|
sql.append(" AND PHONE = :phone");
|
}
|
//服务期限
|
if (StringUtils.isNotBlank(params.get("beginTime"))) {
|
sql.append(" AND VALID_BEGIN_DATE >= :beginTime ");
|
}
|
if (StringUtils.isNotBlank(params.get("endTime"))) {
|
sql.append(" AND VALID_END_DATE <= :endTime ");
|
}
|
}
|
|
@Override
|
public Map getPartnerCostomerById(String id) {
|
String sql = new String("SELECT * FROM SC_PARTNER_CUSTOMER_INFO WHERE ID = :id");
|
Map map = baseDao.queryForMap(sql, new SqlParameter().addValue("id", id));
|
List<Map> fileList = fileService.getFileList(id);
|
map.put("fileList", fileList);
|
return map;
|
}
|
|
@Override
|
public void addPartnerCustomer(SC_PARTNER_CUSTOMER_INFO customer,
|
HttpServletRequest request) {
|
//修改项目名称时同时修改流程中的项目信息
|
String customer_id=customer.getId();
|
if(StringUtil.isNotBlank(customer_id)) {
|
SC_PARTNER_CUSTOMER_INFO sc_partner_customer_info_old = new SC_PARTNER_CUSTOMER_INFO(customer.getId()).getInstanceById();
|
String customer_name_old=sc_partner_customer_info_old.getCustomer_name();
|
String customer_name=request.getParameter("customer_name");
|
if(!customer_name_old.equals(customer_name)){
|
String sql="update WORKFLOW_BASE set CUSTOMER_NAME=:customer_name where CUSTOMER_ID=:customer_id ";
|
String sql_super="update WORKFLOW_BASE set SUB_CUSTOMER_NAME=:customer_name where SUB_CUSTOMER_ID=:customer_id ";
|
String order_super="update SC_WORKFLOW_QUESTION set SUB_CUSTOMER_NAME=:customer_name where SUB_CUSTOMER_ID=:customer_id ";
|
String order="update SC_WORKFLOW_QUESTION set CUSTOMER_NAME=:customer_name where CUSTOMER_ID=:customer_id ";
|
String order_in="update SC_WORKFLOW_INCIDENT set CUSTOMER_NAME=:customer_name where CUSTOMER_ID=:customer_id ";
|
String sup_super="update SC_WORKFLOW_INCIDENT set SUB_CUSTOMER_NAME=:customer_name where SUB_CUSTOMER_ID=:customer_id ";
|
|
Map map=new HashMap();
|
map.put("customer_id",customer_id);
|
map.put("customer_name",customer_name);
|
baseDao.execute(sql,map);
|
baseDao.execute(sql_super,map);
|
baseDao.execute(order_super,map);
|
baseDao.execute(order,map);
|
baseDao.execute(order_in,map);
|
baseDao.execute(sup_super,map);
|
}
|
|
}
|
|
//登陆用户信息
|
LoginUser user = WebUtil.getLoginUser(request);
|
String userid =(String)user.getLoginUser().get("ID");
|
String userName = (String)user.getLoginUser().get("ZSXM");
|
|
String industry_name = request.getParameter("industry_name");
|
customer.setIndustry_name(industry_name);
|
|
String addressId = request.getParameter("addressId");
|
String addressName = request.getParameter("addressName");
|
if(StringUtil.notEmpty(addressId) && StringUtil.notEmpty(addressName)) {
|
String[] addressIds = addressId.split("-");
|
String[] addressNames = addressName.split("-");
|
if(addressIds.length == 3 && addressIds.length == addressNames.length) {
|
customer.setProvince_id(addressIds[0]);
|
customer.setProvince_name(addressNames[0]);
|
customer.setCity_id(addressIds[1]);
|
customer.setCity_name(addressNames[1]);
|
customer.setCounty_id(addressIds[2]);
|
customer.setCounty_name(addressNames[2]);
|
}
|
}
|
customer.setEmail(request.getParameter("email"));
|
customer.setPhone(request.getParameter("phone"));
|
customer.setContact(request.getParameter("contact"));
|
customer.setCustomer_code(request.getParameter("code"));
|
|
String customerId = customer.getId();
|
if (StringUtil.isEmpty(customerId)) {
|
//新增
|
//保存客户基本信息
|
customer.setCreate_time(DateUtil.getCurrentDate14())
|
.setCustomer_state(Constants.SC_PARTNER_CUSTOMER_INFO_STATE_ENABLE).setBusiness_desc(request.getParameter("business_desc")).setCreate_user_id(userid).setCreate_user_name(userName);
|
customer.setCustomer_name_f(PinYinUtil.getFirstStringPinYin(customer.getCustomer_name().substring(0, 1), false));
|
customer = customer.insert();
|
|
//初始化配置信息(流程配置,服务等级配置,服务目录和服务协议)
|
initConfig(customer.getId());
|
|
} else {
|
//修改
|
customer.setCustomer_name_f(PinYinUtil.getFirstStringPinYin(customer.getCustomer_name().substring(0, 1), false)).setBusiness_desc(request.getParameter("business_desc"));
|
customer.update();
|
Map param=new HashMap();
|
param.put("name", customer.getCustomer_name());
|
param.put("id", customer.getId());
|
String sqla="update SC_WORKFLOW_INCIDENT_TEMPLATE set CUSTOMER_NAME=:name where CUSTOMER_ID=:id";
|
String sqlb="update SC_WORKFLOW_INCIDENT set CUSTOMER_NAME=:name where CUSTOMER_ID=:id";
|
String sqlc="update SC_WORKFLOW_QUESTION set CUSTOMER_NAME=:name where CUSTOMER_ID=:id";
|
baseDao.execute(sqla, param);
|
baseDao.execute(sqlb, param);
|
baseDao.execute(sqlc, param);
|
}
|
|
//保存附件
|
/* Map parameter = ParamsMapUtil.getParameterMap(request);
|
parameter.put("business_id", customerId);
|
parameter.put("userId",userid);
|
parameter.put("userName",userName );
|
fileService.uploadFile(parameter);*/
|
fileService.uploadFile(request,customer.getId(),null,null,null,Constants.GG_FOLDERS_CUSTOMERS,Constants.FILE_STATE_SHTG,null);
|
|
}
|
|
public void initConfig(String customerId){
|
|
//String sqlsj = "SELECT * FROM SC_WORKFLOW_INCIDENT_FLOWRULE WHERE PROJECT_ID IS NULL ";
|
|
//String sqlwt = "SELECT * FROM QUESTION_FLOWRULE WHERE CUSTOMER_ID IS NULL ";
|
|
String sqllevel = "SELECT * FROM SC_SLA_LEVEL_CONFIG WHERE CUSTOMER_ID IS NULL ";
|
//List<Map> sjrule = baseDao.queryForList(sqlsj);
|
//List<Map> wtrule = baseDao.queryForList(sqlwt);
|
List<Map> slalevel = baseDao.queryForList(sqllevel);
|
//List<SqlParameter> sjparamList = new ArrayList<SqlParameter>();
|
//List<SqlParameter> wtparamList = new ArrayList<SqlParameter>();
|
List<SqlParameter> levelparamList = new ArrayList<SqlParameter>();
|
/*for(Map map:sjrule){
|
SqlParameter param = new SqlParameter();
|
map.put("ID", StringUtil.getUUID());
|
map.put("PROJECT_ID", customerId);
|
param.setSource(map);
|
sjparamList.add(param);
|
}
|
for(Map map:wtrule){
|
SqlParameter param = new SqlParameter();
|
map.put("ID", StringUtil.getUUID());
|
map.put("CUSTOMER_ID", customerId);
|
param.setSource(map);
|
wtparamList.add(param);
|
}*/
|
for(Map map:slalevel){
|
SqlParameter param = new SqlParameter();
|
map.put("ID", StringUtil.getUUID());
|
map.put("CUSTOMER_ID", customerId);
|
param.setSource(map);
|
levelparamList.add(param);
|
}
|
/*String insertsj = "INSERT INTO SC_WORKFLOW_INCIDENT_FLOWRULE(ID,KFRY,YCJSZC,YXGCS,EXGCS,SXGCS,PROJECT_ID)VALUES(:ID,:KFRY,:YCJSZC,:YXGCS,:EXGCS,:SXGCS,:PROJECT_ID)";
|
String insertwt = "INSERT INTO QUESTION_FLOWRULE(ID,WTFQ,WTSL,WTSH,WTZD,FASP,FASS,WTHG,CUSTOMER_ID,CLOSEJD,GOBACKJD)VALUES(:ID,:WTFQ,:WTSL,:WTSH,:WTZD,:FASP,:FASS,:WTHG,:CUSTOMER_ID,:CLOSEJD,:GOBACKJD)";
|
baseDao.executeBatch(insertsj, sjparamList);
|
baseDao.executeBatch(insertwt, wtparamList);*/
|
String insertlevel = "INSERT INTO SC_SLA_LEVEL_CONFIG(ID,INFLUENCE_ID,INFLUENCE_NAME,PRIORITY_ID,PRIORITY_NAME,LEVEL_ID,LEVEL_NAME,SHOW_NAME,TYPE,CUSTOMER_ID)VALUES(:ID,:INFLUENCE_ID,:INFLUENCE_NAME,:PRIORITY_ID,:PRIORITY_NAME,:LEVEL_ID,:LEVEL_NAME,:SHOW_NAME,:TYPE,:CUSTOMER_ID)";
|
baseDao.executeBatch(insertlevel, levelparamList);
|
|
//服务目录和服务协议
|
/*String sqlservice = "SELECT ID FROM SC_SERVCE_CATEGORY WHERE STATE = 1 ";
|
List<Map> serviceList = baseDao.queryForList(sqlservice);
|
List<SqlParameter> svparamList = new ArrayList<SqlParameter>();
|
List<SqlParameter> configparamList = new ArrayList<SqlParameter>();
|
List<SqlParameter> configuserparamList = new ArrayList<SqlParameter>();
|
for(Map map:serviceList){
|
SqlParameter params = new SqlParameter();
|
params.put("ID", StringUtil.getUUID());
|
params.put("CATEGORY_ID", map.get("ID"));
|
params.put("CUSTOMER_ID", customerId);
|
params.put("STATE", 1);
|
svparamList.add(params);
|
}
|
String sqlconfig = "SELECT * FROM SC_SLA_CONFIG WHERE CUSTOMER_ID IS NULL OR CUSTOMER_ID = '' ";
|
String sqlconfiguser = "SELECT B.* FROM SC_SLA_CONFIG A,SC_SLA_USER B WHERE (A.CUSTOMER_ID IS NULL OR A.CUSTOMER_ID = '') AND A.ID = B.LEVEL_ID ";
|
List<Map> configList = baseDao.queryForList(sqlconfig);
|
List<Map> configuserList = baseDao.queryForList(sqlconfiguser);
|
Map cacheMap = new HashMap();
|
for(Map map:configList){
|
SqlParameter params = new SqlParameter();
|
String id = StringUtil.getUUID();
|
cacheMap.put(map.get("ID"), id);
|
params.putAll(map);
|
params.put("ID", id);
|
params.put("CUSTOMER_ID", customerId);
|
configparamList.add(params);
|
}
|
for(Map map:configuserList){
|
SqlParameter params = new SqlParameter();
|
String id = StringUtil.getUUID();
|
params.putAll(map);
|
params.put("ID", id);
|
params.put("LEVEL_ID", cacheMap.get(map.get("LEVEL_ID")));
|
configuserparamList.add(params);
|
}
|
String insertsv = "INSERT INTO SC_SERVCE_CATEGORY_CUSTOMER (ID,CATEGORY_ID,CUSTOMER_ID,STATE) VALUES(:ID,:CATEGORY_ID,:CUSTOMER_ID,:STATE);";
|
String insertconfig = "INSERT INTO SC_SLA_CONFIG (ID,CATEGORY_ID,CATEGORY_NAME,LEVEL_ID,LEVEL_NAME,RESPONSE_TIME,RESOLVE_TIME,STATE,SERIAL,TYPE,USER_ID,USER_NAME,GROUP_ID,GROUP_NAME,CUSTOMER_ID,DEALER_TYPE) VALUES(:ID,:CATEGORY_ID,:CATEGORY_NAME,:LEVEL_ID,:LEVEL_NAME,:RESPONSE_TIME,:RESOLVE_TIME,:STATE,:SERIAL,:TYPE,:USER_ID,:USER_NAME,:GROUP_ID,:GROUP_NAME,:CUSTOMER_ID,:DEALER_TYPE);";
|
String insertconfiguser = "INSERT INTO SC_SLA_USER (ID,LEVEL_ID,NOTICE_TYPE,OVER_TIME,USER_ID,USER_NAME,SERIAL,TYPE,DEALER_TYPE,GROUP_ID,GROUP_NAME) VALUES(:ID,:LEVEL_ID,:NOTICE_TYPE,:OVER_TIME,:USER_ID,:USER_NAME,:SERIAL,:TYPE,:DEALER_TYPE,:GROUP_ID,:GROUP_NAME);";
|
baseDao.executeBatch(insertsv, svparamList);
|
baseDao.executeBatch(insertconfig, configparamList);
|
baseDao.executeBatch(insertconfiguser, configuserparamList);*/
|
}
|
|
@Override
|
public String getInitPassword() {
|
return "88888888";
|
}
|
|
@Override
|
public boolean getCustomerCount(HttpServletRequest request) {
|
int CUSTOMER_ACCOUNT_NUM = ConvertUtil.obj2Int(baseDao.queryForInteger("SELECT CUSTOMER_ACCOUNT_NUM FROM SC_PARTNER_INFO"));
|
String sql = "SELECT COUNT(ID) FROM SC_PARTNER_CUSTOMER_INFO WHERE CUSTOMER_STATE=1";
|
int customercount = baseDao.queryForInteger(sql);
|
if(customercount < CUSTOMER_ACCOUNT_NUM){
|
return true;
|
}else{
|
return false;
|
}
|
}
|
|
@Override
|
public void updateStatus(HttpServletRequest request) {
|
String state = request.getParameter("state");
|
String id = request.getParameter("id");
|
SC_PARTNER_CUSTOMER_INFO sc_customer_info = new SC_PARTNER_CUSTOMER_INFO();
|
sc_customer_info.setId(id).setCustomer_state((ConvertUtil.obj2Integer(state))).update();
|
}
|
|
@Override
|
public List<Map> getCusList() {
|
return baseDao.queryForList(" select id,customer_name name,contact,phone from sc_partner_customer_info where customer_state=1 ");
|
}
|
|
@Override
|
public List<Map> getSubCusTreeList(String cusId) {
|
String sql = "select id,p_id pid,customer_name name from sc_partner_customer_sub where del_flag=1 and customer_id=:cusId ";
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("cusId",cusId));
|
list= TreeUtil.createTreeByList(list);
|
return list;
|
}
|
|
@Override
|
public Map getCusById(String cusId) {
|
return baseDao.queryForMap("select id,customer_name name,contact,phone,valid_begin_date begin_date,valid_end_date end_date from sc_partner_customer_info where id=:cusId",new SqlParameter("cusId",cusId));
|
}
|
|
@Override
|
public PageInfo getCusData(PageInfo pageInfo, Map<String, String> params) {
|
Map support = getCusSupport(params);
|
String sql = support.get("sql").toString();
|
return baseDao.queryforSplitPageInfo(pageInfo, sql, params);
|
}
|
|
@Override
|
public Integer getCusCount(Map<String, String> params) {
|
Map support = getCusSupport(params);
|
String sql = "select count(*) from ( " + support.get("sql").toString() + " ) t ";
|
return baseDao.queryForInteger(sql, params);
|
}
|
|
private Map getCusSupport(Map<String, String> params){
|
Map<String, Object> support = new HashMap<String, Object>();
|
StringBuilder sql = new StringBuilder();
|
sql.append(" select a.* ");
|
sql.append(" from sc_partner_customer_info a ");
|
sql.append(" where customer_state=1 ");
|
|
if(StringUtil.isNotBlank(params.get("cusId"))){
|
sql.append(" and a.id = :cusId ");
|
}
|
|
sql.append(" order by a.create_time desc ");
|
support.put("sql", sql.toString());
|
support.put("param", params);
|
return support;
|
}
|
|
@Override
|
public String checkCusCode(String code) {
|
String sql = new String("SELECT COUNT(ID) FROM SC_PARTNER_CUSTOMER_INFO WHERE CUSTOMER_CODE = :code");
|
Integer count = baseDao.queryForInteger(sql, new SqlParameter("code",code));
|
if(count > 0){
|
return "1";
|
}else{
|
return "0";
|
}
|
}
|
@Override
|
public String checkCusCodeTwo(String code,String id) {
|
String sql = " SELECT COUNT(ID) FROM SC_PARTNER_CUSTOMER_INFO WHERE CUSTOMER_CODE = :code ";
|
if(StringUtil.notEmpty(id)){
|
sql+=" and id<> :id ";
|
}
|
Map param=new HashMap();
|
param.put("code", code);
|
param.put("id", id);
|
Integer count = baseDao.queryForInteger(sql, param);
|
if(count > 0){
|
return "1";
|
}else{
|
return "0";
|
}
|
}
|
|
/**
|
* 查询客户基本信息
|
*/
|
@Override
|
public Map queryCustomerBaseMsg(String id) {
|
String sql = "SELECT A.* FROM SC_PARTNER_CUSTOMER_INFO A WHERE A.ID=:id " ;
|
SqlParameter param = new SqlParameter();
|
param.addValue("id", id);
|
Map map = baseDao.queryForMap(sql, param);
|
return map;
|
}
|
|
|
@Override
|
public List<Map> queryCtmChildAcountList(String id) {
|
String sql = "select A.CUSTOMER_NAME,B.* from SC_PARTNER_CUSTOMER_INFO A " +
|
", CUSTOMER_CONTACTS B WHERE A.ID = B.CUSTOMER_ID AND B.STATE = 1 AND A.ID = :id " ;
|
SqlParameter param = new SqlParameter();
|
param.addValue("id", id);
|
List<Map> list = baseDao.queryForList(sql, param);
|
return list;
|
}
|
|
@Override
|
public PageInfo queryCustomerOrder(PageInfo pageInfo, Map<String, String> params) {
|
String customerId = params.get("id");
|
String selectSql = "SELECT B.ID , A.FLOWSTATE, B.WFNAME , B.BUSINESSTYPE , B.WFSTATE , B.WORKFLOWTYPE , B.CREATERNAME , B.CREATERID , B.CREATETIME , B.ENDTIME, B.MAINFLOWID , B.CURRENT_NODE_NAME , B.CURRENT_NODE_ID , B.DEAL_TYPE , B.CURRENT_DEALER_ID , B.CURRENT_DEALER_NAME , B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME , B.WF_TEMPLATE_ID, B.BUSINESS_ID , B.ORDER_CODE, B.CUSTOMER_ID, B.CUSTOMER_NAME , B.PROJECT_ID, B.PROJECT_NAME , B.SUB_CUSTOMER_NAME , B.SUB_CUSTOMER_ID FROM WORKFLOW_BASE B LEFT JOIN WORKFLOW_NODE A ON B.ID = A.FLOWID WHERE B.CUSTOMER_ID = :customerId AND B.WFSTATE != :ysc GROUP BY B.ID , A.FLOWSTATE, B.WFNAME , B.BUSINESSTYPE , B.WFSTATE , B.WORKFLOWTYPE , B.CREATERNAME , B.CREATERID , B.CREATETIME , B.ENDTIME, B.MAINFLOWID , B.CURRENT_NODE_NAME , B.CURRENT_NODE_ID , B.DEAL_TYPE , B.CURRENT_DEALER_ID , B.CURRENT_DEALER_NAME , B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME , B.WF_TEMPLATE_ID, B.BUSINESS_ID , B.ORDER_CODE, B.CUSTOMER_ID, B.CUSTOMER_NAME , B.PROJECT_ID, B.PROJECT_NAME , B.SUB_CUSTOMER_NAME , B.SUB_CUSTOMER_ID ORDER BY B.CREATETIME DESC ";
|
params.put("customerId", customerId);
|
params.put("ysc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE));
|
return baseDao.queryforSplitPageInfo(pageInfo, selectSql, params);
|
}
|
|
@Override
|
public int queryCustomerOrderCount(Map<String, String> params) {
|
String customerId = params.get("id");
|
String selectSql = "SELECT COUNT(B.ID) FROM WORKFLOW_BASE B WHERE B.CUSTOMER_ID = :customerId AND B.WFSTATE != :ysc ORDER BY B.CREATETIME DESC ";
|
params.put("customerId", customerId);
|
params.put("ysc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE));
|
return baseDao.queryForInteger(selectSql,params);
|
}
|
|
@Override
|
public List queryDeviceMsg(String id) {
|
String sql = "SELECT B.NUM,B.LV3_ID,C.NAME AS THIRD_NAME,B.LV2_ID,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE CATE_TYPE=1 AND B.LV2_ID = D.ID) SECOND_NAME FROM (SELECT COUNT(A.ID) NUM, A.LV3_ID,A.LV2_ID FROM CMDB_CI_BASE A WHERE A.CUS_ID = :userId AND STATE = :state GROUP BY A.LV3_ID,A.LV2_ID) B,CMDB_CI_CATEGORY C WHERE B.LV3_ID = C.ID AND C.CATE_TYPE=1 ;";
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("userId",id).addValue("state", Constants.CMDB_CI_BASE_USINGSTATE_NORMAL));
|
List newList = new ArrayList();
|
Map cacheMap = new HashMap();
|
for(Map map : list) {
|
if(cacheMap.containsKey(map.get("LV2_ID"))) {
|
List cacheList = (List)cacheMap.get(map.get("LV2_ID"));
|
cacheList.add(map);
|
} else {
|
List cacheList = new ArrayList();
|
cacheList.add(map);
|
Map map2 = new HashMap();
|
map2.put("secondId", map.get("LV2_ID"));
|
map2.put("secondName", map.get("SECOND_NAME"));
|
map2.put("third", cacheList);
|
cacheMap.put(map.get("LV2_ID"), cacheList);
|
newList.add(map2);
|
}
|
}
|
System.out.println(JsonUtil.list2Json(newList));
|
return newList;
|
}
|
|
/**
|
* 查询该客户的设备总数量
|
*/
|
@Override
|
public int queryCateDeviceCount( Map<String, String> params) {
|
String selectSql = "SELECT COUNT(ID) FROM CMDB_CI_BASE WHERE CUS_ID = :customerId AND LV3_ID = :cate AND STATE = :state";
|
params.put("state", ConvertUtil.obj2StrBlank(Constants.CMDB_CI_BASE_USINGSTATE_NORMAL));
|
return baseDao.queryForInteger(selectSql,params);
|
}
|
|
/**
|
* 查询该客户的设备数据
|
*/
|
@Override
|
public PageInfo queryCateDeviceData(PageInfo pageInfo, Map<String, String> params) {
|
String selectSql = "SELECT * FROM CMDB_CI_BASE WHERE CUS_ID = :customerId AND LV3_ID = :cate AND STATE = :state";
|
params.put("state",ConvertUtil.obj2StrBlank( Constants.CMDB_CI_BASE_USINGSTATE_NORMAL));
|
return baseDao.queryforSplitPageInfo(pageInfo, selectSql, params);
|
}
|
|
@Override
|
public int queryXjReportCount(Map<String, String> params) {
|
String beginTime = params.get("beginTime");
|
String endTime = params.get("endTime");
|
String sql = "SELECT COUNT(B.ID) ";
|
sql += "FROM CI_DAILY_PATROL B ";
|
sql += " WHERE B.CUS_ID = :customerId ";
|
if(StringUtil.notEmpty(beginTime) && StringUtil.notEmpty(endTime)) {
|
beginTime = beginTime.replaceAll("-", "");
|
endTime = endTime.replaceAll("-", "");
|
sql += " AND B.PATROL_DATE >= :beginTime AND B.PATROL_DATE < :endTime ";
|
}
|
int count = baseDao.queryForInteger(sql, params);
|
return count;
|
}
|
|
@Override
|
public String queryByName(String name) {
|
return baseDao.queryForString("select id from sc_partner_customer_info where customer_name=:name",new SqlParameter("name",name));
|
}
|
|
@Override
|
public String queryBySubname(String name) {
|
return baseDao.queryForString("select id from sc_partner_customer_sub where customer_name=:name",new SqlParameter("name",name));
|
}
|
@Override
|
public Integer checkname(String customer_id,String id) {
|
return baseDao.queryForInteger("select count(id) from sc_partner_customer_sub where id=:id and customer_id=:customer_id",new SqlParameter("customer_id",customer_id).addValue("id",id));
|
}
|
|
@Override
|
public PageInfo queryXjReportData(PageInfo pageInfo, Map<String, String> params) {
|
String beginTime = params.get("beginTime");
|
String endTime = params.get("endTime");
|
String sql = "SELECT A.* FROM CI_DAILY_PATROL A WHERE A.CUS_ID = :customerId ";
|
|
if(StringUtil.notEmpty(beginTime) && StringUtil.notEmpty(endTime)) {
|
beginTime = beginTime.replaceAll("-", "");
|
endTime = endTime.replaceAll("-", "");
|
sql += " AND A.PATROL_DATE >= :beginTime AND A.PATROL_DATE <= :endTime ";
|
}
|
|
sql +=" ORDER BY A.PATROL_DATE DESC ";
|
PageInfo list = baseDao.queryforSplitPageInfo(pageInfo, sql, params);
|
return list;
|
}
|
|
@SuppressWarnings("unchecked")
|
@Override
|
public List getSubList(Map param) {
|
String lid=ConvertUtil.obj2StrBlank(param.get("lv1Id"));
|
if(StringUtil.isEmpty(lid)){
|
param.put("lv1Id", "");
|
}
|
String lv=ConvertUtil.obj2StrBlank(param.get("lv"));
|
String sql="";
|
if(lv.equals("1")){
|
sql="select id,CUSTOMER_NAME name from SC_PARTNER_CUSTOMER_SUB where CUSTOMER_ID=:lv1Id and MY_LEVEL=1";
|
}else if(lv.equals("2")){
|
sql="select id,CUSTOMER_NAME name from SC_PARTNER_CUSTOMER_SUB where P_ID=:lv1Id and MY_LEVEL=2";
|
}
|
return baseDao.queryForList(sql, param);
|
}
|
|
}
|