package com.landtool.lanbase.modules.res.controller; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; 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.entity.OrgUser; import com.landtool.lanbase.modules.org.service.OrgUnitService; import com.landtool.lanbase.modules.org.service.OrgUserService; import com.landtool.lanbase.modules.res.entity.Res_ExtMapUrl; import com.landtool.lanbase.modules.res.entity.Res_ExtThemeMap; import com.landtool.lanbase.modules.res.entity.Res_MainInfo; import com.landtool.lanbase.modules.res.entity.SimpleZiYuan; import com.landtool.lanbase.modules.res.service.JiChuDiTuService; import com.landtool.lanbase.modules.res.service.ResExtMapUrlService; import com.landtool.lanbase.modules.res.service.ResExtThemeMapService; import com.landtool.lanbase.modules.res.service.ResMainInfoService; import com.landtool.lanbase.modules.res.service.ZiYuanMuLuService; import com.landtool.lanbase.modules.sys.controller.AbstractController; import com.landtool.lanbase.modules.sys.service.SysFieldvalueService; /** * 前台展示 - 资源目录 */ @Controller @RequestMapping("res/jichuditu") public class JiChuDiTuController extends AbstractController { @Autowired private SysTemPropertyConfig sysConfig; @Autowired public ZiYuanMuLuService ziYuanMuLuService; @Autowired private SysFieldvalueService fieldUtils; @Autowired private ResMainInfoService resMainInfoService; @Autowired private OrgUserService orgUserService; @Autowired private OrgUnitService orgUnitService; @Autowired private JiChuDiTuService jiChuDiTuService; @Autowired private SysTemPropertyConfig sysTemPropertyConfig; @Autowired private ResExtThemeMapService resExtThemeMapService; @Autowired private ResExtMapUrlService resExtMapUrlService; @RequestMapping("/indexbak") public String index(Model model) { LinkedHashMap ResourceTypeList = fieldUtils.getFieldListByKey("ResourceType");// 获取资源类型列表 String ResourceTypeListJson = ""; for (Map.Entry entry : ResourceTypeList.entrySet()) { if (ResourceTypeListJson != "") ResourceTypeListJson += ","; if(entry.getKey().indexOf("KJ_") != -1) { int countNums = 0; Res_MainInfo rmodel = new Res_MainInfo(); rmodel.setResourceclass(entry.getKey()); List mainInfoJoinCatalogList = jiChuDiTuService.selectResMainInfo(rmodel); countNums = mainInfoJoinCatalogList.size(); ResourceTypeListJson += "{key:'" + entry.getKey() + "',value:'" + entry.getValue() + "',zycount:'" + countNums + "'}"; } } model.addAttribute("ResourceTypeListJson", "[" + ResourceTypeListJson + "]"); model.addAttribute("pubzyWebRoot", sysConfig.getPubzyWebRoot()); model.addAttribute("backstageWebRoot", sysConfig.getApiServer() + "/"); model.addAttribute("systemName", sysConfig.getAppFullName()); model.addAttribute("gisPortal", sysConfig.getGisPortal()); return "jichuditu/index"; } @RequestMapping("/dataList") public String dataList(Res_MainInfo resMainInfo, Model model, PageBean pageBean) { //update:dsh(2018/12/05) Page page = PageHelper.startPage(pageBean.getPage(), 14); List List = jiChuDiTuService.selectResMainInfo(resMainInfo); OrgUser user = getUser(); Long unitid = orgUserService.getDefaultUnit(user.getUserid()).getUnitid(); int countNums = (int) ((Page) List).getTotal(); PageBean pageData = new PageBean<>(pageBean.getPage(), pageBean.getLimit(), countNums); pageData.setItems(List); LinkedHashMap ResourceTypeList = fieldUtils.getFieldListByKey("ResourceType"); List simpleZiYuans = new ArrayList(); for (Integer j = 0; j < List.size(); j++) { Res_MainInfo zy = List.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); model1.setStatus(zy.getResourcestatus()); model1.setKeywords(zy.getKeywords()!=null?zy.getKeywords():""); model1.setSecuritylev(zy.getSecuritylev()); 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())); model1.setResourcetype(zy.getResourceclass()); //图片 String imgUrl = ""; String defClassImg = "/image/classimg/"+zy.getResourceclass()+".gif"; //默认资源类型图片 if (zy.getImgurl() != null && zy.getImgurl().length() != 0) { if(zy.getImgurl().startsWith("Atkas")){//图集 imgUrl = "/image/" + zy.getImgurl(); File file = new File(System.getProperty("user.dir")+ "\\src\\main\\resources\\static" + ("/image/"+zy.getImgurl()).replace("/","\\")); if (!file.exists()) { //判断物理路径是否存在,不存在则默认 imgUrl = defClassImg; } }else { imgUrl = "/uploadPath/" + zy.getImgurl(); File file = new File(sysTemPropertyConfig.getUploadPath() + zy.getImgurl()); if (!file.exists()) { //判断物理路径是否存在,不存在则默认 imgUrl = defClassImg; } } } else { imgUrl = defClassImg; } model1.setImgurl(imgUrl); //关键字 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); //判断是否有权限 Map map = new HashMap<>(); map.put("resourceid", zy.getResourceid()); map.put("userid", getUserId()); map.put("unitid", unitid ); int count = resMainInfoService.checkZiYuanQuanXian(map); //有权限查看(1有,0没有) if(count>0){ model1.setIsquanxian(1); }else { model1.setIsquanxian(0); } model1.setFirstmapurl(getZTDTByPortalMapUrl(zy.getResourceid(),zy.getResourceclass())); simpleZiYuans.add(model1); } model.addAttribute("ZyList", simpleZiYuans); model.addAttribute("Count", countNums); model.addAttribute("Page", pageBean.getPage()); model.addAttribute("userid", getUserId()); model.addAttribute("gisPortal", sysConfig.getGisPortal()); return "jichuditu/dataList"; } //获取用户或单位Map 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 urlList = resExtMapUrlService.selectByCondition(resourceid); if (urlList != null && urlList.size() > 0 && urlList.get(0).getServerurl() != null) firstMapUrl = urlList.get(0).getServerurl(); } } } return firstMapUrl; } /** * 新设计 */ @RequestMapping("/index") public String indexNew(Model model) { LinkedHashMap ResourceTypeList = fieldUtils.getFieldListByKey("ResourceType");// 获取资源类型列表 String ResourceTypeListJson = ""; for (Map.Entry entry : ResourceTypeList.entrySet()) { if (ResourceTypeListJson != "") ResourceTypeListJson += ","; if(entry.getKey().indexOf("KJ_") != -1) { int countNums = 0; Res_MainInfo rmodel = new Res_MainInfo(); rmodel.setResourceclass(entry.getKey()); List mainInfoJoinCatalogList = jiChuDiTuService.selectResMainInfo(rmodel); countNums = mainInfoJoinCatalogList.size(); ResourceTypeListJson += "{key:'" + entry.getKey() + "',value:'" + entry.getValue() + "',zycount:'" + countNums + "'}"; } } model.addAttribute("ResourceTypeListJson", "[" + ResourceTypeListJson + "]"); model.addAttribute("pubzyWebRoot", sysConfig.getPubzyWebRoot()); model.addAttribute("backstageWebRoot", sysConfig.getApiServer() + "/"); model.addAttribute("systemName", sysConfig.getAppFullName()); model.addAttribute("gisPortal", sysConfig.getGisPortal()); model.addAttribute("logourl","jichuditutitle"); return "jichuditu/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(), 14); List List = jiChuDiTuService.selectResMainInfo(resMainInfo); OrgUser user = getUser(); Long unitid = orgUserService.getDefaultUnit(user.getUserid()).getUnitid(); int countNums = (int) ((Page) List).getTotal(); PageBean pageData = new PageBean<>(pageBean.getPage(), pageBean.getLimit(), countNums); pageData.setItems(List); LinkedHashMap ResourceTypeList = fieldUtils.getFieldListByKey("ResourceType"); List simpleZiYuans = new ArrayList(); for (Integer j = 0; j < List.size(); j++) { Res_MainInfo zy = List.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); model1.setStatus(zy.getResourcestatus()); model1.setKeywords(zy.getKeywords()!=null?zy.getKeywords():""); model1.setSecuritylev(zy.getSecuritylev()); 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())); model1.setResourcetype(zy.getResourceclass()); //图片 String imgUrl = ""; String defClassImg = "/image/classimg/"+zy.getResourceclass()+".gif"; //默认资源类型图片 if (zy.getImgurl() != null && zy.getImgurl().length() != 0) { if(zy.getImgurl().startsWith("Atkas")){//图集 imgUrl = "/image/" + zy.getImgurl(); File file = new File(System.getProperty("user.dir")+ "\\src\\main\\resources\\static" + ("/image/"+zy.getImgurl()).replace("/","\\")); if (!file.exists()) { //判断物理路径是否存在,不存在则默认 imgUrl = defClassImg; } }else { imgUrl = "/uploadPath/" + zy.getImgurl(); File file = new File(sysTemPropertyConfig.getUploadPath() + zy.getImgurl()); if (!file.exists()) { //判断物理路径是否存在,不存在则默认 imgUrl = defClassImg; } } } else { imgUrl = defClassImg; } model1.setImgurl(imgUrl); //关键字 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); //判断是否有权限 Map map = new HashMap<>(); map.put("resourceid", zy.getResourceid()); map.put("userid", getUserId()); map.put("unitid", unitid ); int count = resMainInfoService.checkZiYuanQuanXian(map); //有权限查看(1有,0没有) if(count>0){ model1.setIsquanxian(1); }else { model1.setIsquanxian(0); } model1.setFirstmapurl(getZTDTByPortalMapUrl(zy.getResourceid(),zy.getResourceclass())); simpleZiYuans.add(model1); } model.addAttribute("ZyList", simpleZiYuans); model.addAttribute("Count", countNums); model.addAttribute("Page", pageBean.getPage()); model.addAttribute("userid", getUserId()); model.addAttribute("gisPortal", sysConfig.getGisPortal()); return "jichuditu/dataList_New"; } }