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; /** *

* 前端控制器 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2023-08-01 */ @Api(tags = "QMS管理-->成品检验") @RestController @RequestMapping("/finished-inspect") public class FinishedInspectController { @Autowired private FinishedInspectService finishedInspectService; @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 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), @ApiImplicitParam(name = "number", value = "不合格数量", dataTypeClass = Integer.class) }) @PostMapping("/updateFinishInspectsById") public Result updateFinishInspectsById(@RequestHeader("token") String token, Integer id,Integer number) throws Exception { //如果已经上报了不能再一次上报 FinishedInspect finishedInspect = finishedInspectService.getById(id); if (ObjectUtils.isNotEmpty(finishedInspect.getResult())) { return Result.fail("已经上报过了,不能再次上报!"); } Map data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class); return Result.success(finishedInspectService.updateFinishInspectsById(data.get("name").replaceAll("\"", ""), id,number)); } @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 = "countSize", 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 pageSize, Integer countSize, Integer result, String material) { IPage> page = finishedInspectService.selectFinishedInspectPage(new Page(pageSize, countSize), result, material); Map map = new HashMap<>(); map.put("total", page.getTotal()); map.put("row", page.getRecords()); return Result.success(map); } }