package com.ycl.controller.epuipment; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ycl.annotation.LogSave; import com.ycl.api.CommonResult; import com.ycl.controller.BaseController; import com.ycl.entity.dict.DataDictionary; import com.ycl.entity.equipment.EquipmentBayonet; import com.ycl.service.dict.IDataDictionaryService; import com.ycl.service.equipment.IEquipmentBayonetService; import com.ycl.vo.equipment.EquipmentBayonetVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.SneakyThrows; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.stream.Collectors; /** *

* 卡口管理 前端控制器 *

* * @author wl * @since 2022-10-14 */ @RestController @RequestMapping("/equipment_bayonet") @Api(tags = "卡口管理") public class EquipmentBayonetController extends BaseController { @Autowired IEquipmentBayonetService iEquipmentBayonetService; @Autowired IDataDictionaryService iDataDictionaryService; @GetMapping("/query") @ApiOperation("查询") @LogSave public CommonResult search(@RequestParam(required = false) Integer size, @RequestParam(required = false) Integer current, @RequestParam(required = false) String bayonetName) { Page equipmentBayonetPage = new Page<>(); equipmentBayonetPage.setCurrent(current); equipmentBayonetPage.setSize(size); return CommonResult.success(iEquipmentBayonetService .page(equipmentBayonetPage, new LambdaQueryWrapper() .like(StringUtils.isNotBlank(bayonetName), EquipmentBayonet::getBayonetName, bayonetName)) .getRecords() .stream() .map(item -> { EquipmentBayonetVO equipmentBayonetVO = new EquipmentBayonetVO(); BeanUtils.copyProperties(item, equipmentBayonetVO); equipmentBayonetVO.setFrontEndType(iDataDictionaryService.getOne(new LambdaQueryWrapper().eq(DataDictionary::getId, item.getFrontEndType())).getName()); equipmentBayonetVO.setInOutCityType(iDataDictionaryService.getOne(new LambdaQueryWrapper().eq(DataDictionary::getId, item.getInOutCityType())).getName()); return equipmentBayonetVO; }).collect(Collectors.toList())); } @PostMapping("/addition") @ApiOperation("添加") @LogSave(operationType = "卡口管理", contain = "添加卡口") public CommonResult add(@RequestBody EquipmentBayonet equipmentBayonet) { return CommonResult.success(iEquipmentBayonetService.save(equipmentBayonet)); } @PutMapping("/modification") @ApiOperation("修改") @LogSave(operationType = "卡口管理", contain = "修改卡口") public CommonResult modify(@RequestBody EquipmentBayonet equipmentBayonet) { return CommonResult.success(iEquipmentBayonetService.updateById(equipmentBayonet)); } @GetMapping("/export") @ApiOperation("导出") @SneakyThrows @LogSave(operationType = "卡口管理", contain = "删除卡口") public void export(HttpServletResponse response, @RequestParam(required = false) Integer size, @RequestParam(required = false) Integer current, @RequestParam(required = false) String bayonetName) { Page equipmentBayonetPage = new Page<>(); equipmentBayonetPage.setCurrent(current); equipmentBayonetPage.setSize(size); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ".xlsx"); EasyExcel.write(response.getOutputStream(), EquipmentBayonetVO.class) .sheet("数据") .doWrite(iEquipmentBayonetService .page(equipmentBayonetPage, new LambdaQueryWrapper() .like(StringUtils.isNotBlank(bayonetName), EquipmentBayonet::getBayonetName, bayonetName)) .getRecords() .stream() .map(item -> { EquipmentBayonetVO equipmentBayonetVO = new EquipmentBayonetVO(); BeanUtils.copyProperties(item, equipmentBayonetVO); equipmentBayonetVO.setFrontEndType(iDataDictionaryService.getOne(new LambdaQueryWrapper().eq(DataDictionary::getId, item.getFrontEndType())).getName()); equipmentBayonetVO.setInOutCityType(iDataDictionaryService.getOne(new LambdaQueryWrapper().eq(DataDictionary::getId, item.getInOutCityType())).getName()); return equipmentBayonetVO; }).collect(Collectors.toList())); } }