package com.boco.nbd.wios.flow.controller; import com.boco.nbd.cams.core.util.LambdaUtils; import com.boco.nbd.framework.common.PageData; import com.boco.nbd.framework.common.ResponseMessage2; import com.boco.nbd.framework.common.util.IdUtil; import com.boco.nbd.framework.parent.microservice.exception.ErrorInfoException; import com.boco.nbd.wios.flow.entity.po.PlanTaskPO; import com.boco.nbd.wios.flow.service.IPlanTaskService; import com.boco.nbd.wios.flow.util.ProcessUtil; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.ihidea.core.support.session.SessionInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import tk.mybatis.mapper.entity.Example; import java.util.List; /** * @Description: TODO * @Author: ZQY * @Date: 2022/8/11 **/ @RestController @Slf4j @RequestMapping("planTask") @Api(tags = "计划任务配置") public class PlanTaskController { @Autowired private IPlanTaskService planTaskService; /** * 新增计划任务 * * @param po * @return */ @ApiOperation(value = "新增计划任务") @PostMapping(value = "/addPlanTask") public ResponseMessage2 savePlanTask(PlanTaskPO po) { try { Example example = new Example(PlanTaskPO.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo(LambdaUtils.getFieldName(PlanTaskPO::getYear), po.getYear()); criteria.andEqualTo(LambdaUtils.getFieldName(PlanTaskPO::getOemName), po.getOemName()); List<PlanTaskPO> planTaskPOList = planTaskService.selectByExample(example); if (planTaskPOList.size() > 0) { throw new ErrorInfoException("存在(" + po.getYear() + "+" + po.getOemName() + ")重复数据!"); } po.setId(IdUtil.getLongUUID() + ""); SessionInfo user = ProcessUtil.getUserInfo(); po.setCreateUser(user == null ? "" : user.getUserId()); planTaskService.insertSelective(po); return ResponseMessage2.Success(); } catch (Exception e) { e.printStackTrace(); log.error("新增计划任务", e.getMessage()); return ResponseMessage2.Failed(e.getMessage()); } } /** * 修改计划任务 * * @param po * @return */ @ApiOperation(value = "修改计划任务") @PostMapping(value = "/updatePlanTask") public ResponseMessage2 updatePlanTask(PlanTaskPO po) { try { Example example = new Example(PlanTaskPO.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo(LambdaUtils.getFieldName(PlanTaskPO::getYear), po.getYear()); criteria.andEqualTo(LambdaUtils.getFieldName(PlanTaskPO::getOemName), po.getOemName()); planTaskService.updateByPrimaryKeySelective(po); return ResponseMessage2.Success(); } catch (Exception e) { e.printStackTrace(); log.error("修改计划任务", e.getMessage()); return ResponseMessage2.Failed(e.getMessage()); } } /** * 删除计划任务 * * @param id * @return */ @ApiOperation(value = "删除计划任务") @PostMapping(value = "/deletePlanTask") public ResponseMessage2 deletePlanTask(@RequestParam("id") String id) { try { Example example = new Example(PlanTaskPO.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo(LambdaUtils.getFieldName(PlanTaskPO::getId), id); planTaskService.deleteByExample(example); return ResponseMessage2.Success(); } catch (Exception e) { e.printStackTrace(); log.error("删除计划任务", e.getMessage()); return ResponseMessage2.Failed(e.getMessage()); } } /** * 获取计划任务列表 * * @param * @return */ @ApiOperation(value = "获取计划任务列表") @GetMapping(value = "/getList") public ResponseMessage2<PageData<PlanTaskPO>> getList(int pageIndex, int pageSize) { Page<PlanTaskPO> result = PageHelper.startPage(pageIndex, pageSize); planTaskService.selectAll(); return ResponseMessage2.Success2(PageData.create2(result.getTotal(), result.getResult())); } /** * 导入计划任务列表 * * @param excel * @return */ @ApiOperation(value = "导入计划任务配置") @PostMapping("/importExcel") public ResponseMessage2 importExcel(@RequestParam("file") MultipartFile excel) { return planTaskService.importExcel(excel); } @ApiOperation(value = "根据年份和主机厂查询计划任务") @PostMapping("/getPlanTaskByYearAndOemId") @ApiImplicitParams({@ApiImplicitParam(name = "year", value = "年份", dataType = "String", paramType = "query", required = true), @ApiImplicitParam(name = "oemId", value = "主机厂ID", dataType = "String", paramType = "query", required = false)}) public ResponseMessage2 getPlanTaskByYearAndOemId(String year, Integer oemId) { return ResponseMessage2.Success2(planTaskService.getPlanTaskByYearAndOemId(year, oemId)); } }