b2dbb374ca55acc32608f8109818873f6da1ddac.svn-base 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. package cn.com.goldenwater.dcproj.controller.mend.bpm;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.dto.BisInspTaskDthDayDto;
  5. import cn.com.goldenwater.dcproj.dto.ResGetTaskPendDto;
  6. import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers;
  7. import cn.com.goldenwater.dcproj.model.BisInspPblm;
  8. import cn.com.goldenwater.dcproj.model.BisInspPblmClassify;
  9. import cn.com.goldenwater.dcproj.model.BisInspPblmPlist;
  10. import cn.com.goldenwater.dcproj.model.News;
  11. import cn.com.goldenwater.dcproj.model.TacSlbLawIndex;
  12. import cn.com.goldenwater.dcproj.param.NewsParam;
  13. import cn.com.goldenwater.dcproj.service.AttAdBaseService;
  14. import cn.com.goldenwater.dcproj.service.BisInspAllRlationPersService;
  15. import cn.com.goldenwater.dcproj.service.BisInspPblmPlistFormService;
  16. import cn.com.goldenwater.dcproj.service.BisInspPblmPlistService;
  17. import cn.com.goldenwater.dcproj.service.IndexTopService;
  18. import cn.com.goldenwater.dcproj.service.NewsService;
  19. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  20. import cn.com.goldenwater.dcproj.utils.DateUtils;
  21. import cn.com.goldenwater.dcproj.vo.ObjInspPblmsVo;
  22. import com.github.pagehelper.PageInfo;
  23. import com.workflow.bpm.api.bpmservices.BpmTaskService;
  24. import com.workflow.bpm.api.bpmservices.co.taskinst.QueryTaskInstCO;
  25. import com.workflow.bpm.api.bpmservices.dto.ResGetTaskPendDTO;
  26. import com.workflow.common.struct.head.Page;
  27. import com.workflow.common.struct.req.impl.APIRequestPage;
  28. import com.workflow.common.struct.res.ResultPage;
  29. import com.workflow.common.util.convert.ConvertBeanUtils;
  30. import io.swagger.annotations.Api;
  31. import io.swagger.annotations.ApiOperation;
  32. import org.apache.commons.lang3.StringUtils;
  33. import org.slf4j.Logger;
  34. import org.slf4j.LoggerFactory;
  35. import org.springframework.beans.BeanUtils;
  36. import org.springframework.beans.factory.annotation.Autowired;
  37. import org.springframework.web.bind.annotation.GetMapping;
  38. import org.springframework.web.bind.annotation.RequestMapping;
  39. import org.springframework.web.bind.annotation.RestController;
  40. import java.util.ArrayList;
  41. import java.util.HashMap;
  42. import java.util.List;
  43. import java.util.Map;
  44. import java.util.Optional;
  45. import java.util.stream.Collectors;
  46. /**
  47. * @author lxf
  48. * @date 2023-04-08
  49. * 督查首页top数据
  50. */
  51. @Api(value = "督查首页筛选数据", tags = "最新5条")
  52. @RestController
  53. @RequestMapping("/index/top")
  54. public class DcIndexTopBpmController extends BaseController {
  55. private Logger logger = LoggerFactory.getLogger(this.getClass());
  56. @Autowired
  57. private BpmTaskService bpmTaskService;
  58. @Autowired
  59. private OlBisInspOrgService olBisInspOrgService;
  60. @Autowired
  61. private AttAdBaseService attAdBaseService;
  62. @Autowired
  63. private BisInspPblmPlistService bisInspPblmPlistService;
  64. @Autowired
  65. private BisInspAllRlationPersService bisInspAllRlationPersService;
  66. @Autowired
  67. private BisInspPblmPlistFormService formService;
  68. @Autowired
  69. private IndexTopService indexTopService;
  70. @Autowired
  71. private NewsService newsService;
  72. @ApiOperation(value = "待办事项")
  73. @GetMapping(value = "/list/workflow/task")
  74. public BaseResponse<Map<String, Integer>> queryTopWorkflowTaskList(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
  75. bisInspTaskDthDayDto.setOrgId(getCurrentOrgId());
  76. ReqGetTaskPend2DTO reqGetTaskPend2DTO = new ReqGetTaskPend2DTO();
  77. reqGetTaskPend2DTO.setPageNum(1);
  78. reqGetTaskPend2DTO.setPageNo(1);
  79. reqGetTaskPend2DTO.setPageSize(1000);
  80. int todoNum = 0;
  81. if (null != bisInspTaskDthDayDto.getTopNum()) {
  82. reqGetTaskPend2DTO.setPageSize(bisInspTaskDthDayDto.getTopNum());
  83. }
  84. //获取当前人员的所属行政区
  85. String province = olBisInspOrgService.getRlProvince(getCurrentOrgId());
  86. //获取行政区代码对应的行政区名称
  87. String adName = attAdBaseService.getByAdcode(province).getAdFullName();
  88. QueryTaskInstCO queryTaskInstCO = new QueryTaskInstCO();
  89. queryTaskInstCO.setProcInstName("督查整改-" + adName);
  90. Page page = new Page();
  91. ConvertBeanUtils.copyPropertiesBySource(reqGetTaskPend2DTO, queryTaskInstCO);
  92. ConvertBeanUtils.copyPropertiesBySource(reqGetTaskPend2DTO, page);
  93. APIRequestPage<QueryTaskInstCO> requestPage = new APIRequestPage<>();
  94. requestPage.setContent(queryTaskInstCO);
  95. page.setPageNo(1);
  96. page.setPageSize(9999);
  97. requestPage.setPage(page);
  98. logger.info(" ----------get bpm data satart ----------");
  99. logger.info(requestPage.toString());
  100. try {
  101. logger.info("bpm req:"+requestPage.toString()+":"+requestPage.getContent().toString());
  102. ResultPage<List<ResGetTaskPendDTO>> listResultPage = bpmTaskService.queryPendingTask(requestPage, getCurrentPersId(), getCurrentOrgId());
  103. logger.info(" ----------get bpm data size ----------" + listResultPage.getContent().size());
  104. todoNum = null == listResultPage.getContent() ? 0 : listResultPage.getContent().size();
  105. } catch (Exception e) {
  106. e.printStackTrace();
  107. }
  108. // 通知公告数量
  109. NewsParam newsParam = new NewsParam();
  110. newsParam.setOrgId(getCurrentOrgId());
  111. newsParam.setApp("1");
  112. int countNum = newsService.selectCount(newsParam);
  113. // 把 待办事项数和通知公告数 设为返回值
  114. Map<String, Integer> resultMap = new HashMap<>();
  115. resultMap.put("newsCount", countNum);
  116. resultMap.put("todoCount", todoNum);
  117. return buildSuccessResponse(resultMap);
  118. }
  119. private void convertDto(ResGetTaskPendDTO dto, String classify, List list) {
  120. if (dto == null) {
  121. return;
  122. }
  123. ResGetTaskPendDto newDto = new ResGetTaskPendDto();
  124. BeanUtils.copyProperties(dto, newDto);
  125. newDto.setPblmClassify(classify);
  126. list.add(newDto);
  127. }
  128. @ApiOperation(value = "法律法规")
  129. @GetMapping(value = "/list/law")
  130. public BaseResponse<List<TacSlbLawIndex>> queryTopLawList(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
  131. bisInspTaskDthDayDto.setOrgId(getCurrentOrgId());
  132. return buildSuccessResponse(indexTopService.slbLawTopList(bisInspTaskDthDayDto));
  133. }
  134. @ApiOperation(value = "最新问题")
  135. @GetMapping(value = "/list/pblm")
  136. public BaseResponse<List<BisInspPblm>> queryTopPbmList(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
  137. bisInspTaskDthDayDto.setOrgId(getCurrentOrgId());
  138. return buildSuccessResponse(indexTopService.pblmTopList(bisInspTaskDthDayDto));
  139. }
  140. @ApiOperation(value = "督查类型问题清单")
  141. @GetMapping(value = "/list/pblmbz")
  142. public BaseResponse<List<ObjInspPblmsVo>> queryTopObjTypePbmBzList(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
  143. bisInspTaskDthDayDto.setOrgId(getCurrentOrgId());
  144. return buildSuccessResponse(indexTopService.pblmBzTopList(bisInspTaskDthDayDto));
  145. }
  146. @ApiOperation(value = "获取公告消息提醒(单表)")
  147. @GetMapping(value = "/list/news")
  148. public BaseResponse<List<News>> queryTopNewsList(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
  149. NewsParam newsParam = new NewsParam();
  150. newsParam.setOrgId(getCurrentOrgId());
  151. newsParam.setApp("1");
  152. newsParam.setPageNum(1);
  153. newsParam.setPageSize(bisInspTaskDthDayDto.getTopNum());
  154. PageInfo<News> news = newsService.findPageInfo(newsParam);
  155. return buildSuccessResponse(news.getList());
  156. }
  157. @ApiOperation(value = "督查首页办公动态")
  158. @GetMapping(value = "/list")
  159. public BaseResponse queryTopPbmBzList(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
  160. Integer topType = bisInspTaskDthDayDto.getTopType();
  161. if (null == topType) {
  162. return queryTopLawList(bisInspTaskDthDayDto);
  163. }
  164. if (2 == topType) {
  165. // 督查类型问题清单
  166. return queryTopObjTypePbmBzList(bisInspTaskDthDayDto);
  167. } else if (3 == topType) {
  168. // 待办任务
  169. return queryTopWorkflowTaskList(bisInspTaskDthDayDto);
  170. } else if (4 == topType) {
  171. // 通知公告
  172. return queryTopNewsList(bisInspTaskDthDayDto);
  173. } else {
  174. // 法律法规
  175. return queryTopLawList(bisInspTaskDthDayDto);
  176. }
  177. }
  178. }