package com.yuanchu.mom.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.excel.FeCalibrationScheduleExport;
import com.yuanchu.mom.excel.FeStandardSubstanceExcel;
import com.yuanchu.mom.pojo.FeCalibrationSchedule;
import com.yuanchu.mom.pojo.FeStandardSubstance;
import com.yuanchu.mom.service.FeStandardSubstanceService;
import com.yuanchu.mom.vo.Result;
import com.yuanchu.mom.vo.SubstanceRecordVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
*
* 标准物质清单 前端控制器
*
*
* @author
* @since 2024-11-13 03:58:59
*/
@Api(tags = "标准物质清单")
@RestController
@RequestMapping("/feStandardSubstance")
public class FeStandardSubstanceController {
@Resource
private FeStandardSubstanceService feStandardSubstanceService;
@ValueClassify(value = "标准物质清单")
@ApiOperation(value = "标准物质清单查询")
@GetMapping("/getPageStandardSubstance")
public Result> getPageStandardSubstance(Page page, FeStandardSubstance feStandardSubstance) {
IPage ipage = feStandardSubstanceService.page(page, feStandardSubstance);
return Result.success(ipage);
}
@ValueClassify(value = "标准物质清单")
@ApiOperation(value = "标准物质清单新增编辑")
@PostMapping("/addStandardSubstance")
public Result addStandardSubstance(@RequestBody FeStandardSubstance feStandardSubstance) {
return Result.success(feStandardSubstanceService.saveOrUpdate(feStandardSubstance));
}
@ValueClassify(value = "标准物质清单")
@ApiOperation(value = "标准物质清单删除")
@GetMapping("/removeStandardSubstance")
public Result removeStandardSubstance(Integer id) {
return Result.success(feStandardSubstanceService.removeById(id));
}
@ValueClassify(value = "标准物质清单")
@ApiOperation(value = "标准物质清单查询所有")
@GetMapping("/getStandardSubstanceAll")
public Result> getStandardSubstanceAll( ) {
return Result.success(feStandardSubstanceService.list());
}
@ValueClassify(value = "标准物质清单借用归还记录")
@ApiOperation(value = "标准物质清单导出")
@GetMapping("exportOfStandardSubstanceList")
public void exportOfStandardSubstanceList(FeStandardSubstance feStandardSubstance,
HttpServletResponse response) throws Exception {
IPage ipage = feStandardSubstanceService.page(new Page<>(1, -1), feStandardSubstance);
List studentList = JSONObject.parseArray(JSON.toJSONString(ipage.getRecords()), FeStandardSubstanceExcel.class);
for (FeStandardSubstanceExcel record : studentList) {
if (record.getState()==1){
record.setStateName("借用");
}else {
record.setStateName("归还");
}
}
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("requestType", "excel");
response.setHeader("Access-Control-Expose-Headers", "requestType");
// 设置单元格样式
// 保存到第一个sheet中
EasyExcel.write(response.getOutputStream())
.head(FeStandardSubstanceExcel.class)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自适应列宽
.sheet("sheet")
.doWrite(studentList);
}
}