package com.ghsc.partybuild.controller.app; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.ghsc.partybuild.filter.exception.RespGenerstor; import com.ghsc.partybuild.vo.shyk.*; import com.github.pagehelper.PageInfo; import com.ghsc.partybuild.controller.jsonmodel.RequsetData; import com.ghsc.partybuild.model.*; import com.ghsc.partybuild.service.DictionaryService; import com.ghsc.partybuild.service.SHYKService; import com.ghsc.partybuild.util.DateUtils; import com.ghsc.partybuild.util.JsonMapper; import com.ghsc.partybuild.util.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; import java.util.stream.Collectors; @RestController @RequestMapping(value = "/appApi/shyk") public class AppShykController { @Autowired private SHYKService shykService; @Autowired private StringUtils stringUtils; @Autowired private DictionaryService dictionaryService; @Autowired private DateUtils dateUtils; @ResponseBody @GetMapping("/getMeetingList") public RequsetData>> GetMeetingList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String userId, @RequestParam(required = false) List shykType, @RequestParam(required = false) String title, @RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate) { startDate = dateUtils.strFormat_short(startDate); endDate = dateUtils.strFormat_short(endDate); RequsetData>> result = new RequsetData<>(); result.setItem(shykService.getMeetingListByApp(pageIndex, pageSize, dzzdm, userId, null, shykType, title, startDate, endDate)); HashMap extData = new HashMap(); result.setExtdata(extData); return result; } @ResponseBody @RequestMapping("/getMeetingById") public RequsetData GetMeetingById(@RequestParam("id") String id, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String dzzmc, @RequestParam(required = false) Integer shyktype , @RequestParam(required = false) String userId, @RequestParam(required = false) String userName) throws Exception { //返回信息 RequsetData res = new RequsetData<>(); HashMap extData = new HashMap();//扩展信息 //定义变量 ShykMeetingVo model = shykService.getMeetingById(id);//会议信息 ShykMeetinguser user = new ShykMeetinguser();//参会人信息 long difftime = 0;//会议开始时间与当前时间相差分钟数 String shykTypeName = "";//会议类型 List> meetingImgList = new ArrayList<>();//会议图片 List dic_shykType = dictionaryService.getDictionaryListByDicTypeKey("shykType"); //获取数据 if (model == null || (model != null && stringUtils.IsNullOrEmpty(model.getMeetingid()))) { UUID uuid = UUID.randomUUID(); model = new ShykMeetingVo(); model.setMeetingid(uuid.toString()); model.setShyktype(shyktype); model.setIstemp(0); model.setCreateuserid(userId); model.setCreateusername(userName); model.setChairuser(userName); model.setPartycode(dzzdm); model.setPartyname(dzzmc); if (model.getShyktype() != null) { shykTypeName = dictionaryService.getDicByKey(model.getShyktype(), dic_shykType).getDicvalue(); } model.setMeetingname("【" + shykTypeName + "】" + model.getPartyname() + "[" + dateUtils.dateToStrFormat(new Date(), "yyyyMM") + "]"); } //计算会议时间与当前时间差 /*if (model.getBegintime() != null) { difftime = dateUtils.getMinuteDiff(dateUtils.StrToDate(dateUtils.dateToStrFormat(new Date(), "yyyy-MM-dd HH:mm:00")), model.getBegintime());//会议相差的分钟数 }*/ //当前用户参加会议信息 if (!stringUtils.IsNullOrEmpty(userId)) user = shykService.getMeetinguserByUserCode(model.getMeetingid(), userId); //会议类型 if (model.getShyktype() != null) { shykTypeName = dictionaryService.getDicByKey(model.getShyktype(), dic_shykType).getDicvalue(); } //会议开始前参会成员查看会议信息默认参加会议 /*if (difftime > 0 && model.getShykstatus() != null && model.getShykstatus() != 0 && model.getShykstatus() != 2) { if (user != null && !stringUtils.IsNullOrEmpty(user.getMeetinguserid()) && user.getSigninstatus() == 1) { shykService.signinMeeting(model.getMeetingid(), userId, true, "", userId, userName); } }*/ extData.put("difftime", difftime); extData.put("meetingUser", user); extData.put("shykTypeName", shykTypeName); extData.put("meetingImgList", meetingImgList); res.setExtdata(extData); res.setItem(model); return res; } @ResponseBody @GetMapping("/getMeetingUserList") public RequsetData>> GetMeetingUserList(@RequestParam("pageindex") int pageIndex, @RequestParam("pagesize") int pageSize, @RequestParam(required = false) String meetingId) { RequsetData>> result = new RequsetData<>(); result.setItem(shykService.getMeetingUserList(pageIndex, pageSize, meetingId)); return result; } @GetMapping("/getMeetingDemocracyReviewList") public RequsetData> getMeetingDemocracyReviewList(@RequestParam(required = false) String meetingId) { RequsetData> result = new RequsetData<>(); result.setItem(shykService.getMeetingDemocracyReviewList(meetingId)); return result; } @GetMapping("/getMeetingTypeList") public RequsetData> getMeetingTypeList(@RequestParam(required = false) String meetingId) { RequsetData> result = new RequsetData<>(); result.setItem(shykService.getMeetingTypeList(meetingId)); return result; } @ResponseBody @GetMapping("/getMeetingTopicList") public RequsetData>> GetMeetingTopicList(@RequestParam(required = true) String meetingId) { RequsetData>> result = new RequsetData<>(); result.setItem(shykService.getMeetingTopicList(meetingId)); return result; } @ResponseBody @GetMapping("/getTopicModelListOfChoose") public RequsetData>> GetTopicModelListOfChoose(@RequestParam(required = true) String meetingId, @RequestParam(required = false) Integer shykType) { RequsetData>> result = new RequsetData<>(); result.setItem(shykService.getTopicModelListOfChoose(meetingId, shykType)); return result; } @ResponseBody @RequestMapping("/saveMeeting") public RequsetData SaveMeeting(@RequestBody Map reqMap) throws Exception { int count = 0; ObjectMapper mapper = new ObjectMapper(); ShykMeetingVo dataModel = mapper.readValue(mapper.writeValueAsString(reqMap.get("dataModel")), ShykMeetingVo.class); String userId = reqMap.get("userId").toString(); String userName = reqMap.get("userName").toString(); List userJsonList = JsonMapper.jsonToObject(reqMap.get("userList").toString(), new TypeReference>() { }); List democracyReviewList = JsonMapper.jsonToObject(reqMap.get("democracyReviewList").toString(), new TypeReference>() { }); List typeList = JsonMapper.jsonToObject(reqMap.get("typeList").toString(), new TypeReference>() { }); List userList = new ArrayList<>(); if (userJsonList.size() > 0) { for (MeetingUserJsonData user : userJsonList) { ShykMeetinguser umodel = new ShykMeetinguser(); umodel.setMeetinguserid(UUID.randomUUID().toString()); umodel.setMeetingid(dataModel.getMeetingid()); umodel.setUsercode(user.getRybm()); umodel.setUsername(user.getXm()); umodel.setPartycode(user.getSzdzbdm()); umodel.setPartyname(user.getDzzmc()); umodel.setCheckinstatus(1); umodel.setUserremark(user.getUserremark()); umodel.setSigninstatus(user.getSigninstatus()); userList.add(umodel); } } count = shykService.saveMeeting(dataModel, null, userList.stream().distinct().collect(Collectors.toList()), democracyReviewList, typeList, userId, userName); return RespGenerstor.success(count); } /** * @Description //TODO 会议签收 * @Date 13:55 2019/7/29 * @Param [reqMap] **/ @ResponseBody @RequestMapping("/signinMeeting") public RequsetData SigninMeeting(@RequestBody Map reqMap) { RequsetData res = new RequsetData(); int count = 0; String message = ""; ObjectMapper mapper = new ObjectMapper(); try { String meetingId = reqMap.get("meetingId").toString();//会议id String userCode = reqMap.get("userCode").toString();//签收用户id Boolean isSignin = Boolean.parseBoolean(reqMap.get("isSignin").toString());//是否参加,true参加,false未参加 String userRemark = reqMap.get("userRemark") != null ? reqMap.get("userRemark").toString() : "";//未参加原因 String userId = reqMap.get("userId").toString();//操作人id String userName = reqMap.get("userName").toString();//操作人姓名 count = shykService.signinMeeting(meetingId, userCode, isSignin, userRemark, userId, userName); if (count > 0) {//签收完成,删除通知 } } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); } if (count > 0) { res.setSuccess(true); res.setMsg("操作成功!"); } else { res.setSuccess(false); res.setMsg("操作失败!" + message); } return res; } /** * @Description //TODO 签到 * @Date 13:56 2019/7/29 * @Param [reqMap] **/ @ResponseBody @RequestMapping("/checkinMeeting") public RequsetData CheckinMeeting(@RequestBody Map reqMap) { RequsetData res = new RequsetData(); int count = 0; String message = ""; ObjectMapper mapper = new ObjectMapper(); try { String meetingId = reqMap.get("meetingId").toString();//会议id String userCode = reqMap.get("userCode").toString();//签到用户id String userId = reqMap.get("userId").toString();//操作人id String userName = reqMap.get("userName").toString();//操作人姓名 count = shykService.checkinMeeting(meetingId, userCode, userId, userName); } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); } if (count > 0) { res.setSuccess(true); res.setMsg("操作成功!"); } else { res.setSuccess(false); res.setMsg("操作失败!" + message); } return res; } /** * @Description //TODO 录入补学补课 * @Date 9:38 2019/8/13 * @Param [reqMap] **/ @ResponseBody @RequestMapping("/saveUserStudy") public RequsetData SaveUserStudy(@RequestBody Map reqMap) { RequsetData res = new RequsetData(); int count = 0; String message = ""; ObjectMapper mapper = new ObjectMapper(); try { String meetingId = reqMap.get("meetingId").toString();//会议id String userCode = reqMap.get("userCode").toString();//成员id String makeuupstudy = reqMap.get("makeuupstudy") != null ? reqMap.get("makeuupstudy").toString() : "";//补学补课情况 String userId = reqMap.get("userId").toString();//操作人id String userName = reqMap.get("userName").toString();//操作人姓名 count = shykService.saveUserStudy(meetingId, userCode, makeuupstudy, userId, userName); } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); } if (count > 0) { res.setSuccess(true); res.setMsg("操作成功!"); } else { res.setSuccess(false); res.setMsg("操作失败!" + message); } return res; } /** * @Description //TODO 取消会议 * @Date 13:57 2019/7/29 * @Param [reqMap] **/ @ResponseBody @RequestMapping("/cancelMeeting") public RequsetData CancelMeeting(@RequestBody Map reqMap) { RequsetData res = new RequsetData(); int count = 0; String message = ""; ObjectMapper mapper = new ObjectMapper(); try { String meetingId = reqMap.get("meetingId").toString(); String userId = reqMap.get("userId").toString();//操作人id String userName = reqMap.get("userName").toString();//操作人姓名 count = shykService.cancelMeeting(meetingId, userId, userName); } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); } if (count > 0) { res.setSuccess(true); res.setMsg("操作成功!"); } else { res.setSuccess(false); res.setMsg("操作失败!" + message); } return res; } /** * @Description //TODO 保存会议记录 * @Date 13:57 2019/7/29 * @Param [reqMap] **/ @ResponseBody @RequestMapping("/saveMeetingImg") public RequsetData SaveMeetingImg(@RequestBody Map reqMap) { RequsetData res = new RequsetData(); int count = 0; String message = ""; ObjectMapper mapper = new ObjectMapper(); try { String meetingId = reqMap.get("meetingId").toString(); String userId = reqMap.get("userId").toString();//操作人id String userName = reqMap.get("userName").toString();//操作人姓名 int state = Integer.parseInt(reqMap.get("state").toString());//会议记录填写状态 0保存中,1已提交 ShykMeetingVo model = shykService.getMeetingById(meetingId); model.setIsuploadimg(1);//已上传图片 model.setMeetingrecordstate(state); if (state == 1) { model.setShykstatus(4);//已录入会议记录 } count = shykService.updateMeeting(model); if (count > 0 && state == 1) { //推送补学补课通知 shykService.sendMeetingStudyNotify(meetingId, userId, userName); } } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); } if (count > 0) { res.setSuccess(true); res.setMsg("操作成功!"); } else { res.setSuccess(false); res.setMsg("操作失败!" + message); } return res; } @ResponseBody @GetMapping("/getTopicModelById") public RequsetData GetTopicModelById(@RequestParam("id") String id) { //返回信息 RequsetData res = new RequsetData<>(); ShykMbYtmb model = shykService.getTopicModelById(id); res.setItem(model); return res; } /** * @Description //TODO 取消会议签收 * @Date 10:30 2019/9/5 * @Param [reqMap] **/ @ResponseBody @RequestMapping("/cancelUserSignin") public RequsetData cancelUserSignin(@RequestBody Map reqMap) { RequsetData res = new RequsetData(); int count = 0; String message = ""; ObjectMapper mapper = new ObjectMapper(); try { String meetingId = reqMap.get("meetingId").toString();//会议id String userCode = reqMap.get("userCode").toString();//签收用户id String userId = reqMap.get("userId").toString();//操作人id String userName = reqMap.get("userName").toString();//操作人姓名 count = shykService.cancelUserSignin(meetingId, userCode, userId, userName); } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); } if (count > 0) { res.setSuccess(true); res.setMsg("操作成功!"); } else { res.setSuccess(false); res.setMsg("操作失败!" + message); } return res; } /** * @Description //TODO 取消会议签到 * @Date 10:30 2019/9/5 * @Param [reqMap] **/ @ResponseBody @RequestMapping("/cancelUserCheckin") public RequsetData cancelUserCheckin(@RequestBody Map reqMap) { RequsetData res = new RequsetData(); int count = 0; String message = ""; ObjectMapper mapper = new ObjectMapper(); try { String meetingId = reqMap.get("meetingId").toString();//会议id String userCode = reqMap.get("userCode").toString();//签收用户id String userId = reqMap.get("userId").toString();//操作人id String userName = reqMap.get("userName").toString();//操作人姓名 count = shykService.cancelUserCheckin(meetingId, userCode, userId, userName); } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); } if (count > 0) { res.setSuccess(true); res.setMsg("操作成功!"); } else { res.setSuccess(false); res.setMsg("操作失败!" + message); } return res; } /** * @Description //TODO 历史地址 * @Date 14:37 2019/9/12 * @Param [userId] **/ @ResponseBody @GetMapping("/getHistoryAddressList") public RequsetData>> getHistoryAddressList(@RequestParam(required = false) String userId) { RequsetData>> result = new RequsetData<>(); result.setItem(shykService.getHistoryAddressList(userId)); return result; } @ResponseBody @GetMapping("/getTempUsers") public RequsetData>> getTempUsers(@RequestParam("partycode") String partyCode) { RequsetData>> res = new RequsetData<>(); res.setItem(shykService.getTempUserByPartyCode(partyCode)); return res; } @ResponseBody @PostMapping("/sendTempUserMsg") public RequsetData sendTempUserMsg(@RequestBody Map model) { RequsetData res = new RequsetData<>(); try { Integer result = shykService.sendTempUserMsg(model); res.setItem(result); res.setMsg("邀请成功!"); } catch (Exception ex) { res.setMsg(ex.getMessage()); res.setSuccess(false); } return res; } @ResponseBody @GetMapping("/delTempUser") public RequsetData delTempUser(@RequestParam("id") String id) { RequsetData res = new RequsetData<>(); try { Integer result = shykService.delTempUser(id); res.setItem(result); } catch (Exception ex) { res.setSuccess(false); res.setMsg(ex.getMessage()); } return res; } @ResponseBody @GetMapping("/confirmTempUser") public RequsetData confirmTempUser(@RequestParam("id") String id, @RequestParam("etype") Integer etype) { RequsetData res = new RequsetData<>(); try { Integer result = shykService.confirmTempUser(id, etype); res.setItem(result); } catch (Exception ex) { res.setSuccess(false); res.setMsg(ex.getMessage()); } return res; } @ResponseBody @GetMapping("/getMeetingTotalList") public RequsetData>> getMeetingTotalList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam("year") int year, @RequestParam("quarter") int quarter, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String ssdzzdm) { RequsetData>> result = new RequsetData<>(); result.setItem(shykService.getMeetingTotalListNew(pageIndex, pageSize, year, quarter, dzzdm, ssdzzdm)); return result; } @ResponseBody @GetMapping("/getMeetingPlanTotalList") public RequsetData>> getMeetingPlanTotalList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam("year") int year, @RequestParam("quarter") int quarter, @RequestParam("month") int month, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String dzzdmSearch) { RequsetData>> result = new RequsetData<>(); result.setItem(shykService.getMeetingPlanTotalList(pageIndex, pageSize, dzzdm, dzzdmSearch, year, quarter, month)); return result; } @ResponseBody @RequestMapping("/deleteMeetingById") public RequsetData deleteMeetingById(@RequestParam("id") String id) { RequsetData res = new RequsetData<>(); int count = shykService.deleteMeetingById(id); if (count > 0) { res.setSuccess(true); res.setMsg("删除成功!"); } else { res.setSuccess(false); res.setMsg("删除失败!"); } return res; } @ResponseBody @GetMapping("/getMyMeetingList") public RequsetData>> getMyMeetingList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam("userId") String userId) { RequsetData>> result = new RequsetData<>(); result.setItem(shykService.getMyMeetingListForApp(pageIndex, pageSize, userId)); HashMap extData = new HashMap(); result.setExtdata(extData); return result; } }