电路试验的驻波比csv报告解析2.0(加报告)+撤销项目还需要判断样品下的项目是不是全部都撤销了,如果都撤销了,样品也需要撤销
已修改11个文件
143 ■■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResult2Mapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductUserMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/utils/DianLuUtils.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsProductResult2Mapper.xml 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsProductUserMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsSampleMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResult2Mapper.java
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.mom.pojo.InsProductResult;
import com.yuanchu.mom.pojo.InsProductResult2;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Administrator
@@ -11,6 +14,8 @@
* @Entity com.yuanchu.mom.pojo.InsProductResult2
*/
public interface InsProductResult2Mapper extends BaseMapper<InsProductResult2> {
    void saveBatch(@Param("result2s") List<InsProductResult2> result2s);
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductUserMapper.java
@@ -2,6 +2,9 @@
import com.yuanchu.mom.pojo.InsProductUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author z1292
@@ -11,6 +14,7 @@
*/
public interface InsProductUserMapper extends BaseMapper<InsProductUser> {
    void saveBatch(@Param("insProductUsers") List<InsProductUser> insProductUsers);
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -60,6 +60,7 @@
    //查询且过滤出有电路试验的样品
    List<InsSample> selectSample(Integer insOrderId);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -355,7 +355,7 @@
                dianLuUtils.readDianLuFile2(sampleId, insOrderFile);
            }
        } catch (Exception e) {
            System.err.println("附件上传错误");
            throw new ErrorException(e.getMessage());
        }
        return 0;
    }
@@ -765,6 +765,8 @@
                .in(InsProductResult2::getInsProductId, insProductResultDtos.getInsProductResult2s().stream().map(InsProductResult2::getInsProductId).distinct().collect(Collectors.toList()))
                .eq(InsProductResult2::getNum, orderState.getNum())
                .eq(InsProductResult2::getFrequency, insProductResultDtos.getFrequency()));
        List<InsProductResult2> result2s = new ArrayList<>();
        List<InsProductUser> insProductUsers = new ArrayList<>();
        for (InsProductResult2 insProductResult2 : insProductResultDtos.getInsProductResult2s()) {
            InsProduct insProduct = new InsProduct();
            insProduct.setId(insProductResult2.getInsProductId());//项目id
@@ -842,10 +844,13 @@
            }
            result2.setCreateUser(userId);
            result2.setUpdateUser(userId);
            insProductResult2Mapper.insert(result2);
            insProduct.setUpdateUser(userId);
            insProductMapper.updateById(insProduct);
            insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
            result2s.add(result2);
            //insProductResult2Mapper.insert(result2);
            //insProduct.setUpdateUser(userId);
            //insProducts.add(insProduct);
            //insProductMapper.updateById(insProduct);
            insProductUsers.add(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
            //insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
            /*更新样品的检验状态*/
            insSample.setInsState(1);
            Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -861,8 +866,10 @@
                //如果所有项目都有结论,那么该样品状态已检
                insSample.setInsState(2);
            }
            insSampleMapper.updateById(insSample);
        }
        insProductResult2Mapper.saveBatch(result2s);
        insProductUserMapper.saveBatch(insProductUsers);
        insSampleMapper.updateById(insSample);
        /*判断该站点的检验项目是否全部已检*/
        int count = insProductMapper.selectInsProductCountByOrderId(insSample.getInsOrderId());
        if (count == 0) {
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java
@@ -99,13 +99,24 @@
            if (insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()).equals(ids)) {
                //如果该检验单下的所有项目全部都撤销,那么这个单子也需要撤销
                insOrder.setState(3);
            } else {
            }
            else {
                List<InsProduct> products = insProductMapper.selectBatchIds(ids);
                //首先根据选择的项目id进行撤销项目
                updateBatchById(products.stream().map(insProduct -> {
                    insProduct.setState(0);
                    return insProduct;
                }).collect(Collectors.toList()));
                //如果该检验单某个样品下的项目全部都撤销了,那么这个样品也需要删掉
                List<Integer> sampleIds = products.stream().map(InsProduct::getInsSampleId).distinct().collect(Collectors.toList());
                for (Integer sampleId : sampleIds) {
                    Long count = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                            .eq(InsProduct::getInsSampleId, sampleId)
                            .eq(InsProduct::getState, 1));
                    if(count<=0){
                        insSampleMapper.deleteById(sampleId);
                    }
                }
            }
            //insProductMapper.updateInspected(id);
        }
inspect-server/src/main/java/com/yuanchu/mom/utils/DianLuUtils.java
@@ -106,14 +106,18 @@
                for (String s : list) {
                    String[] mHzs = s.split("MHz")[0].split("-");
                    //再判断这个频点是否在频段的范围内
                    if (Integer.parseInt(stringListEntry.getKey()) <= Integer.parseInt(mHzs[1]) && Integer.parseInt(stringListEntry.getKey()) >= Integer.parseInt(mHzs[0])) {
                    if (stringListEntry.getKey().equals("700")){
                        insProductResult2.setFrequency("703-803MHz");
                        break;
                    }
                    else if (Integer.parseInt(stringListEntry.getKey()) <= Integer.parseInt(mHzs[1]) && Integer.parseInt(stringListEntry.getKey()) >= Integer.parseInt(mHzs[0])) {
                        insProductResult2.setFrequency(s);
                        break;
                    }
                }
                if (ObjectUtils.isEmpty(insProductResult2.getFrequency())) {
                    throw new ErrorException("没有找到" + stringListEntry.getKey() + "对应的频段");
                }
            }
            if (ObjectUtils.isEmpty(insProductResult2.getFrequency())) {
                throw new ErrorException("没有找到" + stringListEntry.getKey() + "对应的频段信息,请先选择频段信息进行保存");
            }
            insProductResult2s.add(insProductResult2);
        }
@@ -303,8 +307,7 @@
                filteredList.add(result2);
            }
        }
        System.out.println(filteredList);
        //insProductResult2Service.saveBatch(filteredList);
        insProductResult2Service.saveBatch(filteredList);
    }
inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java
@@ -881,8 +881,6 @@
                size++;
            }
        }
    }
inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java
@@ -155,7 +155,7 @@
                if (inspectionItemSubclass.contains("同极化隔离度")) {
                    List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
                            insProductMapper.selectById(insProductResult2.getInsProductId())
                                    .getInspectionItemSubclass().equals("同极化隔离度")
                                    .getInspectionItemSubclass().equals("同极化隔离度") && insProductResult2.getFrequency().equals(s)
                    ).collect(Collectors.toList());
                    int length = result2s.get(0).getPort().split(",").length;
                    aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
@@ -163,7 +163,7 @@
                if (inspectionItemSubclass.contains("异极化隔离度")) {
                    List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
                            insProductMapper.selectById(insProductResult2.getInsProductId())
                                    .getInspectionItemSubclass().equals("异极化隔离度")
                                    .getInspectionItemSubclass().equals("异极化隔离度") && insProductResult2.getFrequency().equals(s)
                    ).collect(Collectors.toList());
                    int length = result2s.get(0).getPort().split(",").length;
                    aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
@@ -180,7 +180,7 @@
                if (inspectionItemSubclass.contains("幅度偏差")) {
                    List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
                            insProductMapper.selectById(insProductResult2.getInsProductId())
                                    .getInspectionItemSubclass().equals("幅度偏差")
                                    .getInspectionItemSubclass().equals("幅度偏差")&& insProductResult2.getFrequency().equals(s)
                    ).collect(Collectors.toList());
                    int length = result2s.get(0).getPort().split(",").length;
                    aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
@@ -188,7 +188,7 @@
                if (inspectionItemSubclass.contains("最大相位偏差")) {
                    List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
                            insProductMapper.selectById(insProductResult2.getInsProductId())
                                    .getInspectionItemSubclass().equals("最大相位偏差")
                                    .getInspectionItemSubclass().equals("最大相位偏差")&& insProductResult2.getFrequency().equals(s)
                    ).collect(Collectors.toList());
                    int length = result2s.get(0).getPort().split(",").length;
                    aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
@@ -963,7 +963,7 @@
                                        }
                                    }
                                }
                                if (inspectionItemSubclass.contains("互调") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= ((ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles + 1) * portRow * often)) {
                            if (inspectionItemSubclass.contains("互调") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= ((ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles + 1) * portRow * often)) {
                                    ff = (int) ((ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles + 1) * portRow * often);
                                    if (itemSet.add("互调")) {
                                        index.getAndIncrement();
@@ -1060,7 +1060,7 @@
                                        cells.add(cellRenderData);
                                    }
                                }
                                if (inspectionItemSubclass.contains("最大耦合度") && i > (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) && i <= ((ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + (angles + 1))) {
                            if (inspectionItemSubclass.contains("最大耦合度") && i > (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) && i <= ((ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + (angles + 1))) {
                                    gg = ((ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + (angles + 1));
                                    if (itemSet.add("最大耦合度")) {
                                        index.getAndIncrement();
@@ -1153,7 +1153,7 @@
                                        cells.add(cellRenderData);
                                    }
                                }
                                if (inspectionItemSubclass.contains("最小耦合度") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) && i <= ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1))) {
                            if (inspectionItemSubclass.contains("最小耦合度") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) && i <= ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1))) {
                                    hh = (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1);
                                    if (itemSet.add("最小耦合度")) {
                                        index.getAndIncrement();
@@ -1246,7 +1246,7 @@
                                        cells.add(cellRenderData);
                                    }
                                }
                                if (inspectionItemSubclass.contains("幅度偏差")) {
                            if (inspectionItemSubclass.contains("幅度偏差")) {
                                    List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("幅度偏差")).collect(Collectors.toList());
                                    List<InsProductResult2> result2s = insProductResult2s.stream()
                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
@@ -1352,7 +1352,7 @@
                                        }
                                    }
                                }
                                if (inspectionItemSubclass.contains("最大相位偏差")) {
                            if (inspectionItemSubclass.contains("最大相位偏差")) {
                                    List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大相位偏差")).collect(Collectors.toList());
                                    List<InsProductResult2> result2s = insProductResult2s.stream()
                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
@@ -2385,7 +2385,7 @@
                    if (inspectionItemSubclass.contains("同极化隔离度")) {
                        List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
                                insProductMapper.selectById(insProductResult2.getInsProductId())
                                        .getInspectionItemSubclass().equals("同极化隔离度")
                                        .getInspectionItemSubclass().equals("同极化隔离度")&& insProductResult2.getFrequency().equals(s)
                        ).collect(Collectors.toList());
                        int length = result2s.get(0).getPort().split(",").length;
                        aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
@@ -2393,7 +2393,7 @@
                    if (inspectionItemSubclass.contains("异极化隔离度")) {
                        List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
                                insProductMapper.selectById(insProductResult2.getInsProductId())
                                        .getInspectionItemSubclass().equals("异极化隔离度")
                                        .getInspectionItemSubclass().equals("异极化隔离度")&& insProductResult2.getFrequency().equals(s)
                        ).collect(Collectors.toList());
                        int length = result2s.get(0).getPort().split(",").length;
                        aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
@@ -2410,7 +2410,7 @@
                    if (inspectionItemSubclass.contains("幅度偏差")) {
                        List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
                                insProductMapper.selectById(insProductResult2.getInsProductId())
                                        .getInspectionItemSubclass().equals("幅度偏差")
                                        .getInspectionItemSubclass().equals("幅度偏差")&& insProductResult2.getFrequency().equals(s)
                        ).collect(Collectors.toList());
                        int length = result2s.get(0).getPort().split(",").length;
                        aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
@@ -2418,7 +2418,7 @@
                    if (inspectionItemSubclass.contains("最大相位偏差")) {
                        List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
                                insProductMapper.selectById(insProductResult2.getInsProductId())
                                        .getInspectionItemSubclass().equals("最大相位偏差")
                                        .getInspectionItemSubclass().equals("最大相位偏差")&& insProductResult2.getFrequency().equals(s)
                        ).collect(Collectors.toList());
                        int length = result2s.get(0).getPort().split(",").length;
                        aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
inspect-server/src/main/resources/mapper/InsProductResult2Mapper.xml
@@ -1,23 +1,38 @@
<?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.InsProductResult2Mapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsProductResult2">
        <id column="id" property="id" />
        <result column="ins_product_id" property="insProductId" />
        <result column="equip_value" property="equipValue" />
        <result column="equip_name" property="equipName" />
        <result column="create_user" property="createUser" />
        <result column="update_user" property="updateUser" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="frequency" property="frequency" />
        <result column="often" property="often" />
        <result column="port" property="port" />
        <result column="angle" property="angle" />
        <result column="value" property="value" />
        <result column="result" property="result" />
        <id column="id" property="id"/>
        <result column="ins_product_id" property="insProductId"/>
        <result column="equip_value" property="equipValue"/>
        <result column="equip_name" property="equipName"/>
        <result column="create_user" property="createUser"/>
        <result column="update_user" property="updateUser"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="frequency" property="frequency"/>
        <result column="often" property="often"/>
        <result column="port" property="port"/>
        <result column="angle" property="angle"/>
        <result column="value" property="value"/>
        <result column="result" property="result"/>
    </resultMap>
    <insert id="saveBatch">
        INSERT INTO ins_product_result_2 (ins_product_id, equip_value, equip_name,
        frequency, port, angle, value, result, often, num)
        VALUES
        <foreach collection="result2s" item="result2" separator=",">
            ( #{result2.insProductId},
             #{result2.equipValue},
             #{result2.equipName},
             #{result2.frequency},
             #{result2.port},
             #{result2.angle},
             #{result2.value},
             #{result2.result},
             #{result2.often},
             #{result2.num})
        </foreach>
    </insert>
</mapper>
inspect-server/src/main/resources/mapper/InsProductUserMapper.xml
@@ -15,4 +15,14 @@
        id,create_user,create_time,
        ins_product_id
    </sql>
    <insert id="saveBatch">
        INSERT INTO ins_product_user (create_user, create_time, ins_product_id)
        VALUES
        <foreach collection="insProductUsers" item="insProductUser" separator=",">
            ( #{insProductUser.createUser},
            #{insProductUser.createTime},
            #{insProductUser.insProductId}
            )
        </foreach>
    </insert>
</mapper>
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -23,7 +23,6 @@
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
    <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
        select * from(
        select * from(