package com.yuanchu.limslaboratory.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import java.text.ParseException;
|
import java.util.*;
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.yuanchu.limslaboratory.annotation.AuthHandler;
|
import com.yuanchu.limslaboratory.enums.InterfaceType;
|
import com.yuanchu.limslaboratory.enums.MenuEnums;
|
import com.yuanchu.limslaboratory.mapper.InstrumentMapper;
|
import com.yuanchu.limslaboratory.mapper.UserMapper;
|
import com.yuanchu.limslaboratory.pojo.Inspection;
|
import com.yuanchu.limslaboratory.pojo.Report;
|
import com.yuanchu.limslaboratory.pojo.vo.InspectionVo;
|
import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
|
import com.yuanchu.limslaboratory.service.RawMaterialService;
|
import com.yuanchu.limslaboratory.utils.JackSonUtil;
|
import com.yuanchu.limslaboratory.utils.RedisUtil;
|
import com.yuanchu.limslaboratory.vo.Result;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.yuanchu.limslaboratory.service.InspectionService;
|
|
import javax.annotation.Resource;
|
|
/**
|
* 申请表(Inspection)表控制层
|
*
|
* @author zss
|
* @since 2023-08-03 13:03:36
|
*/
|
@Api(tags = "试验管理-->检验申请")
|
@RestController
|
@RequestMapping("/inspection")
|
public class InspectionController {
|
|
@Autowired
|
private InspectionService inspectionService;
|
|
@Resource
|
RawMaterialService rawMaterialService;
|
|
@Resource
|
LinkBasicInformationService linkBasicInformationService;
|
|
@Resource
|
UserMapper userMapper;
|
|
@Resource
|
private InstrumentMapper instrumentMapper;
|
|
@ApiOperation(value = "查询检验申请单列表")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "message", value = "申请单号/原材料名称", dataTypeClass = String.class)
|
})
|
@GetMapping("/selectInspectsList")
|
@AuthHandler
|
public Result selectInspectsList(int pageSize, int countSize, String message) {
|
IPage<Map<String, Object>> inspectionPage = inspectionService.selectInspectsList(new Page<Object>(pageSize, countSize), message);
|
Map<String, Object> map = new HashMap<>();
|
map.put("total", inspectionPage.getTotal());
|
map.put("row", inspectionPage.getRecords());
|
return Result.success(map);
|
}
|
|
|
@ApiOperation(value = "查询所有报检")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "type", value = "类型", dataTypeClass = Integer.class, required = true)
|
})
|
@GetMapping("/selectAll")
|
@AuthHandler
|
public Result selectAll(Integer type) {
|
switch (type) {
|
case 0:
|
//原材料
|
return Result.success(rawMaterialService.selectRawmaAll());
|
case 2:
|
//委托单
|
return Result.success(linkBasicInformationService.selectLinkAll());
|
case 1:
|
//成品检验
|
return Result.success("请输入检验信息!");
|
}
|
return Result.fail("类型错误!");
|
}
|
|
@ApiOperation(value = "新增检验单-->选择检验项目版本")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "name", value = "产品名称", dataTypeClass = String.class, required = true),
|
@ApiImplicitParam(name = "mcode", value = "产品编号", dataTypeClass = String.class, required = true),
|
@ApiImplicitParam(name = "specifications", value = "规格型号", dataTypeClass = String.class, required = true)
|
})
|
@GetMapping("/chooseVer")
|
@AuthHandler
|
public Result chooseVer(String name, String mcode, String specifications) {
|
return Result.success(inspectionService.chooseVer(name, mcode, specifications));
|
}
|
@ApiOperation(value = "新增检验单-->选择检验项目版本-->查看该版本下我们要做的项目要求")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "name", value = "产品名称", dataTypeClass = String.class, required = true),
|
@ApiImplicitParam(name = "mcode", value = "产品编号", dataTypeClass = String.class, required = true),
|
@ApiImplicitParam(name = "specifications", value = "规格型号", dataTypeClass = String.class, required = true),
|
@ApiImplicitParam(name = "version", value = "版本(默认最新版本)", dataTypeClass = Integer.class,required = true ),
|
@ApiImplicitParam(name = "experiment", value = "试验项目(委托专属)", dataTypeClass = String.class )
|
})
|
@GetMapping("/lookProByVer")
|
@AuthHandler
|
public Result lookProByVer(String name, String mcode, String specifications,Integer version,String experiment) {
|
return Result.success(inspectionService.lookProByVer(name, mcode, specifications,version,experiment));
|
}
|
|
|
@ApiOperation(value = "新增检验单")
|
@PostMapping("/addInspect")
|
@AuthHandler
|
public Result addInspect(@RequestHeader("X-Token") String token, @Validated @RequestBody InspectionVo inspectionVo) throws Exception {
|
Object object = RedisUtil.get(token);
|
Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
|
return Result.success(inspectionService.addInspect((Integer) unmarshal.get("id"), inspectionVo));
|
}
|
|
@ApiOperation(value = "根据检验单id查询检验单详情")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "id", value = "检验单id", dataTypeClass = Integer.class, required = true)
|
})
|
@GetMapping("/selectInspectsListById")
|
@AuthHandler
|
public Result selectInspectsListById(Integer id) {
|
return Result.success(inspectionService.selectInspectsListById(id));
|
}
|
|
@ApiOperation(value = "选择检验项目的责任人")
|
@GetMapping("/selectUser")
|
@AuthHandler
|
public Result selectUser() {
|
return Result.success(userMapper.selectUser());
|
}
|
|
@ApiOperation(value = "选择检验设备")
|
@GetMapping("/selectEquipment")
|
@AuthHandler
|
public Result selectEquipment(){return Result.success(instrumentMapper.getInstrument());}
|
|
@ApiOperation(value = "保存检验项目责任人")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "id", value = "检验单项目id", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "userProId", value = "责任人id", dataTypeClass = Integer.class, required = true)
|
})
|
@GetMapping("/chooseUseProId")
|
@AuthHandler
|
public Result chooseUseProId(Integer id, Integer userProId) {
|
return Result.success(inspectionService.chooseUseProId(id, userProId));
|
}
|
|
@ApiOperation("保存设备id")
|
@GetMapping("/chooseEquipment")
|
@AuthHandler
|
public Result chooseEquipment(Integer id,Integer equipmentId){
|
return Result.success(inspectionService.chooseEquipment(id, equipmentId));
|
}
|
|
@ApiOperation(value = "作废检验单")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "id", value = "检验单id", dataTypeClass = Integer.class, required = true)
|
})
|
@PostMapping("/delInspect")
|
@AuthHandler
|
public Result delInspect(Integer id) {
|
return Result.success(inspectionService.delInspect(id));
|
}
|
|
@ApiOperation(value = "获取成品信息")
|
@PostMapping("/getMaterielTypeIsOne")
|
@AuthHandler(type = InterfaceType.SELECT,menuId = MenuEnums.inspectionApplication,isAdd = true)
|
public Result getMaterielTypeIsOne(){
|
return Result.success(inspectionService.getMaterielTypeIsOne());
|
}
|
|
|
@ApiOperation(value = "根据成品获取规格型号")
|
@PostMapping("/getSpecificationByMaterielId")
|
@AuthHandler(type = InterfaceType.SELECT,menuId = MenuEnums.inspectionApplication,isAdd = true)
|
public Result getSpecification(Integer id){
|
return Result.success(inspectionService.getSpecification(id));
|
}
|
}
|