package cn.ksource.web.facade.customerconfig;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.beans.CMDB_MAINUFACTURER;
|
import cn.ksource.beans.CMDB_MAINUFACTURER_CONTACTS;
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.AjaxUtil;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.PinYinUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.WebUtil;
|
|
@Service("customerCsFacade")
|
@SuppressWarnings("unchecked")
|
public class CustomerCsFacadeImpl implements CustomerCsFacade {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
/**
|
* 查询厂商或者集成商数据
|
*/
|
@Override
|
public PageInfo queryCsJscList(PageInfo pageInfo,Map<String,String> params) {
|
String name = params.get("name");
|
String type = params.get("type");
|
String state = params.get("state");
|
StringBuilder selectSql = new StringBuilder("SELECT A.*,(SELECT COUNT(B.ID) FROM CMDB_MAINUFACTURER_CONTACTS B WHERE A.ID = B.MAINUFACTUREERID AND B.DEL_FLAG = 1) AS CONTACT_NUM FROM CMDB_MAINUFACTURER A WHERE A.CUSTOMER_ID = :customerId ");
|
if(StringUtil.notEmpty(name)) {
|
selectSql.append(" AND A.MANUFACTURERNAME LIKE :name");
|
params.put("name", "%"+name+"%");
|
}
|
if (StringUtil.isNotBlank(type)) {
|
selectSql.append(" AND A.TYPE = :type ");
|
}
|
if (StringUtil.isNotBlank(state)) {
|
selectSql.append(" AND A.STATE = :state ");
|
}
|
|
selectSql.append(" ORDER BY NAME_PINYIN ASC,CREATE_TIME DESC ");
|
PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, selectSql.toString(), params);
|
return info;
|
}
|
|
@Override
|
public int queryCsJscCount(Map<String,String> params) {
|
String name = params.get("name");
|
String type = params.get("type");
|
String state = params.get("state");
|
StringBuilder selectSql = new StringBuilder("SELECT COUNT(ID) FROM CMDB_MAINUFACTURER WHERE TYPE = :type AND CUSTOMER_ID = :customerId ");
|
if(StringUtil.notEmpty(name)) {
|
selectSql.append(" AND MANUFACTURERNAME LIKE :name");
|
params.put("name", "%"+name+"%");
|
}
|
if (StringUtil.isNotBlank(type)) {
|
selectSql.append(" AND TYPE = :type ");
|
}
|
if (StringUtil.isNotBlank(state)) {
|
selectSql.append(" AND STATE = :state ");
|
}
|
int count = baseDao.queryForInteger(selectSql.toString(),params);
|
return count;
|
}
|
|
/**
|
* 查询联系人列表
|
*/
|
@Override
|
public List queryContacts(Map<String,String> params) {
|
String selectSql = "SELECT * FROM CMDB_MAINUFACTURER_CONTACTS WHERE DEL_FLAG = 1 AND MAINUFACTUREERID = :csId AND CUSTOMER_ID = :customerId ORDER BY NAME_PINYIN ASC,CREATE_TIME DESC ";
|
return baseDao.queryForList(selectSql,params);
|
}
|
|
/**
|
* 保存联系人
|
*/
|
@Override
|
public String saveContact(HttpServletRequest request,CMDB_MAINUFACTURER_CONTACTS contact) {
|
if(StringUtil.isEmpty(contact.getId())){
|
long createTime = DateUtil.getCurrentDate14();
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userId = ConvertUtil.obj2StrBlank(user.get("ID"));
|
String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM"));
|
contact.setCreate_time(createTime).setUser_id(userId).setUser_name(userName).setDel_flag(1);
|
}
|
contact.setName_pinyin(PinYinUtil.getStringPinYin(contact.getContacts(), false)).insertOrUpdate();
|
return "1";
|
}
|
|
/**
|
* 删除联系人
|
*/
|
@Override
|
public String deleteContact(HttpServletRequest request) {
|
String id = request.getParameter("id");
|
String updateSql = "UPDATE CMDB_MAINUFACTURER_CONTACTS SET DEL_FLAG = 2 WHERE ID = :id";
|
baseDao.execute(updateSql, new SqlParameter("id",id));
|
return "1";
|
}
|
|
|
|
|
/**
|
* 保存厂商或者集成商
|
*/
|
@Override
|
public String saveCsJsc(HttpServletRequest request, CMDB_MAINUFACTURER csjcs) {
|
if(StringUtil.isEmpty(csjcs.getId())){
|
csjcs.setState(1).setCreate_time(DateUtil.getCurrentDate14());
|
}
|
csjcs.setName_pinyin(PinYinUtil.getStringPinYin(csjcs.getManufacturername(), false)).insertOrUpdate();
|
return "1";
|
}
|
|
/**
|
* 验证厂商或者集成商唯一性
|
*/
|
@Override
|
public String checkCsJsc(HttpServletRequest request) {
|
String manufacturername = AjaxUtil.decode(request.getParameter("manufacturername"));
|
String type = request.getParameter("type");
|
String id = request.getParameter("id");
|
String customerId=request.getParameter("customerId");
|
StringBuilder builder = new StringBuilder("SELECT COUNT(ID) FROM CMDB_MAINUFACTURER WHERE MANUFACTURERNAME = :manufacturername AND TYPE = :type AND CUSTOMER_ID=:customerId ");
|
Map paramMap = new HashMap();
|
paramMap.put("manufacturername", manufacturername);
|
paramMap.put("type", type);
|
paramMap.put("customerId", customerId);
|
if(StringUtil.notEmpty(id)) {
|
builder.append(" AND ID != :id");
|
paramMap.put("id", id);
|
}
|
int count = baseDao.queryForInteger(builder.toString(),paramMap);
|
if(count>0) {
|
return "1";
|
}
|
return "2";
|
}
|
|
/**
|
* 启用或者禁用厂商集成商信息
|
*/
|
@Override
|
public String updateCsState(HttpServletRequest request) {
|
String id = request.getParameter("id");
|
String state = request.getParameter("state");
|
String updateSql = "UPDATE CMDB_MAINUFACTURER SET STATE = :state WHERE ID = :id ";
|
Map paramMap = new HashMap();
|
paramMap.put("id", id);
|
paramMap.put("state", state);
|
baseDao.execute(updateSql, paramMap);
|
return "1";
|
}
|
|
|
@Override
|
public List queryCsreport(String customerId) {
|
List<Map> result = new ArrayList<Map>();
|
Map paramMap = new HashMap();
|
paramMap.put("customerId", customerId);
|
//查询该项目下所有的厂商或者集成商
|
String selectCsSql = "SELECT * FROM CMDB_MAINUFACTURER WHERE STATE = 1 AND CUSTOMER_ID = :customerId ORDER BY TYPE ASC,CREATE_TIME DESC ";
|
result = baseDao.queryForList(selectCsSql,paramMap);
|
|
if(null!=result && result.size()>0) {
|
Map cacheMap = new HashMap();
|
for(Map cs : result) {
|
String csId = ConvertUtil.obj2StrBlank(cs.get("ID"));
|
List lxr = new ArrayList();
|
cacheMap.put(csId, lxr);
|
cs.put("lxrs", lxr);
|
}
|
|
//查询联系人信息
|
String selectLxrSql = "SELECT * FROM CMDB_MAINUFACTURER_CONTACTS WHERE DEL_FLAG = 1 AND CUSTOMER_ID = :customerId ";
|
List<Map> lxr = baseDao.queryForList(selectLxrSql,paramMap);
|
if(null!=lxr && lxr.size()>0) {
|
for(Map user : lxr) {
|
String csId = ConvertUtil.obj2StrBlank(user.get("MAINUFACTUREERID"));
|
if(cacheMap.containsKey(csId)) {
|
List lxrs = (List)cacheMap.get(csId);
|
lxrs.add(user);
|
}
|
}
|
}
|
|
}
|
System.out.println(JsonUtil.list2Json(result));
|
|
if(null!=result && result.size()>0) {
|
for(Map map : result) {
|
List lxrs = (List)map.get("lxrs");
|
int lxrSize = lxrs.size();
|
if(lxrSize>0) {
|
map.put("size", lxrSize);
|
} else {
|
map.put("size", 1);
|
}
|
}
|
}
|
|
return result;
|
}
|
|
}
|