zss
2023-09-04 5fb14bb0d28210f69c07021441b2cdd76aa46fe5
原材料检验修改9-4 3.0
已修改14个文件
264 ■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/controller/RawInspectController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/RawInsProductMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/RawInspectMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectUnaccepted.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/RawInsProduct.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/RawInspect.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/vo/RawInsProductVo.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/RawInspectService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java 156 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/RawInsProductMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/RawInspectMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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