package com.yuanchu.limslaboratory.controller; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.yuanchu.limslaboratory.pojo.Inspection; import com.yuanchu.limslaboratory.pojo.InspectionMaterialList; import com.yuanchu.limslaboratory.pojo.InspectionProductList; import com.yuanchu.limslaboratory.pojo.Product; import com.yuanchu.limslaboratory.service.*; import com.yuanchu.limslaboratory.utils.JackSonUtil; import com.yuanchu.limslaboratory.utils.MyUtil; import com.yuanchu.limslaboratory.utils.RedisUtil; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** *

* 前端控制器 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2023-07-17 */ @Api(tags = "检验模块-->检验单") @RestController @RequestMapping("/inspection") public class InspectionController { @Autowired private InspectionService inspectionService; @Autowired private InspectionMaterialListService inspectionMaterialListService; @Autowired private InspectionProductListService inspectionProductListService; @Autowired private MaterialService materialService; @ApiOperation("添加检验申请单") @ApiImplicitParams(value = { @ApiImplicitParam(name = "type", value = "检验类型", dataTypeClass = Integer.class, required = true), }) @PostMapping("/addInspection") public Result addInspection(@RequestHeader("X-Token") String token, int type) throws Exception { Object object = RedisUtil.get(token); Map unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class); return Result.success(inspectionService.addInspection("" + unmarshal.get("name"), type)); } @ApiOperation("查询所有检验单列表") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "state", value = "状态(为空=全部)", dataTypeClass = Integer.class) }) @GetMapping("/selectAllInspection") public Result selectAllInspection(int pageSize, int countSize, Integer state) { return Result.success(inspectionService.selectAllInspection(pageSize, countSize, state)); } @ApiOperation("查询检验单里面的物料信息") @ApiImplicitParams(value = { @ApiImplicitParam(name = "inspectionId", value = "报检单ID", dataTypeClass = String.class, required = true), }) @PostMapping("/selectMaterialByInsId") public Result selectMaterialByInsId(String inspectionId) { return Result.success(inspectionMaterialListService.selectInspectionMaterialListByInsId(inspectionId)); } @ApiOperation("查询物料信息") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "type", value = "类型", dataTypeClass = Integer.class, required = true) }) @GetMapping("/selectMaterialLimit") public Result selectMaterialLimit(int pageSize, int countSize, int type) { return Result.success(materialService.selectMaterialLimit(pageSize, countSize, type)); } @ApiOperation("选择物料信息") @ApiImplicitParams(value = { @ApiImplicitParam(name = "materialId", value = "物料ID", dataTypeClass = Integer.class, required = true), }) @PostMapping("/selectMaterialById") public Result selectMaterialById(String materialId) { return Result.success(materialService.selectMaterialById(materialId)); } @ApiOperation("提交检验单申请") @ApiImplicitParams(value = { @ApiImplicitParam(name = "inspectionId", value = "检验单ID", dataTypeClass = String.class, required = true), }) @PostMapping("/submitInspection") public Result submitInspection(String inspectionId) { return Result.success(inspectionService.subInspectionByInsId(inspectionId)); } @ApiOperation("作废检验单申请") @ApiImplicitParams(value = { @ApiImplicitParam(name = "inspectionId", value = "检验单ID", dataTypeClass = String.class, required = true), }) @PostMapping("/delInspection") public Result delInspection(String inspectionId) { return Result.success(inspectionService.delInspectionByInsId(inspectionId)); } }