| | |
| | | package cn.ksource.web.facade.knowledge; |
| | | |
| | | 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.GG_USER; |
| | | import cn.ksource.beans.KM_LIBRARY; |
| | | import cn.ksource.beans.KM_LIBRARY_CATEGORY; |
| | | import cn.ksource.beans.KM_LIBRARY_HIT_RECORD; |
| | | import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS; |
| | | import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS_TEMP; |
| | | import cn.ksource.beans.KM_LIBRARY_TEMP; |
| | | import cn.ksource.beans.*; |
| | | 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.ParamsMapUtil; |
| | | 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.facade.knowledge.knowledgeDeal.KnowledgeDealFacade; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import cn.ksource.web.service.knowledge.KmRecordService; |
| | | import cn.ksource.web.service.knowledge.KmService; |
| | | 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.*; |
| | | @Service("kmLibraryFacade") |
| | | public class KmLibraryFacadeImpl implements KmLibraryFacade { |
| | | @Autowired |
| | | private BaseDao baseDao; |
| | | |
| | | |
| | | @Autowired |
| | | private FileService fileService; |
| | | |
| | | |
| | | @Autowired |
| | | private KmService kmService; |
| | | |
| | | |
| | | @Autowired |
| | | private KnowledgeDealFacade knowledgeDealFacade; |
| | | |
| | | |
| | | @Autowired |
| | | private KmRecordService kmRecordService; |
| | | /** |
| | |
| | | String selectSubSql = "SELECT * FROM KM_LIBRARY_CATEGORY WHERE STATE=1 ORDER BY LEVEL,SERIAL,TITLE"; |
| | | List<Map> subCus = baseDao.queryForList(selectSubSql,param); |
| | | 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 : subCus) { |
| | | |
| | | |
| | | //一级树 |
| | | if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { |
| | | yjgnCache.put(map.get("ID").toString(), map); |
| | |
| | | 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; |
| | |
| | | param.put("id", id); |
| | | PageInfo pageInfos = baseDao.queryforSplitPageInfo(pageInfo, selectSql, param); |
| | | if(pageInfos.getDatas().size() > 0){ |
| | | for(Map map:pageInfos.getDatas()){ |
| | | for(Map map:pageInfos.getDatas()){ |
| | | map.put("CREATE_TIME", DateUtil.format("yyyy-MM-dd HH:mm:ss", map.get("CREATE_TIME"))); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | return pageInfos; |
| | | } |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public int queryZsflCount(String pId) { |
| | | |
| | | |
| | | String selectSql = "SELECT COUNT(ID) FROM KM_LIBRARY_CATEGORY WHERE 1=1 "; |
| | | if(StringUtil.isEmpty(pId)){ |
| | | selectSql +=" AND (TAG is null or TAG = '') "; |
| | | }else{ |
| | | selectSql +=" AND TAG = :id "; |
| | | } |
| | | |
| | | |
| | | Map param = new HashMap(); |
| | | param.put("id", pId); |
| | | |
| | | int count = baseDao.queryForInteger(selectSql.toString(),param); |
| | | |
| | | |
| | | return count; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 验证分类名称 |
| | | */ |
| | |
| | | @Override |
| | | public void saveknowcategory(Map<String, String> param) { |
| | | KM_LIBRARY_CATEGORY km_library_category = new KM_LIBRARY_CATEGORY(); |
| | | |
| | | |
| | | String level = param.get("LEVEL");//新增使用 |
| | | String tag = param.get("TAG");//新增使用 |
| | | String title = param.get("title"); |
| | |
| | | //String userId = WebUtil.getLoginedUserId(request) ; |
| | | String userId = param.get("userId"); |
| | | String userName = ConvertUtil.obj2Str(param.get("userName")); |
| | | |
| | | |
| | | if (StringUtils.isBlank(id)) {//new |
| | | km_library_category.setCreate_user_id(userId); |
| | | km_library_category.setCreate_user_name(userName); |
| | |
| | | } |
| | | km_library_category.setCreate_time(DateUtil.getCurrentDate14()); |
| | | km_library_category.setState(1); |
| | | km_library_category.setLevel((Integer.parseInt(level)+1)); |
| | | km_library_category.setLevel((Integer.parseInt(level)+1)); |
| | | }else{ |
| | | km_library_category.setId(id); |
| | | } |
| | | km_library_category.setTitle(title); |
| | | km_library_category.setNote(note); |
| | | km_library_category.setSerial(ConvertUtil.obj2Integer(serial)); |
| | | km_library_category.setSerial(ConvertUtil.obj2Integer(serial)); |
| | | km_library_category.insertOrUpdate(); |
| | | |
| | | |
| | | } |
| | | /** |
| | | * 修改顺序号 |
| | |
| | | Integer count = baseDao.queryForInteger(sql, new SqlParameter("id",id)); |
| | | return count; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 验证知识分类可否禁用 |
| | | * @param id |
| | |
| | | Integer count = baseDao.queryForInteger(sql, new SqlParameter("id",id)); |
| | | return count; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * |
| | | * |
| | | * @param p_id |
| | | * @return |
| | | */ |
| | |
| | | paramList.add(map4); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | String sql = "update KM_LIBRARY_CATEGORY set STATE=:state where ID=:id"; |
| | | baseDao.executeBatch(sql, paramList); |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public int getMyCreateKnowCount(Map<String, String> params) { |
| | |
| | | sql.append(" ) K WHERE K.STATE=1 AND K.CREATE_USER_ID=:loginUserId "); |
| | | queryMyCreateKnowIf(params, sql); |
| | | sql.append(" ORDER BY K.AUDIT_STATE ASC,K.CREATE_TIME DESC"); |
| | | |
| | | |
| | | PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | List<Map> datas = info.getDatas(); |
| | | if(datas.size()>0){ |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | } |
| | | } |
| | | info.setDatas(datas); |
| | | |
| | | |
| | | return info; |
| | | } |
| | | private void queryMyCreateKnowIf(Map<String, String> params, |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | public int getMyEditKnowCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder("SELECT COUNT(K.ID) FROM ( "); |
| | | sql.append("( SELECT ID, TITLE, TAG, SUMMARY, CONTENT, CATEGORY_ID, CATEGORY_NAME, CREATE_USER_ID, CREATE_USER_NAME, CREATE_TIME, STATE, VERSION, HITS, IS_EDITOR, THIRDLEVEL_NAME, THIRDLEVEL_ID, FIRST_CATEGORY_ID, FIRST_CATEGORY_NAME, SECOND_CATEGORY_ID, SECOND_CATEGORY_NAME, THIRD_CATEGORY_ID, THIRD_CATEGORY_NAME, UPDATE_DATE, UPDATER_ID, UPDATE_NAME, SECOND_KNOWCATEGORY_ID, SECOND_KNOWCATEGORY_NAME, FIRST_KNOWCATEGORY_ID, FIRST_KNOWCATEGORY_NAME, SECONDLEVEL_NAME, SECONDLEVEL_ID, FIRSTLEVEL_NAME, FIRSTLEVEL_ID, ACCESS_TYPE, AUDIT_STATE FROM km_library_temp WHERE km_library_temp.CONTENT_STATE = 2 AND km_library_temp.UPDATER_ID = :loginUserId ) "); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.*,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.LIBRARY_ID,E.type,E.USER_ID,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID,E.type,E.USER_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" ) K WHERE K.STATE=1 "); |
| | | queryMyEditKnowIf(params,sql); |
| | | return baseDao.queryForInteger(sql.toString(), params); |
| | |
| | | @Override |
| | | public PageInfo getMyEditKnowData(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder("SELECT K.* FROM ( "); |
| | | |
| | | |
| | | sql.append("( SELECT ID, TITLE, TAG, SUMMARY, CONTENT, CATEGORY_ID, CATEGORY_NAME, CREATE_USER_ID, CREATE_USER_NAME, CREATE_TIME, STATE, VERSION, HITS, IS_EDITOR, THIRDLEVEL_NAME, THIRDLEVEL_ID, FIRST_CATEGORY_ID, FIRST_CATEGORY_NAME, SECOND_CATEGORY_ID, SECOND_CATEGORY_NAME, THIRD_CATEGORY_ID, THIRD_CATEGORY_NAME, UPDATE_DATE, UPDATER_ID, UPDATE_NAME, SECOND_KNOWCATEGORY_ID, SECOND_KNOWCATEGORY_NAME, FIRST_KNOWCATEGORY_ID, FIRST_KNOWCATEGORY_NAME, SECONDLEVEL_NAME, SECONDLEVEL_ID, FIRSTLEVEL_NAME, FIRSTLEVEL_ID, ACCESS_TYPE, AUDIT_STATE FROM km_library_temp WHERE km_library_temp.CONTENT_STATE = 2 AND km_library_temp.UPDATER_ID = :loginUserId ) "); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.*,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.LIBRARY_ID,E.type,E.USER_ID,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID,E.type,E.USER_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" ) K WHERE K.STATE=1 "); |
| | | |
| | | |
| | | queryMyEditKnowIf(params, sql); |
| | | sql.append(" ORDER BY K.UPDATE_DATE DESC"); |
| | | |
| | | |
| | | PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | List<Map> datas = info.getDatas(); |
| | | if(datas.size()>0){ |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | } |
| | | } |
| | | info.setDatas(datas); |
| | | |
| | | |
| | | return info; |
| | | } |
| | | private void queryMyEditKnowIf(Map<String, String> params, StringBuilder sql) { |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND k.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND k.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | if(datas.size()>0){ |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | } |
| | | } |
| | | info.setDatas(datas); |
| | | |
| | | |
| | | return info; |
| | | } |
| | | private void queryMyFavKnowIf(Map<String, String> params, StringBuilder sql) { |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND k.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND k.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | } |
| | | @Override |
| | | public PageInfo getMyKnowData(Map<String, String> params, PageInfo pageInfo) { |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT K.*,K.STATE K_STATE,F.AUDIT_STATE STATE FROM KM_LIBRARY K LEFT JOIN KM_LIBRARY_TEMP F ON K.ID = F.ORIGINAL_ID WHERE 1=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT K.*,K.STATE K_STATE,F.AUDIT_STATE STATE FROM KM_LIBRARY K LEFT JOIN KM_LIBRARY_TEMP F ON K.ID = F.ORIGINAL_ID WHERE 1=1 "); |
| | | queryMyKnowIf(params, sql); |
| | | sql.append(" ORDER BY K.STATE,K.CREATE_TIME DESC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryMyDshKnowCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder("SELECT COUNT(DISTINCT K.ID) FROM KM_LIBRARY_TEMP K WHERE K.STATE=1 AND K.CREATE_USER_ID=:loginUserId "); |
| | | queryMyDshKnowIf(params,sql); |
| | | return baseDao.queryForInteger(sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo queryMyDshKnowData(PageInfo pageInfo, |
| | | Map<String, String> params) { |
| | |
| | | sql.append(" ORDER BY K.AUDIT_STATE,K.CREATE_TIME DESC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | private void queryMyDshKnowIf(Map<String, String> params, StringBuilder sql) { |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | } |
| | | @Override |
| | | public int updatestate(String id,String state) { |
| | | |
| | | |
| | | KM_LIBRARY library = new KM_LIBRARY(id); |
| | | if("1".equals(state)){ |
| | | library.setState(2); |
| | |
| | | } |
| | | } |
| | | Integer access_type = ConvertUtil.obj2Integer(request.getParameter("isKj")); |
| | | |
| | | |
| | | km_library.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) |
| | |
| | | .setSecond_category_id(second_category_id).setSecond_category_name(second_category_name) |
| | | .setThird_category_id(third_category_id).setThird_category_name(third_category_name) |
| | | .setAccess_type(access_type); |
| | | |
| | | |
| | | km_library.insertOrUpdate(); |
| | | //添加用户权限信息 |
| | | String cusId = request.getParameter("cusId"); |
| | |
| | | access.setKnowledge_id(km_library.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.getId())); |
| | |
| | | } |
| | | fileService.uploadFile(request,km_library.getFile_id(),Constants.GG_FOLDERS_KNOWFOLDERS,Constants.FILE_STATE_SHTG,null); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int getMyKnowCxCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder("SELECT COUNT(DISTINCT K.ID) FROM KM_LIBRARY K WHERE 1=1 "); |
| | | queryMyKnowCxIf(params,sql); |
| | | return baseDao.queryForInteger(sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo getMyKnowCxData(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT K.* FROM KM_LIBRARY K WHERE 1=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT K.* FROM KM_LIBRARY K WHERE 1=1 "); |
| | | queryMyKnowCxIf(params, sql); |
| | | sql.append(" ORDER BY K.STATE,K.CREATE_TIME DESC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | private void queryMyKnowCxIf(Map<String, String> params, StringBuilder sql) { |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | @Override |
| | | public void deleteMyLibraryFavorite(String userId, String libraryId) { |
| | | String sql = "delete from KM_LIBRARY_FAVORITE where LIBRARY_ID=:library_id and CREATE_USER_ID=:user_id "; |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter("library_id", libraryId); |
| | | param.addValue("user_id", userId); |
| | | |
| | | |
| | | baseDao.execute(sql, param); |
| | | } |
| | | @Override |
| | |
| | | KM_LIBRARY_HIT_RECORD record = new KM_LIBRARY_HIT_RECORD(); |
| | | record.setLibrary_id(libraryId).setCreate_user_id(userId).setCreate_time(DateUtil.getCurrentDate14()).insert(); |
| | | String sqlupd = "update KM_LIBRARY set HITS=HITS+1 where ID=:libraryId "; |
| | | |
| | | |
| | | baseDao.execute(sqlupd, param); |
| | | }/*如果同一账号点击过,不再增加点击数 |
| | | else{ |
| | | String sqlupd = "update KM_LIBRARY set HITS=HITS+1 where ID=:libraryId "; |
| | | |
| | | |
| | | baseDao.execute(sqlupd, param); |
| | | }*/ |
| | | return baseDao.queryForInteger("select HITS FROM KM_LIBRARY WHERE ID=:id",new SqlParameter("id",libraryId)); |
| | |
| | | params.put("type", ConvertUtil.obj2StrBlank(Constants.KM_SCORE_RULE_TYPE_ZJ)); |
| | | kmRecordService.addrecord(params); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | return 1; |
| | | } |
| | | @Override |
| | |
| | | @Override |
| | | public PageInfo getMyKnowTypeData(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | |
| | | |
| | | StringBuilder sql = getknowtypesql(params); |
| | | sql.append(" ORDER BY A.UPDATE_DATE DESC "); |
| | | |
| | | |
| | | PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | List<Map> datas = info.getDatas(); |
| | | if(datas.size()>0){ |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | } |
| | | } |
| | | info.setDatas(datas); |
| | | |
| | | |
| | | return info; |
| | | } |
| | | |
| | | |
| | | public StringBuilder getknowtypesql(Map<String, String> params){ |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.* FROM KM_LIBRARY A,KM_RECORD B WHERE A.CREATE_USER_ID = :userId AND A.STATE = 1 AND A.ID = B.LIBRARY_ID AND B.TYPE = :type "); |
| | | StringBuilder sql = new StringBuilder("SELECT A.* FROM KM_LIBRARY A,KM_RECORD B WHERE A.CREATE_USER_ID = :userId AND A.STATE = 1 AND A.ID = B.LIBRARY_ID AND B.TYPE = :type "); |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | | String sl = params.get("sl"); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | | } |
| | | |
| | | |
| | | if(!StringUtil.isEmpty(type)){ |
| | | if(ConvertUtil.obj2Integer(type)==Constants.KM_SCORE_RULE_TYPE_ZJ ){ |
| | | sql.append(" AND A.IS_TOP = 1 "); |
| | |
| | | sql.append(" AND B.TYPE = :type "); |
| | | } |
| | | } |
| | | |
| | | |
| | | return sql; |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public int getMyKnowJfCount(Map<String, String> params) { |
| | |
| | | cacheMap.put(map.get("TYPE"),score); |
| | | } |
| | | if(cacheMap.size() != 0){ |
| | | |
| | | |
| | | if(user.getKm_score() < ConvertUtil.obj2Int(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ))){ |
| | | msg.put("DQDJ", ""); |
| | | msg.put("XYDJ", Constants.getmapKM_EXPERT_LEVEL_RULE_TYPE_Label(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ)); |
| | |
| | | params.put("name", "%"+name+"%"); |
| | | } |
| | | if(!StringUtil.isEmpty(type)){ |
| | | |
| | | |
| | | if(ConvertUtil.obj2Integer(type) == Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ){ |
| | | sql.append(" AND KM_SCORE >=:score1 AND KM_SCORE< :score2 "); |
| | | params.put("score1",ConvertUtil.obj2StrBlank(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ)) ); |
| | |
| | | params.put("score1",ConvertUtil.obj2StrBlank(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_ZSZJ)) ); |
| | | } |
| | | } |
| | | |
| | | |
| | | sql.append(" ORDER BY KM_SCORE DESC "); |
| | | List<Map> userList = baseDao.queryForList(sql.toString(),params); |
| | | |
| | | |
| | | |
| | | |
| | | for(Map map:userList){ |
| | | if(StringUtil.isEmpty(ConvertUtil.obj2StrBlank(map.get("KM_SCORE")))){ |
| | | map.put("KM_SCORE", 0); |
| | | } |
| | | int score = ConvertUtil.obj2Int(map.get("KM_SCORE")); |
| | | if(cacheMap.size()!=0){ |
| | | |
| | | |
| | | |
| | | |
| | | if(score < ConvertUtil.obj2Int(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ))){ |
| | | map.put("DQDJ", ""); |
| | | map.put("djtype", ""); |
| | |
| | | public PageInfo knowZjhyData(PageInfo pageInfo, Map<String, String> params) { |
| | | String userId = params.get("userId"); |
| | | String type = params.get("type"); |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.*,P.STATE FROM KM_RECORD B ,KM_LIBRARY A LEFT JOIN KM_LIBRARY_TEMP P on P.ORIGINAL_ID = A.ID WHERE A.ID = B.LIBRARY_ID AND A.STATE=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.ID,A.TITLE,A.TAG,A.CATEGORY_ID,A.CATEGORY_NAME,A.CREATE_USER_ID,A.CREATE_USER_NAME,A.CREATE_TIME,A.STATE,A.VERSION,A.HITS,A.IS_EDITOR,A.THIRDLEVEL_NAME,A.THIRDLEVEL_ID,A.FIRST_CATEGORY_ID,A.FIRST_CATEGORY_NAME,A.SECOND_CATEGORY_ID,A.SECOND_CATEGORY_NAME,A.THIRD_CATEGORY_ID,A.THIRD_CATEGORY_NAME,A.UPDATE_DATE,A.UPDATER_ID,A.UPDATE_NAME,A.SECOND_KNOWCATEGORY_ID,A.SECOND_KNOWCATEGORY_NAME,A.FIRST_KNOWCATEGORY_ID,A.FIRST_KNOWCATEGORY_NAME,A.SECONDLEVEL_NAME,A.SECONDLEVEL_ID,A.FIRSTLEVEL_NAME,A.FIRSTLEVEL_ID,A.ACCESS_TYPE,A.FILE_ID,A.IS_ESSENCE,A.IS_TOP,A.AUDIT_USERID,A.AUDIT_USERNAME,A.AUDIT_USERNAME,P.STATE FROM KM_RECORD B ,KM_LIBRARY A LEFT JOIN KM_LIBRARY_TEMP P on P.ORIGINAL_ID = A.ID WHERE A.ID = B.LIBRARY_ID AND A.STATE=1 "); |
| | | if(!StringUtil.isEmpty(userId)){ |
| | | sql.append(" AND B.USER_ID = :userId "); |
| | | } |
| | |
| | | } |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | if(count == 0){ |
| | | kmRecordService.addrecord(params); |
| | | } |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public void savezanLibrary(Map<String, String> params) { |
| | |
| | | if(count == 0){ |
| | | kmRecordService.addrecord(params); |
| | | } |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public Map getTempKnowledgeById(String id) { |
| | | |
| | | |
| | | Map knowMap = new KM_LIBRARY_TEMP(id).getBeanMapById(); |
| | | List<Map> knowList = baseDao.queryForList("SELECT B.* FROM KM_LIBRARY_KNOWLEDGE_TEMP A,KM_LIBRARY B WHERE A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID = :business_id ", new SqlParameter("business_id",id)); |
| | | knowMap.put("knowList", knowList); |
| | |
| | | //文件 |
| | | List<Map> fileList = fileService.getFileList(ConvertUtil.obj2StrBlank(knowMap.get("ID"))); |
| | | knowMap.put("fileList", fileList); |
| | | return knowMap; |
| | | return knowMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map saveAgainUpdate(HttpServletRequest request, |
| | | KM_LIBRARY_TEMP km_library_temp) { |
| | |
| | | resultMap.put("result", 2); |
| | | String id = request.getParameter("id"); |
| | | KM_LIBRARY_TEMP temp = new KM_LIBRARY_TEMP(id).getInstanceById(); |
| | | |
| | | |
| | | String serivceListId = request.getParameter("serivceListId"); |
| | | String serivceList = request.getParameter("serivceList"); |
| | | String category_id = request.getParameter("category_id"); |
| | |
| | | } |
| | | } |
| | | Integer access_type = ConvertUtil.obj2Integer(request.getParameter("isKj")); |
| | | |
| | | |
| | | 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) |
| | |
| | | .setSecond_category_id(second_category_id).setSecond_category_name(second_category_name) |
| | | .setThird_category_id(third_category_id).setThird_category_name(third_category_name) |
| | | .setAccess_type(access_type); |
| | | |
| | | |
| | | //待审核 |
| | | Integer auditState = Constants.KM_LIBRARY_TEMP_AUDIT_STATE_DSH; |
| | | Map shuser = knowledgeDealFacade.getSpMap(categoryid); |
| | |
| | | //更新共同的部分 |
| | | temp.setTitle(km_library_temp.getTitle()).setTag(km_library_temp.getTag()).setSummary(km_library_temp.getSummary()) |
| | | .setContent(km_library_temp.getContent()).setAudit_userid(shId).setAudit_username(shName).setUpdate_date(DateUtil.getCurrentDate14()).setAudit_state(Constants.KM_LIBRARY_TEMP_AUDIT_STATE_DSH).update(); |
| | | |
| | | |
| | | //添加用户权限信息 |
| | | String cusId = request.getParameter("cusId"); |
| | | String cusList = request.getParameter("cusList"); |
| | |
| | | } |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |