package cn.ksource.web.facade.knowledge.knowledgeDeal;
|
|
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.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.beans.KM_LIBRARY;
|
import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS_TEMP;
|
import cn.ksource.beans.KM_LIBRARY_TEMP;
|
import cn.ksource.beans.SC_WORKFLOW_INCIDENT;
|
import cn.ksource.beans.SC_WORKFLOW_INCIDENT_LOCAL;
|
import cn.ksource.beans.SC_WORKFLOW_QUESTION;
|
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.StringUtil;
|
import cn.ksource.core.web.SysInfoMsg;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
import cn.ksource.web.service.file.FileService;
|
|
|
@Service("knowledgeDealFacade")
|
public class KnowledgeDealFacadeImpl implements KnowledgeDealFacade {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Autowired
|
private FileService fileService;
|
|
@Override
|
public Map categoryListTree(HttpServletRequest request) {
|
String company = request.getParameter("company");
|
String dept = request.getParameter("dept");
|
String sql="SELECT * FROM KM_LIBRARY_CATEGORY WHERE STATE = 1 ";
|
sql +=" ORDER BY LEVEL,SERIAL ";
|
Map slMap = new HashMap();
|
String sl = request.getParameter("sl");
|
if(StringUtil.notEmpty(sl)) {
|
String[] sls = sl.split(",");
|
for(String s : sls) {
|
slMap.put(s, s);
|
}
|
}
|
List<Map> categoryList = baseDao.queryForList(sql);
|
|
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 : categoryList) {
|
|
//一级树
|
if (map.get("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("LEVEL").toString().equalsIgnoreCase("2")) {
|
Map yjgnMap = yjgnCache.get(map.get("TAG").toString());
|
List<Map> list = (List<Map>)yjgnMap.get("ejTree");
|
map.put("sjTree", new LinkedList<Map>());
|
list.add(map);
|
|
ejgnCache.put(map.get("ID").toString(), map);
|
continue;
|
}
|
//三级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("3")) {
|
if(null!=map.get("TAG")){
|
if(slMap.containsKey(map.get("ID"))) {
|
slMap.put(map.get("ID"), map.get("TITLE"));
|
map.put("check", 1);
|
} else {
|
map.put("check", 2);
|
}
|
|
Map ejgnMap = ejgnCache.get(map.get("TAG").toString());
|
List<Map> list = (List<Map>)ejgnMap.get("sjTree");
|
list.add(map);
|
}
|
}
|
}
|
Map resultMap = new HashMap();
|
resultMap.put("categoryList", resultList);
|
resultMap.put("slMap", slMap);
|
return resultMap;
|
}
|
|
@Override
|
public Map thirdlevelListTree(HttpServletRequest request) {
|
String sql="SELECT * FROM CMDB_CI_CATEGORY WHERE STATE = 1 ORDER BY LV,SERIAL,NAME ";
|
|
Map slMap = new HashMap();
|
String sl = request.getParameter("sl");
|
if(StringUtil.notEmpty(sl)) {
|
String[] sls = sl.split(",");
|
for(String s : sls) {
|
slMap.put(s, s);
|
}
|
}
|
|
List<Map> categoryList = baseDao.queryForList(sql);
|
|
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 : categoryList) {
|
|
//一级树
|
if (map.get("LV").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("LV").toString().equalsIgnoreCase("2")) {
|
Map yjgnMap = yjgnCache.get(map.get("PID").toString());
|
List<Map> list = (List<Map>)yjgnMap.get("ejTree");
|
map.put("sjTree", new LinkedList<Map>());
|
list.add(map);
|
|
ejgnCache.put(map.get("ID").toString(), map);
|
continue;
|
}
|
//三级树
|
if (map.get("LV").toString().equalsIgnoreCase("3")) {
|
if(null!=map.get("PID")){
|
if(slMap.containsKey(map.get("ID"))) {
|
slMap.put(map.get("ID"), map.get("NAME"));
|
map.put("check", 1);
|
} else {
|
map.put("check", 2);
|
}
|
|
Map ejgnMap = ejgnCache.get(map.get("PID").toString());
|
List<Map> list = (List<Map>)ejgnMap.get("sjTree");
|
list.add(map);
|
}
|
}
|
}
|
Map resultMap = new HashMap();
|
resultMap.put("categoryList", resultList);
|
resultMap.put("slMap", slMap);
|
return resultMap;
|
}
|
|
@Override
|
public Map saveKnowledge(HttpServletRequest request,
|
KM_LIBRARY_TEMP km_library_temp) {
|
Map resultMap = new HashMap();
|
resultMap.put("result", 2);
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String changeId = request.getParameter("changeId");
|
String bustype = request.getParameter("bustype");
|
String sh = request.getParameter("sh");
|
String add = String.valueOf(request.getAttribute("add"));
|
if(!"1".equals(sh)){
|
if(StringUtil.isEmpty(add)){
|
km_library_temp.setContent_state(1);
|
}else{
|
km_library_temp.setContent_state(2);
|
km_library_temp.setId(null);
|
}
|
}
|
String version = request.getParameter("version");
|
|
String userId = ConvertUtil.obj2StrBlank(user.get("ID"));
|
String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM"));
|
|
String serivceListId = request.getParameter("serivceListId");
|
String serivceList = request.getParameter("serivceList");
|
String category_id = request.getParameter("category_id");
|
String categoryList = request.getParameter("categoryList");
|
String thirdlevel_id = request.getParameter("thirdlevel_id");
|
String thirdlevelList = request.getParameter("thirdlevelList");
|
|
String first_category_id = new String();
|
String first_category_name = new String();
|
String second_category_id = new String();
|
String second_category_name = new String();
|
String third_category_id = new String();
|
String third_category_name = new String();
|
String categoryid = new String();
|
String category_name = new String();
|
String first_knowcategory_id = new String();
|
String first_knowcategory_name = new String();
|
String second_knowcategory_id = new String();
|
String second_knowcategory_name = new String();
|
String third_level_id = new String();
|
String third_level_name = new String();
|
String first_level_id = new String();
|
String first_level_name = new String();
|
String second_level_id = new String();
|
String second_level_name = new String();
|
if(StringUtil.notEmpty(serivceListId) && StringUtil.notEmpty(serivceList)) {
|
String[] serivceListIds = serivceListId.split("-");
|
String[] serivceLists = serivceList.split("-");
|
if(serivceListIds.length>0){
|
first_category_id = serivceListIds[0];
|
first_category_name = serivceLists[0];
|
second_category_id = serivceListIds[1];
|
second_category_name = serivceLists[1];
|
third_category_id = serivceListIds[2];
|
third_category_name = serivceLists[2];
|
}
|
}
|
if(StringUtil.notEmpty(category_id) && StringUtil.notEmpty(categoryList)) {
|
String[] categoryListIds = category_id.split("-");
|
String[] categoryLists = categoryList.split("-");
|
if(categoryListIds.length>0){
|
first_knowcategory_id = categoryListIds[0];
|
first_knowcategory_name = categoryLists[0];
|
second_knowcategory_id = categoryListIds[1];
|
second_knowcategory_name = categoryLists[1];
|
categoryid = categoryListIds[2];
|
category_name = categoryLists[2];
|
}
|
}
|
if(StringUtil.notEmpty(thirdlevel_id) && StringUtil.notEmpty(thirdlevelList)) {
|
String[] thirdListIds = thirdlevel_id.split("-");
|
String[] thirdLists = thirdlevelList.split("-");
|
if(thirdListIds.length>0){
|
first_level_id = thirdListIds[0];
|
first_level_name = thirdLists[0];
|
second_level_id = thirdListIds[1];
|
second_level_name = thirdLists[1];
|
third_level_id = thirdListIds[2];
|
third_level_name = thirdLists[2];
|
}
|
}
|
//待审核
|
Integer auditState = Constants.KM_LIBRARY_TEMP_AUDIT_STATE_DSH;
|
String shId = request.getParameter("shId");
|
System.out.println(shId);
|
String shName = request.getParameter("shName");
|
if(!StringUtil.isEmpty(shId)){
|
|
//是否用户可见
|
Integer access_type = ConvertUtil.obj2Integer(request.getParameter("isKj"));
|
|
long createTime = DateUtil.getCurrentDate14();
|
km_library_temp.setFirst_knowcategory_id(first_knowcategory_id).setFirst_knowcategory_name(first_knowcategory_name)
|
.setSecond_knowcategory_id(second_knowcategory_id).setSecond_knowcategory_name(second_knowcategory_name)
|
.setCategory_id(categoryid).setCategory_name(category_name)
|
.setFirstlevel_id(first_level_id).setFirstlevel_name(first_level_name)
|
.setSecondlevel_id(second_level_id).setSecondlevel_name(second_level_name)
|
.setThirdlevel_id(third_level_id).setThirdlevel_name(third_level_name)
|
.setFirst_category_id(first_category_id).setFirst_category_name(first_category_name)
|
.setSecond_category_id(second_category_id).setSecond_category_name(second_category_name)
|
.setThird_category_id(third_category_id).setThird_category_name(third_category_name)
|
.setUpdate_date(createTime).setUpdater_id(userId).setUpdate_name(userName).setHits(0).setIs_editor(ConvertUtil.obj2Integer(request.getParameter("is_editor")));
|
if(StringUtil.isBlank(km_library_temp.getId())){
|
km_library_temp.setCreate_user_id(userId).setCreate_user_name(userName).setCreate_time(createTime);
|
}
|
km_library_temp.setState(ConvertUtil.obj2Integer(1)).setAudit_state(auditState).setAudit_userid(shId).setAudit_username(shName).setAccess_type(access_type).insertOrUpdate();
|
if(ConvertUtil.obj2Integer(km_library_temp.getContent_state()) == 1){
|
km_library_temp.setBefore_version(null).setAfter_version(1).setVersion("1").update();
|
}else{
|
KM_LIBRARY kn = new KM_LIBRARY(request.getParameter("id")).getInstanceById();
|
km_library_temp.setCreate_user_id(kn.getCreate_user_id()).setCreate_user_name(kn.getCreate_user_name()).setCreate_time(kn.getCreate_time());
|
km_library_temp.setOriginal_id(request.getParameter("id")).setVersion((ConvertUtil.obj2Integer(version)+1)+"").setAfter_version(ConvertUtil.obj2Integer(version)+1).setBefore_version(ConvertUtil.obj2Integer(version)).update();
|
}
|
|
//修改的时候不更新这些消息
|
// if(ConvertUtil.obj2Integer(km_library_temp.getContent_state()) == 1){
|
//添加用户权限信息
|
String cusId = request.getParameter("cusId");
|
String cusList = request.getParameter("cusList");
|
if(access_type == 1 ){ //需要设置权限
|
KM_LIBRARY_KNOWLEDGE_ACCESS_TEMP access_temp = new KM_LIBRARY_KNOWLEDGE_ACCESS_TEMP();
|
//每次重新存之前先删除先前的数据
|
baseDao.execute("DELETE FROM KM_LIBRARY_KNOWLEDGE_ACCESS WHERE KNOWLEDGE_ID = :knowId", new SqlParameter("knowId",km_library_temp.getId()));
|
String[] cusIdArray = cusId.split(",");
|
String[] cusListArray = cusList.split(",");
|
for (int i = 0; i < cusIdArray.length; i++) {
|
access_temp = new KM_LIBRARY_KNOWLEDGE_ACCESS_TEMP();
|
access_temp.setKnowledge_id(km_library_temp.getId()).setCustomer_id(cusIdArray[i]).setCustomer_name(cusListArray[i]).insert();
|
}
|
}
|
|
|
//添加关联知识
|
//删除已存在的关联知识
|
baseDao.execute("DELETE FROM KM_LIBRARY_KNOWLEDGE WHERE LIBRARY_ID = :business_id ", new SqlParameter("business_id",km_library_temp.getOriginal_id()));
|
String[] knowId = request.getParameterValues("knowId");
|
if(null!=knowId && knowId.length>0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for(String str : knowId) {
|
SqlParameter sqlParameter = new SqlParameter();
|
sqlParameter.put("id", StringUtil.getUUID());
|
if(km_library_temp.getOriginal_id()==null){
|
sqlParameter.put("library_id", km_library_temp.getId());
|
}else{
|
sqlParameter.put("library_id", km_library_temp.getOriginal_id());
|
}
|
sqlParameter.put("knowledge_id", str);
|
paramList.add(sqlParameter);
|
}
|
String insertSql = "INSERT INTO KM_LIBRARY_KNOWLEDGE(ID,LIBRARY_ID,KNOWLEDGE_ID) VALUES (:id,:library_id,:knowledge_id)";
|
baseDao.executeBatch(insertSql, paramList);
|
}
|
|
// }
|
|
//提交工单时上传文档附件
|
fileService.uploadFile(request,km_library_temp.getId(),Constants.GG_FOLDERS_KNOWFOLDERS,Constants.FILE_STATE_SHTG,null);
|
|
SysInfoMsg msg = new SysInfoMsg("2",shName,"知识审核");
|
resultMap.put("msg", msg);
|
resultMap.put("result", 1);
|
//转知识
|
if(!StringUtil.isEmpty(changeId)){
|
if(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT == ConvertUtil.obj2Int(bustype)){
|
SC_WORKFLOW_INCIDENT incident = new SC_WORKFLOW_INCIDENT(changeId);
|
incident.setKnowledgeid(km_library_temp.getId()).update();
|
}else if(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION == ConvertUtil.obj2Int(bustype)){
|
SC_WORKFLOW_QUESTION question = new SC_WORKFLOW_QUESTION(changeId);
|
question.setKnowledgeid(km_library_temp.getId()).update();
|
}else if(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL == ConvertUtil.obj2Int(bustype)){
|
SC_WORKFLOW_INCIDENT_LOCAL zcyw = new SC_WORKFLOW_INCIDENT_LOCAL(changeId);
|
zcyw.setKnowledgeid(km_library_temp.getId()).update();
|
}
|
}
|
}else{
|
resultMap.put("nouser", 1);
|
}
|
|
return resultMap;
|
|
}
|
|
@Override
|
public Map queryProjectSeviceList(HttpServletRequest request) {
|
String sl = request.getParameter("sl");
|
|
String dept = ConvertUtil.obj2StrBlank(WebUtil.getLoginUser(request).getLoginUser().get("YJBMBH"));
|
String sql="SELECT * FROM SC_SERVCE_CATEGORY WHERE STATE = 1 AND TYPE = 2 ORDER BY LEVEL,SERIAL ";
|
|
List<Map> categoryList = baseDao.queryForList(sql,new SqlParameter().addValue("dept", dept));
|
|
Map slMap = new HashMap();
|
if(StringUtil.notEmpty(sl)) {
|
String[] sls = sl.split(",");
|
for(String s : sls) {
|
slMap.put(s, s);
|
}
|
}
|
|
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 : categoryList) {
|
|
//一级树
|
if (map.get("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("LEVEL").toString().equalsIgnoreCase("2")) {
|
Map yjgnMap = yjgnCache.get(map.get("P_ID").toString());
|
List<Map> list = (List<Map>)yjgnMap.get("ejTree");
|
map.put("sjTree", new LinkedList<Map>());
|
list.add(map);
|
|
ejgnCache.put(map.get("ID").toString(), map);
|
continue;
|
}
|
//三级树
|
if (map.get("LEVEL").toString().equalsIgnoreCase("3")) {
|
if(null!=map.get("P_ID")){
|
|
if(slMap.containsKey(map.get("ID"))) {
|
slMap.put(map.get("ID"), map.get("CATEGORY_NAME"));
|
map.put("check", 1);
|
} else {
|
map.put("check", 2);
|
}
|
|
Map ejgnMap = ejgnCache.get(map.get("P_ID").toString());
|
List<Map> list = (List<Map>)ejgnMap.get("sjTree");
|
list.add(map);
|
}
|
}
|
}
|
Map resultMap = new HashMap();
|
resultMap.put("categoryList", resultList);
|
resultMap.put("slMap", slMap);
|
return resultMap;
|
}
|
|
@Override
|
public List queryLinkKnow(HttpServletRequest request) {
|
String title = request.getParameter("title");
|
String keyword = request.getParameter("keyword");
|
String knowIds = request.getParameter("knowIds");
|
String sql;
|
SqlParameter parameter =new SqlParameter();
|
sql = "SELECT A.*,B.TITLE AS NAME FROM KM_LIBRARY A,KM_LIBRARY_CATEGORY B WHERE A.CATEGORY_ID = B.ID AND A.STATE =1 ";
|
parameter.addValue("userId", WebUtil.getLoginedUserId(request));
|
|
|
if (!StringUtil.isEmpty(knowIds)) {
|
String knowid[] = knowIds.split("-");
|
String para="";
|
for(int i=0;i<knowid.length;i++){
|
if(i<knowid.length-1){
|
para+=knowid[i]+"','";
|
}else if(i==knowid.length-1){
|
para+=knowid[i];
|
}
|
}
|
sql += " and A.ID NOT IN ('"+para+"') ";
|
}
|
if (!StringUtil.isEmpty(title)) {
|
sql+="and A.TITLE like :title ";
|
parameter.addValue("title", "%" + title + "%");
|
}
|
|
if (!StringUtil.isEmpty(keyword)) {
|
sql += " and A.TAG LIKE :keyword ";
|
parameter.addValue("keyword", "%"+keyword+"%");
|
}
|
|
sql += " ORDER BY B.ID";
|
List<Map> knows = baseDao.queryForList(sql,parameter);
|
|
return knows;
|
}
|
|
@Override
|
public Integer queryChooseCusCount(Map<String, String> params) {
|
StringBuilder sql = new StringBuilder("SELECT COUNT(ID) FROM SC_PARTNER_CUSTOMER_INFO ");
|
queryChooseCusIf(params,sql);
|
return baseDao.queryForInteger(sql.toString(), params);
|
}
|
@Override
|
public Integer queryChoosePersonCount(Map<String, String> params) {
|
String cusName=ConvertUtil.obj2StrBlank(params.get("cusName"));
|
String customer_name=ConvertUtil.obj2StrBlank(params.get("customer_name"));
|
StringBuilder sql = new StringBuilder("SELECT COUNT(A.ID) FROM customer_contacts A,SC_PARTNER_CUSTOMER_INFO B where A.STATE=1 and A.ALLOW_LOGIN=1 AND A.CUSTOMER_ID=B.ID ");
|
if(StringUtil.notEmpty(cusName)){
|
sql.append(" AND A.CONTACT_NAME like :cusName");
|
params.put("cusName", "%"+cusName+"%");
|
}
|
if(StringUtil.notEmpty(customer_name)){
|
sql.append(" AND B.CUSTOMER_NAME like :customer_name");
|
params.put("customer_name", "%"+customer_name+"%");
|
}
|
return baseDao.queryForInteger(sql.toString(), params);
|
}
|
|
@Override
|
public PageInfo queryChooseCusData(PageInfo pageInfo,
|
Map<String, String> params) {
|
StringBuilder sql = new StringBuilder("SELECT * FROM SC_PARTNER_CUSTOMER_INFO ");
|
queryChooseCusIf(params, sql);
|
sql.append(" ORDER BY CUSTOMER_STATE DESC,CREATE_TIME DESC");
|
return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params);
|
}
|
@Override
|
public PageInfo queryChoosePersonData(PageInfo pageInfo,
|
Map<String, String> params) {
|
String cusName=ConvertUtil.obj2StrBlank(params.get("cusName"));
|
String customer_name=ConvertUtil.obj2StrBlank(params.get("customer_name"));
|
StringBuilder sql = new StringBuilder("SELECT A.*,B.CUSTOMER_NAME FROM customer_contacts A,SC_PARTNER_CUSTOMER_INFO B where A.STATE=1 and A.ALLOW_LOGIN=1 AND A.CUSTOMER_ID=B.ID");
|
if(StringUtil.notEmpty(cusName)){
|
sql.append(" AND A.CONTACT_NAME like :cusName");
|
params.put("cusName", "%"+cusName+"%");
|
}
|
if(StringUtil.notEmpty(customer_name)){
|
sql.append(" AND B.CUSTOMER_NAME like :customer_name");
|
params.put("customer_name", "%"+customer_name+"%");
|
}
|
// queryChooseCusIf(params, sql);
|
return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params);
|
}
|
private void queryChooseCusIf(Map<String, String> params, StringBuilder sql) {
|
sql.append(" WHERE 1=1 AND CUSTOMER_STATE=1 ");
|
|
//客户名称
|
if(StringUtil.notEmpty(String.valueOf(params.get("cusName")))){
|
sql.append(" AND CUSTOMER_NAME LIKE :cusName");
|
String cusName = AjaxUtil.decode(params.get("cusName"));
|
params.put("cusName", "%"+cusName+"%");
|
}
|
//去掉已选择的用户
|
/*if(StringUtil.notEmpty(params.get("ids"))){
|
String knowid[] = params.get("ids").split(",");
|
String para="";
|
for(int i=0;i<knowid.length;i++){
|
if(i<knowid.length-1){
|
para+=knowid[i]+"','";
|
}else if(i==knowid.length-1){
|
para+=knowid[i];
|
}
|
}
|
sql.append(" AND ID NOT IN ('"+para+"')");
|
}*/
|
|
}
|
@Override
|
public List<Map> querySelectCus(String ids) {
|
if(StringUtil.notEmpty(ids)){
|
StringBuffer sql = new StringBuffer("SELECT * FROM CUSTOMER_CONTACTS");
|
String knowid[] = ids.split(",");
|
String para="";
|
for(int i=0;i<knowid.length;i++){
|
if(i<knowid.length-1){
|
para+=knowid[i]+"','";
|
}else if(i==knowid.length-1){
|
para+=knowid[i];
|
}
|
}
|
sql.append(" WHERE ID IN ('"+para+"')");
|
return baseDao.queryForList(sql.toString());
|
|
}else{
|
return null;
|
}
|
}
|
|
|
|
@Override
|
public Map getKnowMsgById(String id) {
|
Map knowMap = new KM_LIBRARY(id).getBeanMapById();
|
List<Map> knowList = baseDao.queryForList("SELECT B.* FROM KM_LIBRARY_KNOWLEDGE A,KM_LIBRARY B WHERE A.LIBRARY_ID = :business_id AND A.KNOWLEDGE_ID = B.ID", new SqlParameter("business_id",id));
|
knowMap.put("knowList", knowList);
|
//用户可见权限 用户
|
List<Map> cusList = baseDao.queryForList("SELECT * FROM KM_LIBRARY_KNOWLEDGE_ACCESS WHERE KNOWLEDGE_ID = :id", new SqlParameter().addValue("id", knowMap.get("ID")));
|
String cusIdStr = new String();
|
String cusListStr = new String();
|
if(cusList.size() > 0){
|
for (Map map : cusList) {
|
cusIdStr += map.get("CUSTOMER_ID") + ",";
|
cusListStr += map.get("CUSTOMER_NAME") + ",";
|
}
|
knowMap.put("cusIdStr", cusIdStr.substring(0, cusIdStr.length()-1));
|
knowMap.put("cusListStr", cusListStr.substring(0, cusListStr.length()-1));
|
}else{
|
knowMap.put("cusIdStr", cusIdStr);
|
knowMap.put("cusListStr", cusListStr);
|
}
|
//文件
|
List<Map> fileList = fileService.getFileList(ConvertUtil.obj2StrBlank(knowMap.get("FILE_ID")));
|
knowMap.put("fileList", fileList);
|
for(Map map:fileList){
|
map.put("ID", "");
|
}
|
knowMap.put("fileList", fileList);
|
return knowMap;
|
}
|
|
@Override
|
public Map getKnowMsgByOrderId(HttpServletRequest request) {
|
String orderId = request.getParameter("changeId");
|
String bustype = request.getParameter("bustype");
|
Map knowmsg = new HashMap();
|
Map ordermsg = new HashMap();
|
Map param = new HashMap();
|
param.put("orderId", orderId);
|
if(!StringUtil.isEmpty(bustype)&&!StringUtil.isEmpty(orderId)){
|
if(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT == ConvertUtil.obj2Int(bustype)){
|
knowmsg = baseDao.queryForMap("SELECT A.*,B.WFSTATE,B.BUSINESSTYPE FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND A.ID = :orderId ", param);
|
knowmsg.put("CONTENT", "解决方案:</br>"+knowmsg.get("RESOLVE")+"</br>优化建议:</br>"+knowmsg.get("SUGGEST"));
|
}else if(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION == ConvertUtil.obj2Int(bustype)){
|
knowmsg = baseDao.queryForMap("SELECT A.*,B.WFSTATE,B.BUSINESSTYPE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND A.ID = :orderId ", param);
|
knowmsg.put("CONTENT", "根本原因:</br>"+knowmsg.get("TRUE_REASON")+"</br>解决方案:</br>"+knowmsg.get("RESOLVE")+"</br>优化建议:</br>"+knowmsg.get("SUGGEST"));
|
}else if(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL == ConvertUtil.obj2Int(bustype)){
|
knowmsg = baseDao.queryForMap("SELECT A.*,B.WFSTATE,B.BUSINESSTYPE FROM SC_WORKFLOW_INCIDENT_LOCAL A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND A.ID = :orderId ", param);
|
knowmsg.put("CONTENT", "解决方案:</br>"+knowmsg.get("RESOLVE")+"</br>优化建议:</br>"+knowmsg.get("SUGGEST"));
|
}
|
List<Map> filelist = fileService.getFileList(ConvertUtil.obj2StrBlank(knowmsg.get("FILE_ID")));
|
for(Map file:filelist){
|
file.put("ID", "");
|
}
|
knowmsg.put("filelist", filelist);
|
}
|
return knowmsg;
|
}
|
|
@Override
|
public Map getDefaultSpMap() {
|
String sql = "SELECT AUDITOR_ID,AUDITOR_NAME,ROLE_ID FROM KM_AUDITOR_SET";
|
return baseDao.queryForMap(sql);
|
}
|
|
@Override
|
public Integer saveDefaultSp(Map<String, String> params) {
|
String sql = new String("DELETE FROM KM_AUDITOR_SET");
|
baseDao.execute(sql, params);
|
params.put("id", StringUtil.getUUID());
|
if(!StringUtil.isEmpty(params.get("checkbox"))){
|
String[] user = params.get("checkbox").split("-");
|
if(user.length == 2){
|
params.put("role_id", user[0]);
|
params.put("auditor_id", user[1]);
|
}
|
}
|
|
sql = new String("INSERT INTO KM_AUDITOR_SET VALUES(:id,:auditor_id,:checkboxName,:role_id)");
|
return baseDao.execute(sql, params);
|
}
|
|
@Override
|
public Map getSpMap(String id) {
|
String sql = "SELECT AUDITOR_ID,AUDITOR_NAME,ROLE_ID FROM KM_LIBRARY_CATEGORY WHERE ID = :id";
|
return baseDao.queryForMap(sql,new SqlParameter("id",id));
|
}
|
|
@Override
|
public Integer saveSp(Map<String, String> params) {
|
if(!StringUtil.isEmpty(params.get("checkbox"))){
|
String[] user = params.get("checkbox").split("-");
|
if(user.length == 2){
|
params.put("role_id", user[0]);
|
params.put("auditor_id", user[1]);
|
}
|
}
|
String sql = new String("UPDATE KM_LIBRARY_CATEGORY SET AUDITOR_ID = :auditor_id, AUDITOR_NAME = :checkboxName,ROLE_ID = :role_id WHERE ID = :id");
|
return baseDao.execute(sql, params);
|
}
|
|
|
|
}
|