MeetingController.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. package com.ghsc.partybuild.controller.partyLife;
  2. import com.fasterxml.jackson.core.type.TypeReference;
  3. import com.github.pagehelper.PageInfo;
  4. import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
  5. import com.ghsc.partybuild.model.CfDictionary;
  6. import com.ghsc.partybuild.service.DictionaryService;
  7. import com.ghsc.partybuild.service.UserService;
  8. import com.ghsc.partybuild.service.partyLife.MeetingService;
  9. import com.ghsc.partybuild.util.DateUtils;
  10. import com.ghsc.partybuild.util.ExcelHelper;
  11. import com.ghsc.partybuild.util.JsonMapper;
  12. import com.ghsc.partybuild.util.StringUtils;
  13. import com.ghsc.partybuild.vo.partyLife.PartyLifeMeetingVo;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.format.annotation.DateTimeFormat;
  17. import org.springframework.web.bind.annotation.*;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.util.*;
  20. @Slf4j
  21. @RestController
  22. @RequestMapping(value = "/api/partylife/meeting")
  23. public class MeetingController {
  24. @Autowired
  25. private MeetingService meetingService;
  26. @Autowired
  27. private UserService userService;
  28. @Autowired
  29. private DictionaryService dictionaryService;
  30. @Autowired
  31. private StringUtils stringUtils;
  32. @Autowired
  33. private DateUtils dateUtils;
  34. private static final String dateTimeFormat = "yyyy-MM-dd";
  35. @ResponseBody
  36. @GetMapping("/getList")
  37. public RequsetData<PageInfo<PartyLifeMeetingVo>> getList(int pageindex, int pagesize, Integer partyLifeMeetingType, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String title, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date startDate, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date endDate) {
  38. RequsetData<PageInfo<PartyLifeMeetingVo>> result = new RequsetData<>();
  39. result.setItem(meetingService.getList(pageindex, pagesize, partyLifeMeetingType, null, dzzdm, title, startDate,endDate));
  40. return result;
  41. }
  42. @ResponseBody
  43. @GetMapping("/getUserAddressList")
  44. public RequsetData<List<String>> getUserAddressList(@RequestParam(required = false) Integer partyLifeMeetingType) {
  45. RequsetData<List<String>> res = new RequsetData<>();
  46. res.setItem(meetingService.getUserAddressList(partyLifeMeetingType, userService.getLoginUser().getUserid()));
  47. return res;
  48. }
  49. @ResponseBody
  50. @GetMapping("/get")
  51. public RequsetData<PartyLifeMeetingVo> get(@RequestParam(required = false) String id) {
  52. RequsetData<PartyLifeMeetingVo> res = new RequsetData<>();
  53. PartyLifeMeetingVo model = meetingService.getMeetingById(id);
  54. if (model == null) {
  55. UUID uuid = UUID.randomUUID();
  56. model = new PartyLifeMeetingVo();
  57. model.setPartylifemeetingid(uuid.toString());
  58. model.setPersonnellist(new ArrayList<>());
  59. }
  60. res.setItem(model);
  61. return res;
  62. }
  63. @ResponseBody
  64. @PostMapping("/save")
  65. public RequsetData<String> save(@RequestBody PartyLifeMeetingVo data) {
  66. RequsetData<String> result = new RequsetData<String>();
  67. int count = 0;
  68. String message = "";
  69. try {
  70. count = meetingService.save(data, userService.getLoginUser().getUserid());
  71. } catch (Exception e) {
  72. e.printStackTrace();
  73. message = e.toString();
  74. }
  75. if (count > 0) {
  76. result.setSuccess(true);
  77. result.setMsg("保存成功!");
  78. } else {
  79. result.setSuccess(false);
  80. result.setMsg("保存失败!" + message);
  81. }
  82. return result;
  83. }
  84. @ResponseBody
  85. @PostMapping("/delete")
  86. public RequsetData<Integer> delete(@RequestBody Map<String, Object> reqMap) {
  87. RequsetData<Integer> result = new RequsetData<>();
  88. int count = 0;
  89. String message = "";
  90. try {
  91. List<String> idList = JsonMapper.jsonToObject(reqMap.get("ids").toString(), new TypeReference<List<String>>() {
  92. });
  93. count = meetingService.delete(idList);
  94. } catch (Exception e) {
  95. e.printStackTrace();
  96. message = e.toString();
  97. }
  98. if (count > 0) {
  99. result.setItem(count);
  100. result.setSuccess(true);
  101. result.setMsg("删除成功!");
  102. } else {
  103. result.setSuccess(false);
  104. result.setMsg("删除失败!" + message);
  105. }
  106. return result;
  107. }
  108. @RequestMapping(value = "/export", method = RequestMethod.GET)
  109. public void exportLeaderTeam(HttpServletResponse response, int partyLifeMeetingType, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String title, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date startDate, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date endDate) throws Exception {
  110. /**查询数据**/
  111. List<PartyLifeMeetingVo> dataList = meetingService.getList(1, 10000, partyLifeMeetingType, null, dzzdm, title, startDate,endDate).getList();
  112. List<CfDictionary> typeList = dictionaryService.getDictionaryListByDicTypeKey("PartyLifeMeetingType");
  113. ExcelHelper excelHelper = new ExcelHelper();
  114. ExcelHelper.ExcelData data = excelHelper.new ExcelData();
  115. String excelTitle = typeList.stream().filter(it->it.getDickey().equals(partyLifeMeetingType)).findFirst().get().getDicvalue();
  116. //列名
  117. data.setName(excelTitle);
  118. List<String> titles = new ArrayList();
  119. titles.add("序号");
  120. titles.add("所属党组织");
  121. titles.add("会议名称");
  122. titles.add("会议时间");
  123. titles.add("会议地点");
  124. titles.add("主持人");
  125. titles.add("出席人员数量");
  126. titles.add("缺勤人员数量");
  127. titles.add("创建人");
  128. titles.add("创建时间");
  129. data.setTitles(titles);
  130. //数据
  131. List<List<Object>> rows = new ArrayList();
  132. int i = 0;
  133. for (PartyLifeMeetingVo item : dataList) {
  134. List<Object> row = new ArrayList();
  135. row.add(++i);
  136. row.add(item.getPartyname());
  137. row.add(item.getTitle());
  138. row.add(dateUtils.dateToStrFormat(item.getMeetingdate(), "yyyy-MM-dd"));
  139. row.add(item.getAddress());
  140. row.add(item.getCompere());
  141. row.add(item.getAttendance());
  142. row.add(item.getAbsentcount());
  143. row.add(item.getCreateusername());
  144. row.add(dateUtils.dateToStrFormat(item.getCreatetime(), "yyyy-MM-dd HH:mm:ss"));
  145. rows.add(row);
  146. }
  147. data.setRows(rows);
  148. excelHelper.exportExcel(response, excelTitle + "导出.xlsx", data);
  149. }
  150. @RequestMapping(value = "/exportScyd", method = RequestMethod.GET)
  151. public void exportScyd(HttpServletResponse response, int partyLifeMeetingType, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String title, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date startDate, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date endDate) throws Exception {
  152. /**查询数据**/
  153. List<PartyLifeMeetingVo> dataList = meetingService.getList(1, 10000, partyLifeMeetingType, null, dzzdm, title, startDate,endDate).getList();
  154. List<CfDictionary> typeList = dictionaryService.getDictionaryListByDicTypeKey("PartyLifeMeetingType");
  155. ExcelHelper excelHelper = new ExcelHelper();
  156. ExcelHelper.ExcelData data = excelHelper.new ExcelData();
  157. String excelTitle = typeList.stream().filter(it->it.getDickey().equals(partyLifeMeetingType)).findFirst().get().getDicvalue();
  158. //列名
  159. data.setName(excelTitle);
  160. List<String> titles = new ArrayList();
  161. titles.add("序号");
  162. titles.add("所属党组织");
  163. titles.add("“三重一大”类别");
  164. titles.add("会议名称");
  165. titles.add("会议时间");
  166. titles.add("会议地点");
  167. titles.add("主持人");
  168. titles.add("出席人员数量");
  169. titles.add("缺勤人员数量");
  170. titles.add("创建人");
  171. titles.add("创建时间");
  172. data.setTitles(titles);
  173. //数据
  174. List<List<Object>> rows = new ArrayList();
  175. int i = 0;
  176. for (PartyLifeMeetingVo item : dataList) {
  177. List<Object> row = new ArrayList();
  178. row.add(++i);
  179. row.add(item.getPartyname());
  180. row.add(item.getScydtypenames().replace("<br />", ""));
  181. row.add(item.getTitle());
  182. row.add(dateUtils.dateToStrFormat(item.getMeetingdate(), "yyyy-MM-dd"));
  183. row.add(item.getAddress());
  184. row.add(item.getCompere());
  185. row.add(item.getAttendance());
  186. row.add(item.getAbsentcount());
  187. row.add(item.getCreateusername());
  188. row.add(dateUtils.dateToStrFormat(item.getCreatetime(), "yyyy-MM-dd HH:mm:ss"));
  189. rows.add(row);
  190. }
  191. data.setRows(rows);
  192. excelHelper.exportExcel(response, excelTitle + "导出.xlsx", data);
  193. }
  194. @RequestMapping(value = "/exportTxth", method = RequestMethod.GET)
  195. public void exportTxth(HttpServletResponse response, int partyLifeMeetingType, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String title, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date startDate, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date endDate) throws Exception {
  196. /**查询数据**/
  197. List<PartyLifeMeetingVo> dataList = meetingService.getList(1, 10000, partyLifeMeetingType, null, dzzdm, title, startDate,endDate).getList();
  198. List<CfDictionary> typeList = dictionaryService.getDictionaryListByDicTypeKey("PartyLifeMeetingType");
  199. ExcelHelper excelHelper = new ExcelHelper();
  200. ExcelHelper.ExcelData data = excelHelper.new ExcelData();
  201. String excelTitle = typeList.stream().filter(it->it.getDickey().equals(partyLifeMeetingType)).findFirst().get().getDicvalue();
  202. //列名
  203. data.setName(excelTitle);
  204. List<String> titles = new ArrayList();
  205. titles.add("序号");
  206. titles.add("所属党组织");
  207. titles.add("会议主题");
  208. titles.add("会议时间");
  209. titles.add("会议参加人数");
  210. titles.add("会议地点");
  211. titles.add("创建人");
  212. titles.add("创建时间");
  213. data.setTitles(titles);
  214. //数据
  215. List<List<Object>> rows = new ArrayList();
  216. int i = 0;
  217. for (PartyLifeMeetingVo item : dataList) {
  218. List<Object> row = new ArrayList();
  219. row.add(++i);
  220. row.add(item.getPartyname());
  221. row.add(item.getTitle());
  222. row.add(dateUtils.dateToStrFormat(item.getMeetingdate(), "yyyy-MM-dd"));
  223. row.add(item.getUsercount());
  224. row.add(item.getAddress());
  225. row.add(item.getCreateusername());
  226. row.add(dateUtils.dateToStrFormat(item.getCreatetime(), "yyyy-MM-dd HH:mm:ss"));
  227. rows.add(row);
  228. }
  229. data.setRows(rows);
  230. excelHelper.exportExcel(response, excelTitle + "导出.xlsx", data);
  231. }
  232. @RequestMapping(value = "/exportTqdflzhy", method = RequestMethod.GET)
  233. public void exportTqdflzhy(HttpServletResponse response, int partyLifeMeetingType, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String title, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date startDate, @RequestParam(required = false) @DateTimeFormat(pattern = dateTimeFormat) Date endDate) throws Exception {
  234. /**查询数据**/
  235. List<PartyLifeMeetingVo> dataList = meetingService.getList(1, 10000, partyLifeMeetingType, null, dzzdm, title, startDate,endDate).getList();
  236. List<CfDictionary> typeList = dictionaryService.getDictionaryListByDicTypeKey("PartyLifeMeetingType");
  237. ExcelHelper excelHelper = new ExcelHelper();
  238. ExcelHelper.ExcelData data = excelHelper.new ExcelData();
  239. String excelTitle = typeList.stream().filter(it->it.getDickey().equals(partyLifeMeetingType)).findFirst().get().getDicvalue();
  240. //列名
  241. data.setName(excelTitle);
  242. List<String> titles = new ArrayList();
  243. titles.add("序号");
  244. titles.add("所属党组织");
  245. titles.add("类别");
  246. titles.add("会议名称");
  247. titles.add("时间");
  248. titles.add("地点");
  249. titles.add("主持人");
  250. titles.add("出席人员数量");
  251. titles.add("缺勤人员数量");
  252. titles.add("创建人");
  253. titles.add("创建时间");
  254. data.setTitles(titles);
  255. //数据
  256. List<List<Object>> rows = new ArrayList();
  257. int i = 0;
  258. for (PartyLifeMeetingVo item : dataList) {
  259. List<Object> row = new ArrayList();
  260. row.add(++i);
  261. row.add(item.getPartyname());
  262. row.add(item.getMeetingtypename());
  263. row.add(item.getTitle());
  264. row.add(dateUtils.dateToStrFormat(item.getMeetingdate(), "yyyy-MM-dd"));
  265. row.add(item.getAddress());
  266. row.add(item.getCompere());
  267. row.add(item.getAttendance());
  268. row.add(item.getAbsentcount());
  269. row.add(item.getCreateusername());
  270. row.add(dateUtils.dateToStrFormat(item.getCreatetime(), "yyyy-MM-dd HH:mm:ss"));
  271. rows.add(row);
  272. }
  273. data.setRows(rows);
  274. excelHelper.exportExcel(response, excelTitle + "导出.xlsx", data);
  275. }
  276. }