package com.yuanchu.mom.controller;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.yuanchu.mom.pojo.FinishedInspect;
|
import com.yuanchu.mom.pojo.ProcessInspect;
|
import com.yuanchu.mom.pojo.vo.FinishedInspectVo;
|
import com.yuanchu.mom.service.*;
|
import com.yuanchu.mom.utils.JackSonUtil;
|
import com.yuanchu.mom.utils.Jwt;
|
import com.yuanchu.mom.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 java.util.Date;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author 江苏鵷雏网络科技有限公司
|
* @since 2023-08-01
|
*/
|
@Api(tags = "QMS管理-->成品检验")
|
@RestController
|
@RequestMapping("/finished-inspect")
|
public class FinishedInspectController {
|
|
@Autowired
|
private FinishedInspectService finishedInspectService;
|
|
@Autowired
|
private UserService userService;
|
|
@Autowired
|
private SpecificationsService specificationsService;
|
|
@Autowired
|
private MaterialService materialService;
|
|
@Autowired
|
Jwt jwt;
|
|
@ApiOperation(value = "新增成品检验单-->根据订单号选择产品信息和工艺")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "orderNumber", value = "订单编号", dataTypeClass = String.class, required = true)
|
})
|
@GetMapping("/chooseMater")
|
public Result<?> chooseMater(String orderNumber) {
|
return Result.success(finishedInspectService.chooseMater(orderNumber));
|
}
|
|
@ApiOperation(value = "新增成品检验单")
|
@PostMapping("/addFinish")
|
public Result<?> addFinish(@RequestHeader("token") String token, @Validated @RequestBody FinishedInspectVo finishedInspectVo) throws Exception {
|
Map<String, String> data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class);
|
return Result.success(finishedInspectService.addProcessInspectionSheet(data.get("id").replaceAll("\"", ""), finishedInspectVo));
|
}
|
|
|
@ApiOperation(value = "上报(更新检验状态)")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "id", value = "检验单id", dataTypeClass = Integer.class, required = true)
|
})
|
@PostMapping("/updateFinishInspectsById")
|
public Result updateFinishInspectsById(@RequestHeader("token") String token, Integer id) throws Exception {
|
//如果已经上报了不能再一次上报
|
FinishedInspect finishedInspect = finishedInspectService.getById(id);
|
if (ObjectUtils.isNotEmpty(finishedInspect.getResult())) {
|
return Result.fail("已经上报过了,不能再次上报!");
|
}
|
Map<String, String> data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class);
|
return Result.success(finishedInspectService.updateFinishInspectsById(data.get("name").replaceAll("\"", ""), id));
|
}
|
|
@ApiOperation(value = "根据检验单id查询成品检验单详情")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "id", value = "检验单id", dataTypeClass = Integer.class, required = true)
|
})
|
@GetMapping("/selectFinishInspectsListById")
|
public Result selectFinishInspectsListById(Integer id) {
|
return Result.success(finishedInspectService.selectFinishInspectsListById(id));
|
}
|
|
@ApiOperation(value = "分页查询成品检验单列表")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "pageNo", value = "条数/页", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "result", value = "检验结果(为空=全部)", dataTypeClass = Integer.class),
|
@ApiImplicitParam(name = "material", value = "产品名称", dataTypeClass = String.class)
|
})
|
@GetMapping("/list_page")
|
public Result<?> list_page(Integer pageNo, Integer pageSize, Integer result, String material) {
|
IPage<Map<String, Object>> page = finishedInspectService.selectFinishedInspectPage(new Page<Object>(pageNo, pageSize), result, material);
|
Map<String, Object> map = new HashMap<>();
|
map.put("total", page.getTotal());
|
map.put("row", page.getRecords());
|
return Result.success(map);
|
}
|
|
|
}
|