package com.ghsc.partybuild.controller.partyLife; import com.fasterxml.jackson.core.type.TypeReference; import com.github.pagehelper.PageInfo; import com.ghsc.partybuild.controller.jsonmodel.RequsetData; import com.ghsc.partybuild.model.CfDictionary; import com.ghsc.partybuild.service.DictionaryService; import com.ghsc.partybuild.service.UserService; import com.ghsc.partybuild.service.partyLife.MeetingService; import com.ghsc.partybuild.util.DateUtils; import com.ghsc.partybuild.util.ExcelHelper; import com.ghsc.partybuild.util.JsonMapper; import com.ghsc.partybuild.util.StringUtils; import com.ghsc.partybuild.vo.partyLife.PartyLifeMeetingVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.*; @Slf4j @RestController @RequestMapping(value = "/api/partylife/meeting") public class MeetingController { @Autowired private MeetingService meetingService; @Autowired private UserService userService; @Autowired private DictionaryService dictionaryService; @Autowired private StringUtils stringUtils; @Autowired private DateUtils dateUtils; private static final String dateTimeFormat = "yyyy-MM-dd"; @ResponseBody @GetMapping("/getList") public RequsetData> 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) { RequsetData> result = new RequsetData<>(); result.setItem(meetingService.getList(pageindex, pagesize, partyLifeMeetingType, null, dzzdm, title, startDate,endDate)); return result; } @ResponseBody @GetMapping("/getUserAddressList") public RequsetData> getUserAddressList(@RequestParam(required = false) Integer partyLifeMeetingType) { RequsetData> res = new RequsetData<>(); res.setItem(meetingService.getUserAddressList(partyLifeMeetingType, userService.getLoginUser().getUserid())); return res; } @ResponseBody @GetMapping("/get") public RequsetData get(@RequestParam(required = false) String id) { RequsetData res = new RequsetData<>(); PartyLifeMeetingVo model = meetingService.getMeetingById(id); if (model == null) { UUID uuid = UUID.randomUUID(); model = new PartyLifeMeetingVo(); model.setPartylifemeetingid(uuid.toString()); model.setPersonnellist(new ArrayList<>()); } res.setItem(model); return res; } @ResponseBody @PostMapping("/save") public RequsetData save(@RequestBody PartyLifeMeetingVo data) { RequsetData result = new RequsetData(); int count = 0; String message = ""; try { count = meetingService.save(data, userService.getLoginUser().getUserid()); } catch (Exception e) { e.printStackTrace(); message = e.toString(); } if (count > 0) { result.setSuccess(true); result.setMsg("保存成功!"); } else { result.setSuccess(false); result.setMsg("保存失败!" + message); } return result; } @ResponseBody @PostMapping("/delete") public RequsetData delete(@RequestBody Map reqMap) { RequsetData result = new RequsetData<>(); int count = 0; String message = ""; try { List idList = JsonMapper.jsonToObject(reqMap.get("ids").toString(), new TypeReference>() { }); count = meetingService.delete(idList); } catch (Exception e) { e.printStackTrace(); message = e.toString(); } if (count > 0) { result.setItem(count); result.setSuccess(true); result.setMsg("删除成功!"); } else { result.setSuccess(false); result.setMsg("删除失败!" + message); } return result; } @RequestMapping(value = "/export", method = RequestMethod.GET) 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 { /**查询数据**/ List dataList = meetingService.getList(1, 10000, partyLifeMeetingType, null, dzzdm, title, startDate,endDate).getList(); List typeList = dictionaryService.getDictionaryListByDicTypeKey("PartyLifeMeetingType"); ExcelHelper excelHelper = new ExcelHelper(); ExcelHelper.ExcelData data = excelHelper.new ExcelData(); String excelTitle = typeList.stream().filter(it->it.getDickey().equals(partyLifeMeetingType)).findFirst().get().getDicvalue(); //列名 data.setName(excelTitle); List titles = new ArrayList(); titles.add("序号"); titles.add("所属党组织"); titles.add("会议名称"); titles.add("会议时间"); titles.add("会议地点"); titles.add("主持人"); titles.add("出席人员数量"); titles.add("缺勤人员数量"); titles.add("创建人"); titles.add("创建时间"); data.setTitles(titles); //数据 List> rows = new ArrayList(); int i = 0; for (PartyLifeMeetingVo item : dataList) { List row = new ArrayList(); row.add(++i); row.add(item.getPartyname()); row.add(item.getTitle()); row.add(dateUtils.dateToStrFormat(item.getMeetingdate(), "yyyy-MM-dd")); row.add(item.getAddress()); row.add(item.getCompere()); row.add(item.getAttendance()); row.add(item.getAbsentcount()); row.add(item.getCreateusername()); row.add(dateUtils.dateToStrFormat(item.getCreatetime(), "yyyy-MM-dd HH:mm:ss")); rows.add(row); } data.setRows(rows); excelHelper.exportExcel(response, excelTitle + "导出.xlsx", data); } @RequestMapping(value = "/exportScyd", method = RequestMethod.GET) 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 { /**查询数据**/ List dataList = meetingService.getList(1, 10000, partyLifeMeetingType, null, dzzdm, title, startDate,endDate).getList(); List typeList = dictionaryService.getDictionaryListByDicTypeKey("PartyLifeMeetingType"); ExcelHelper excelHelper = new ExcelHelper(); ExcelHelper.ExcelData data = excelHelper.new ExcelData(); String excelTitle = typeList.stream().filter(it->it.getDickey().equals(partyLifeMeetingType)).findFirst().get().getDicvalue(); //列名 data.setName(excelTitle); List titles = new ArrayList(); titles.add("序号"); titles.add("所属党组织"); titles.add("“三重一大”类别"); titles.add("会议名称"); titles.add("会议时间"); titles.add("会议地点"); titles.add("主持人"); titles.add("出席人员数量"); titles.add("缺勤人员数量"); titles.add("创建人"); titles.add("创建时间"); data.setTitles(titles); //数据 List> rows = new ArrayList(); int i = 0; for (PartyLifeMeetingVo item : dataList) { List row = new ArrayList(); row.add(++i); row.add(item.getPartyname()); row.add(item.getScydtypenames().replace("
", "")); row.add(item.getTitle()); row.add(dateUtils.dateToStrFormat(item.getMeetingdate(), "yyyy-MM-dd")); row.add(item.getAddress()); row.add(item.getCompere()); row.add(item.getAttendance()); row.add(item.getAbsentcount()); row.add(item.getCreateusername()); row.add(dateUtils.dateToStrFormat(item.getCreatetime(), "yyyy-MM-dd HH:mm:ss")); rows.add(row); } data.setRows(rows); excelHelper.exportExcel(response, excelTitle + "导出.xlsx", data); } @RequestMapping(value = "/exportTxth", method = RequestMethod.GET) 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 { /**查询数据**/ List dataList = meetingService.getList(1, 10000, partyLifeMeetingType, null, dzzdm, title, startDate,endDate).getList(); List typeList = dictionaryService.getDictionaryListByDicTypeKey("PartyLifeMeetingType"); ExcelHelper excelHelper = new ExcelHelper(); ExcelHelper.ExcelData data = excelHelper.new ExcelData(); String excelTitle = typeList.stream().filter(it->it.getDickey().equals(partyLifeMeetingType)).findFirst().get().getDicvalue(); //列名 data.setName(excelTitle); List titles = new ArrayList(); titles.add("序号"); titles.add("所属党组织"); titles.add("会议主题"); titles.add("会议时间"); titles.add("会议参加人数"); titles.add("会议地点"); titles.add("创建人"); titles.add("创建时间"); data.setTitles(titles); //数据 List> rows = new ArrayList(); int i = 0; for (PartyLifeMeetingVo item : dataList) { List row = new ArrayList(); row.add(++i); row.add(item.getPartyname()); row.add(item.getTitle()); row.add(dateUtils.dateToStrFormat(item.getMeetingdate(), "yyyy-MM-dd")); row.add(item.getUsercount()); row.add(item.getAddress()); row.add(item.getCreateusername()); row.add(dateUtils.dateToStrFormat(item.getCreatetime(), "yyyy-MM-dd HH:mm:ss")); rows.add(row); } data.setRows(rows); excelHelper.exportExcel(response, excelTitle + "导出.xlsx", data); } @RequestMapping(value = "/exportTqdflzhy", method = RequestMethod.GET) 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 { /**查询数据**/ List dataList = meetingService.getList(1, 10000, partyLifeMeetingType, null, dzzdm, title, startDate,endDate).getList(); List typeList = dictionaryService.getDictionaryListByDicTypeKey("PartyLifeMeetingType"); ExcelHelper excelHelper = new ExcelHelper(); ExcelHelper.ExcelData data = excelHelper.new ExcelData(); String excelTitle = typeList.stream().filter(it->it.getDickey().equals(partyLifeMeetingType)).findFirst().get().getDicvalue(); //列名 data.setName(excelTitle); List titles = new ArrayList(); titles.add("序号"); titles.add("所属党组织"); titles.add("类别"); titles.add("会议名称"); titles.add("时间"); titles.add("地点"); titles.add("主持人"); titles.add("出席人员数量"); titles.add("缺勤人员数量"); titles.add("创建人"); titles.add("创建时间"); data.setTitles(titles); //数据 List> rows = new ArrayList(); int i = 0; for (PartyLifeMeetingVo item : dataList) { List row = new ArrayList(); row.add(++i); row.add(item.getPartyname()); row.add(item.getMeetingtypename()); row.add(item.getTitle()); row.add(dateUtils.dateToStrFormat(item.getMeetingdate(), "yyyy-MM-dd")); row.add(item.getAddress()); row.add(item.getCompere()); row.add(item.getAttendance()); row.add(item.getAbsentcount()); row.add(item.getCreateusername()); row.add(dateUtils.dateToStrFormat(item.getCreatetime(), "yyyy-MM-dd HH:mm:ss")); rows.add(row); } data.setRows(rows); excelHelper.exportExcel(response, excelTitle + "导出.xlsx", data); } }