package com.jcdm.main.em.inspectionPlanItemsProject.controller;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
import javax.servlet.http.HttpServletResponse;
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.jcdm.common.exception.ServiceException;
|
import com.jcdm.framework.websocket.WebSocketUsers;
|
import com.jcdm.main.em.inspectionPlanTask.domain.EmInspectionPlanTask;
|
import com.jcdm.main.em.inspectionPlanTask.service.IEmInspectionPlanTaskService;
|
import org.aspectj.weaver.loadtime.Aj;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import com.jcdm.common.annotation.Log;
|
import com.jcdm.common.core.controller.BaseController;
|
import com.jcdm.common.core.domain.AjaxResult;
|
import com.jcdm.common.enums.BusinessType;
|
import com.jcdm.main.em.inspectionPlanItemsProject.domain.EmInspectionPlanItemsProject;
|
import com.jcdm.main.em.inspectionPlanItemsProject.service.IEmInspectionPlanItemsProjectService;
|
import com.jcdm.common.utils.poi.ExcelUtil;
|
import com.jcdm.common.core.page.TableDataInfo;
|
|
/**
|
* 点检任务-项目Controller
|
*
|
* @author Yi
|
* @date 2024-03-23
|
*/
|
@RestController
|
@RequestMapping("/em/inspectionPlanItemsProject")
|
public class EmInspectionPlanItemsProjectController extends BaseController
|
{
|
@Autowired
|
private IEmInspectionPlanItemsProjectService emInspectionPlanItemsProjectService;
|
|
@Autowired
|
private IEmInspectionPlanTaskService emInspectionPlanTaskService;
|
|
@GetMapping("/findPlanItemsProjectByPlanId")
|
public AjaxResult list2(EmInspectionPlanItemsProject emInspectionPlanItemsProject)
|
{
|
if (StrUtil.isBlank(emInspectionPlanItemsProject.getPlanTaskCode())){
|
throw new ServiceException("未获取到计划编号,请重试!");
|
}
|
Map<String,Object> resultMap = new HashMap<>();
|
List<EmInspectionPlanTask> list = emInspectionPlanTaskService.list(new LambdaQueryWrapper<EmInspectionPlanTask>()
|
.eq(EmInspectionPlanTask::getPlanCode, emInspectionPlanItemsProject.getPlanTaskCode()));
|
if (CollUtil.isNotEmpty(list)){
|
EmInspectionPlanTask byId = list.get(0);
|
List<EmInspectionPlanItemsProject> planTaskIdList = emInspectionPlanItemsProjectService
|
.list(new LambdaQueryWrapper<EmInspectionPlanItemsProject>()
|
.eq(EmInspectionPlanItemsProject::getPlanTaskId,byId.getId())
|
.eq(EmInspectionPlanItemsProject::getItemsType,emInspectionPlanItemsProject.getItemsType()));
|
|
resultMap.put("planItemsProject", planTaskIdList);
|
resultMap.put("planTask",byId);
|
}
|
return AjaxResult.success(resultMap);
|
}
|
|
@PostMapping("/updateItemsProjectResults")
|
public AjaxResult updateItemsProjectResults(@RequestBody EmInspectionPlanItemsProject emInspectionPlanItemsProject)
|
{
|
EmInspectionPlanItemsProject itemsProject = emInspectionPlanItemsProjectService.getById(emInspectionPlanItemsProject.getId());
|
itemsProject.setResults(emInspectionPlanItemsProject.getResults());
|
emInspectionPlanItemsProjectService.saveOrUpdate(itemsProject);
|
|
List<EmInspectionPlanItemsProject> list = emInspectionPlanItemsProjectService.list(new LambdaQueryWrapper<EmInspectionPlanItemsProject>()
|
.eq(EmInspectionPlanItemsProject::getPlanTaskId, itemsProject.getPlanTaskId()));
|
|
List<String> collect = list.stream()
|
.map(EmInspectionPlanItemsProject::getResults)
|
.filter(x-> !"1".equals(x)).collect(Collectors.toList());
|
if(CollUtil.isEmpty(collect)){
|
EmInspectionPlanTask planTaskById = emInspectionPlanTaskService.getById(itemsProject.getPlanTaskId());
|
planTaskById.setState("1");
|
emInspectionPlanTaskService.saveOrUpdate(planTaskById);
|
}
|
return AjaxResult.success();
|
}
|
|
|
|
/**
|
* 查询点检任务-项目列表
|
*/
|
@PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(EmInspectionPlanItemsProject emInspectionPlanItemsProject)
|
{
|
startPage();
|
List<EmInspectionPlanItemsProject> list = emInspectionPlanItemsProjectService.selectEmInspectionPlanItemsProjectList(emInspectionPlanItemsProject);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出点检任务-项目列表
|
*/
|
@PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:export')")
|
@Log(title = "点检任务-项目", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
public void export(HttpServletResponse response, EmInspectionPlanItemsProject emInspectionPlanItemsProject)
|
{
|
List<EmInspectionPlanItemsProject> list = emInspectionPlanItemsProjectService.selectEmInspectionPlanItemsProjectList(emInspectionPlanItemsProject);
|
ExcelUtil<EmInspectionPlanItemsProject> util = new ExcelUtil<EmInspectionPlanItemsProject>(EmInspectionPlanItemsProject.class);
|
util.exportExcel(response, list, "点检任务-项目数据");
|
}
|
|
/**
|
* 获取点检任务-项目详细信息
|
*/
|
@PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:query')")
|
@GetMapping(value = "/{id}")
|
public AjaxResult getInfo(@PathVariable("id") Long id)
|
{
|
return success(emInspectionPlanItemsProjectService.selectEmInspectionPlanItemsProjectById(id));
|
}
|
|
/**
|
* 新增点检任务-项目
|
*/
|
@PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:add')")
|
@Log(title = "点检任务-项目", businessType = BusinessType.INSERT)
|
@PostMapping
|
public AjaxResult add(@RequestBody EmInspectionPlanItemsProject emInspectionPlanItemsProject)
|
{
|
return toAjax(emInspectionPlanItemsProjectService.insertEmInspectionPlanItemsProject(emInspectionPlanItemsProject));
|
}
|
|
/**
|
* 修改点检任务-项目
|
*/
|
@PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:edit')")
|
@Log(title = "点检任务-项目", businessType = BusinessType.UPDATE)
|
@PutMapping
|
public AjaxResult edit(@RequestBody EmInspectionPlanItemsProject emInspectionPlanItemsProject)
|
{
|
return toAjax(emInspectionPlanItemsProjectService.updateEmInspectionPlanItemsProject(emInspectionPlanItemsProject));
|
}
|
|
/**
|
* 删除点检任务-项目
|
*/
|
@PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:remove')")
|
@Log(title = "点检任务-项目", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{ids}")
|
public AjaxResult remove(@PathVariable Long[] ids)
|
{
|
return toAjax(emInspectionPlanItemsProjectService.deleteEmInspectionPlanItemsProjectByIds(ids));
|
}
|
}
|