From 727c924dd3e85aa4f277106dd1bd54a758fc3d22 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 17 六月 2025 14:50:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTemplateController.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 49 insertions(+), 11 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..8aa1082 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; /** @@ -58,7 +55,7 @@ @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 = "点位类型不分页列表") @@ -71,6 +68,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 +96,26 @@ @PostMapping(value = "/edit") public R<Boolean> edit(@RequestBody TTemplateDTO dto) { templateService.updateById(dto); + templateDetailService.remove(new LambdaQueryWrapper<TTemplateDetail>() + .eq(TTemplateDetail::getTemplateId, dto.getId())); + 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) -- Gitblit v1.7.1