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.RawInspect; import com.yuanchu.mom.pojo.vo.RawInsProductVo; import com.yuanchu.mom.pojo.vo.RawInspectVo; 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.*; import org.json.JSONException; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @RestController @RequestMapping("/rawInspect") @Api(tags = "QMS管理-->原材料检验") public class RawInspectController { @Autowired RawInspectService rawInspectService; @Resource Jwt jwt; @ApiOperation(value = "新增原材料检验单") @PostMapping("/addRawInspects") public Result addRawInspects(@RequestHeader("token") String token,@Validated @RequestBody RawInspectVo rawInspectVo) throws Exception { Map data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class); return Result.success("提交成功!",rawInspectService.addRawInspects(data.get("id").replaceAll("\"", ""), rawInspectVo)); } @ApiOperation(value = "分页查询原材料检验单列表") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "formTime", value = "来料日期", dataTypeClass = String.class), @ApiImplicitParam(name = "code", value = "原材料编码", dataTypeClass = String.class), @ApiImplicitParam(name = "insState", value = "检测状态(为空=全部)", dataTypeClass = Integer.class), @ApiImplicitParam(name = "name", value = "原材料名称", dataTypeClass = String.class) }) @GetMapping("/selectRawInspectsList") public Result selectRawInspectsList(Integer pageSize, Integer countSize, String formTime, String code, Integer insState, String name) { IPage> page = rawInspectService.selectRawInspectsList(new Page(pageSize, countSize), formTime, code, insState, name); Map map = new HashMap<>(); map.put("total", page.getTotal()); map.put("row", page.getRecords()); return Result.success(map); } @ApiOperation(value = "根据检验单id查询原材料检验单详情") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "检验单id", dataTypeClass = Integer.class, required = true) }) @GetMapping("/selectRawInspectsListById/{id}") public Result selectRawInspectsListById(@PathVariable Integer id) { return Result.success(rawInspectService.selectRawInspectsListById(id)); } @ApiOperation(value = "上报(更新检验状态)") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "检验单id", dataTypeClass = Integer.class, required = true) }) @PostMapping("/updateRawInspectsById/{id}") public Result updateRawInspectsById(@PathVariable Integer id) { //如果已经上报了不能再一次上报 RawInspect rawInspect = rawInspectService.getById(id); if (rawInspect.getInsState() == 1) { return Result.fail("已经上报过了,不能再次上报!"); } return Result.success(rawInspectService.updateRawInspectsById(id)); } }