5e11405ef24ed933f3010f9b444e81b25588ac2f.svn-base 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. package cn.com.goldenwater.dcproj.controller.general;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.dto.BisInspBaseListDto;
  5. import cn.com.goldenwater.dcproj.dto.EmpwtprjPadMapDto;
  6. import cn.com.goldenwater.dcproj.dto.LoginUser;
  7. import cn.com.goldenwater.dcproj.dto.MenuDto;
  8. import cn.com.goldenwater.dcproj.dto.PersInfoDto;
  9. import cn.com.goldenwater.dcproj.dto.RsStatusInfoDto;
  10. import cn.com.goldenwater.dcproj.model.AttInspType;
  11. import cn.com.goldenwater.dcproj.model.AttInteBase;
  12. import cn.com.goldenwater.dcproj.model.BisInspWorkInfo;
  13. import cn.com.goldenwater.dcproj.model.PersLoc;
  14. import cn.com.goldenwater.dcproj.param.EmptprjPadMapInfoParam;
  15. import cn.com.goldenwater.dcproj.param.GeneralInfoParam;
  16. import cn.com.goldenwater.dcproj.param.PersObjParam;
  17. import cn.com.goldenwater.dcproj.param.PersPositionParam;
  18. import cn.com.goldenwater.dcproj.param.RsStatusInfoParam;
  19. import cn.com.goldenwater.dcproj.param.StartAndEndTimeParam;
  20. import cn.com.goldenwater.dcproj.service.BisInspObjService;
  21. import cn.com.goldenwater.dcproj.service.GeneralInfoService;
  22. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  23. import cn.com.goldenwater.dcproj.service.PersPositionService;
  24. import cn.com.goldenwater.dcproj.target.VerifyBean;
  25. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  26. import cn.com.goldenwater.dcproj.utils.HttpClientUtils;
  27. import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
  28. import cn.com.goldenwater.dcproj.vo.BisInspPblmMapVo;
  29. import cn.com.goldenwater.id.util.UuidUtil;
  30. import cn.com.goldenwater.util.common.SqlUtils;
  31. import com.github.pagehelper.PageInfo;
  32. import io.swagger.annotations.Api;
  33. import io.swagger.annotations.ApiOperation;
  34. import io.swagger.annotations.ApiParam;
  35. import net.sf.json.JSONObject;
  36. import org.apache.commons.lang3.StringUtils;
  37. import org.springframework.beans.factory.annotation.Autowired;
  38. import org.springframework.util.Assert;
  39. import org.springframework.web.bind.annotation.RequestBody;
  40. import org.springframework.web.bind.annotation.RequestMapping;
  41. import org.springframework.web.bind.annotation.RequestMethod;
  42. import org.springframework.web.bind.annotation.RequestParam;
  43. import org.springframework.web.bind.annotation.RestController;
  44. import javax.servlet.http.HttpServletResponse;
  45. import java.util.*;
  46. import java.util.stream.Collectors;
  47. /**
  48. * Created by 61618 on 2019/4/12.
  49. */
  50. @Api(value = "综合展示", tags = "综合展示")
  51. @RestController
  52. @RequestMapping("/dc/general/info")
  53. public class GeneralInfoController extends BaseController {
  54. @Autowired
  55. private GeneralInfoService generalInfoService;
  56. @Autowired
  57. private PersPositionService persPositionService;
  58. @Autowired
  59. private BisInspObjService bisInspObjService;
  60. @Autowired
  61. private OlBisInspOrgService olBisInspOrgService;
  62. @ApiOperation(value = "根据督查人员反查所在的督查组、计划、及参与的任务")
  63. @RequestMapping(value = "/getInfoByPers", method = RequestMethod.GET)
  64. public BaseResponse<List<PersInfoDto>> getInfoByPers(@ApiParam(name = "persid", value = "用户id", required = true) @RequestParam(required = true) String persid,
  65. @ApiParam(name = "sttm", value = "开始时间", required = false) @RequestParam(required = false) String sttm,
  66. @ApiParam(name = "entm", value = "结束时间", required = false) @RequestParam(required = false) String entm) {
  67. List<PersInfoDto> persInfoDtoList = generalInfoService.getInfoByPers(persid, sttm, entm, olBisInspOrgService.getProvince(getCurrentOrgId()));
  68. return buildSuccessResponse(persInfoDtoList);
  69. }
  70. @ApiOperation(value = "获取福建water-secretKey")
  71. @RequestMapping(value = "/getWaterSecretKey", method = RequestMethod.GET)
  72. public BaseResponse<String> getInfoByPers(@RequestParam(required = true) String clientId, @RequestParam(required = false) String clientSecret) throws Exception {
  73. String requestUrl = "https://27.156.118.74:19901/superMap/water/admin/api/serviceManage/auth?clientId="+clientId+"&clientSecret="+clientSecret;
  74. String body = HttpClientUtils.doHttpsPost2(requestUrl,new HashMap<>(),new HashMap<>());
  75. JSONObject jsonObject = JSONObject.fromObject(body);
  76. if(jsonObject!=null && "success".equals(jsonObject.getString("msg"))){
  77. return buildSuccessResponse(jsonObject.getString("water-secretKey"));
  78. }
  79. return buildFailResponse();
  80. }
  81. @ApiOperation(value = "获取水库列表,返回督查状态")
  82. @RequestMapping(value = "/getRsSupData", method = RequestMethod.POST)
  83. public BaseResponse<PageInfo<RsStatusInfoDto>> getRsSupData(@RequestBody RsStatusInfoParam rsStatusInfoParam, HttpServletResponse response) {
  84. rsStatusInfoParam.setProvince(olBisInspOrgService.getProvince(getCurrentOrgId()));
  85. rsStatusInfoParam.setOrgId(getCurrentOrgId());
  86. if (rsStatusInfoParam.getProvince().length() == 12) {
  87. rsStatusInfoParam.setProvince(rsStatusInfoParam.getProvince().substring(0, 2));
  88. }
  89. PageInfo<RsStatusInfoDto> rsStatusInfoPageInfo = generalInfoService.getRsSupData(rsStatusInfoParam, response);
  90. return buildSuccessResponse(rsStatusInfoPageInfo);
  91. }
  92. @VerifyBean
  93. @ApiOperation(value = "pad端一张图获取172列表,返回督查状态")
  94. @RequestMapping(value = "/getEmptprjData", method = RequestMethod.POST)
  95. public BaseResponse<PageInfo<EmpwtprjPadMapDto>> getEmptprjData(@RequestBody EmptprjPadMapInfoParam p) throws Exception {
  96. p.setProvince(olBisInspOrgService.getProvince(getCurrentOrgId()));
  97. PageInfo<EmpwtprjPadMapDto> pageInfo = generalInfoService.getEmptprjData(p);
  98. return buildSuccessResponse(pageInfo);
  99. }
  100. @ApiOperation(value = "添加兴趣点(地图)")
  101. @RequestMapping(value = "/insertInte", method = RequestMethod.POST)
  102. public BaseResponse<String> insertInte(@RequestBody AttInteBase attInteBase) {
  103. String uuid = UuidUtil.uuid();
  104. attInteBase.setId(uuid);
  105. int i = generalInfoService.insertInte(attInteBase);
  106. return buildSuccessResponse(uuid);
  107. }
  108. @ApiOperation(value = "查询兴趣点(地图)")
  109. @RequestMapping(value = "/getIntePage", method = RequestMethod.GET)
  110. public BaseResponse<PageInfo<AttInteBase>> getIntePage(StartAndEndTimeParam startAndEndTimeParam) {
  111. PageInfo<AttInteBase> rsStatusInfoPageInfo = generalInfoService.getIntePage(startAndEndTimeParam);
  112. return buildSuccessResponse(rsStatusInfoPageInfo);
  113. }
  114. @ApiOperation(value = "删除兴趣点(地图)")
  115. @RequestMapping(value = "/deleteInte", method = RequestMethod.GET)
  116. public BaseResponse deleteInte(@RequestParam String id) {
  117. int i = generalInfoService.deleteInte(id);
  118. return buildSuccessResponse();
  119. }
  120. @ApiOperation(value = "修改兴趣点(地图)")
  121. @RequestMapping(value = "/updateInte", method = RequestMethod.POST)
  122. public BaseResponse updateInte(@RequestBody AttInteBase attInteBase) {
  123. Assert.notNull(attInteBase.getId(), "主键id为必填参数");
  124. int i = generalInfoService.updateInte(attInteBase);
  125. return buildSuccessResponse();
  126. }
  127. @ApiOperation(value = "根据人员id获取工作情况")
  128. @RequestMapping(value = "/getWorkInfoByPersId", method = RequestMethod.GET)
  129. public BaseResponse<List<BisInspWorkInfo>> getWorkInfoByPersId(@RequestParam String persId) {
  130. List<BisInspWorkInfo> workInfoList = generalInfoService.getWorkInfoByPersId(persId, olBisInspOrgService.getProvince(getCurrentOrgId()));
  131. return buildSuccessResponse(workInfoList);
  132. }
  133. @ApiOperation(value = "根据人员id以及经纬度获取工作情况")
  134. @RequestMapping(value = "/getSttmEntmByPersId", method = RequestMethod.GET)
  135. public BaseResponse<List<PersLoc>> getSttmEntmByPersId(@RequestParam String persId, @RequestParam Double lon, @RequestParam Double lat) {
  136. LoginUser currentLoginUser = getCurrentLoginUser();
  137. String orgId = getCurrentOrgId();
  138. List<PersLoc> persLocList = generalInfoService.getSttmEntmByPersId(persId, lon, lat, orgId,currentLoginUser);
  139. return buildSuccessResponse(persLocList);
  140. }
  141. @ApiOperation(value = "根据名称与类型全局搜索")
  142. @RequestMapping(value = "/getObjByNameAndType", method = RequestMethod.GET)
  143. public BaseResponse<PageInfo> getObjByNameAndType(GeneralInfoParam param) {
  144. param.setProvince(AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId())));
  145. if (StringUtils.isBlank(param.getType())) {
  146. return null;
  147. }
  148. String subAd = AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId()));
  149. if (StringUtils.isNotBlank(param.getAdCode())) {
  150. param.setAdCode(subAd);
  151. }
  152. PageInfo pageInfo = null;
  153. //人员
  154. switch (param.getType()) {
  155. case "pers":
  156. PersPositionParam pos = new PersPositionParam();
  157. pos.setPersId(param.getPersId());
  158. pos.setAdCode(param.getAdCode());
  159. pos.setPersName(param.getName());
  160. pos.setPageNum(param.getPageNum());
  161. pos.setPageSize(param.getPageSize());
  162. Calendar calendar = Calendar.getInstance();
  163. calendar.add(Calendar.MINUTE, -0);
  164. calendar.add(Calendar.HOUR_OF_DAY, -1);
  165. calendar.add(Calendar.DAY_OF_MONTH, -0);
  166. Date date = calendar.getTime();
  167. pos.setOperateTime(date);
  168. pos.setProvince(olBisInspOrgService.getProvince(getCurrentOrgId()));
  169. pos.setOrgId("");
  170. pageInfo = persPositionService.findPersPageByOrgId(pos, null);
  171. break;
  172. case "rsvr":
  173. //水库
  174. RsStatusInfoParam rsParam = new RsStatusInfoParam();
  175. rsParam.setAdCode(param.getAdCode());
  176. rsParam.setRsName(param.getName());
  177. rsParam.setStatus(param.getStatus());
  178. rsParam.setPersGuid(param.getPersId());
  179. rsParam.setPageNum(param.getPageNum());
  180. rsParam.setProvince(olBisInspOrgService.getProvince(getCurrentOrgId()));
  181. rsParam.setPageSize(param.getPageSize());
  182. pageInfo = generalInfoService.getRsSupData(rsParam, null);
  183. break;
  184. case "other":
  185. PersObjParam persParam = new PersObjParam();
  186. persParam.setOrgId(getCurrentOrgId());
  187. persParam.setPersGuid(param.getPersId());
  188. persParam.setAdCode(param.getAdCode());
  189. persParam.setAdName(param.getName());
  190. persParam.setWtdstNm(param.getName());
  191. persParam.setStnm(param.getName());
  192. persParam.setRsName(param.getName());
  193. persParam.setPersGuid(param.getPersId());
  194. persParam.setObjType(param.getObjType());
  195. persParam.setFrgrd(param.getFrgrd());
  196. persParam.setProvince(param.getProvince());
  197. persParam.setLv(param.getLv());
  198. persParam.setPageNum(param.getPageNum());
  199. persParam.setPageSize(param.getPageSize());
  200. pageInfo = bisInspObjService.getPageByPersId(persParam, null);
  201. break;
  202. default:
  203. }
  204. return buildSuccessResponse(pageInfo);
  205. }
  206. @ApiOperation(value = "根据行政编码统计对象数量")
  207. @RequestMapping(value = "/getObjCount", method = RequestMethod.GET)
  208. public BaseResponse getObjCount(GeneralInfoParam param) {
  209. param.setInIdsSql(SqlUtils.getinIdsSql(getCurrentPersId(), olBisInspOrgService.getProvince(getCurrentOrgId())));
  210. List list = generalInfoService.getObjCount(param);
  211. return buildSuccessResponse(list);
  212. }
  213. @ApiOperation(value = "获取基本信息列表")
  214. @RequestMapping(value = "/getBaseList", method = {RequestMethod.POST, RequestMethod.GET})
  215. public BaseResponse getBaseList(GeneralInfoParam param, HttpServletResponse response) {
  216. if (StringUtils.isBlank(param.getObjType())) {
  217. return buildFailResponse(10010, "无对于类型数据");
  218. }
  219. if (StringUtils.isBlank(param.getAdCode())) {
  220. param.setAdCode(AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId())));
  221. }
  222. List<BisInspBaseListDto> list = generalInfoService.getBaseList(param);
  223. ExportUtil.exportExcel(param.getIsExport(), list, response);
  224. return buildSuccessResponse(list);
  225. }
  226. @ApiOperation(value = "获取基础信息列表分页")
  227. @RequestMapping(value = "getBasePage", method = {RequestMethod.POST, RequestMethod.GET})
  228. public BaseResponse<PageInfo<BisInspBaseListDto>> getBasePage(GeneralInfoParam param, HttpServletResponse response) {
  229. if (StringUtils.isBlank(param.getObjType())) {
  230. return buildFailResponse(10010, "无对于类型数据");
  231. }
  232. PageInfo<BisInspBaseListDto> pageInfo = generalInfoService.getBasePage(param, response);
  233. return buildSuccessResponse(pageInfo);
  234. }
  235. /**
  236. * 福建省综合展示 动态查询 督查类型列表
  237. * @param param
  238. * @param response
  239. * @return
  240. */
  241. @ApiOperation(value = "获取当前登录用户所在省市县机构的督查类型列表")
  242. @RequestMapping(value = "/getObjTypeList", method = {RequestMethod.POST, RequestMethod.GET})
  243. public BaseResponse getObjTypeList(GeneralInfoParam param, HttpServletResponse response) {
  244. if(null == param){
  245. param = new GeneralInfoParam();
  246. }
  247. String curOrgId = getCurrentOrgId();
  248. param.setOrgId(curOrgId);
  249. List<AttInspType> list = generalInfoService.getObjTypeList(param);
  250. if(null != list && list.size()>0){
  251. list = list.stream().filter(f->StringUtils.isNotBlank(f.getPgroup())).collect(Collectors.toList());
  252. Map<String, List<AttInspType>> resultMap = list.stream().collect(Collectors.groupingBy(g -> g.getPgroup()));
  253. return buildSuccessResponse(resultMap);
  254. }
  255. return buildSuccessResponse(list);
  256. }
  257. /**
  258. * 福建省综合展示 动态查询 督查类型的问题列表
  259. * @param param
  260. * @param response
  261. * @return
  262. */
  263. @ApiOperation(value = "获取当前登录用户所在省市县机构的问题列表")
  264. @RequestMapping(value = "/getPblmList", method = {RequestMethod.POST, RequestMethod.GET})
  265. public BaseResponse getPblmList(GeneralInfoParam param, HttpServletResponse response) {
  266. if(null == param){
  267. param = new GeneralInfoParam();
  268. }
  269. // 机构
  270. String curOrgId = getCurrentOrgId();
  271. param.setOrgId(curOrgId);
  272. // 省份
  273. String curProvince = olBisInspOrgService.getProvince(curOrgId);
  274. param.setProvince(AdLevelUtil.getAddvcd(curProvince));
  275. // 当前用户
  276. param.setPersId(getCurrentPersId());
  277. if(StringUtils.isBlank(param.getAdCode())){
  278. param.setAdCode(AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(curOrgId)));
  279. }else{
  280. param.setAdCode(AdLevelUtil.getAddvcd(param.getAdCode()));
  281. }
  282. List<BisInspPblmMapVo> list = generalInfoService.getPblmList(param);
  283. return buildSuccessResponse(list);
  284. }
  285. @ApiOperation(value = "根据用户id获取督查填报菜单列表")
  286. @RequestMapping(value = "/getObjTypeMenuList", method = RequestMethod.POST)
  287. public BaseResponse<List<MenuDto>> getObjTypeMenuListByPersId(@RequestBody GeneralInfoParam param) {
  288. param.setPersId(getCurrentPersId());
  289. param.setOwnApp("1");
  290. return buildSuccessResponse(generalInfoService.getObjTypeMenuListByPersId(param));
  291. }
  292. }