| | |
| | | import com.ruoyi.system.query.KnowledgeListQuery; |
| | | import com.ruoyi.system.query.TaskListQuery; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.utils.TemplateMessageSendUtil; |
| | | import com.ruoyi.system.utils.wx.body.resp.Code2SessionRespBody; |
| | | import com.ruoyi.system.utils.wx.body.resq.Code2SessionResqBody; |
| | | import com.ruoyi.system.utils.wx.model.WeixinProperties; |
| | |
| | | import com.ruoyi.system.utils.wx.tools.WxAppletTools; |
| | | import com.ruoyi.system.utils.wx.tools.WxUtils; |
| | | import com.ruoyi.system.vo.system.*; |
| | | import com.ruoyi.web.controller.tool.EmailUtils; |
| | | import com.ruoyi.web.controller.tool.MsgUtils; |
| | | import com.sun.jna.platform.win32.LMAccess; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | @Resource |
| | | private TDictDataService dictDataService; |
| | | @Resource |
| | | private TNoticeSetService noticeSetService; |
| | | @Resource |
| | | private TLeaveService leaveService; |
| | | @Resource |
| | | private TLeaveAuditService leaveAuditService; |
| | |
| | | private WeixinProperties weixinProperties; |
| | | @Resource |
| | | private RedisService redisService; |
| | | @Resource |
| | | private MsgUtils msgUtils; |
| | | @Resource |
| | | private TemplateMessageSendUtil templateMessageSendUtil; |
| | | @ApiOperation(value = "通过code获得openid,获取用户信息",tags = {"微信小程序登录"}) |
| | | @GetMapping("/openIdByJsCode") |
| | | public R<String> openIdByJsCode(@RequestParam String code) { |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | Long userId = tokenService.getLoginUserApplet().getUserId(); |
| | | SysUser sysUser = sysUserService.selectUserById(userId); |
| | | if(Objects.isNull(sysUser)){ |
| | | return R.fail("未查询到当前登录用户信息"); |
| | |
| | | } |
| | | return R.ok(taskDetailVO); |
| | | } |
| | | @ApiOperation(value = "督察任务-详情任务") |
| | | @GetMapping(value = "/detaiInspectorl") |
| | | public R<InspectorDetailVO> detaiInspectorl(@RequestParam String id) { |
| | | InspectorDetailVO taskDetailVO = new InspectorDetailVO(); |
| | | TInspector inspector = inspectorService.getById(id); |
| | | TLocation location = locationService.getById(inspector.getLocationId()); |
| | | TLocationType locationType = locationTypeService.getById(location.getLocationType()); |
| | | taskDetailVO.setLocationAddress(location.getLocationAddress()); |
| | | taskDetailVO.setLocationAddressEnd(location.getLocationAddressEnd()); |
| | | taskDetailVO.setLocationIcon(locationType.getLocationIcon()); |
| | | taskDetailVO.setLocationName(locationType.getLocationName()); |
| | | taskDetailVO.setLocationTypeName(locationType.getLocationName()); |
| | | taskDetailVO.setLocationLonEnd(location.getLocationLonEnd()); |
| | | taskDetailVO.setLocationLatEnd(location.getLocationLatEnd()); |
| | | taskDetailVO.setLocationLon(location.getLocationLon()); |
| | | taskDetailVO.setLocationLat(location.getLocationLat()); |
| | | taskDetailVO.setLocationName(location.getLocationName()); |
| | | taskDetailVO.setId(inspector.getId()); |
| | | taskDetailVO.setClearStatus(inspector.getClearStatus()); |
| | | taskDetailVO.setUnqualified(inspector.getUnqualified()); |
| | | taskDetailVO.setRemark(inspector.getAuditRemark()); |
| | | taskDetailVO.setPicture(inspector.getPicture()); |
| | | taskDetailVO.setAudioUrl(inspector.getAudioUrl()); |
| | | taskDetailVO.setStatus(inspector.getStatus()); |
| | | taskDetailVO.setAuditPerson(inspector.getAuditPerson()); |
| | | taskDetailVO.setAuditTime(inspector.getAuditTime()); |
| | | taskDetailVO.setAuditStatus(inspector.getAuditStatus()); |
| | | taskDetailVO.setAuditRemark(inspector.getAuditRemark()); |
| | | return R.ok(taskDetailVO); |
| | | } |
| | | |
| | | @ApiOperation(value = "详情任务-操作记录-详情") |
| | | @GetMapping(value = "/detailRecord") |
| | |
| | | public R<List<TaskListAllVO>> listAllTask(@RequestBody AppealListDTO appealListDTO) { |
| | | appealListDTO.setUserId(tokenService.getLoginUserApplet().getUserId() + ""); |
| | | SysUser sysUser = sysUserService.selectUserById(tokenService.getLoginUserApplet().getUserId()); |
| | | if (sysUser.getDeptType()==2){ |
| | | // 公司部门查询所有任务 |
| | | appealListDTO.setUserId(null); |
| | | } |
| | | // if (sysUser.getDeptType()==2){ |
| | | // // 公司部门查询所有任务 |
| | | // appealListDTO.setUserId(null); |
| | | // } |
| | | List<TaskListAllVO> res = appealService.listAllTask(appealListDTO); |
| | | return R.ok(res); |
| | | } |
| | |
| | | ); |
| | | return R.ok(list); |
| | | } |
| | | @ApiOperation(value = "点位列表") |
| | | @PostMapping(value = "/locationList") |
| | | public R<List<TLocation>> locationList() { |
| | | List<TLocation> locations = locationService.list(); |
| | | return R.ok(locations); |
| | | } |
| | | |
| | | @ApiOperation(value = "上传督察任务") |
| | | @PostMapping(value = "/addInspector") |
| | | public R<Boolean> addInspector(@RequestBody InspectorAddDTO dto) { |
| | | public R<Boolean> addInspector(@RequestBody InspectorAddDTO dto) throws Exception { |
| | | TTask task = taskCleanerService.getById(dto.getTaskId()); |
| | | TLocation location = locationService.getById(task.getLocationId()); |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(task.getPatrolInspector())); |
| | | dto.setCommitPerson(tokenService.getLoginUserApplet().getUserId() + ""); |
| | | |
| | | if (dto.getClearStatus() == 1) { |
| | | dto.setStatus(4); |
| | | } else { |
| | | dto.setStatus(1); |
| | | TNotice tNotice = new TNotice(); |
| | | tNotice.setUserId(sysUser.getUserId()+""); |
| | | tNotice.setNoticeContent("【"+location.getLocationName()+"】任务督察不合格,请及时整改!"); |
| | | tNotice.setStatus(1); |
| | | tNotice.setDataId(dto.getTaskId()); |
| | | tNotice.setNoticeType(8); |
| | | noticeService.save(tNotice); |
| | | |
| | | } |
| | | inspectorService.save(dto); |
| | | return R.ok(); |
| | | |
| | | // TLocation location = locationService.getById(dto.getLocationId()); |
| | | // SysUser sysUser = sysUserService.selectUserById(Long.valueOf(location.getLocationLeader())); |
| | | // dto.setCommitPerson(tokenService.getLoginUserApplet().getUserId() + ""); |
| | | // |
| | | // if (dto.getClearStatus() == 1) { |
| | | // dto.setStatus(4); |
| | | // } else { |
| | | // dto.setStatus(1); |
| | | // |
| | | // } |
| | | // inspectorService.save(dto); |
| | | // return R.ok(); |
| | | } |
| | | |
| | | @ApiOperation(value = "上传意见反馈") |
| | |
| | | |
| | | @ApiOperation(value = "发起请假") |
| | | @PostMapping(value = "/addLeave") |
| | | public R addLeave(@RequestBody LeaveDTO leaveDTO) { |
| | | public R addLeave(@RequestBody LeaveDTO leaveDTO) throws Exception { |
| | | // String startTime1 = leaveDTO.getStartTime1(); |
| | | // // 轉化爲LocalDateTime類型 |
| | | // leaveDTO.setStartTime(LocalDateTime.parse(startTime1, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | |
| | | leaveDTO.setTemplateId(user.getTemplateId()); |
| | | leaveDTO.setLeavePerson(userId + ""); |
| | | leaveService.save(leaveDTO); |
| | | TNoticeSet noticeSet = noticeSetService.lambdaQuery().eq(TNoticeSet::getType, 2).last("limit 1") |
| | | .one(); |
| | | // 邮箱 |
| | | TDictData email = dictDataService.lambdaQuery().eq(TDictData::getDataType,4).one(); |
| | | // 授权码 |
| | | TDictData code = dictDataService.lambdaQuery().eq(TDictData::getDataType,5).one(); |
| | | //项目部负责人、部门负责人、公司成员提交由最终审批人审批; |
| | | if (user.getDeptType() == 2 || sysRole.getRoleName().contains("项目部负责人") || sysRole.getRoleName().contains("部门负责人")) { |
| | | TLeaveAudit tLeaveAudit1 = new TLeaveAudit(); |
| | |
| | | tLeaveAudit1.setAuditId(sysUser.getUserId() + ""); |
| | | tLeaveAudit1.setAuditType(1); |
| | | leaveAuditService.save(tLeaveAudit1); |
| | | // 新增消息 |
| | | TNotice tNotice = new TNotice(); |
| | | tNotice.setUserId(sysUser.getUserId()+""); |
| | | tNotice.setNoticeContent(user.getNickName() + "提交了请假申请,请尽快审核"); |
| | | tNotice.setStatus(1); |
| | | tNotice.setDataId(leaveDTO.getId()); |
| | | tNotice.setNoticeType(6); |
| | | |
| | | switch (noticeSet.getNoticeType()) { |
| | | case 1: |
| | | msgUtils.sendMsg4(sysUser.getPhonenumber()); |
| | | break; |
| | | case 2: |
| | | if (StringUtils.hasLength(email.getDataContent()) && StringUtils.hasLength(code.getDataContent())) { |
| | | EmailUtils.sendEmail(sysUser.getEmail(), email.getDataContent(), code.getDataContent(), "你有一条请假申请待处理,请登录沿海市政质管小程序处理。"); |
| | | } |
| | | break; |
| | | case 3: |
| | | if (StringUtils.hasLength(sysUser.getOpenId())){ |
| | | Date date1 = new Date(); |
| | | SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| | | SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String format1 = simpleDateFormat1.format(date1); |
| | | String startTime = simpleDateFormat2.format(leaveDTO.getStartTime()); |
| | | String endTime = simpleDateFormat2.format(leaveDTO.getStartTime()); |
| | | templateMessageSendUtil.wxTemplatePendApprovalRequest(sysUser.getOpenId(), |
| | | user.getNickName(),format1,"员工请假", |
| | | startTime,endTime); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | noticeService.save(tNotice); |
| | | TLeaveAudit tLeaveAudit2 = new TLeaveAudit(); |
| | | tLeaveAudit2.setLeaveId(leaveDTO.getId()); |
| | | tLeaveAudit2.setAuditStatus(2); |
| | |
| | | tLeaveAudit1.setAuditId(sysUser.getUserId() + ""); |
| | | tLeaveAudit1.setAuditType(1); |
| | | leaveAuditService.save(tLeaveAudit1); |
| | | // 新增消息 |
| | | TNotice tNotice = new TNotice(); |
| | | tNotice.setUserId(sysUser.getUserId()+""); |
| | | tNotice.setNoticeContent(user.getNickName() + "提交了请假申请,请尽快审核"); |
| | | tNotice.setStatus(1); |
| | | tNotice.setDataId(leaveDTO.getId()); |
| | | tNotice.setNoticeType(6); |
| | | noticeService.save(tNotice); |
| | | switch (noticeSet.getNoticeType()) { |
| | | case 1: |
| | | msgUtils.sendMsg4(sysUser.getPhonenumber()); |
| | | break; |
| | | case 2: |
| | | if (StringUtils.hasLength(email.getDataContent()) && StringUtils.hasLength(code.getDataContent())) { |
| | | EmailUtils.sendEmail(sysUser.getEmail(), email.getDataContent(), code.getDataContent(), "你有一条请假申请待处理,请登录沿海市政质管小程序处理。"); |
| | | } |
| | | break; |
| | | case 3: |
| | | break; |
| | | } |
| | | TLeaveAudit tLeaveAudit2 = new TLeaveAudit(); |
| | | tLeaveAudit2.setLeaveId(leaveDTO.getId()); |
| | | tLeaveAudit2.setAuditStatus(2); |
| | |
| | | tLeaveAudit1.setAuditId(sysUser.getUserId() + ""); |
| | | tLeaveAudit1.setAuditType(1); |
| | | leaveAuditService.save(tLeaveAudit1); |
| | | // 新增消息 |
| | | TNotice tNotice = new TNotice(); |
| | | tNotice.setUserId(sysUser.getUserId()+""); |
| | | tNotice.setNoticeContent(user.getNickName() + "提交了请假申请,请尽快审核"); |
| | | tNotice.setStatus(1); |
| | | tNotice.setDataId(leaveDTO.getId()); |
| | | tNotice.setNoticeType(6); |
| | | noticeService.save(tNotice); |
| | | switch (noticeSet.getNoticeType()) { |
| | | case 1: |
| | | msgUtils.sendMsg4(sysUser.getPhonenumber()); |
| | | break; |
| | | case 2: |
| | | if (StringUtils.hasLength(email.getDataContent()) && StringUtils.hasLength(code.getDataContent())) { |
| | | EmailUtils.sendEmail(sysUser.getEmail(), email.getDataContent(), code.getDataContent(), "你有一条请假申请待处理,请登录沿海市政质管小程序处理。"); |
| | | } |
| | | break; |
| | | case 3: |
| | | break; |
| | | } |
| | | TLeaveAudit tLeaveAudit2 = new TLeaveAudit(); |
| | | tLeaveAudit2.setLeaveId(leaveDTO.getId()); |
| | | tLeaveAudit2.setAuditStatus(2); |
| | |
| | | } |
| | | } |
| | | |
| | | // 新增消息 |
| | | TNotice tNotice = new TNotice(); |
| | | tNotice.setUserId(leaveDTO.getAuditId()); |
| | | tNotice.setNoticeContent(user.getNickName() + "提交了请假申请,请尽快审核"); |
| | | tNotice.setStatus(1); |
| | | tNotice.setDataId(leaveDTO.getId()); |
| | | tNotice.setNoticeType(6); |
| | | noticeService.save(tNotice); |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | |
| | | @ApiOperation(value = "我的审批-审批") |
| | | @PostMapping(value = "/auditLeave") |
| | | public R<Boolean> auditLeave(@RequestBody LeaveAuditDTO dto) { |
| | | public R<Boolean> auditLeave(@RequestBody LeaveAuditDTO dto) throws Exception { |
| | | |
| | | dto.setAuditId(tokenService.getLoginUserApplet().getUserId() + ""); |
| | | dto.setAuditTime(LocalDateTime.now()); |
| | | leaveService.updateById(dto); |
| | | List<SysUser> sysUsers = sysUserService.selectAllList(); |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(dto.getLeavePerson())); |
| | | TLeaveAudit leaveAudit = leaveAuditService.lambdaQuery().eq(TLeaveAudit::getLeaveId, dto.getId()) |
| | | .eq(TLeaveAudit::getAuditType, 2).one(); |
| | | TNoticeSet noticeSet = noticeSetService.lambdaQuery().eq(TNoticeSet::getType, 2).last("limit 1") |
| | | .one(); |
| | | // 邮箱 |
| | | TDictData email = dictDataService.lambdaQuery().eq(TDictData::getDataType,4).one(); |
| | | // 授权码 |
| | | TDictData code = dictDataService.lambdaQuery().eq(TDictData::getDataType,5).one(); |
| | | TNotice tNotice = new TNotice(); |
| | | tNotice.setUserId(leaveAudit.getAuditId().split(",")[0]); |
| | | tNotice.setNoticeContent(sysUser.getNickName()+"的请假申请已审核,请查收"); |
| | |
| | | tNotice.setDataId(dto.getId()); |
| | | tNotice.setNoticeType(7); |
| | | noticeService.save(tNotice); |
| | | LocalDateTime startTime = dto.getStartTime(); |
| | | LocalDateTime endTime = dto.getEndTime(); |
| | | SysUser sysUser1 = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(leaveAudit.getAuditId().split(",")[0]))) |
| | | .findFirst().orElse(null); |
| | | SysUser sysUser2 = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(leaveAudit.getAuditId().split(",")[1]))) |
| | | .findFirst().orElse(null); |
| | | // 转化为yyyy-MM-dd 格式字符串 |
| | | String leaveTime = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))+"至"+endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); |
| | | if (sysUser1!=null){ |
| | | switch (noticeSet.getNoticeType()) { |
| | | case 1: |
| | | msgUtils.sendMsg5(sysUser1.getPhonenumber(),sysUser1.getNickName(),leaveTime); |
| | | break; |
| | | case 2: |
| | | if (StringUtils.hasLength(email.getDataContent())&&StringUtils.hasLength(code.getDataContent())){ |
| | | EmailUtils.sendEmail(sysUser1.getEmail(),email.getDataContent(),code.getDataContent(),sysUser1.getNickName()+"的请假申请已审核,请查收"); |
| | | } |
| | | break; |
| | | case 3: |
| | | if (StringUtils.hasLength(sysUser.getOpenId())){ |
| | | Date date = new Date(); |
| | | SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String startTime1 = simpleDateFormat2.format(date); |
| | | templateMessageSendUtil.wxTemplateMakeCopyRequest(sysUser1.getOpenId(), |
| | | sysUser1.getNickName(),startTime1,"请假审批"); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | |
| | | TNotice tNotice1 = new TNotice(); |
| | | tNotice1.setUserId(leaveAudit.getAuditId().split(",")[1]); |
| | | tNotice1.setNoticeContent(sysUser.getNickName()+"的请假申请已审核,请查收"); |
| | |
| | | tNotice1.setDataId(dto.getId()); |
| | | tNotice1.setNoticeType(7); |
| | | noticeService.save(tNotice1); |
| | | if (sysUser2!=null) { |
| | | switch (noticeSet.getNoticeType()) { |
| | | case 1: |
| | | msgUtils.sendMsg5(sysUser2.getPhonenumber(), sysUser2.getNickName(), leaveTime); |
| | | break; |
| | | case 2: |
| | | if (StringUtils.hasLength(email.getDataContent()) && StringUtils.hasLength(code.getDataContent())) { |
| | | EmailUtils.sendEmail(sysUser2.getEmail(), email.getDataContent(), code.getDataContent(), sysUser2.getNickName() + "的请假申请已审核,请查收"); |
| | | } |
| | | break; |
| | | case 3: |
| | | break; |
| | | } |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |