package cn.ksource.web.facade.wechat.uwyw;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
|
@Service("uSatisFacade")
|
public class USatisFacadeImpl implements USatisFacade {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Override
|
public List ewMonthCalendar(Map<String, String> params) {
|
String year = params.get("year");
|
long nowTime = DateUtil.getCurrentDate6();
|
if(!StringUtil.notEmpty(year)) {
|
year = DateUtil.getToday("yyyy");
|
}
|
//初始化月份数据
|
List<Map> allMonth = new ArrayList<Map>();
|
List<Map> cardmsg = queryZcsatisCount(params);
|
Map cacheMap = new HashMap();
|
for(Map map:cardmsg){
|
cacheMap.put(map.get("CARD_MONTH"), map.get("NUM"));
|
}
|
|
for(int i=1;i<=12;i++) {
|
Map map = new HashMap();
|
map.put("year", year);
|
String month = i<10?("0"+i):(""+i);
|
map.put("month", month);
|
System.out.println(year+month);
|
long yearMonth = ConvertUtil.obj2Long(year+month);
|
if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(cacheMap.get(yearMonth)))){
|
if(ConvertUtil.obj2Integer(cacheMap.get(yearMonth)) > 0){
|
map.put("state", 1);
|
map.put("NUM", cacheMap.get(yearMonth));
|
}else{
|
map.put("state", 0);
|
}
|
}else{
|
map.put("state", 0);
|
}
|
int compareTime = 0;
|
if(yearMonth>nowTime) {
|
compareTime = 1;
|
} else if (yearMonth==nowTime) {
|
compareTime = 2;
|
} else {
|
compareTime = 3;
|
}
|
map.put("compareTime", compareTime);
|
|
allMonth.add(map);
|
}
|
System.err.println(JsonUtil.list2Json(allMonth));
|
|
return allMonth;
|
}
|
|
|
@Override
|
public int queryIncisatisCount(Map<String,String> params) {
|
StringBuilder sql = new StringBuilder();
|
sql.append("SELECT COUNT(WB.ID) ");
|
sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , ORDER_SATIS_INFO C WHERE C.BUSINESS_ID = WB.ID AND WB.BUSINESS_ID = B.ID ");
|
sql.append(" AND WB.BUSINESSTYPE = :businessType ");
|
params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT));
|
|
sql.append(" AND WB.CUSTOMER_ID = :cusId ");
|
|
String orderName = params.get("name");
|
if(StringUtil.notEmpty(orderName)) {
|
sql.append(" AND WB.WFNAME LIKE :orderName ");
|
params.put("orderName", "%"+orderName+"%");
|
}
|
|
|
return baseDao.queryForInteger(sql.toString(),params);
|
}
|
|
@Override
|
public PageInfo queryIncisatisData(PageInfo pageInfo, Map<String,String> params) {
|
|
StringBuilder sql = new StringBuilder();
|
sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.ENDTIME,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE,B.CONTACT_NAME,B.CONTACT_PHONE, ");
|
sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,C.SCORE ");
|
sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , ORDER_SATIS_INFO C WHERE C.BUSINESS_ID = WB.ID AND WB.BUSINESS_ID = B.ID ");
|
sql.append(" AND WB.BUSINESSTYPE = :businessType ");
|
params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT));
|
|
sql.append(" AND WB.CUSTOMER_ID = :cusId ");
|
|
String orderName = params.get("name");
|
if(StringUtil.notEmpty(orderName)) {
|
sql.append(" AND WB.WFNAME LIKE :orderName ");
|
params.put("orderName", "%"+orderName+"%");
|
}
|
|
|
sql.append( " ORDER BY WB.CREATETIME DESC ");
|
return baseDao.queryforSplitPageInfo(pageInfo,sql.toString(),params);
|
}
|
|
|
@Override
|
public List<Map> queryZcsatisCount(Map<String,String> params) {
|
StringBuilder sql = new StringBuilder();
|
sql.append("SELECT C.CARD_MONTH,COUNT(A.ID) NUM FROM SC_CUSTOMER_ZC_UESR A , AUDITING_SATIS_INFO C WHERE C.USER_ID = A.USER_ID ");
|
sql.append(" AND C.CUSTOMER_ID = :cusId ");
|
|
sql.append(" GROUP BY C.CARD_MONTH ");
|
|
return baseDao.queryForList(sql.toString(), params);
|
}
|
|
@Override
|
public List queryZcsatisData(Map<String,String> params) {
|
String year = params.get("year");
|
String month = params.get("month");
|
StringBuilder sql = new StringBuilder();
|
sql.append("SELECT A.USER_NAME AS ALLUSER,C.* FROM SC_CUSTOMER_ZC_UESR A , AUDITING_SATIS_INFO C WHERE C.USER_ID = A.USER_ID ");
|
|
sql.append(" AND C.CUSTOMER_ID = :cusId ");
|
|
|
String showmonth = year+month;
|
if(StringUtil.notEmpty(showmonth)) {
|
sql.append(" AND C.CARD_MONTH LIKE :showmonth ");
|
params.put("showmonth", "%"+showmonth+"%");
|
}
|
|
sql.append( " ORDER BY C.SUBMIT_TIME DESC ");
|
return baseDao.queryForList(sql.toString(),params);
|
}
|
|
}
|