package com.yuanchu.mom.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.dto.DeviceExaminePlanDto; import com.yuanchu.mom.dto.DeviceExamineRecordContrastDto; import com.yuanchu.mom.dto.DeviceExamineRecordDto; import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.pojo.DeviceExaminePlan; import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; import com.yuanchu.mom.service.DeviceExaminePlanDetailsService; import com.yuanchu.mom.service.DeviceExaminePlanService; import com.yuanchu.mom.service.DeviceExamineRecordContrastService; import com.yuanchu.mom.service.DeviceExamineRecordService; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.Map; /** *

* 设备核查计划主表 前端控制器 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-12-16 07:14:04 */ @Api(tags = "设备核查计划") @AllArgsConstructor @RestController @RequestMapping("/deviceExaminePlan") public class DeviceExaminePlanController { private DeviceExaminePlanService deviceExaminePlanService; private DeviceExaminePlanDetailsService deviceExaminePlanDetailsService; private DeviceExamineRecordService deviceExamineRecordService; private DeviceExamineRecordContrastService deviceExamineRecordContrastService; /** * 新增设备核查计划 * @return */ @ApiOperation(value = "新增设备核查计划") @PostMapping("/addDeviceExaminePlan") public Result addDeviceExaminePlan(@RequestBody DeviceExaminePlanDto examinePlanDto){ return Result.success(deviceExaminePlanService.addDeviceExaminePlan(examinePlanDto)); } /** * 导入设备核查计划 * @return */ @ApiOperation(value = "导入设备核查计划") @PostMapping("/importDeviceExaminePlan") public Result importDeviceExaminePlan(MultipartFile file){ return Result.success(deviceExaminePlanService.importDeviceExaminePlan(file)); } /** * 设备核查计划删除 * @return */ @ApiOperation(value = "设备核查计划删除") @GetMapping("/delQualitySupervise") public Result delQualitySupervise(Integer planId){ return Result.success(deviceExaminePlanService.removeById(planId)); } /** * 设备核查计划批准 * @return */ @ValueClassify("质量设备核查计划") @ApiOperation(value = "设备核查计划批准") @PostMapping("/ratifyDeviceExaminePlan") public Result ratifyDeviceExaminePlan(@RequestBody DeviceExaminePlan DeviceExaminePlan){ return Result.success(deviceExaminePlanService.ratifyDeviceExaminePlan(DeviceExaminePlan)); } /** * 设备核查计划列表 * @param data * @return */ @ApiOperation(value = "设备核查计划列表") @PostMapping("/pageDeviceExaminePlan") public Result> pageDeviceExaminePlan(@RequestBody Map data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); DeviceExaminePlan DeviceExaminePlan = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceExaminePlan.class); return Result.success(deviceExaminePlanService.pageDeviceExaminePlan(page, DeviceExaminePlan)); } /** * 设备核查计划详情列表 * @param data * @return */ @ApiOperation(value = "设备核查计划详情列表") @PostMapping("/pageDeviceExaminePlanDetail") public Result> pageDeviceExaminePlanDetail(@RequestBody Map data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); DeviceExaminePlanDetails deviceExaminePlanDetails = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceExaminePlanDetails.class); return Result.success(deviceExaminePlanService.pageDeviceExaminePlanDetail(page, deviceExaminePlanDetails)); } /** * 新增设备核查计划详情 * @return */ @ApiOperation(value = "新增设备核查计划详情") @PostMapping("/addDeviceExaminePlanDetail") public Result addDeviceExaminePlanDetail(@RequestBody DeviceExaminePlanDetails deviceExaminePlanDetail){ if (deviceExaminePlanDetail.getPlanId() == null) { throw new ErrorException("缺少设备核查计划主表id"); } return Result.success(deviceExaminePlanDetailsService.save(deviceExaminePlanDetail)); } /** * 修改设备核查计划详情 * @return */ @ApiOperation(value = "修改设备核查计划详情") @PostMapping("/updateDeviceExaminePlanDetail") public Result updateDeviceExaminePlanDetail(@RequestBody DeviceExaminePlanDetails deviceExaminePlanDetail){ return Result.success(deviceExaminePlanDetailsService.updateById(deviceExaminePlanDetail)); } /** * 删除设备核查计划详情 * @return */ @ApiOperation(value = "删除设备核查计划详情") @GetMapping("/delDeviceExaminePlanDetail") public Result delDeviceExaminePlanDetail(Integer planDetailsId){ return Result.success(deviceExaminePlanDetailsService.removeById(planDetailsId)); } /** * 导出设备核查计划 * @param planId 设备核查计划id * @return */ @ApiOperation(value = "导出设备核查计划") @GetMapping("/exportDeviceExaminePlanDetail") public void exportDeviceExaminePlanDetail(Integer planId, HttpServletResponse response){ deviceExaminePlanService.exportDeviceExaminePlanDetail(planId, response); } /*********************************************** 报告 **************************************************/ /** * 查询核查记录 * @return */ @ApiOperation(value = "查询核查记录") @GetMapping("/getExamineRecord") public Result getExamineRecord(Integer planDetailsId){ return Result.success(deviceExamineRecordService.getExamineRecord(planDetailsId)); } /** * 新增核查记录 * @return */ @ApiOperation(value = "新增核查记录") @PostMapping("/addExamineRecord") public Result addExamineRecord(@RequestBody DeviceExamineRecordDto deviceExamineRecordDto){ return Result.success(deviceExamineRecordService.addExamineRecord(deviceExamineRecordDto)); } /** * 复核核查记录 * @return */ @ApiOperation(value = "复核核查记录") @PostMapping("/reviewExamineRecord") public Result reviewExamineRecord(@RequestBody DeviceExamineRecordDto deviceExamineRecordDto){ return Result.success(deviceExamineRecordService.reviewExamineRecord(deviceExamineRecordDto)); } /** * 导出复核核查记录 * @param planDetailsId * @return */ @ValueAuth @ApiOperation(value = "导出复核核查记录") @GetMapping("/exportReviewExamineRecordDetail") public void exportReviewExamineRecordDetail(Integer planDetailsId, HttpServletResponse response){ deviceExamineRecordService.exportReviewExamineRecordDetail(planDetailsId, response); } /*********************************************** 报告对比 **************************************************/ /** * 查询核查对比记录 * @return */ @ApiOperation(value = "查询核查对比记录") @GetMapping("/getExamineRecordContrast") public Result getExamineRecordContrast(Integer planDetailsId){ return Result.success(deviceExamineRecordContrastService.getExamineRecordContrast(planDetailsId)); } /** * 新增核查对比记录 * @return */ @ApiOperation(value = "新增核查对比记录") @PostMapping("/addExamineRecordContrast") public Result addExamineRecordContrast(@RequestBody DeviceExamineRecordContrastDto deviceExamineRecordContrastDto){ return Result.success(deviceExamineRecordContrastService.addExamineRecordContrast(deviceExamineRecordContrastDto)); } /** * 审核核查对比记录 * @return */ @ApiOperation(value = "审核核查对比记录") @PostMapping("/reviewExamineRecordContrast") public Result reviewExamineRecordContrast(@RequestBody DeviceExamineRecordContrastDto deviceExamineRecordContrastDto){ return Result.success(deviceExamineRecordContrastService.reviewExamineRecordContrast(deviceExamineRecordContrastDto)); } /** * 导出审核核查对比记录 * @param planDetailsId * @return */ @ValueAuth @ApiOperation(value = "导出审核核查对比记录") @GetMapping("/exportReviewExamineRecordContrast") public Result exportReviewExamineRecordContrast(Integer planDetailsId, HttpServletResponse response){ deviceExamineRecordContrastService.exportReviewExamineRecordContrast(planDetailsId, response); return Result.success(); } }