package cn.ksource.web.facade.satis;
|
|
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.CUSTOMER_SATIS_TEMPLATE;
|
import cn.ksource.beans.KPI_SATIS_TEMPLATE;
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.EqualUtil;
|
import cn.ksource.core.util.NumberUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.TreeNode;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
|
@Service("satisfationConfigFacade")
|
public class SatisfationConfigFacadeImpl implements SatisfationConfigFacade {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Override
|
public PageInfo querysatisfactionData(PageInfo pageInfo,
|
HttpServletRequest request) {
|
StringBuffer sql = new StringBuffer("SELECT * FROM CUSTOMER_SATIS_TEMPLATE WHERE 1=1");
|
Map param = new HashMap();
|
String template_name = request.getParameter("template_name");
|
if(!StringUtil.isEmpty(template_name)){
|
sql.append(" AND TEMPLATE_NAME LIKE :template_name ");
|
param.put("template_name", "%"+template_name+"%");
|
}
|
String template_type = request.getParameter("template_type");
|
if(!StringUtil.isEmpty(template_type)){
|
sql.append(" AND TEMPLATE_TYPE = :template_type ");
|
param.put("template_type", template_type);
|
}
|
String state = request.getParameter("state");
|
if(!StringUtil.isEmpty(state)){
|
sql.append(" AND STATE = :state ");
|
param.put("state", state);
|
}
|
sql.append(" ORDER BY STATE,TEMPLATE_TYPE DESC,UPLOAD_TIME DESC");
|
return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), param);
|
}
|
|
@Override
|
public int satisfationCount(HttpServletRequest request) {
|
StringBuffer sql = new StringBuffer("SELECT COUNT(ID) FROM CUSTOMER_SATIS_TEMPLATE WHERE 1=1");
|
Map param = new HashMap();
|
String template_name = request.getParameter("template_name");
|
if(!StringUtil.isEmpty(template_name)){
|
sql.append(" AND TEMPLATE_NAME LIKE :template_name ");
|
param.put("template_name", "%"+template_name+"%");
|
}
|
String template_type = request.getParameter("template_type");
|
if(!StringUtil.isEmpty(template_type)){
|
sql.append(" AND TEMPLATE_TYPE = :template_type ");
|
param.put("template_type", template_type);
|
}
|
String state = request.getParameter("state");
|
if(!StringUtil.isEmpty(state)){
|
sql.append(" AND STATE = :state ");
|
param.put("state", state);
|
}
|
return baseDao.queryForInteger(sql.toString(), param);
|
}
|
|
@Override
|
public String checkVersion(HttpServletRequest request) {
|
String version = request.getParameter("version");
|
String type = request.getParameter("type");
|
String id = request.getParameter("id");
|
String sql = "SELECT COUNT(ID) FROM CUSTOMER_SATIS_TEMPLATE WHERE VERSION = :version AND TEMPLATE_TYPE = :template_type ";
|
if(!StringUtil.isEmpty(id)){
|
sql += " AND ID <> :id";
|
}
|
Map param = new HashMap();
|
param.put("version", version);
|
param.put("template_type", type);
|
param.put("id", id);
|
int count = baseDao.queryForInteger(sql, param);
|
if(count > 0){
|
return "1";
|
}else{
|
return "0";
|
}
|
}
|
|
@Override
|
public void updateState(CUSTOMER_SATIS_TEMPLATE template) {
|
|
String sql = "UPDATE CUSTOMER_SATIS_TEMPLATE SET STATE = :index WHERE STATE = :state AND TEMPLATE_TYPE = :template_type ";
|
Map param = new HashMap();
|
param.put("index", Constants.CUSTOMER_SATIS_TEMPLATE_STATE_TWO);
|
param.put("state", Constants.CUSTOMER_SATIS_TEMPLATE_STATE_ONE);
|
param.put("template_type", template.getTemplate_type());
|
baseDao.execute(sql, param);
|
template.update();
|
|
}
|
|
@Override
|
public Map getOrderTemplate(HttpServletRequest request) {
|
String id = request.getParameter("id");
|
StringBuffer sqlYj = new StringBuffer("SELECT C.* FROM CUSTOMER_SATIS_TEMPLATE_ITEM C");
|
sqlYj.append(" WHERE C.STATE = 1 AND C.ITEM_LEVEL = 1 AND C.TEMPLATE_ID = :id ORDER BY C.ORDERNUM ");
|
StringBuffer sqlEj = new StringBuffer("SELECT C.* FROM CUSTOMER_SATIS_TEMPLATE_ITEM C");
|
sqlEj.append(" WHERE C.STATE = 1 AND C.ITEM_LEVEL = 2 AND C.TEMPLATE_ID = :id ORDER BY C.ORDERNUM ");
|
StringBuffer sqlEva = new StringBuffer("SELECT A.* FROM SATIS_EVA_ITEM A ");
|
sqlEva.append(" WHERE A.ITEM_ID IN (SELECT C.ID FROM CUSTOMER_SATIS_TEMPLATE_ITEM C,CUSTOMER_SATIS_TEMPLATE B,CUSTOMER_SATIS_TEMPLATE_ITEM D ");
|
sqlEva.append(" WHERE C.STATE = 1 AND C.ITEM_LEVEL = 2 AND C.TEMPLATE_ID = B.ID AND C.FATHER_ID = D.ID AND B.ID = :id ) ORDER BY A.ORDERNUM ");
|
List<Map> itemYjList = baseDao.queryForList(sqlYj.toString(),new SqlParameter("id",id));
|
List<Map> itemList = baseDao.queryForList(sqlEj.toString(),new SqlParameter("id",id));
|
List<Map> evaList = baseDao.queryForList(sqlEva.toString(),new SqlParameter("id",id));
|
if(itemList != null && itemList.size()>0){
|
for(Map item:itemList){
|
|
List<Map> evaluList = new ArrayList<Map>();
|
for(Map eva:evaList){
|
if(eva.get("ITEM_ID").equals(item.get("ID"))){
|
evaluList.add(eva);
|
}
|
}
|
|
item.put("EVALUATION", evaluList);
|
item.put("ROWSPAN", evaluList.size());
|
}
|
}
|
|
Map cardMap = new HashMap();
|
cardMap.put("itemYjList", itemYjList);
|
cardMap.put("itemList", itemList);
|
return cardMap;
|
}
|
|
@Override
|
public int queryQzCount(HttpServletRequest request) {
|
StringBuffer sql = new StringBuffer("SELECT COUNT(ID) FROM KPI_SATIS_TEMPLATE WHERE 1=1 ");
|
Map param = new HashMap();
|
String template_name = request.getParameter("template_name");
|
if(!StringUtil.isEmpty(template_name)){
|
sql.append(" AND TEMPLATE_NAME LIKE :template_name ");
|
param.put("template_name", "%"+template_name+"%");
|
}
|
return baseDao.queryForInteger(sql.toString(), param);
|
}
|
|
@Override
|
public PageInfo queryQzdata(HttpServletRequest request, PageInfo pageInfo) {
|
StringBuffer sql = new StringBuffer("SELECT * FROM KPI_SATIS_TEMPLATE WHERE 1=1 ");
|
Map param = new HashMap();
|
String template_name = request.getParameter("template_name");
|
if(!StringUtil.isEmpty(template_name)){
|
sql.append(" AND TEMPLATE_NAME LIKE :template_name ");
|
param.put("template_name", "%"+template_name+"%");
|
}
|
sql.append(" ORDER BY STATE ");
|
return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), param);
|
}
|
|
@Override
|
public String checkkpiVersion(HttpServletRequest request) {
|
String version = request.getParameter("version");
|
String id = request.getParameter("id");
|
String sql = "SELECT COUNT(ID) FROM KPI_SATIS_TEMPLATE WHERE VERSION = :version";
|
if(!StringUtil.isEmpty(id)){
|
sql += " AND ID <> :id";
|
}
|
Map param = new HashMap();
|
param.put("version", version);
|
param.put("id", id);
|
int count = baseDao.queryForInteger(sql, param);
|
if(count > 0){
|
return "1";
|
}else{
|
return "0";
|
}
|
}
|
|
@Override
|
public void updatekpiState(KPI_SATIS_TEMPLATE template) {
|
String sql = "UPDATE KPI_SATIS_TEMPLATE SET STATE = :index WHERE STATE = :state ";
|
Map param = new HashMap();
|
param.put("index", Constants.CUSTOMER_SATIS_TEMPLATE_STATE_TWO);
|
param.put("state", Constants.CUSTOMER_SATIS_TEMPLATE_STATE_ONE);
|
baseDao.execute(sql, param);
|
template.update();
|
|
}
|
|
@Override
|
public List<Map> checkisadd(HttpServletRequest request) {
|
String sjbh = request.getParameter("cateId");
|
String templateId = request.getParameter("templateId");
|
String sql = "SELECT A.* FROM CUSTOMER_SATIS_TEMPLATE_ITEM A WHERE A.TEMPLATE_ID = :templateId ";
|
SqlParameter param = new SqlParameter();
|
param.addValue("templateId", templateId);
|
if(StringUtils.isBlank(sjbh)||"0".equals(sjbh)){
|
sql = sql + " AND A.ITEM_LEVEL=1 AND (A.FATHER_ID is null OR A.FATHER_ID = '' OR A.FATHER_ID = 0 )";
|
}else{
|
sql = sql + " AND A.FATHER_ID = :p_id ";
|
param.addValue("p_id",sjbh);
|
}
|
sql = sql + " ORDER BY A.ORDERNUM ";
|
List<Map> count = baseDao.queryForList(sql, param);
|
return count;
|
}
|
|
@Override
|
public List<Map> getsatisQuotatreeList(HttpServletRequest request) {
|
String templateId = request.getParameter("templateId");
|
Map paramMap = new HashMap();
|
String selectSubSql = "SELECT * from CUSTOMER_SATIS_TEMPLATE_ITEM WHERE STATE = 1 AND TEMPLATE_ID = :templateId ORDER BY ITEM_LEVEL,ORDERNUM ";
|
paramMap.put("templateId", templateId);
|
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>();
|
|
for (Map map : cates) {
|
|
//一级树
|
if (map.get("ITEM_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("ITEM_LEVEL").toString().equalsIgnoreCase("2")) {
|
String pId = map.get("FATHER_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);
|
}
|
}
|
}
|
return resultList;
|
}
|
|
@Override
|
public int partnerquotaCount(HttpServletRequest request) {
|
String sjbh = request.getParameter("categoryid");
|
String templateId = request.getParameter("templateId");
|
String sql = "SELECT COUNT(A.ID) FROM CUSTOMER_SATIS_TEMPLATE_ITEM A WHERE A.TEMPLATE_ID = :templateId ";
|
SqlParameter param = new SqlParameter();
|
param.addValue("templateId", templateId);
|
if(StringUtils.isBlank(sjbh)||"0".equals(sjbh)){
|
sql = sql + " AND A.ITEM_LEVEL=1 AND (A.FATHER_ID is null OR A.FATHER_ID = '' OR A.FATHER_ID = 0 )";
|
}else{
|
sql = sql + " AND A.FATHER_ID = :p_id ";
|
param.addValue("p_id",sjbh);
|
}
|
int count = baseDao.queryForInteger(sql, param);
|
return count;
|
}
|
|
@Override
|
public PageInfo queryPartnerquotaData(HttpServletRequest request,
|
PageInfo pageInfo) {
|
String sjbh = request.getParameter("cateId");
|
String templateId = request.getParameter("templateId");
|
String sql = "SELECT A.*,B.ITEM_NAME AS QUOTANAME FROM CUSTOMER_SATIS_TEMPLATE_ITEM A LEFT JOIN CUSTOMER_SATIS_TEMPLATE_ITEM B ON B.ID = A.FATHER_ID WHERE A.TEMPLATE_ID = :templateId ";
|
SqlParameter param = new SqlParameter();
|
param.addValue("templateId", templateId);
|
if(StringUtils.isBlank(sjbh)||"0".equals(sjbh)){
|
sql = sql + " AND A.ITEM_LEVEL=1 AND (A.FATHER_ID is null OR A.FATHER_ID = '' OR A.FATHER_ID = 0 )";
|
}else{
|
sql = sql + " AND A.FATHER_ID = :p_id ";
|
param.addValue("p_id",sjbh);
|
}
|
sql = sql + " ORDER BY A.ORDERNUM ";
|
return baseDao.queryforSplitPageInfo(pageInfo, sql, param);
|
}
|
|
@Override
|
public Map saveSatisquota(HttpServletRequest request) {
|
String categoryid = request.getParameter("categoryid");
|
String templateId = request.getParameter("templateId");
|
String item_level = request.getParameter("item_level");
|
String zhs[] = request.getParameterValues("zh");
|
|
Map result = new HashMap();
|
String firstCate = "";
|
|
if("1".equals(item_level)) {
|
firstCate = categoryid;
|
}
|
|
List<SqlParameter> param = new ArrayList<SqlParameter>();
|
List<SqlParameter> paramEva = new ArrayList<SqlParameter>();
|
for(int i=0;i < zhs.length;i++){
|
if(!StringUtil.isEmpty(zhs[i])){
|
String[] zhvalue = zhs[i].split("&");
|
String id = StringUtil.getUUID();
|
SqlParameter paraMap = new SqlParameter();
|
paraMap.put("id", id);
|
paraMap.put("template_id", templateId);
|
paraMap.put("item_name", zhvalue[0]);
|
if(zhvalue.length==4){
|
paraMap.put("item_note", zhvalue[3]);
|
}
|
else {
|
paraMap.put("item_note","");
|
}
|
paraMap.put("ordernum", zhvalue[2]);
|
paraMap.put("evaluation", "[{name:'非常满意',score:100},{name:'满意',score:80},{name:'一般',score:60},{name:'不满意',score:0}]");
|
paraMap.put("state", 1);
|
paraMap.put("item_level", ConvertUtil.obj2Int(item_level)+1);
|
paraMap.put("father_id", categoryid);
|
paraMap.put("template_weight", zhvalue[1]);
|
param.add(paraMap);
|
SqlParameter paramMap1 = new SqlParameter();
|
SqlParameter paramMap2 = new SqlParameter();
|
SqlParameter paramMap3 = new SqlParameter();
|
SqlParameter paramMap4 = new SqlParameter();
|
if("1".equals(item_level)){
|
|
paramMap1.put("id", StringUtil.getUUID());
|
paramMap1.put("item_id", id);
|
paramMap1.put("eva_name", "非常满意");
|
paramMap1.put("score", 100);
|
paramMap1.put("is_default", 2);
|
paramMap1.put("ordernum", 1);
|
paramMap2.put("id", StringUtil.getUUID());
|
paramMap2.put("item_id", id);
|
paramMap2.put("eva_name", "满意");
|
paramMap2.put("score", 80);
|
paramMap2.put("is_default", 2);
|
paramMap2.put("ordernum", 2);
|
paramMap3.put("id", StringUtil.getUUID());
|
paramMap3.put("item_id", id);
|
paramMap3.put("eva_name", "一般");
|
paramMap3.put("score", 60);
|
paramMap3.put("is_default", 2);
|
paramMap3.put("ordernum", 3);
|
paramMap4.put("id", StringUtil.getUUID());
|
paramMap4.put("item_id", id);
|
paramMap4.put("eva_name", "不满意");
|
paramMap4.put("score", 0);
|
paramMap4.put("is_default", 2);
|
paramMap4.put("ordernum", 4);
|
paramEva.add(paramMap1);
|
paramEva.add(paramMap2);
|
paramEva.add(paramMap3);
|
paramEva.add(paramMap4);
|
}
|
}
|
}
|
StringBuffer sql = new StringBuffer("INSERT INTO CUSTOMER_SATIS_TEMPLATE_ITEM(ID,TEMPLATE_ID,ITEM_NAME,ITEM_NOTE,ORDERNUM,EVALUATION,STATE,ITEM_LEVEL,FATHER_ID,TEMPLATE_WEIGHT) ");
|
sql.append( "VALUES(:id,:template_id,:item_name,:item_note,:ordernum,:evaluation,:state,:item_level,:father_id,:template_weight)");
|
baseDao.executeBatch(sql.toString(), param);
|
if("1".equals(item_level)){
|
StringBuffer sqlEva = new StringBuffer("INSERT INTO SATIS_EVA_ITEM(ID,ITEM_ID,EVA_NAME,SCORE,IS_DEFAULT,ORDERNUM) ");
|
sqlEva.append( "VALUES(:id,:item_id,:eva_name,:score,:is_default,:ordernum)");
|
baseDao.executeBatch(sqlEva.toString(), paramEva);
|
}
|
result.put("firstCate", firstCate);
|
return result;
|
}
|
|
@Override
|
public Map updateSatisquota(HttpServletRequest request) {
|
String categoryid = request.getParameter("cateId");
|
String templateId = request.getParameter("templateId");
|
String item_level = request.getParameter("item_level");
|
String zhs[] = request.getParameterValues("zh");
|
String ids[] = request.getParameterValues("id");
|
String delids[] = request.getParameterValues("delid");
|
|
Map result = new HashMap();
|
String firstCate = "";
|
|
if("1".equals(item_level)) {
|
firstCate = categoryid;
|
}
|
|
List<SqlParameter> param = new ArrayList<SqlParameter>();
|
List<SqlParameter> updparam = new ArrayList<SqlParameter>();
|
List<SqlParameter> delparam = new ArrayList<SqlParameter>();
|
List<SqlParameter> paramEva = new ArrayList<SqlParameter>();
|
if(delids != null){
|
if(delids.length > 0){
|
for(int i=0;i < delids.length;i++){
|
SqlParameter paraMap = new SqlParameter();
|
if(!StringUtil.isEmpty(delids[i])){
|
paraMap.put("id", delids[i]);
|
delparam.add(paraMap);
|
}
|
}
|
}
|
}
|
for(int i=0;i < zhs.length;i++){
|
if(!StringUtil.isEmpty(zhs[i])){
|
if(StringUtil.isEmpty(ids[i])){
|
|
String[] zhvalue = zhs[i].split("-");
|
String id = StringUtil.getUUID();
|
SqlParameter paraMap = new SqlParameter();
|
paraMap.put("id", id);
|
paraMap.put("template_id", templateId);
|
paraMap.put("item_name", zhvalue[0]);
|
if(zhvalue.length==4){
|
paraMap.put("item_note", zhvalue[3]);
|
}else{
|
paraMap.put("item_note", "");
|
}
|
paraMap.put("ordernum", zhvalue[2]);
|
paraMap.put("state", 1);
|
paraMap.put("item_level", ConvertUtil.obj2Int(item_level)+1);
|
paraMap.put("father_id", categoryid);
|
paraMap.put("template_weight", zhvalue[1]);
|
param.add(paraMap);
|
SqlParameter paramMap1 = new SqlParameter();
|
SqlParameter paramMap2 = new SqlParameter();
|
SqlParameter paramMap3 = new SqlParameter();
|
SqlParameter paramMap4 = new SqlParameter();
|
if("1".equals(item_level)){
|
|
paramMap1.put("id", StringUtil.getUUID());
|
paramMap1.put("item_id", id);
|
paramMap1.put("eva_name", "非常满意");
|
paramMap1.put("score", 100);
|
paramMap1.put("is_default", 2);
|
paramMap1.put("ordernum", 1);
|
paramMap2.put("id", StringUtil.getUUID());
|
paramMap2.put("item_id", id);
|
paramMap2.put("eva_name", "满意");
|
paramMap2.put("score", 80);
|
paramMap2.put("is_default", 2);
|
paramMap2.put("ordernum", 2);
|
paramMap3.put("id", StringUtil.getUUID());
|
paramMap3.put("item_id", id);
|
paramMap3.put("eva_name", "一般");
|
paramMap3.put("score", 60);
|
paramMap3.put("is_default", 2);
|
paramMap3.put("ordernum", 3);
|
paramMap4.put("id", StringUtil.getUUID());
|
paramMap4.put("item_id", id);
|
paramMap4.put("eva_name", "不满意");
|
paramMap4.put("score", 0);
|
paramMap4.put("is_default", 2);
|
paramMap4.put("ordernum", 4);
|
paramEva.add(paramMap1);
|
paramEva.add(paramMap2);
|
paramEva.add(paramMap3);
|
paramEva.add(paramMap4);
|
}
|
}else{
|
String[] zhvalue = zhs[i].split("-");
|
SqlParameter paraMap = new SqlParameter();
|
paraMap.put("id", ids[i]);
|
paraMap.put("item_name", zhvalue[0]);
|
if(zhvalue.length==4){
|
paraMap.put("item_note", zhvalue[3]);
|
}
|
else {
|
paraMap.put("item_note","");
|
}
|
paraMap.put("ordernum", zhvalue[2]);
|
paraMap.put("template_weight", zhvalue[1]);
|
updparam.add(paraMap);
|
}
|
}
|
}
|
if("1".equals(item_level)){
|
baseDao.executeBatch("DELETE FROM SATIS_EVA_ITEM WHERE ITEM_ID = :id ", delparam);
|
baseDao.executeBatch("DELETE FROM CUSTOMER_SATIS_TEMPLATE_ITEM WHERE ID = :id ", delparam);
|
}else{
|
baseDao.executeBatch("DELETE FROM SATIS_EVA_ITEM WHERE ITEM_ID IN (SELECT ID FROM CUSTOMER_SATIS_TEMPLATE_ITEM WHERE FATHER_ID = :id) ", delparam);
|
baseDao.executeBatch("DELETE FROM CUSTOMER_SATIS_TEMPLATE_ITEM WHERE FATHER_ID = :id ", delparam);
|
baseDao.executeBatch("DELETE FROM CUSTOMER_SATIS_TEMPLATE_ITEM WHERE ID = :id ", delparam);
|
}
|
StringBuffer sqlupd = new StringBuffer("UPDATE CUSTOMER_SATIS_TEMPLATE_ITEM ");
|
sqlupd.append( " SET ITEM_NAME = :item_name,ITEM_NOTE = :item_note,ORDERNUM = :ordernum,TEMPLATE_WEIGHT = :template_weight WHERE ID = :id ");
|
baseDao.executeBatch(sqlupd.toString(), updparam);
|
StringBuffer sql = new StringBuffer("INSERT INTO CUSTOMER_SATIS_TEMPLATE_ITEM(ID,TEMPLATE_ID,ITEM_NAME,ITEM_NOTE,ORDERNUM,STATE,ITEM_LEVEL,FATHER_ID,TEMPLATE_WEIGHT) ");
|
sql.append( "VALUES(:id,:template_id,:item_name,:item_note,:ordernum,:state,:item_level,:father_id,:template_weight)");
|
baseDao.executeBatch(sql.toString(), param);
|
if("1".equals(item_level)){
|
StringBuffer sqlEva = new StringBuffer("INSERT INTO SATIS_EVA_ITEM(ID,ITEM_ID,EVA_NAME,SCORE,IS_DEFAULT,ORDERNUM) ");
|
sqlEva.append( "VALUES(:id,:item_id,:eva_name,:score,:is_default,:ordernum)");
|
baseDao.executeBatch(sqlEva.toString(), paramEva);
|
}
|
result.put("firstCate", firstCate);
|
return result;
|
|
}
|
|
@Override
|
public List getEvaList(HttpServletRequest request) {
|
String id = request.getParameter("id");
|
String sql = "SELECT * FROM SATIS_EVA_ITEM WHERE ITEM_ID = :item_id ORDER BY ORDERNUM ";
|
|
return baseDao.queryForList(sql, new SqlParameter("item_id",id));
|
}
|
|
@Override
|
public boolean updateQuota(HttpServletRequest request) {
|
String id = request.getParameter("id");
|
String[] evaluations = request.getParameterValues("evaluation");
|
String[] scores = request.getParameterValues("score");
|
String[] ordernums = request.getParameterValues("ordernum");
|
String is_default = request.getParameter("is_default");
|
|
List<SqlParameter> list = new ArrayList<SqlParameter>();
|
if(null != evaluations && evaluations.length!=0) {
|
for(int i=0; i<evaluations.length; i++) {
|
if(!StringUtil.isEmpty(evaluations[i])){
|
String is_d = "2";
|
if(!StringUtil.isEmpty(is_default)&&ConvertUtil.obj2Integer(is_default) == (i+1)){
|
is_d = "1";
|
}
|
SqlParameter map = new SqlParameter();
|
map.put("id", StringUtil.getUUID());
|
map.put("item_id", id);
|
map.put("eva_name", evaluations[i]);
|
map.put("score", scores[i]);
|
map.put("is_default", is_d);
|
map.put("ordernum", ordernums[i]);
|
list.add(map);
|
}
|
}
|
baseDao.execute("DELETE FROM SATIS_EVA_ITEM WHERE ITEM_ID = :item_id ", new SqlParameter("item_id",id));
|
StringBuffer sqlEva = new StringBuffer("INSERT INTO SATIS_EVA_ITEM(ID,ITEM_ID,EVA_NAME,SCORE,IS_DEFAULT,ORDERNUM) ");
|
sqlEva.append( "VALUES(:id,:item_id,:eva_name,:score,:is_default,:ordernum)");
|
baseDao.executeBatch(sqlEva.toString(), list);
|
}
|
return true;
|
|
}
|
|
@Override
|
public void saveQz(HttpServletRequest request) {
|
String templateId = request.getParameter("templateId");
|
String type[] = request.getParameterValues("qz_type");
|
String bigqz[] = request.getParameterValues("bigqz");
|
String fg_rate[] = request.getParameterValues("fg_rate");
|
String score[] = request.getParameterValues("score");
|
String defaultscore[] = request.getParameterValues("defaultscore");
|
String satis_bustype[] = request.getParameterValues("satis_bustype");
|
String allvalues[] = request.getParameterValues("allvalues");
|
double bigscore = 0 ;
|
StringBuffer satis_bustype1 = new StringBuffer();
|
if(satis_bustype != null && satis_bustype.length > 0){
|
for(int i = 0;i<satis_bustype.length;i++){
|
String bustype = "'"+satis_bustype[i]+"',";
|
satis_bustype1.append(bustype);
|
}
|
satis_bustype1.deleteCharAt(satis_bustype1.lastIndexOf(","));
|
}
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for(int i=0;i<type.length;i++){
|
String id = StringUtil.getUUID();
|
SqlParameter paraMap = new SqlParameter();
|
paraMap.put("id", id);
|
paraMap.put("satis_type", type[i]);
|
paraMap.put("satis_qz", bigqz[i]);
|
paraMap.put("fg_rate", fg_rate[i]);
|
paraMap.put("satis_score", score[i]);
|
paraMap.put("default_score", defaultscore[i]);
|
paraMap.put("template_id", templateId);
|
paraMap.put("father_id", null);
|
paraMap.put("satis_bustype", null);
|
double itemscore = NumberUtil.div(NumberUtil.mul(ConvertUtil.obj2Double(bigqz[i]), ConvertUtil.obj2Double(score[i])),100.00,0);
|
bigscore = NumberUtil.add(bigscore ,itemscore);
|
if("2".equals(type[i])){
|
paraMap.put("satis_bustype", satis_bustype1);
|
if(allvalues.length > 0){
|
for(int j=0;j<allvalues.length;j++){
|
if(!StringUtil.isEmpty(allvalues[j])){
|
String[] allvalue = allvalues[j].split("-");
|
SqlParameter para = new SqlParameter();
|
para.put("id", StringUtil.getUUID());
|
para.put("satis_type", allvalue[0]);
|
para.put("satis_qz", allvalue[2]);
|
para.put("fg_rate", allvalue[1]);
|
para.put("satis_score", allvalue[3]);
|
para.put("default_score", allvalue[4]);
|
para.put("template_id", templateId);
|
para.put("father_id", id);
|
para.put("satis_bustype", null);
|
paramList.add(para);
|
}
|
}
|
}
|
}
|
paramList.add(paraMap);
|
}
|
|
baseDao.execute("DELETE FROM KPI_CONFIG WHERE TEMPLATE_ID = :template_id ", new SqlParameter("template_id",templateId));
|
String sql = "INSERT INTO KPI_CONFIG(ID,TEMPLATE_ID,SATIS_TYPE,FG_RATE,SATIS_QZ,SATIS_SCORE,FATHER_ID,SATIS_BUSTYPE,DEFAULT_SCORE) VALUES(:id,:template_id,:satis_type,:fg_rate,:satis_qz,:satis_score,:father_id,:satis_bustype,:default_score)";
|
baseDao.executeBatch(sql, paramList);
|
KPI_SATIS_TEMPLATE template = new KPI_SATIS_TEMPLATE(templateId);
|
template.setAll_score(ConvertUtil.obj2Str(bigscore)).update();
|
|
}
|
|
@Override
|
public Map getKpiConfig(HttpServletRequest request) {
|
String templateId = request.getParameter("templateId");
|
List<Map> kpiList = baseDao.queryForList("SELECT * FROM KPI_CONFIG WHERE TEMPLATE_ID = :template_id ", new SqlParameter("template_id",templateId));
|
Map result = new HashMap();
|
for(Map map:kpiList){
|
if(ConvertUtil.obj2Integer(map.get("SATIS_TYPE")) == 1){
|
result.put("xyMap", map);
|
}else if(ConvertUtil.obj2Integer(map.get("SATIS_TYPE")) == 3){
|
result.put("zcMap", map);
|
}
|
}
|
|
return result;
|
}
|
|
|
}
|