inspect-server/src/main/java/com/yuanchu/mom/controller/RawInspectController.java
@@ -38,7 +38,7 @@ @PostMapping("/addRawInspects") public Result addRawInspects(@RequestHeader("token") String token, @RequestBody RawInspectVo rawInspectVo) throws Exception { Map<String, String> data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class); return Result.success(rawInspectService.addRawInspects(data.get("name").replaceAll("\"", ""), rawInspectVo)); return Result.success(rawInspectService.addRawInspects(data.get("id").replaceAll("\"", ""), rawInspectVo)); } @ApiOperation(value = "分页查询原材料检验单列表") @@ -82,9 +82,23 @@ return Result.success(rawInspectService.updateRawInspectsById(id)); } @ApiOperation(value = "删除") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "原材料检验单id", dataTypeClass = Integer.class, required = true) }) @PostMapping("/delRawInsById") public Result delRawInsById(Integer id) { rawInspectService.delRawInsById(id); return Result.success("删除" + id + "成功!"); } @ApiOperation(value = "批量删除") @ApiImplicitParams(value = { @ApiImplicitParam(name = "ids", value = "原材料检验单id", dataTypeClass = String.class, required = true) }) @PostMapping("/delAllRawIns") public Result delAllRawIns(String ids) { rawInspectService.delAllRawIns(ids); return Result.success("批量删除成功!"); } } inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java
@@ -17,5 +17,11 @@ //查询成品检验中不合格品检验单列表 IPage<Map<String, Object>> selectInsList(Page<Object> page, String formTime, Integer dealState); //根据原材料检验单id删除原材料不合格品 void updaRawIns(Integer id); //根据原材料检验单id批量删除原材料不合格品 void delAllRawIns(String ids); } inspect-server/src/main/java/com/yuanchu/mom/mapper/RawInsProductMapper.java
@@ -18,5 +18,11 @@ //根据原材料检验单id查询检验项目 List<Integer> getresult(Integer id); //根据原材料检验单id删除 void updaRawInsById(Integer id); //根据原材料检验单id批量删除原材料检验项目 void delAllRawIns(String ids); } inspect-server/src/main/java/com/yuanchu/mom/mapper/RawInspectMapper.java
@@ -28,6 +28,9 @@ //根据原材料检验单id查看详情 List<Map<String, Object>> selectRawInspectsListById(Integer id); //根据原材料检验单id批量删除 void delAllRawIns(String ids); } inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectUnaccepted.java
@@ -60,7 +60,6 @@ private Date dealTime; @ApiModelProperty(value = "逻辑删除 正常>=1,删除<=0", hidden = true) @TableLogic(value = "1", delval = "0") private Integer state; inspect-server/src/main/java/com/yuanchu/mom/pojo/RawInsProduct.java
@@ -63,7 +63,6 @@ private Integer testState; @ApiModelProperty(value = "逻辑删除 正常>=1,删除<=0", hidden = true) @TableLogic(value = "1", delval = "0") private Integer state; @TableField(fill = FieldFill.INSERT) inspect-server/src/main/java/com/yuanchu/mom/pojo/RawInspect.java
@@ -82,7 +82,6 @@ private String userName; @ApiModelProperty(value = "逻辑删除 正常>=1,删除<=0", hidden = true) @TableLogic(value = "1", delval = "0") private Integer state; /** inspect-server/src/main/java/com/yuanchu/mom/pojo/vo/RawInsProductVo.java
@@ -40,4 +40,14 @@ @JsonSerialize private String internal; /** * 检测值 */ private String testValue; /** * 设备id */ private Integer deviceId; } inspect-server/src/main/java/com/yuanchu/mom/service/RawInspectService.java
@@ -18,10 +18,10 @@ /** * 新增原材料检验单 * @param userName * @param userId * @param rawInspectVo */ String addRawInspects(String userName, RawInspectVo rawInspectVo); String addRawInspects(String userId, RawInspectVo rawInspectVo); /** * 分页查询原材料检验单列表 @@ -47,7 +47,15 @@ */ String updateRawInspectsById(Integer id); /** * 根据原材料检验单id删除 * @param id */ void delRawInsById(Integer id); /** * 批量删除 * @param ids */ void delAllRawIns(String ids); } inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java
@@ -1,18 +1,16 @@ package com.yuanchu.mom.service.impl; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.mapper.RawInsProductMapper; import com.yuanchu.mom.mapper.RawInspectMapper; import com.yuanchu.mom.pojo.RawInsProduct; import com.yuanchu.mom.pojo.RawInspect; import com.yuanchu.mom.service.RawInsProductService; import com.yuanchu.mom.utils.MyUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -59,7 +57,6 @@ /*更新原材料检验单*/ RawInspect rawInspect = new RawInspect(); rawInspect.setId(rawInsProduct.getRawInspectId()); rawInspect.setInsState(2); rawInspectMapper.updateById(rawInspect); } inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java
@@ -42,6 +42,60 @@ @Resource InspectUnacceptedMapper inspectUnacceptedMapper; @Resource UserMapper userMapper; //新增原材料检验单 @Override @Transactional(rollbackFor = Exception.class) public String addRawInspects(String userId, RawInspectVo rawInspectVo) { //报检人(新增检验单的人) rawInspectVo.setUserName(userMapper.selectById(userId).getName()); //校验标准值,内控值格式 List<RawInsProductVo> rawInsProductVos = rawInspectVo.getRawInsProducts(); for (RawInsProductVo rawInsProductVo : rawInsProductVos) { char internal = rawInsProductVo.getInternal().charAt(0); char required = rawInsProductVo.getRequired().charAt(0); if (internal != '>' && internal != '<' && internal != '=') { return "内控值输入格式有问题!"; } if (required != '>' && required != '<' && required != '=') { return "标准值输入格式有问题!"; } } /*新增原材料检验单*/ RawInspect rawInspect = new RawInspect(); BeanUtils.copyProperties(rawInspectVo, rawInspect); rawInspectMapper.insert(rawInspect); /*新增原材料检验项目单*/ List<RawInsProduct> rawInsProductList = rawInsProductVos.stream().map(rawInsProVo -> { RawInsProduct rawInsProduct = new RawInsProduct(); BeanUtils.copyProperties(rawInsProVo, rawInsProduct); if (ObjectUtils.isNotEmpty(rawInsProduct.getTestValue())) { //判断检测值是否满足标准值和内控值的要求,如果不满足则检验结论为不合格0 String required = rawInsProduct.getRequired();//标准值 String internal = rawInsProduct.getInternal();//内控值 String testValue = rawInsProduct.getTestValue();//检测值 List<Integer> list = Arrays.stream(testValue.split(",")).map(s -> { int values = checkValues(required, internal, s); return values; }).collect(Collectors.toList()); if (list.contains(0)) { //如果其中一个检验值不合格则该项目检验不合格 rawInsProduct.setTestState(0); } else { rawInsProduct.setTestState(1); } rawInsProduct.setUserId(Integer.parseInt(userId)); } rawInsProduct.setRawInspectId(rawInspect.getId()); return rawInsProduct; }).collect(Collectors.toList()); //检验项目批量添加 rawInsProductService.saveBatch(rawInsProductList); return "新增检验单成功!"; } //分页查询原材料检验单列表 @Override @@ -71,6 +125,7 @@ RawInspect rawInspect = new RawInspect(); rawInspect.setId(id); rawInspect.setInsState(1); rawInspect.setInsTime(new Date()); //如果检验项目中的结论包含不合格则检验单不合格 if (results.contains(0)) { rawInspect.setJudgeState(0); @@ -92,39 +147,80 @@ return "上报成功!"; } //新增原材料检验单 //根据原材料检验单id删除 @Override @Transactional(rollbackFor = Exception.class) public String addRawInspects(String userName, RawInspectVo rawInspectVo) { //报检人(新增检验单的人) rawInspectVo.setUserName(userName); //校验标准值,内控值格式 List<RawInsProductVo> rawInsProductVos = rawInspectVo.getRawInsProducts(); for (RawInsProductVo rawInsProductVo : rawInsProductVos) { char internal = rawInsProductVo.getInternal().charAt(0); char required = rawInsProductVo.getRequired().charAt(0); if (internal != '>' && internal != '<' && internal != '=') { if (required != '>' && required != '<' && required != '=') { return "标准值输入格式有问题!"; } return "内控值输入格式有问题!"; } } /*新增原材料检验单*/ public void delRawInsById(Integer id) { /*删除原材料检验单*/ RawInspect rawInspect = new RawInspect(); BeanUtils.copyProperties(rawInspectVo, rawInspect); rawInspectMapper.insert(rawInspect); /*新增原材料检验项目单*/ List<RawInsProduct> rawInsProductList = rawInsProductVos.stream().map(rawInsProVo -> { RawInsProduct rawInsProduct = new RawInsProduct(); BeanUtils.copyProperties(rawInsProVo, rawInsProduct); rawInsProduct.setRawInspectId(rawInspect.getId()); return rawInsProduct; }).collect(Collectors.toList()); //检验项目批量添加 rawInsProductService.saveBatch(rawInsProductList); return "新增检验单成功!"; rawInspect.setId(id); rawInspect.setState(0); rawInspectMapper.updateById(rawInspect); /*删除原材料检验项目表*/ rawInsProductMapper.updaRawInsById(id); /*删除原材料不合格单*/ inspectUnacceptedMapper.updaRawIns(id); } //批量删除 @Override @Transactional(rollbackFor = Exception.class) public void delAllRawIns(String ids) { /*批量删除原材料检验单*/ rawInspectMapper.delAllRawIns(ids); /*批量删除原材料检验项目表*/ rawInsProductMapper.delAllRawIns(ids); /*批量删除原材料不合格单*/ inspectUnacceptedMapper.delAllRawIns(ids); } /*判断检测值是否满足标准值和内控值的要求,如果不满足则检验结论为不合格*/ private int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) { boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr); boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr); if (isStandardValueSatisfied && isControlValueSatisfied) { return 1; } else { return 0; } } private boolean isValueSatisfied(String valueStr, String detectionValueStr) { String substring = valueStr.substring(1, 2); if (substring.equals("=")) { String operator = valueStr.substring(0, 2); Double standardValue = Double.parseDouble(valueStr.substring(2)); Double detectionValue = Double.parseDouble(detectionValueStr); switch (operator) { case ">=": return detectionValue >= standardValue; case "<=": return detectionValue <= standardValue; default: return false; } } else { String operator = valueStr.substring(0, 1); Double standardValue = Double.parseDouble(valueStr.substring(1)); Double detectionValue = Double.parseDouble(detectionValueStr); switch (operator) { case ">": return detectionValue > standardValue; case "≥": return detectionValue >= standardValue; case "≤": return detectionValue <= standardValue; case "<": return detectionValue < standardValue; case "=": return detectionValue.equals(standardValue); default: return false; } } } } inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml
@@ -1,6 +1,21 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.yuanchu.mom.mapper.InspectUnacceptedMapper"> <!--根据原材料检验单id删除原材料不合格品--> <update id="updaRawIns"> update mom_ocean.inspect_unaccepted set state=0 where raw_inspect_id = #{id} and type = 0 </update> <!--根据原材料检验单id批量删除原材料不合格品--> <update id="delAllRawIns"> update mom_ocean.inspect_unaccepted set state=0 where raw_inspect_id in (${ids}) and type = 0 </update> <select id="selectUnRawInspectsList" resultType="java.util.Map"> select ru.id, DATE_FORMAT(form_time, '%Y-%m-%d') '来料日期', inspect-server/src/main/resources/mapper/RawInsProductMapper.xml
@@ -1,6 +1,18 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.yuanchu.mom.mapper.RawInsProductMapper"> <!--根据原材料检验单id删除--> <update id="updaRawInsById"> update mom_ocean.raw_ins_product set state=0 where raw_inspect_id = #{id} </update> <!--根据原材料检验单id批量删除原材料检验项目--> <update id="delAllRawIns"> update mom_ocean.raw_ins_product set state=0 where raw_inspect_id in (${ids}) </update> <!--根据原材料检验单id查询检验项目--> <select id="getresult" resultType="java.lang.Integer"> select test_state inspect-server/src/main/resources/mapper/RawInspectMapper.xml
@@ -3,6 +3,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.mom.mapper.RawInspectMapper"> <!--根据原材料检验单id批量删除--> <update id="delAllRawIns"> update mom_ocean.raw_inspect set state=0 where id in (${ids}) </update> <select id="selCountRaw" resultType="java.lang.Integer"> select count(id) from mom_ocean.raw_inspect