package com.landtool.lanbase.modules.res.controller; import java.io.IOException; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.landtool.lanbase.common.utils.HttpOperateUtils; import com.landtool.lanbase.config.SysTemPropertyConfig; import com.landtool.lanbase.modules.api.utils.PageBean; import com.landtool.lanbase.modules.org.service.OrgUnitService; import com.landtool.lanbase.modules.org.service.OrgUserService; import com.landtool.lanbase.modules.res.entity.Res_Catalog; import com.landtool.lanbase.modules.res.entity.Res_MainInfo; import com.landtool.lanbase.modules.res.entity.SimpleZiYuan; import com.landtool.lanbase.modules.res.service.ResCatalogService; import com.landtool.lanbase.modules.res.service.ResMainInfoService; import com.landtool.lanbase.modules.res.service.ZiYuanFaBuService; import com.landtool.lanbase.modules.sys.controller.AbstractController; import com.landtool.lanbase.modules.sys.service.SysFieldvalueService; /** * 功能描述:资源中心 - 资源发布 */ @Controller @RequestMapping("res/ziyuanfabu") public class ZiYuanFaBuController extends AbstractController { @Autowired private ResMainInfoService resMainInfoService; @Autowired private ZiYuanFaBuService ziYuanFaBuService; @Autowired private ResCatalogService resCatalogService; @Autowired private SysFieldvalueService FieldUtils; @Autowired private SysTemPropertyConfig sysConfig; @Autowired private OrgUserService orgUserService; @Autowired private OrgUnitService orgUnitService; /** * 资源查询页面 */ @RequestMapping("/indexbak") public String index(Model model) { // 获取下拉框目录 LinkedHashMap ResourceTypeList = FieldUtils.getFieldListByKey("ResourceType");// 获取资源类型列表 List DATASOURCES = resMainInfoService.selectDATASOURCES(); Timestamp audittime = new Timestamp(new Date().getTime()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); List MuLuList = resCatalogService.selectResCatalogToParentid(0); String year = sdf.format(audittime); model.addAttribute("year", year); model.addAttribute("DATASOURCESList", DATASOURCES); model.addAttribute("ResourceTypeList", ResourceTypeList); model.addAttribute("MuLuList", MuLuList); String ResourceTypeListJson = ""; Res_MainInfo resMainInfo = new Res_MainInfo(); //只查询自己发布的(2018-05-29-dsh) //if (!SecurityUtils.getSubject().isPermitted("org_user_admin")) { // 如果是超级管理员,不添加用户id,查询所有。如果不是 添加id 查询单个 resMainInfo.setExistPermission(getUserId().toString()); //} for (Map.Entry entry : ResourceTypeList.entrySet()) { if (ResourceTypeListJson != "") ResourceTypeListJson += ","; int countNums = 0; resMainInfo.setResourceclass(entry.getKey()); List mainInfoJoinCatalogList = ziYuanFaBuService.selectResMainInfo(resMainInfo); countNums = mainInfoJoinCatalogList.size(); ResourceTypeListJson += "{key:'" + entry.getKey() + "',value:'" + entry.getValue() + "',zycount:'" + countNums + "'}"; } model.addAttribute("ResourceTypeListJson", "[" + ResourceTypeListJson + "]"); model.addAttribute("pubzyWebRoot", sysConfig.getPubzyWebRoot()); model.addAttribute("systemName", sysConfig.getAppFullName()); model.addAttribute("backstageWebRoot", sysConfig.getApiServer() + "/"); model.addAttribute("gisPortal", sysConfig.getGisPortal()); return "ziyuanfabu/index"; } /** * 资源图文列表 */ @RequestMapping("dataList") public String dataList(Res_MainInfo resMainInfo, Model model, PageBean pageBean) { //update:dsh(2018/12/05) Page page = PageHelper.startPage(pageBean.getPage(), 15); resMainInfo.setExistPermission(getUserId().toString());//只查询自己发布的(2018-05-29-dsh) List ziYuanMuLuList = ziYuanFaBuService.selectResMainInfo(resMainInfo); int countNums = (int) ((Page) ziYuanMuLuList).getTotal(); PageBean pageData = new PageBean<>(pageBean.getPage(), pageBean.getLimit(), countNums); pageData.setItems(ziYuanMuLuList); List simpleZiYuans = new ArrayList(); LinkedHashMap ResourceTypeList = FieldUtils.getFieldListByKey("ResourceType"); for (Integer j = 0; j < ziYuanMuLuList.size(); j++) { Res_MainInfo zy = ziYuanMuLuList.get(j); SimpleZiYuan model1 = new SimpleZiYuan(); model1.setResourceid(zy.getResourceid()); model1.setTitle(zy.getTitle()); model1.setCreateuserid(zy.getCreateuserid()); String chinesename = orgUserService.getChinesename(zy.getCreateuserid());// 查询发布人id对应的 name String unitname = orgUnitService.getUnitName((long) zy.getPubunitid()); model1.setCreateusername(chinesename); model1.setDatasources(zy.getDatasources()); model1.setPubunitid(zy.getPubunitid()); model1.setPubunitname(unitname==null?"":unitname); model1.setKeywords(zy.getKeywords()); model1.setSecuritylev(zy.getSecuritylev()); model1.setStatus(zy.getResourcestatus()); model1.setResourceclass(ResourceTypeList.get(zy.getResourceclass())); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); model1.setPubdate(sdf.format(zy.getPubdate())); model1.setReadcount(zy.getReadcount() == null ? 0 : zy.getReadcount()); model1.setApplycount(zy.getApplycount() == null ? 0 : zy.getApplycount()); model1.setAuditstatusname(getNameByAuditstatus(zy.getAuditstatus())); List list = new ArrayList(); if (zy.getKeywords() != "") { String keywords = zy.getKeywords(); if (keywords != null && !keywords.equals("")) { String key[] = keywords.split(","); for (int i = 0; i < key.length; i++) { String s = key[i]; list.add(s); } } } model1.setList(list); simpleZiYuans.add(model1); } model.addAttribute("ZyList", simpleZiYuans); model.addAttribute("Count", countNums); model.addAttribute("Page", pageBean.getPage()); model.addAttribute("Userid", getUser().getUserid()); return "ziyuanfabu/dataList"; } private LinkedHashMap queryUserOrUnitList(String gettype) { String url = sysConfig.getApiServer() + (gettype == "unit" ? "/api/org/unit/queryAllList" : "/api/org/user/queryAllList"); LinkedHashMap map = new LinkedHashMap(); try { String jsonStr = HttpOperateUtils.httpGet(url.trim()); if (jsonStr.length() != 0) { JSONArray list = JSON.parseArray(jsonStr); for (int i = 0; i < list.size(); i++) { Map maps = (Map) JSON.parse(list.get(i).toString()); map.put(maps.get("id").toString(), maps.get("name").toString()); } } } catch (IOException e) { e.printStackTrace(); } return map; } private String getNameByAuditstatus(Integer status) { String name = ""; switch (status) { case 0: name = "未提交"; break; case 1: name = "待审核"; break; case 2: name = "已通过"; break; case 3: name = "未通过"; break; } return name; } /** * 新设计 */ /** * 资源查询页面 */ @RequestMapping("/index") public String indexNew(Model model) { // 获取下拉框目录 LinkedHashMap ResourceTypeList = FieldUtils.getFieldListByKey("ResourceType");// 获取资源类型列表 List DATASOURCES = resMainInfoService.selectDATASOURCES(); Timestamp audittime = new Timestamp(new Date().getTime()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); List MuLuList = resCatalogService.selectResCatalogToParentid(0); String year = sdf.format(audittime); model.addAttribute("year", year); model.addAttribute("DATASOURCESList", DATASOURCES); model.addAttribute("ResourceTypeList", ResourceTypeList); model.addAttribute("MuLuList", MuLuList); String ResourceTypeListJson = ""; Res_MainInfo resMainInfo = new Res_MainInfo(); //只查询自己发布的(2018-05-29-dsh) //if (!SecurityUtils.getSubject().isPermitted("org_user_admin")) { // 如果是超级管理员,不添加用户id,查询所有。如果不是 添加id 查询单个 resMainInfo.setExistPermission(getUserId().toString()); //} for (Map.Entry entry : ResourceTypeList.entrySet()) { if (ResourceTypeListJson != "") ResourceTypeListJson += ","; int countNums = 0; resMainInfo.setResourceclass(entry.getKey()); List mainInfoJoinCatalogList = ziYuanFaBuService.selectResMainInfo(resMainInfo); countNums = mainInfoJoinCatalogList.size(); ResourceTypeListJson += "{key:'" + entry.getKey() + "',value:'" + entry.getValue() + "',zycount:'" + countNums + "'}"; } model.addAttribute("ResourceTypeListJson", "[" + ResourceTypeListJson + "]"); model.addAttribute("pubzyWebRoot", sysConfig.getPubzyWebRoot()); model.addAttribute("systemName", sysConfig.getAppFullName()); model.addAttribute("backstageWebRoot", sysConfig.getApiServer() + "/"); model.addAttribute("gisPortal", sysConfig.getGisPortal()); model.addAttribute("logourl","ziyuanfabutitle"); return "ziyuanfabu/index_New"; } /** * 资源图文列表 */ @RequestMapping("dataListnew") public String dataListNew(Res_MainInfo resMainInfo, Model model, PageBean pageBean) { //update:dsh(2018/12/05) Page page = PageHelper.startPage(pageBean.getPage(), 15); resMainInfo.setExistPermission(getUserId().toString());//只查询自己发布的(2018-05-29-dsh) List ziYuanMuLuList = ziYuanFaBuService.selectResMainInfo(resMainInfo); int countNums = (int) ((Page) ziYuanMuLuList).getTotal(); PageBean pageData = new PageBean<>(pageBean.getPage(), pageBean.getLimit(), countNums); pageData.setItems(ziYuanMuLuList); List simpleZiYuans = new ArrayList(); LinkedHashMap ResourceTypeList = FieldUtils.getFieldListByKey("ResourceType"); for (Integer j = 0; j < ziYuanMuLuList.size(); j++) { Res_MainInfo zy = ziYuanMuLuList.get(j); SimpleZiYuan model1 = new SimpleZiYuan(); model1.setResourceid(zy.getResourceid()); model1.setTitle(zy.getTitle()); model1.setCreateuserid(zy.getCreateuserid()); String chinesename = orgUserService.getChinesename(zy.getCreateuserid());// 查询发布人id对应的 name String unitname = orgUnitService.getUnitName((long) zy.getPubunitid()); model1.setCreateusername(chinesename); model1.setDatasources(zy.getDatasources()); model1.setPubunitid(zy.getPubunitid()); model1.setPubunitname(unitname==null?"":unitname); model1.setKeywords(zy.getKeywords()); model1.setSecuritylev(zy.getSecuritylev()); model1.setStatus(zy.getResourcestatus()); model1.setResourceclass(ResourceTypeList.get(zy.getResourceclass())); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); model1.setPubdate(sdf.format(zy.getPubdate())); model1.setReadcount(zy.getReadcount() == null ? 0 : zy.getReadcount()); model1.setApplycount(zy.getApplycount() == null ? 0 : zy.getApplycount()); model1.setAuditstatusname(getNameByAuditstatus(zy.getAuditstatus())); List list = new ArrayList(); if (zy.getKeywords() != "") { String keywords = zy.getKeywords(); if (keywords != null && !keywords.equals("")) { String key[] = keywords.split(","); for (int i = 0; i < key.length; i++) { String s = key[i]; list.add(s); } } } model1.setList(list); simpleZiYuans.add(model1); } model.addAttribute("ZyList", simpleZiYuans); model.addAttribute("Count", countNums); model.addAttribute("Page", pageBean.getPage()); model.addAttribute("Userid", getUser().getUserid()); return "ziyuanfabu/dataList_New"; } }