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(