xuhy
2025-06-16 0efe6213bfdd3281f73d91579b50b88e4ec8cb49
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)