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.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;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @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<String, Object> 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)
|
})
|
@GetMapping("/selectMaterialLimit")
|
public Result selectMaterialLimit(int pageSize, int countSize) {
|
return Result.success(materialService.selectMaterialLimit(pageSize, countSize));
|
}
|
|
@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));
|
}
|
}
|