From 4b8477f30194cf6dea7f1cecf405e29efb0f7bed Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 12 七月 2025 14:51:19 +0800
Subject: [PATCH] 保洁巡检本周代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTemplateController.java |  107 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 86 insertions(+), 21 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTemplateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTemplateController.java
index cb48d4e..a2ff1c3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTemplateController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTemplateController.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.google.common.collect.ImmutableMap;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
@@ -16,6 +17,9 @@
 import com.ruoyi.system.model.TTemplateDetail;
 import com.ruoyi.system.query.TemplateListQuery;
 import com.ruoyi.system.service.*;
+import com.ruoyi.system.task.base.QuartzManager;
+import com.ruoyi.system.task.base.TimeJobType;
+import com.ruoyi.system.task.jobs.CreateInspectionJob;
 import com.ruoyi.system.vo.system.TemplateDetailVO;
 import com.ruoyi.system.vo.system.TemplateListVO;
 import io.swagger.annotations.Api;
@@ -23,9 +27,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -51,10 +53,16 @@
 
 
 
+
     @ApiOperation(value = "任务模板分页列表")
     @PostMapping(value = "/pageList")
     public R<PageInfo<TemplateListVO>> pageList(@RequestBody TemplateListQuery query) {
         return R.ok(templateService.pageList(query));
+    }
+    @ApiOperation(value = "任务模板不分页列表")
+    @PostMapping(value = "/listAllTemplate")
+    public R<List<TTemplate>> listAllTemplate() {
+        return R.ok(templateService.list());
     }
     @ApiOperation(value = "点位类型不分页列表")
     @PostMapping(value = "/listAll")
@@ -71,6 +79,22 @@
             tTemplateDetail.setTemplateId(dto.getId());
         }
         templateDetailService.saveBatch(list);
+
+        // 计算定时任务时间周期
+
+        // 添加定时任务
+//        Map<String, ? extends Object> maps =
+//                new ImmutableMap.Builder<String, String>().
+//                        put("id", dto.getId())
+//                        .build();
+//        QuartzManager.addJob(
+//                CreateInspectionJob.class,
+//                (CreateInspectionJob.name+dto.getId()).toUpperCase(),
+//                TimeJobType.CREATE_INSPECTION,
+//                new Date(new Date().getTime()+48*60*60*1000L),
+//                maps
+//        );
+
         return R.ok();
     }
     @Log(title = "编辑任务模板", businessType = BusinessType.UPDATE)
@@ -80,7 +104,28 @@
         templateService.updateById(dto);
         templateDetailService.remove(new LambdaQueryWrapper<TTemplateDetail>()
                 .eq(TTemplateDetail::getTemplateId,  dto.getId()));
+        for (TTemplateDetail tTemplateDetail : dto.getList()) {
+            tTemplateDetail.setTemplateId(dto.getId());
+            tTemplateDetail.setId(null);
+        }
         templateDetailService.saveBatch(dto.getList());
+
+        // 先删除定时任务
+//        QuartzManager.removeJob((CreateInspectionJob.name+dto.getId()).toUpperCase(),TimeJobType.CREATE_INSPECTION);
+
+        // 添加定时任务
+//        Map<String, ? extends Object> maps =
+//                new ImmutableMap.Builder<String, String>().
+//                        put("id", dto.getId())
+//                        .build();
+//        QuartzManager.addJob(
+//                CreateInspectionJob.class,
+//                (CreateInspectionJob.name+dto.getId()).toUpperCase(),
+//                TimeJobType.CREATE_INSPECTION,
+//                new Date(new Date().getTime()+48*60*60*1000L),
+//                maps
+//        );
+
         return R.ok();
     }
     @Log(title = "批量删除任务模板", businessType = BusinessType.DELETE)
@@ -91,6 +136,13 @@
         templateService.removeBatchByIds(Arrays.asList(split));
         return R.ok();
     }
+    @ApiOperation(value = "根据模板id查询角色")
+    @DeleteMapping(value = "/getRoleByTemplateId")
+    public R<SysRole> getRoleByTemplateId(@RequestParam String id) {
+        TTemplate template = templateService.getById(id);
+        SysRole sysRole = sysRoleService.selectRoleById(template.getRoleId());
+        return R.ok(sysRole);
+    }
     @ApiOperation(value = "详情任务模板")
     @GetMapping(value = "/detail")
     public R<TemplateDetailVO> detail(@RequestParam String id) {
@@ -100,30 +152,43 @@
                 .list();
         BeanUtils.copyProperties(byId,templateDetailVO);
         List<String> collect = tLocationTypeService.list().stream().map(TLocationType::getId).collect(Collectors.toList());
-
+        JSONArray res = new JSONArray();
+        for (String s : collect) {
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("id",s);
+            jsonObject.put("value","");
+            res.add(jsonObject);
+        }
         for (TTemplateDetail tTemplateDetail : list) {
-            JSONArray res = new JSONArray();
-            for (String s : collect) {
-                JSONObject jsonObject = new JSONObject();
-                jsonObject.put("id",s);
-                jsonObject.put("value","");
-                res.add(jsonObject);
-            }
+            JSONArray temp = new JSONArray();
             String num4 = tTemplateDetail.getNum4();
-            JSONObject jsonObject = JSONObject.parseObject(num4);
-            JSONArray num5Array = jsonObject.getJSONArray("num5");
-            for (Object o : num5Array) {
-                JSONObject jsonObject1 = (JSONObject) o;
-                String string = jsonObject1.getString("id");
-                // 如果res中有这个id,则设置num
-                for (Object re : res) {
-                    JSONObject jsonObject2 = (JSONObject) re;
+            JSONArray num5Array = JSONArray.parseArray(num4);
+            for (Object re : res) {
+                JSONObject jsonObject2 = (JSONObject) re;
+                int i = 0;
+                for (Object o : num5Array) {
+                    JSONObject jsonObject1 = (JSONObject) o;
+                    String string = jsonObject1.getString("id");
+                    // 如果res中有这个id,则设置num
                     if (jsonObject2.getString("id").equals(string)) {
-                        jsonObject2.put("num", jsonObject1.getString("num"));
+                        JSONObject jsonObject = new JSONObject();
+                        jsonObject.put("id",string);
+                        jsonObject.put("value", jsonObject1.getString("value"));
+                        temp.add(jsonObject);
+                        break;
+                    }
+                    i++;
+                    if (i==num5Array.size()){
+                        JSONObject jsonObject = new JSONObject();
+                        jsonObject.put("id",string);
+                        jsonObject.put("value", "");
+                        temp.add(jsonObject);
                     }
                 }
+
             }
-            tTemplateDetail.setNum4(res.toJSONString());
+
+            tTemplateDetail.setNum4(temp.toJSONString());
         }
         if (byId.getRoleId()!=null){
             SysRole sysRole = sysRoleService.selectRoleById(byId.getRoleId());

--
Gitblit v1.7.1