package com.yuanchu.mom.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.pojo.FinishedInspect; import com.yuanchu.mom.pojo.vo.FinishedInspectVo1; 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.List; import java.util.Map; /** *

* 前端控制器 *

* * @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 = "新增过程检验单-->选择设备") @ApiImplicitParams(value = { @ApiImplicitParam(name = "technologyId", value = "关联的工艺路线id", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "father", value = "项目父名称", dataTypeClass = String.class, required = true), @ApiImplicitParam(name = "name", value = "项目名称", dataTypeClass = String.class, required = true) }) @GetMapping("/chooseDev") public Result chooseDev(Integer technologyId, String father, String name) { return Result.success(finishedInspectService.chooseDev(technologyId,father,name)); } @ApiOperation(value = "新增过程检验单") @PostMapping("/addProcess") public Result addProcess(@RequestHeader("token") String token, @RequestBody FinishedInspectVo1 finishedInspectVo1) throws Exception { Map data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class); return Result.success(finishedInspectService.addProcess(data.get("id").replaceAll("\"", ""), finishedInspectVo1)); } @ApiOperation(value = "新增按钮-->1、新增成品检验单") @PostMapping("/add_process_inspection_sheet") public Result addProcessInspectionSheet(@Validated @RequestBody FinishedInspect finishedInspect) { Integer isInsertSuccess = finishedInspectService.addProcessInspectionSheet(finishedInspect); if (isInsertSuccess == 1) { return Result.success("新增成功!", finishedInspect.getId()); } return Result.fail("新增失败!"); } @ApiOperation(value = "新增按钮-->1、新增过程检验单-->1、项目名称下拉框") @GetMapping("/list_material") public Result selectMaterialIdAndNameAndCode() { List> maps = materialService.selectMaterialIdAndNameAndCode(); return Result.success(maps); } @ApiOperation(value = "新增按钮-->3、检验结论") @ApiImplicitParams(value = { @ApiImplicitParam(name = "finishedInspectId", value = "检验单Id", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "result", value = "检验结论", dataTypeClass = Integer.class, required = true), }) @PostMapping("/inspection_conclusion") public Result inspectionConclusion(@RequestHeader("token") String token, Integer finishedInspectId, Integer result) throws Exception { Map data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class); Integer isInsertSuccess = finishedInspectService.inspectionConclusion(data.get("name").replaceAll("\"", ""), finishedInspectId, result); if (isInsertSuccess == 1) { return Result.success("上报成功!"); } return Result.fail("上报失败!"); } @ApiOperation(value = "4、主页分页") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageNo", value = "条数/页", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "inspectResult", value = "检验结果", dataTypeClass = Integer.class), @ApiImplicitParam(name = "inspectDate", value = "检验日期", dataTypeClass = Date.class, dataType = "date"), @ApiImplicitParam(name = "inspectUsername", value = "主机工", dataTypeClass = String.class) }) @GetMapping("/list_page") public Result selectFinishedInspectPage(Integer pageNo, Integer pageSize, Integer inspectResult, String inspectDate, String inspectUsername) { IPage> page = finishedInspectService.selectFinishedInspectPage(new Page(pageNo, pageSize), inspectResult, inspectDate, inspectUsername); Map map = new HashMap<>(); map.put("total", page.getTotal()); map.put("row", page.getRecords()); return Result.success(map); } }