From 53d014edd19f57125c355abe71ec5b478500e610 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 05 八月 2025 09:57:40 +0800
Subject: [PATCH] 保洁巡检所有代码

---
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java |  256 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 199 insertions(+), 57 deletions(-)

diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java
index 27c8429..a78e71c 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java
@@ -12,6 +12,7 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.utils.CodeGenerateUtils;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.framework.web.service.TokenService;
@@ -27,6 +28,7 @@
 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;
@@ -121,6 +123,10 @@
     private RedisService redisService;
     @Resource
     private MsgUtils msgUtils;
+    @Resource
+    private TemplateMessageSendUtil templateMessageSendUtil;
+    @Resource
+    private TInspectorDetailService inspectorDetailService;
     @ApiOperation(value = "通过code获得openid,获取用户信息",tags = {"微信小程序登录"})
     @GetMapping("/openIdByJsCode")
     public R<String> openIdByJsCode(@RequestParam String code) {
@@ -374,70 +380,151 @@
     @ApiOperation(value = "详情任务")
     @GetMapping(value = "/detail")
     public R<TaskDetailVO> detail(@RequestParam String id) {
-        List<TTaskDetail> list = taskDetailService.lambdaQuery().eq(TTaskDetail::getTaskId, id)
-                .orderByDesc(BaseModel::getCreateTime).list();
-        TaskDetailVO taskDetailVO = new TaskDetailVO();
         TTask byId = taskCleanerService.getById(id);
-        BeanUtils.copyProperties(byId, taskDetailVO);
-        TLocation byId1 = locationService.getById(byId.getLocationId());
-        TLocationType byId2 = locationTypeService.getById(byId1.getLocationType());
-        taskDetailVO.setLocationName(byId1.getLocationName());
-        taskDetailVO.setLocationAddress(byId1.getLocationAddress());
-        taskDetailVO.setLocationAddressEnd(byId1.getLocationAddressEnd());
-        taskDetailVO.setLocationIcon(byId2.getLocationIcon());
-        taskDetailVO.setLocationTypeName(byId2.getLocationName());
-        taskDetailVO.setLocationLon(byId1.getLocationLon());
-        taskDetailVO.setLocationLat(byId1.getLocationLat());
-        taskDetailVO.setLocationLatEnd(byId1.getLocationLatEnd());
-        taskDetailVO.setLocationLonEnd(byId1.getLocationLonEnd());
-        TTaskDetail tTaskDetail = list.stream().filter(e -> e.getHandleType() == 1).findFirst().orElse(null);
-        if (tTaskDetail != null && tTaskDetail.getUnqualified() != null) {
-            TDictData byId3 = dictDataService.getById(tTaskDetail.getUnqualified());
-            if (byId3 != null) {
-                tTaskDetail.setUnqualifiedName(byId3.getDataContent());
+        TInspector inspector = inspectorService.getById(id);
+
+        if (byId!=null){
+            List<TTaskDetail> list = taskDetailService.lambdaQuery().eq(TTaskDetail::getTaskId, id)
+                    .orderByDesc(BaseModel::getCreateTime).list();
+            TaskDetailVO taskDetailVO = new TaskDetailVO();
+            BeanUtils.copyProperties(byId, taskDetailVO);
+            TLocation byId1 = locationService.getById(byId.getLocationId());
+            TLocationType byId2 = locationTypeService.getById(byId1.getLocationType());
+            taskDetailVO.setLocationName(byId1.getLocationName());
+            taskDetailVO.setLocationAddress(byId1.getLocationAddress());
+            taskDetailVO.setLocationAddressEnd(byId1.getLocationAddressEnd());
+            taskDetailVO.setLocationIcon(byId2.getLocationIcon());
+            taskDetailVO.setLocationTypeName(byId2.getLocationName());
+            taskDetailVO.setLocationLon(byId1.getLocationLon());
+            taskDetailVO.setLocationLat(byId1.getLocationLat());
+            taskDetailVO.setLocationLatEnd(byId1.getLocationLatEnd());
+            taskDetailVO.setLocationLonEnd(byId1.getLocationLonEnd());
+            TTaskDetail tTaskDetail = list.stream().filter(e -> e.getHandleType() == 1).findFirst().orElse(null);
+            if (tTaskDetail != null && tTaskDetail.getUnqualified() != null) {
+                TDictData byId3 = dictDataService.getById(tTaskDetail.getUnqualified());
+                if (byId3 != null) {
+                    tTaskDetail.setUnqualifiedName(byId3.getDataContent());
+                }
             }
-        }
-        if (tTaskDetail != null) {
-            tTaskDetail.setFinishTime(tTaskDetail.getCreateTime());
-        }
-        taskDetailVO.setTaskDetail(tTaskDetail);
-        taskDetailVO.setRecords(list);
-        if (byId.getStatus()==4){
-            TTaskDetail reject = taskDetailService.lambdaQuery().eq(TTaskDetail::getTaskId, id)
-                    .eq(TTaskDetail::getHandleType,3)
-                    .orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
-            if (reject!=null){
-                taskDetailVO.setRejectRemark(reject.getAuditRemark());
+            if (tTaskDetail != null) {
+                tTaskDetail.setFinishTime(tTaskDetail.getCreateTime());
             }
+            taskDetailVO.setTaskDetail(tTaskDetail);
+            taskDetailVO.setRecords(list);
+            if (byId.getStatus()==4){
+                TTaskDetail reject = taskDetailService.lambdaQuery().eq(TTaskDetail::getTaskId, id)
+                        .eq(TTaskDetail::getHandleType,3)
+                        .orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
+                if (reject!=null){
+                    taskDetailVO.setRejectRemark(reject.getAuditRemark());
+                }
+            }
+            return R.ok(taskDetailVO);
+
+        }else{
+            List<TInspectorDetail> list = inspectorDetailService.lambdaQuery().eq(TInspectorDetail::getInspectorId, id)
+                    .orderByDesc(BaseModel::getCreateTime).list();
+            TaskDetailVO taskDetailVO = new TaskDetailVO();
+            BeanUtils.copyProperties(inspector, taskDetailVO);
+            TLocation byId1 = locationService.getById(inspector.getLocationId());
+            TLocationType byId2 = locationTypeService.getById(byId1.getLocationType());
+            taskDetailVO.setLocationName(byId1.getLocationName());
+            taskDetailVO.setLocationAddress(byId1.getLocationAddress());
+            taskDetailVO.setLocationAddressEnd(byId1.getLocationAddressEnd());
+            taskDetailVO.setLocationIcon(byId2.getLocationIcon());
+            taskDetailVO.setLocationTypeName(byId2.getLocationName());
+            taskDetailVO.setLocationLon(byId1.getLocationLon());
+            taskDetailVO.setLocationLat(byId1.getLocationLat());
+            taskDetailVO.setLocationLatEnd(byId1.getLocationLatEnd());
+            taskDetailVO.setLocationLonEnd(byId1.getLocationLonEnd());
+            TInspectorDetail inspectorDetail = list.stream().filter(e -> e.getHandleType() == 1).findFirst().orElse(null);
+            if (inspectorDetail != null && inspectorDetail.getUnqualified() != null) {
+                TTaskDetail temp = new TTaskDetail();
+                BeanUtils.copyProperties(inspectorDetail, temp);
+                taskDetailVO.setTaskDetail(temp);
+
+                TDictData byId3 = dictDataService.getById(inspectorDetail.getUnqualified());
+                if (byId3 != null) {
+                    inspectorDetail.setUnqualifiedName(byId3.getDataContent());
+                }
+            }
+            if (inspectorDetail != null) {
+                inspectorDetail.setFinishTime(inspectorDetail.getCreateTime());
+            }
+            List<TTaskDetail> tTaskDetails = new ArrayList<>();
+            for (TInspectorDetail tInspectorDetail : list) {
+                TTaskDetail tTaskDetail = new TTaskDetail();
+                BeanUtils.copyProperties(tInspectorDetail, tTaskDetail);
+                tTaskDetails.add(tTaskDetail);
+            }
+            taskDetailVO.setRecords(tTaskDetails);
+            if (inspector.getStatus()==2){
+                TInspectorDetail reject = inspectorDetailService.lambdaQuery().eq(TInspectorDetail::getInspectorId, id)
+                        .eq(TInspectorDetail::getHandleType,3)
+                        .orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
+                if (reject!=null){
+                    taskDetailVO.setRejectRemark(reject.getAuditRemark());
+                }
+            }
+            return R.ok(taskDetailVO);
         }
-        return R.ok(taskDetailVO);
+
     }
+
 
     @ApiOperation(value = "详情任务-操作记录-详情")
     @GetMapping(value = "/detailRecord")
     public R<TaskRecordDetailVO> detailRecord(@RequestParam String id) {
         TaskRecordDetailVO taskDetailVO = new TaskRecordDetailVO();
-        TTaskDetail byId4 = taskDetailService.getById(id);
-        TTask byId = taskCleanerService.getById(byId4.getTaskId());
-        BeanUtils.copyProperties(byId, taskDetailVO);
-        TLocation byId1 = locationService.getById(byId.getLocationId());
-        TLocationType byId2 = locationTypeService.getById(byId1.getLocationType());
-        taskDetailVO.setLocationAddress(byId1.getLocationAddress());
-        taskDetailVO.setLocationIcon(byId2.getLocationIcon());
-        taskDetailVO.setLocationName(byId2.getLocationName());
-        if (byId4.getUnqualified() != null) {
-            TDictData byId3 = dictDataService.getById(byId4.getUnqualified());
-            if (byId3 != null) {
-                byId4.setUnqualifiedName(byId3.getDataContent());
+        TTaskDetail taskDetail = taskDetailService.getById(id);
+        TInspectorDetail inspectorDetail = inspectorDetailService.getById(id);
+
+        if (taskDetail!=null){
+            TTask byId = taskCleanerService.getById(taskDetail.getTaskId());
+            BeanUtils.copyProperties(byId, taskDetailVO);
+            TLocation byId1 = locationService.getById(byId.getLocationId());
+            TLocationType byId2 = locationTypeService.getById(byId1.getLocationType());
+            taskDetailVO.setLocationAddress(byId1.getLocationAddress());
+            taskDetailVO.setLocationIcon(byId2.getLocationIcon());
+            taskDetailVO.setLocationName(byId2.getLocationName());
+            if (taskDetail.getUnqualified() != null) {
+                TDictData byId3 = dictDataService.getById(taskDetail.getUnqualified());
+                if (byId3 != null) {
+                    taskDetail.setUnqualifiedName(byId3.getDataContent());
+                }
             }
+            taskDetail.setFinishTime(taskDetail.getCreateTime());
+            SysUser sysUser = sysUserService.selectUserById(Long.valueOf(taskDetail.getAuditPerson()));
+            if (sysUser != null) {
+                taskDetail.setAuditPersonName(sysUser.getUserName());
+            }
+            taskDetailVO.setTaskDetail(taskDetail);
+            return R.ok(taskDetailVO);
+        }else{
+            TInspector byId = inspectorService.getById(inspectorDetail.getInspectorId());
+            BeanUtils.copyProperties(byId, taskDetailVO);
+            TLocation byId1 = locationService.getById(byId.getLocationId());
+            TLocationType byId2 = locationTypeService.getById(byId1.getLocationType());
+            taskDetailVO.setLocationAddress(byId1.getLocationAddress());
+            taskDetailVO.setLocationIcon(byId2.getLocationIcon());
+            taskDetailVO.setLocationName(byId2.getLocationName());
+            if (inspectorDetail.getUnqualified() != null) {
+                TDictData byId3 = dictDataService.getById(inspectorDetail.getUnqualified());
+                if (byId3 != null) {
+                    inspectorDetail.setUnqualifiedName(byId3.getDataContent());
+                }
+            }
+            inspectorDetail.setFinishTime(inspectorDetail.getCreateTime());
+            SysUser sysUser = sysUserService.selectUserById(Long.valueOf(inspectorDetail.getAuditPerson()));
+            if (sysUser != null) {
+                inspectorDetail.setAuditPersonName(sysUser.getUserName());
+            }
+            TTaskDetail tTaskDetail = new TTaskDetail();
+            BeanUtils.copyProperties(inspectorDetail, tTaskDetail);
+            taskDetailVO.setTaskDetail(tTaskDetail);
+            return R.ok(taskDetailVO);
         }
-        byId4.setFinishTime(byId4.getCreateTime());
-        SysUser sysUser = sysUserService.selectUserById(Long.valueOf(byId4.getAuditPerson()));
-        if (sysUser != null) {
-            byId4.setAuditPersonName(sysUser.getUserName());
-        }
-        taskDetailVO.setTaskDetail(byId4);
-        return R.ok(taskDetailVO);
+
     }
 
     @ApiOperation(value = "申诉记录分页列表")
@@ -494,7 +581,12 @@
         List<TaskListAllVO> res = appealService.listAllTask(appealListDTO);
         return R.ok(res);
     }
-
+    @ApiOperation(value = "点位列表")
+    @PostMapping(value = "/locationList")
+    public R<List<TaskListAllVO>> locationList(@RequestBody AppealListDTO appealListDTO) {
+        List<TaskListAllVO> locations = appealService.locationList(appealListDTO);
+        return R.ok(locations);
+    }
     @ApiOperation(value = "不合格原因列表")
     @PostMapping(value = "/unqualifiedList")
     public R<List<TDictData>> unqualifiedList() {
@@ -505,21 +597,48 @@
         return R.ok(list);
     }
 
+
     @ApiOperation(value = "上传督察任务")
     @PostMapping(value = "/addInspector")
     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()));
+//        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);
+//
+//        }
+//        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);
+            dto.setStatus(2);
 
         }
+        String nameAndCode = CodeGenerateUtils.generateVolumeSn();
+        dto.setTaskCode(nameAndCode);
+        dto.setTaskName(nameAndCode);
         inspectorService.save(dto);
+        TInspectorDetail tInspectorDetail = new TInspectorDetail();
+        tInspectorDetail.setInspectorId(dto.getId());
+        tInspectorDetail.setClearStatus(dto.getClearStatus());
+        tInspectorDetail.setUnqualified(dto.getUnqualified());
+        tInspectorDetail.setRemark(dto.getRemark());
+        tInspectorDetail.setPicture(dto.getPicture());
+        tInspectorDetail.setAudioUrl(dto.getAudioUrl());
+        tInspectorDetail.setHandleType(1);
+
+        inspectorDetailService.save(tInspectorDetail);
         return R.ok();
     }
 
@@ -696,6 +815,11 @@
         leaveDTO.setCode(format + RandomUtil.randomNumbers(6));
         leaveDTO.setTemplateId(user.getTemplateId());
         leaveDTO.setLeavePerson(userId + "");
+        LocalDateTime endTime1 = leaveDTO.getEndTime();
+        endTime1.withHour(23);
+        endTime1.withMinute(59);
+        endTime1.withSecond(59);
+        leaveDTO.setEndTime(endTime1);
         leaveService.save(leaveDTO);
         TNoticeSet noticeSet = noticeSetService.lambdaQuery().eq(TNoticeSet::getType, 2).last("limit 1")
                 .one();
@@ -759,6 +883,17 @@
                                        }
                                        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;
                                }
 
@@ -916,6 +1051,13 @@
                     }
                     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;
             }
         }

--
Gitblit v1.7.1