From ca7e5eec896bb022ccb7e177ca3641e79f5f8554 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 03 七月 2025 23:55:17 +0800 Subject: [PATCH] bug修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTemplateController.java | 126 ++++++++++++++++++++++++++++++++--------- 1 files changed, 97 insertions(+), 29 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 8d63715..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 @@ -3,24 +3,23 @@ import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; -import com.google.gson.JsonArray; +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; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.bean.BeanUtils; -import com.ruoyi.system.dto.LocationDTO; import com.ruoyi.system.dto.TTemplateDTO; -import com.ruoyi.system.model.TLocation; import com.ruoyi.system.model.TLocationType; import com.ruoyi.system.model.TTemplate; import com.ruoyi.system.model.TTemplateDetail; -import com.ruoyi.system.query.LocationTypeListQuery; -import com.ruoyi.system.query.ProjectDeptListQuery; +import com.ruoyi.system.query.TemplateListQuery; import com.ruoyi.system.service.*; -import com.ruoyi.system.vo.system.LocationTypeListVO; -import com.ruoyi.system.vo.system.ProjectDeptListVO; +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; @@ -28,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; /** @@ -56,10 +53,16 @@ + @ApiOperation(value = "任务模板分页列表") @PostMapping(value = "/pageList") - public R<PageInfo<TemplateListVO>> pageList(@RequestBody ProjectDeptListQuery query) { + 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 +74,27 @@ @PostMapping(value = "/add") public R<Boolean> add(@RequestBody TTemplateDTO dto) { templateService.save(dto); + List<TTemplateDetail> list = dto.getList(); + for (TTemplateDetail tTemplateDetail : list) { + 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) @@ -78,6 +102,30 @@ @PostMapping(value = "/edit") public R<Boolean> edit(@RequestBody TTemplateDTO dto) { 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) @@ -88,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) { @@ -97,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