From 0e2e829f10a5e5b239d6583d6be3afbcaed0dcc0 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 31 七月 2024 17:58:30 +0800
Subject: [PATCH] PK8000处理调试+各种bug调试优化

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java |    5 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java                      |    2 
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                                   |    6 
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                                  |   58 --
 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java                    |    1 
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java               |  659 +++++++++++++++++++++++-----------------
 inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java                       |    2 
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java        |    5 
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java            |  173 +++++++---
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java           |    4 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java                 |    2 
 11 files changed, 526 insertions(+), 391 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
index af19300..3b65002 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -283,6 +283,7 @@
 
     @ApiOperation(value = "娓╁害寰幆鏁伴噰鎬讳綋")
     @PostMapping("/temDataAcquisition2")
+    @ValueAuth
     public Result<?> temDataAcquisition2(@RequestBody PkMaster pkMaster) {
         return Result.success(pkMasterService.temDataAcquisition2(pkMaster));
     }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java
index abd6f47..9bd92be 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java
@@ -23,6 +23,7 @@
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -76,13 +77,362 @@
                 .eq(PkMaster::getSampleCode, pkMaster.getSampleCode())
                 .eq(PkMaster::getModel, pkMaster.getModel())
                 .eq(PkMaster::getTemperature, pkMaster.getTemperature()));
-        if (ObjectUtils.isEmpty(master)) {
-            throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode() + "鐨勬暟閲囨暟鎹�");
+        if (ObjectUtils.isNotEmpty(master)) {
+            //throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode() + "鐨勬暟閲囨暟鎹�");
+            List<PkSlave> pkSlaves = pkSlaveMapper.selectList1(master.getIsid());
+            if (CollectionUtils.isEmpty(pkSlaves)) {
+                throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode() + "鐨勬暟閲囧瓙鏁版嵁");
+            }
+            //鏌ヨ瀵瑰簲鐨勬楠屽崟琛�
+            InsOrder insOrder = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getState, 1).eq(InsOrder::getEntrustCode, pkMaster.getEntrustCode()));
+            if (ObjectUtils.isEmpty(insOrder)) {
+                throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode());
+            }
+            //鏌ヨ瀵瑰簲妫�楠屾牱鍝乮d
+            InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
+                    .eq(InsSample::getInsOrderId, insOrder.getId())
+                    .eq(InsSample::getSampleCode, pkMaster.getSampleCode())
+                    .eq(InsSample::getModel, pkMaster.getModel()));
+            if (ObjectUtils.isEmpty(insSample)) {
+                throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅鐨勮鏍峰搧" + pkMaster.getSampleCode());
+            }
+            //鏌ヨ瀵瑰簲妫�楠岄」鐩�
+            Map<String, Object> map = insOrderPlanService.temCycle(insSample.getId(), pkMaster.getCycles(), pkMaster.getTemperature());
+            List<ProductVo> productVos = (List<ProductVo>) map.get("productVos");
+            if (CollectionUtils.isNotEmpty(productVos)) {
+                //todo 濡傛灉娓╁害寰幆鐨勯」鐩畁m鏈夋敼鍔ㄨ繖閲岄渶瑕佹敼鍔� @zss
+                for (PkSlave pkSlave : pkSlaves) {
+                    for (ProductVo productVo : productVos) {
+                        if (pkSlave.getInsBushingId().equals(productVo.getBushColor()) &&
+                                pkSlave.getInsFibersId().equals(productVo.getCode()) &&
+                                pkSlave.getInsFiberId().equals(productVo.getColor())) {
+                            //鎵惧埌瀵瑰簲鐨勬暟鎹�(瀵瑰簲濂楃鍏夌氦鐨勬暟鎹�)
+                            List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, productVo.getInsProduct().getId()));
+                            InsProductResult result;
+                            if (CollectionUtils.isEmpty(results)) {
+                                result = new InsProductResult();
+                            } else {
+                                result = results.get(0);
+                            }
+                            result.setInsProductId(productVo.getInsProduct().getId());//妫�楠岄」鐩甶d
+                            List<Map<String, Object>> iv = new ArrayList<>();
+                            List<Map<String, Object>> cv = new ArrayList<>();
+                            if (productVo.getInsProduct().getInspectionItemClass().equals("1310nm")) {
+                                //1310nm澶栫
+                                Map<String, Object> map1 = new HashMap<>();
+                                map1.put("u", userId + "");
+                                map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) ? pkSlave.getWeaken1310A().toString() : null);
+                                iv.add(map1);
+                                //1310nm鍐呯
+                                Map<String, Object> map2 = new HashMap<>();
+                                map2.put("u", userId + "");
+                                map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B()) ? pkSlave.getWeaken1310B().toString() : null);
+                                iv.add(map2);
+                                //1310nm琛板噺绯绘暟
+                                Map<String, Object> map3 = new HashMap<>();
+                                double v = 0.0;
+                                if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B())) {
+                                    v = (pkSlave.getWeaken1310A() + pkSlave.getWeaken1310B()) / 2;
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1310B())) {
+                                    v = pkSlave.getWeaken1310A();
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1310A())) {
+                                    v = pkSlave.getWeaken1310B();
+                                } else {
+                                    throw new ErrorException("1310鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+                                }
+                                BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+                                map3.put("v", String.valueOf(decimal));
+                                cv.add(map3);
+                            } else if (productVo.getInsProduct().getInspectionItemClass().equals("1550nm")) {
+                                //1550nm澶栫
+                                Map<String, Object> map1 = new HashMap<>();
+                                map1.put("u", userId + "");
+                                map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) ? pkSlave.getWeaken1550A().toString() : null);
+                                iv.add(map1);
+                                //1550nm鍐呯
+                                Map<String, Object> map2 = new HashMap<>();
+                                map2.put("u", userId + "");
+                                map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B()) ? pkSlave.getWeaken1550B().toString() : null);
+                                iv.add(map2);
+                                //1550nm琛板噺绯绘暟
+                                Map<String, Object> map3 = new HashMap<>();
+                                double v = 0.0;
+                                if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B())) {
+                                    v = (pkSlave.getWeaken1550A() + pkSlave.getWeaken1550B()) / 2;
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1550B())) {
+                                    v = pkSlave.getWeaken1550A();
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1550A())) {
+                                    v = pkSlave.getWeaken1550B();
+                                } else {
+                                    throw new ErrorException("1550鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+                                }
+                                BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+                                map3.put("v", String.valueOf(decimal));
+                                cv.add(map3);
+                            } else if (productVo.getInsProduct().getInspectionItemClass().equals("1625nm")) {
+                                //1625nm澶栫
+                                Map<String, Object> map1 = new HashMap<>();
+                                map1.put("u", userId + "");
+                                map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) ? pkSlave.getWeaken1625A().toString() : null);
+                                iv.add(map1);
+                                //1625nm鍐呯
+                                Map<String, Object> map2 = new HashMap<>();
+                                map2.put("u", userId + "");
+                                map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B()) ? pkSlave.getWeaken1625B().toString() : null);
+                                iv.add(map2);
+                                //1625nm琛板噺绯绘暟
+                                Map<String, Object> map3 = new HashMap<>();
+                                double v = 0.0;
+                                if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B())) {
+                                    v = (pkSlave.getWeaken1625A() + pkSlave.getWeaken1625B()) / 2;
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1625B())) {
+                                    v = pkSlave.getWeaken1625A();
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1625A())) {
+                                    v = pkSlave.getWeaken1625B();
+                                } else {
+                                    throw new ErrorException("1625鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+                                }
+                                BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+                                map3.put("v", String.valueOf(decimal));
+                                cv.add(map3);
+                            } else if (productVo.getInsProduct().getInspectionItemClass().equals("1383nm")) {
+                                //1383nm澶栫
+                                Map<String, Object> map1 = new HashMap<>();
+                                map1.put("u", userId + "");
+                                map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) ? pkSlave.getWeaken1383A().toString() : null);
+                                iv.add(map1);
+                                //1383nm鍐呯
+                                Map<String, Object> map2 = new HashMap<>();
+                                map2.put("u", userId + "");
+                                map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B()) ? pkSlave.getWeaken1383B().toString() : null);
+                                iv.add(map2);
+                                //1383nm琛板噺绯绘暟
+                                Map<String, Object> map3 = new HashMap<>();
+                                double v = 0.0;
+                                if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B())) {
+                                    v = (pkSlave.getWeaken1383A() + pkSlave.getWeaken1310B()) / 2;
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1383B())) {
+                                    v = pkSlave.getWeaken1383A();
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1383A())) {
+                                    v = pkSlave.getWeaken1383B();
+                                } else {
+                                    throw new ErrorException("1383鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+                                }
+                                BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+                                map3.put("v", String.valueOf(decimal));
+                                cv.add(map3);
+                            } else if (productVo.getInsProduct().getInspectionItemClass().equals("1490nm")) {
+                                //1490nm澶栫
+                                Map<String, Object> map1 = new HashMap<>();
+                                map1.put("u", userId + "");
+                                map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) ? pkSlave.getWeaken1490A().toString() : null);
+                                iv.add(map1);
+                                //1490nm鍐呯
+                                Map<String, Object> map2 = new HashMap<>();
+                                map2.put("u", userId + "");
+                                map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B()) ? pkSlave.getWeaken1490B().toString() : null);
+                                iv.add(map2);
+                                //1490nm琛板噺绯绘暟
+                                Map<String, Object> map3 = new HashMap<>();
+                                double v = 0.0;
+                                if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B())) {
+                                    v = (pkSlave.getWeaken1490A() + pkSlave.getWeaken1310B()) / 2;
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1490B())) {
+                                    v = pkSlave.getWeaken1490A();
+                                } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1490A())) {
+                                    v = pkSlave.getWeaken1490B();
+                                } else {
+                                    throw new ErrorException("1490鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+                                }
+                                BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+                                map3.put("v", String.valueOf(decimal));
+                                cv.add(map3);
+                            } else {
+                                throw new ErrorException("娌℃湁鎵惧埌璇ユ俯搴︾殑妫�楠岄」鐩�" + productVo.getInsProduct().getInspectionItemClass());
+                            }
+                            result.setInsValue(JSON.toJSONString(iv));//妫�楠屽��
+                            result.setComValue(JSON.toJSONString(cv));//璁$畻鍊�
+                            if (BeanUtil.isEmpty(result.getId())) {
+                                result.setCreateUser(userId);
+                                result.setUpdateUser(userId);
+                                insProductResultMapper.insert(result);
+                            } else {
+                                result.setUpdateUser(userId);
+                                result.setUpdateTime(LocalDateTime.now());
+                                insProductResultMapper.updateById(result);
+                            }
+
+                            InsProduct insProduct = productVo.getInsProduct();
+                            InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+                            String comple = insProductResult.getComValue().split(":")[1].split("\"")[1];
+                            //棣栧厛鏌ョ湅娓╁害鏄惁鏄�20搴﹀父娓�
+                            if (!pkMaster.getTemperature().equals("20鈩�(甯告俯)")) {
+                                //濡傛灉涓嶆槸鍏堟煡璇㈡槸鍚︽湁鍊�
+                                int a = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                                        .eq(InsProduct::getInsSampleId, insSample.getId())
+                                        .eq(InsProduct::getInspectionItem, "1")
+                                        .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")).stream().map(InsProduct::getInsResult).anyMatch(ObjectUtils::isEmpty) ? 1 : 0;
+                                if (a == 1) {
+                                    throw new ErrorException("鍏堣幏鍙�20鈩�(甯告俯)鐨勬楠屽��,鍐嶈幏鍙栧叾浠栨俯搴�" + pkMaster.getSampleCode());
+                                } else {
+                                    //璁$畻琛板噺宸�
+                                    InsProduct insPro = null;
+                                    switch (insProduct.getInspectionItemClass()) {
+                                        case "1310nm":
+                                            //鏌ヨ20鈩�(甯告俯)1310nm鐨勮“鍑忕郴鏁�
+                                            try {
+                                                insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                                        .eq(InsProduct::getInsSampleId, insSample.getId())
+                                                        .eq(InsProduct::getInspectionItem, "1")
+                                                        .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+                                                        .eq(InsProduct::getInspectionItemClass, "1310nm")
+                                                        .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+                                            } catch (Exception e) {
+                                                throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1310nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+                                            }
+                                            break;
+                                        case "1550nm":
+                                            //鏌ヨ20鈩�(甯告俯)1550nm鐨勮“鍑忕郴鏁�
+                                            try {
+                                                insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                                        .eq(InsProduct::getInsSampleId, insSample.getId())
+                                                        .eq(InsProduct::getInspectionItem, "1")
+                                                        .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+                                                        .eq(InsProduct::getInspectionItemClass, "1550nm")
+                                                        .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+                                            } catch (Exception e) {
+                                                throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1625nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+                                            }
+                                            break;
+                                        case "1625nm":
+                                            //鏌ヨ20鈩�(甯告俯)1625nm鐨勮“鍑忕郴鏁�
+                                            try {
+                                                insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                                        .eq(InsProduct::getInsSampleId, insSample.getId())
+                                                        .eq(InsProduct::getInspectionItem, "1")
+                                                        .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+                                                        .eq(InsProduct::getInspectionItemClass, "1625nm")
+                                                        .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+                                            } catch (Exception e) {
+                                                throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1625nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+                                            }
+                                            break;
+                                        case "1383nm":
+                                            //鏌ヨ20鈩�(甯告俯)1383nm鐨勮“鍑忕郴鏁�
+                                            try {
+                                                insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                                        .eq(InsProduct::getInsSampleId, insSample.getId())
+                                                        .eq(InsProduct::getInspectionItem, "1")
+                                                        .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+                                                        .eq(InsProduct::getInspectionItemClass, "1383nm")
+                                                        .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+                                            } catch (Exception e) {
+                                                throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1383nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+                                            }
+                                            break;
+                                        case "1490nm":
+                                            //鏌ヨ20鈩�(甯告俯)1490nm鐨勮“鍑忕郴鏁�
+                                            try {
+                                                insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                                        .eq(InsProduct::getInsSampleId, insSample.getId())
+                                                        .eq(InsProduct::getInspectionItem, "1")
+                                                        .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+                                                        .eq(InsProduct::getInspectionItemClass, "1490nm")
+                                                        .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+                                            } catch (Exception e) {
+                                                throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1490nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+                                            }
+                                            break;
+                                    }
+                                    InsProductResult insProductRes = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId()));
+                                    double abs = Math.abs(Double.parseDouble(insProductRes.getComValue().split(":")[1].split("\"")[1]) - Double.parseDouble(comple));
+                                    BigDecimal scale = BigDecimal.valueOf(abs).setScale(3, RoundingMode.HALF_UP);
+                                    insProduct.setLastValue(String.valueOf(scale));
+                                    String ask = insProduct.getAsk();
+                                    int insResult = 1;
+                                    switch (ask.charAt(0)) {
+                                        case '<':
+                                            insResult = Double.parseDouble(insProduct.getLastValue()) < Double.parseDouble(ask.substring(1)) ? 1 : 0;
+                                            break;
+                                        case '>':
+                                            insResult = Double.parseDouble(insProduct.getLastValue()) > Double.parseDouble(ask.substring(1)) ? 1 : 0;
+                                            break;
+                                        case '=':
+                                            insResult = Double.parseDouble(insProduct.getLastValue()) == Double.parseDouble(ask.substring(1)) ? 1 : 0;
+                                            break;
+                                        case '鈮�':
+                                            insResult = Double.parseDouble(insProduct.getLastValue()) <= Double.parseDouble(ask.substring(1)) ? 1 : 0;
+                                            break;
+                                        case '鈮�':
+                                            insResult = Double.parseDouble(insProduct.getLastValue()) >= Double.parseDouble(ask.substring(1)) ? 1 : 0;
+                                            break;
+                                    }
+                                    insProduct.setInsResult(insResult);
+                                }
+                            } else {
+                                //濡傛灉鏄�20搴﹀父娓�,闇�瑕佺粰鍑哄悎鏍肩殑缁撹
+                                insProduct.setInsResult(1);//20搴﹀父娓╃殑妫�楠岄」榛樿涓哄悎鏍�
+                            }
+                            insProduct.setUpdateUser(userId);
+                            insProductMapper.updateById(insProduct);
+                            User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, master.getDetectionPeople()));
+                            if (ObjectUtils.isEmpty(user)) {
+                                throw new ErrorException("lims绯荤粺娌℃湁鎵惧埌璇ョ敤鎴�" + master.getDetectionPeople());
+                            }
+                            insProductUserMapper.insert(new InsProductUser(null, user.getId(), master.getDetectionDate(), insProduct.getId()));
+                        }
+                    }
+                }
+            }
+            //缁欐俯搴﹀惊鐜殑妫�楠岄」鐩粦瀹氳澶�
+            InsProduct product = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                    .eq(InsProduct::getState, 1)
+                    .eq(InsProduct::getInsSampleId, insSample.getId())
+                    .eq(InsProduct::getInspectionItem, "娓╁害寰幆"));
+            if (ObjectUtils.isEmpty(product)) {
+                throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅璇ユ牱鍝佺殑鐩稿叧娓╁害寰幆妫�楠岄」鐩�");
+            }
+            InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, product.getId()));
+            if (ObjectUtils.isEmpty(insProductResult)) {
+                insProductResult = new InsProductResult();
+                insProductResult.setInsProductId(product.getId());
+            }
+            if (ObjectUtils.isEmpty(insProductResult.getEquipValue())) {
+                List<Map<String, Object>> dv = new ArrayList<>();
+                Map<String, Object> map4 = new HashMap<>();
+                map4.put("v", "JCZX-TX-TT02006");
+                dv.add(map4);
+                Map<String, Object> map5 = new HashMap<>();
+                map5.put("v", "JCZX-TX-TT02001");
+                dv.add(map5);
+                insProductResult.setEquipValue(JSON.toJSONString(dv));
+                List<Map<String, Object>> dn = new ArrayList<>();
+                Map<String, Object> map6 = new HashMap<>();
+                map6.put("v", "姝ュ叆寮忛珮浣庢俯婀跨儹璇曢獙绠�");
+                dn.add(map6);
+                Map<String, Object> map7 = new HashMap<>();
+                map7.put("v", "姝ュ叆寮忛珮浣庢俯璇曢獙绠�");
+                dn.add(map7);
+                insProductResult.setEquipName(JSON.toJSONString(dn));
+                if (BeanUtil.isEmpty(insProductResult.getId())) {
+                    insProductResult.setCreateUser(userId);
+                    insProductResult.setUpdateUser(userId);
+                    insProductResultMapper.insert(insProductResult);
+                } else {
+                    insProductResult.setUpdateUser(userId);
+                    insProductResult.setUpdateTime(LocalDateTime.now());
+                    insProductResultMapper.updateById(insProductResult);
+                }
+            }
         }
-        List<PkSlave> pkSlaves = pkSlaveMapper.selectList1(master.getIsid());
-        if (CollectionUtils.isEmpty(pkSlaves)) {
-            throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode() + "鐨勬暟閲囧瓙鏁版嵁");
-        }
+        return 0;
+    }
+
+    //娓╁害寰幆鏁伴噰鎬讳綋
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int temDataAcquisition2(PkMaster pkMaster) {
+        //鏌ヨ鍑烘墍鏈夊惊鐜鏁板拰娓╁害,鐒跺悗寰幆璋冪敤temDataAcquisition鎺ュ彛
         //鏌ヨ瀵瑰簲鐨勬楠屽崟琛�
         InsOrder insOrder = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getState, 1).eq(InsOrder::getEntrustCode, pkMaster.getEntrustCode()));
         if (ObjectUtils.isEmpty(insOrder)) {
@@ -96,287 +446,26 @@
         if (ObjectUtils.isEmpty(insSample)) {
             throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅鐨勮鏍峰搧" + pkMaster.getSampleCode());
         }
-        //鏌ヨ瀵瑰簲妫�楠岄」鐩�
-        Map<String, Object> map = insOrderPlanService.temCycle(insSample.getId(), pkMaster.getCycles(), pkMaster.getTemperature());
-        List<ProductVo> productVos = (List<ProductVo>) map.get("productVos");
-        if (CollectionUtils.isEmpty(map)) {
-            throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅璇ユ牱鍝佺殑鐩稿叧娓╁害寰幆妫�楠岄」鐩殑寰幆" + pkMaster.getCycles() + "娆�+娓╁害" + pkMaster.getTemperature());
-        }
-
-        //todo 濡傛灉娓╁害寰幆鐨勯」鐩畁m鏈夋敼鍔ㄨ繖閲岄渶瑕佹敼鍔� @zss
-        for (PkSlave pkSlave : pkSlaves) {
-            for (ProductVo productVo : productVos) {
-                if (pkSlave.getInsBushingId().equals(productVo.getBushColor()) &&
-                        pkSlave.getInsFibersId().equals(productVo.getCode()) &&
-                        pkSlave.getInsFiberId().equals(productVo.getColor())) {
-                    //鎵惧埌瀵瑰簲鐨勬暟鎹�(瀵瑰簲濂楃鍏夌氦鐨勬暟鎹�)
-                    List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, productVo.getInsProduct().getId()));
-                    InsProductResult result;
-                    if (CollectionUtils.isEmpty(results)) {
-                        result = new InsProductResult();
-                    } else {
-                        result = results.get(0);
-                    }
-                    result.setInsProductId(productVo.getInsProduct().getId());//妫�楠岄」鐩甶d
-                    List<Map<String, Object>> iv = new ArrayList<>();
-                    List<Map<String, Object>> cv = new ArrayList<>();
-                    if (productVo.getInsProduct().getInspectionItemClass().equals("1310nm")) {
-                        //1310nm澶栫
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put("u", userId + "");
-                        map1.put("v", pkSlave.getWeaken1310A().toString());
-                        iv.add(map1);
-                        //1310nm鍐呯
-                        Map<String, Object> map2 = new HashMap<>();
-                        map2.put("u", userId + "");
-                        map2.put("v", pkSlave.getWeaken1310B().toString());
-                        iv.add(map2);
-                        //1310nm琛板噺绯绘暟
-                        Map<String, Object> map3 = new HashMap<>();
-                        double v = (pkSlave.getWeaken1310A() + pkSlave.getWeaken1310B()) / 2;
-                        BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
-                        map3.put("v", String.valueOf(decimal));
-                        cv.add(map3);
-                    } else if (productVo.getInsProduct().getInspectionItemClass().equals("1550nm")) {
-                        //1550nm澶栫
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put("u", userId + "");
-                        map1.put("v", pkSlave.getWeaken1550A().toString());
-                        iv.add(map1);
-                        //1550nm鍐呯
-                        Map<String, Object> map2 = new HashMap<>();
-                        map2.put("u", userId + "");
-                        map2.put("v", pkSlave.getWeaken1550B().toString());
-                        iv.add(map2);
-                        //1550nm琛板噺绯绘暟
-                        Map<String, Object> map3 = new HashMap<>();
-                        double v = (pkSlave.getWeaken1550A() + pkSlave.getWeaken1550B()) / 2;
-                        BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
-                        map3.put("v", String.valueOf(decimal));
-                        cv.add(map3);
-                    } else if (productVo.getInsProduct().getInspectionItemClass().equals("1625nm")) {
-                        //1625nm澶栫
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put("u", userId + "");
-                        map1.put("v", pkSlave.getWeaken1625A().toString());
-                        iv.add(map1);
-                        //1625nm鍐呯
-                        Map<String, Object> map2 = new HashMap<>();
-                        map2.put("u", userId + "");
-                        map2.put("v", pkSlave.getWeaken1625B().toString());
-                        iv.add(map2);
-                        //1625nm琛板噺绯绘暟
-                        Map<String, Object> map3 = new HashMap<>();
-                        double v = (pkSlave.getWeaken1625A() + pkSlave.getWeaken1625B()) / 2;
-                        BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
-                        map3.put("v", String.valueOf(decimal));
-                        cv.add(map3);
-                    } else if (productVo.getInsProduct().getInspectionItemClass().equals("1383nm")) {
-                        //1383nm澶栫
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put("u", userId + "");
-                        map1.put("v", pkSlave.getWeaken1383A().toString());
-                        iv.add(map1);
-                        //1383nm鍐呯
-                        Map<String, Object> map2 = new HashMap<>();
-                        map2.put("u", userId + "");
-                        map2.put("v", pkSlave.getWeaken1383B().toString());
-                        iv.add(map2);
-                        //1383nm琛板噺绯绘暟
-                        Map<String, Object> map3 = new HashMap<>();
-                        double v = (pkSlave.getWeaken1383A() + pkSlave.getWeaken1383B()) / 2;
-                        BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
-                        map3.put("v", String.valueOf(decimal));
-                        cv.add(map3);
-                    } else if (productVo.getInsProduct().getInspectionItemClass().equals("1490nm")) {
-                        //1490nm澶栫
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put("u", userId + "");
-                        map1.put("v", pkSlave.getWeaken1490A().toString());
-                        iv.add(map1);
-                        //1490nm鍐呯
-                        Map<String, Object> map2 = new HashMap<>();
-                        map2.put("u", userId + "");
-                        map2.put("v", pkSlave.getWeaken1490B().toString());
-                        iv.add(map2);
-                        //1490nm琛板噺绯绘暟
-                        Map<String, Object> map3 = new HashMap<>();
-                        double v = (pkSlave.getWeaken1490A() + pkSlave.getWeaken1490B()) / 2;
-                        BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
-                        map3.put("v", String.valueOf(decimal));
-                        cv.add(map3);
-                    } else {
-                        throw new ErrorException("娌℃湁鎵惧埌璇ユ俯搴︾殑妫�楠岄」鐩�" + productVo.getInsProduct().getInspectionItemClass());
-                    }
-                    result.setInsValue(JSON.toJSONString(iv));//妫�楠屽��
-                    result.setComValue(JSON.toJSONString(cv));//璁$畻鍊�
-                    if (BeanUtil.isEmpty(result.getId())) {
-                        result.setCreateUser(userId);
-                        result.setUpdateUser(userId);
-                        insProductResultMapper.insert(result);
-                    } else {
-                        result.setUpdateUser(userId);
-                        result.setUpdateTime(LocalDateTime.now());
-                        insProductResultMapper.updateById(result);
-                    }
-
-                    InsProduct insProduct = productVo.getInsProduct();
-                    InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
-                    String comple = insProductResult.getComValue().split(":")[1].split("\"")[1];
-                    //棣栧厛鏌ョ湅娓╁害鏄惁鏄�20搴﹀父娓�
-                    if (!pkMaster.getTemperature().equals("20鈩�(甯告俯)")) {
-                        //濡傛灉涓嶆槸鍏堟煡璇㈡槸鍚︽湁鍊�
-                        int a = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
-                                .eq(InsProduct::getInsSampleId, insSample.getId())
-                                .eq(InsProduct::getInspectionItem, "1")
-                                .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")).stream().map(InsProduct::getInsResult).anyMatch(ObjectUtils::isEmpty) ? 1 : 0;
-                        if (a == 1) {
-                            throw new ErrorException("鍏堣幏鍙�20鈩�(甯告俯)鐨勬楠屽��,鍐嶈幏鍙栧叾浠栨俯搴�" + pkMaster.getSampleCode());
-                        } else {
-                            //璁$畻琛板噺宸�
-                            InsProduct insPro = null;
-                            switch (insProduct.getInspectionItemClass()) {
-                                case "1310nm":
-                                    //鏌ヨ20鈩�(甯告俯)1310nm鐨勮“鍑忕郴鏁�
-                                    try {
-                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
-                                                .eq(InsProduct::getInsSampleId, insSample.getId())
-                                                .eq(InsProduct::getInspectionItem, "1")
-                                                .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
-                                                .eq(InsProduct::getInspectionItemClass, "1310nm")
-                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
-                                    } catch (Exception e) {
-                                        throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1310nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
-                                    }
-                                    break;
-                                case "1550nm":
-                                    //鏌ヨ20鈩�(甯告俯)1550nm鐨勮“鍑忕郴鏁�
-                                    try {
-                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
-                                                .eq(InsProduct::getInsSampleId, insSample.getId())
-                                                .eq(InsProduct::getInspectionItem, "1")
-                                                .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
-                                                .eq(InsProduct::getInspectionItemClass, "1550nm")
-                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
-                                    } catch (Exception e) {
-                                        throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1625nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
-                                    }
-                                    break;
-                                case "1625nm":
-                                    //鏌ヨ20鈩�(甯告俯)1625nm鐨勮“鍑忕郴鏁�
-                                    try {
-                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
-                                                .eq(InsProduct::getInsSampleId, insSample.getId())
-                                                .eq(InsProduct::getInspectionItem, "1")
-                                                .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
-                                                .eq(InsProduct::getInspectionItemClass, "1625nm")
-                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
-                                    } catch (Exception e) {
-                                        throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1625nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
-                                    }
-                                    break;
-                                case "1383nm":
-                                    //鏌ヨ20鈩�(甯告俯)1383nm鐨勮“鍑忕郴鏁�
-                                    try {
-                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
-                                                .eq(InsProduct::getInsSampleId, insSample.getId())
-                                                .eq(InsProduct::getInspectionItem, "1")
-                                                .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
-                                                .eq(InsProduct::getInspectionItemClass, "1383nm")
-                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
-                                    } catch (Exception e) {
-                                        throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1383nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
-                                    }
-                                    break;
-                                case "1490nm":
-                                    //鏌ヨ20鈩�(甯告俯)1490nm鐨勮“鍑忕郴鏁�
-                                    try {
-                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
-                                                .eq(InsProduct::getInsSampleId, insSample.getId())
-                                                .eq(InsProduct::getInspectionItem, "1")
-                                                .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
-                                                .eq(InsProduct::getInspectionItemClass, "1490nm")
-                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
-                                    } catch (Exception e) {
-                                        throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1490nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
-                                    }
-                                    break;
-                            }
-                            InsProductResult insProductRes = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId()));
-                            double abs = Math.abs(Double.parseDouble(insProductRes.getComValue().split(":")[1].split("\"")[1]) - Double.parseDouble(comple));
-                            BigDecimal scale = BigDecimal.valueOf(abs).setScale(3, RoundingMode.HALF_UP);
-                            insProduct.setLastValue(String.valueOf(scale));
-                            String ask = insProduct.getAsk();
-                            int insResult = 1;
-                            switch (ask.charAt(0)) {
-                                case '<':
-                                    insResult = Double.parseDouble(insProduct.getLastValue()) < Double.parseDouble(ask.substring(1)) ? 1 : 0;
-                                    break;
-                                case '>':
-                                    insResult = Double.parseDouble(insProduct.getLastValue()) > Double.parseDouble(ask.substring(1)) ? 1 : 0;
-                                    break;
-                                case '=':
-                                    insResult = Double.parseDouble(insProduct.getLastValue()) == Double.parseDouble(ask.substring(1)) ? 1 : 0;
-                                    break;
-                                case '鈮�':
-                                    insResult = Double.parseDouble(insProduct.getLastValue()) <= Double.parseDouble(ask.substring(1)) ? 1 : 0;
-                                    break;
-                                case '鈮�':
-                                    insResult = Double.parseDouble(insProduct.getLastValue()) >= Double.parseDouble(ask.substring(1)) ? 1 : 0;
-                                    break;
-                            }
-                            insProduct.setInsResult(insResult);
-                        }
-                    } else {
-                        //濡傛灉鏄�20搴﹀父娓�,闇�瑕佺粰鍑哄悎鏍肩殑缁撹
-                        insProduct.setInsResult(1);//20搴﹀父娓╃殑妫�楠岄」榛樿涓哄悎鏍�
-                    }
-                    insProduct.setUpdateUser(userId);
-                    insProductMapper.updateById(insProduct);
-                    User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, master.getDetectionPeople()));
-                    if (ObjectUtils.isEmpty(user)) {
-                        throw new ErrorException("lims绯荤粺娌℃湁鎵惧埌璇ョ敤鎴�" + master.getDetectionPeople());
-                    }
-                    insProductUserMapper.insert(new InsProductUser(null, user.getId(), master.getDetectionDate(), insProduct.getId()));
-                }
+        //鏌ユ壘鏍峰搧涓嬫墍鏈夋俯搴﹀惊鐜殑椤圭洰
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .eq(InsProduct::getInsSampleId, insSample.getId())
+                .eq(InsProduct::getState, 1)
+                .isNull(InsProduct::getTemplateId)
+                .isNotNull(InsProduct::getInspectionItemClass));
+        //杩囨护鍑烘墍鏈夊惊鐜鏁板拰娓╁害
+        List<String> collect1 = insProducts.stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.toList());
+        List<String> collect2 = insProducts.stream().map(InsProduct::getInspectionItemSubclass).distinct().collect(Collectors.toList());
+        for (String s : collect1) {
+            for (String s1 : collect2) {
+                PkMaster master = new PkMaster();
+                master.setEntrustCode(pkMaster.getEntrustCode());
+                master.setSampleCode(pkMaster.getSampleCode());
+                master.setModel(pkMaster.getModel());
+                master.setCycles(s);
+                master.setTemperature(s1);
+                temDataAcquisition(master);
             }
         }
-
-        //缁欐俯搴﹀惊鐜殑妫�楠岄」鐩粦瀹氳澶�
-        InsProduct product = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
-                .eq(InsProduct::getState, 1)
-                .eq(InsProduct::getInsSampleId, insSample.getId())
-                .eq(InsProduct::getInspectionItem, "娓╁害寰幆"));
-        if (ObjectUtils.isEmpty(map)) {
-            throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅璇ユ牱鍝佺殑鐩稿叧娓╁害寰幆妫�楠岄」鐩�");
-        }
-        InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, product.getId()));
-        if(ObjectUtils.isEmpty(insProductResult.getEquipValue())) {
-            List<Map<String, Object>> dv = new ArrayList<>();
-            Map<String, Object> map4 = new HashMap<>();
-            map4.put("v", "JCZX-TX-TT02006");
-            dv.add(map4);
-            Map<String, Object> map5 = new HashMap<>();
-            map5.put("v", "JCZX-TX-TT02001");
-            dv.add(map5);
-            insProductResult.setEquipValue(JSON.toJSONString(dv));
-            List<Map<String, Object>> dn = new ArrayList<>();
-            Map<String, Object> map6 = new HashMap<>();
-            map6.put("v", "姝ュ叆寮忛珮浣庢俯婀跨儹璇曢獙绠�");
-            dn.add(map6);
-            Map<String, Object> map7 = new HashMap<>();
-            map7.put("v", "姝ュ叆寮忛珮浣庢俯璇曢獙绠�");
-            dn.add(map7);
-            insProductResult.setEquipName(JSON.toJSONString(dn));
-            insProductResultMapper.updateById(insProductResult);
-        }
-        return 0;
-    }
-
-    //娓╁害寰幆鏁伴噰鎬讳綋
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int temDataAcquisition2(PkMaster pkMaster) {
         return 0;
     }
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index f6f0ab1..c325808 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -116,8 +116,8 @@
     @ValueClassify("妫�楠屼换鍔�")
     @ApiOperation(value = "妫�楠屼换鍔℃彁浜�")
     @PostMapping("/submitPlan")
-    public Result<?> submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String sampleCode) {
-        int num = insOrderPlanService.submitPlan(orderId, laboratory, verifyUser, entrustCode, sampleCode);
+    public Result<?> submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode) {
+        int num = insOrderPlanService.submitPlan(orderId, laboratory, verifyUser, entrustCode);
         return num == 1 ? Result.success() : Result.fail("鎻愪氦澶辫触锛岄儴鍒嗛」鐩繕鏈繘琛屾楠�");
     }
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
index df0c1ae..d39ae4f 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
@@ -41,7 +41,7 @@
     private String inspectionValueType;
 
     @ValueTableShow(value = 12, name = "璇曢獙瑕佹眰")
-    private String ask;
+    private String tell;
 
     @ValueTableShow(value = 13, name = "妫�楠岀粨鏋�")
     private String lastValue;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
index 011666d..7576790 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -48,6 +48,8 @@
     List<Map<String, Object>> getReportModel(@Param("orderId") Integer orderId, @Param("id") Integer id, @Param("laboratory") String laboratory);
 
     SampleVo getDetailById(Integer sampleId);
+
+    String selMethodById(Integer sampleId);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index ba0ffcd..88c2c4a 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -28,7 +28,7 @@
 
     int verifyPlan(Integer orderId, String laboratory, Integer type, String tell);
 
-    int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String sampleCode);
+    int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode);
 
     List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request);
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index b7c7873..4d0eb38 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -3447,6 +3447,11 @@
                 throw new RuntimeException(e);
             }
         }
+        else {
+            //澶嶆牳涓嶉�氳繃灏嗘妸澶嶆牳鐨勮礋璐d汉鍘绘帀
+            Integer id = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).orderByDesc(InsSampleUser::getId).last("limit 1")).getId();
+            insSampleUserMapper.deleteById(id);
+        }
         return 1;
     }
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index 1b61451..e1c3b43 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -41,6 +41,8 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Function;
 import java.util.function.Predicate;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -122,7 +124,7 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId,String sonLaboratory) {
+    public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory) {
         InsOrder insOrder = new InsOrder();
         insOrder.setId(orderId);
         insOrder.setAppointed(LocalDate.parse(appointed));
@@ -283,64 +285,62 @@
             if (product.getState() == 1 && !product.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")) {
                 //鍒ゆ柇鍏夌紗鐨勬俯搴﹀惊鐜」鐩坊鍔�
                 if (insOrder.getSampleType().equals("鍏夌紗") && product.getInspectionItem().equals("娓╁害寰幆") && type != 0) {
-                    List<InsProduct> insProductes = new ArrayList<>();
-                    List<InsProduct> insProducts = new ArrayList<>();
-                    String[] strings = product.getAsk().split(";");
-
-                    for (int i = 0; i < strings.length; i++) {
-                        int count = Integer.parseInt(strings[strings.length - 1]);
-                        if (i != strings.length - 1) {
-                            InsProduct insProduct = new InsProduct();
-                            switch (type) {
-                                case 1:
-                                    insProduct.setInsFibersId(id);
-                                    break;
-                                case 2:
-                                    insProduct.setInsFiberId(id);
-                                    break;
-                            }
-                            String[] split = strings[i].split(",");
-                            if (split[0].equals("20鈩�")) {
-                                insProduct.setInspectionItem(count + "");//妫�楠岄」--寰幆娆℃暟
-                            } else {
-                                insProduct.setInspectionItem("1");//妫�楠岄」--寰幆娆℃暟
-                            }
-                            insProduct.setInspectionItemSubclass(split[0]);//妫�楠岄」--娓╁害
-                            insProduct.setInspectionItemClass(split[1]);//妫�楠岄」--鍏夌氦椤圭洰
-                            insProduct.setAsk(split[2]);//妫�楠岃姹�
-                            insProduct.setTell(strings[i]);//妫�楠屾弿杩�
-                            insProduct.setInsSampleId(sampleId);
-                            insProduct.setState(1);
-                            insProduct.setFactory(product.getFactory());
-                            insProduct.setLaboratory(product.getLaboratory());
-                            insProduct.setSampleType(product.getSampleType());
-                            insProduct.setSample(product.getSample());
-                            insProduct.setModel(product.getModel());
-                            insProduct.setSonLaboratory(product.getSonLaboratory());
-                            insProduct.setUnit(product.getUnit());
-                            insProduct.setManHourGroup(product.getManHourGroup());
-                            insProduct.setInspectionItemType("0");
-                            insProduct.setInspectionValueType("1");
-                            insProducts.add(insProduct);
-                            insProductes.add(insProduct);
+                    //鍒ゆ柇閫夋嫨鐨勬爣鍑嗘柟娉曟槸濮旀墭瑕佹眰杩樻槸鍏朵粬鏍囧噯鏂规硶
+                    String name = insSampleMapper.selMethodById(sampleId);
+                    if (!name.equals("濮旀墭瑕佹眰")) {
+                        //鍒ゆ柇鏍囧噯鏂规硶鐨勬俯搴﹀惊鐜殑瑕佹眰鎻忚堪鏄惁鏈夊~鍐�
+                        if (ObjectUtils.isEmpty(product.getTell()) || product.getTell().equals("")) {
+                            throw new ErrorException("鍏夌紗鐨勬俯搴﹀惊鐜殑瑕佹眰鎻忚堪涓虹┖,闇�瑕佸湪鏍囧噯搴撻厤缃姹傛弿杩�!!!");
                         } else {
-                            //鏈�鍚庝竴涓暟鎹槸璇存槑浼氬惊鐜灏戞
-                            if (count > 1) {
-                                //寰幆瓒呰繃1娆�
-                                for (int j = 2; j <= count; j++) {
-                                    for (InsProduct insProduct : insProducts) {
-                                        if (!insProduct.getInspectionItemSubclass().equals("20鈩�") && !insProduct.getInspectionItemSubclass().equals("20鈩�(甯告俯)")) {
-                                            InsProduct insProduct1 = new InsProduct();
-                                            BeanUtils.copyProperties(insProduct, insProduct1);
-                                            insProduct1.setInspectionItem(j + "");
-                                            insProductes.add(insProduct1);
-                                        }
-                                    }
+                            //瑙f瀽(娓╁害鑼冨洿锛�20鈩冿紝-40鈩冿紝65鈩冿紱淇濇俯鏃堕棿锛�12h锛� 寰幆娆℃暟锛�2娆★紱 鍏夌氦锛�1310nm锛�1550nm锛夐檮鍔犺“鍑忎笉澶т簬0.03dB/km)
+                            String tell = product.getTell().replace("锛�", ")")
+                                    .replace("(", "锛�")
+                                    .replace(")", "锛�")
+                                    .replace("锛�", ",")
+                                    .replace("锛�", ":")
+                                    .replace("锛�", ";")
+                                    .replace("涓嶅ぇ浜�", "鈮�")
+                                    .replace("涓嶅皬浜�", "鈮�")
+                                    .replace("澶т簬", ">")
+                                    .replace("灏忎簬", "<")
+                                    .replace("绛変簬", "=");
+                            String[] message=null;
+                            String[] nm=null;
+                            String ask=null;
+                            String count=null;
+                            try {
+                                String[] strings = tell.split(";");
+                                //娓╁害
+                                String temperature = strings[0];
+                                String[] split = temperature.split(":");
+                                 message = split[1].split(",");
+                                //寰幆娆℃暟
+                                 count = strings[2].split(":")[1].split("娆�")[0];
+                                //鍏夌氦椤圭洰鍜岃姹傚��
+                                String string = strings[3];
+                                 nm = string.split("锛�")[1].split("锛�")[0].split(",");
+                                 ask = string.split("琛板噺")[1].split("dB")[0];
+                            }catch (Exception e){
+                                throw new ErrorException("娓╁害寰幆鐨勮姹傛弿杩版牸寮忓紓甯�,璇峰弬鐓ф俯搴﹁寖鍥达細20鈩冿紝-40鈩冿紝65鈩冿紱淇濇俯鏃堕棿锛�12h锛� 寰幆娆℃暟锛�2娆★紱 鍏夌氦锛�1310nm锛�1550nm锛夐檮鍔犺“鍑忎笉澶т簬0.03dB/km");
+                            }
+                            //鎷兼帴
+                            String s=null;
+                            for (int i = 0; i < nm.length; i++) {
+                                 s+= "20鈩�(甯告俯)," + nm[i] + ",null;";
+                                for (int j = 0; j < message.length; j++) {
+                                    s+= message[j] + "," + nm[i] + "," + ask + ";" ;
                                 }
                             }
+                            s+=count;
+                            product.setAsk(s);
+                            insProductMapper.updateById(product);
+                            dealWithTemperatureLoop(type,id,sampleId,product);
                         }
                     }
-                    insProductService.saveBatch(insProductes);
+                    else {
+                        //20鈩�(甯告俯),1310nm,null;-40鈩�,1310nm,鈮�0.2;75鈩�,1310nm,<0.3;20鈩�,1310nm,鈮�0.1;20鈩�(甯告俯),1550nm,null;-40鈩�,1550nm,鈮�0.2;75鈩�,1550nm,<0.3;20鈩�,1550nm,鈮�0.1;3
+                        dealWithTemperatureLoop(type,id,sampleId,product);
+                    }
                 }
                 //鍒ゆ柇鐑惊鐜」鐩殑娣诲姞鍜屾俯鍗囪瘯楠岄」鐩殑娣诲姞
                 else if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")) {
@@ -419,6 +419,67 @@
                 }
             }
         }
+    }
+
+    //娓╁害寰幆鐨勫鐞�
+    private void dealWithTemperatureLoop(Integer type, Integer id,Integer sampleId,InsProduct product) {
+        List<InsProduct> insProductes = new ArrayList<>();
+        List<InsProduct> insProducts = new ArrayList<>();
+        String[] strings = product.getAsk().split(";");
+        for (int i = 0; i < strings.length; i++) {
+            int count = Integer.parseInt(strings[strings.length - 1]);
+            if (i != strings.length - 1) {
+                InsProduct insProduct = new InsProduct();
+                switch (type) {
+                    case 1:
+                        insProduct.setInsFibersId(id);
+                        break;
+                    case 2:
+                        insProduct.setInsFiberId(id);
+                        break;
+                }
+                String[] split = strings[i].split(",");
+                if (split[0].equals("20鈩�")) {
+                    insProduct.setInspectionItem(count + "");//妫�楠岄」--寰幆娆℃暟
+                } else {
+                    insProduct.setInspectionItem("1");//妫�楠岄」--寰幆娆℃暟
+                }
+                insProduct.setInspectionItemSubclass(split[0]);//妫�楠岄」--娓╁害
+                insProduct.setInspectionItemClass(split[1]);//妫�楠岄」--鍏夌氦椤圭洰
+                insProduct.setAsk(split[2]);//妫�楠岃姹�
+                insProduct.setTell(strings[i]);//妫�楠屾弿杩�
+                insProduct.setInsSampleId(sampleId);
+                insProduct.setState(1);
+                insProduct.setFactory(product.getFactory());
+                insProduct.setLaboratory(product.getLaboratory());
+                insProduct.setSampleType(product.getSampleType());
+                insProduct.setSample(product.getSample());
+                insProduct.setModel(product.getModel());
+                insProduct.setSonLaboratory(product.getSonLaboratory());
+                insProduct.setUnit(product.getUnit());
+                insProduct.setManHourGroup(product.getManHourGroup());
+                insProduct.setInspectionItemType("0");
+                insProduct.setInspectionValueType("1");
+                insProducts.add(insProduct);
+                insProductes.add(insProduct);
+            } else {
+                //鏈�鍚庝竴涓暟鎹槸璇存槑浼氬惊鐜灏戞
+                if (count > 1) {
+                    //寰幆瓒呰繃1娆�
+                    for (int j = 2; j <= count; j++) {
+                        for (InsProduct insProduct : insProducts) {
+                            if (!insProduct.getInspectionItemSubclass().equals("20鈩�") && !insProduct.getInspectionItemSubclass().equals("20鈩�(甯告俯)")) {
+                                InsProduct insProduct1 = new InsProduct();
+                                BeanUtils.copyProperties(insProduct, insProduct1);
+                                insProduct1.setInspectionItem(j + "");
+                                insProductes.add(insProduct1);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        insProductService.saveBatch(insProductes);
     }
 
     @Override
@@ -546,7 +607,7 @@
     }
 
     @Override
-    public void export(CostStatisticsDto costStatisticsDto,HttpServletResponse response) throws IOException {
+    public void export(CostStatisticsDto costStatisticsDto, HttpServletResponse response) throws IOException {
         //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹�
         String dates = costStatisticsDto.getDates();
         String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
@@ -574,7 +635,7 @@
             // 鏂板缓ExcelWriter
             ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
 
-            WriteSheet mainSheet = EasyExcel.writerSheet( "鏍峰搧璐圭敤缁熻瀵煎嚭").head(CostStatisticsDto.class).build();
+            WriteSheet mainSheet = EasyExcel.writerSheet("鏍峰搧璐圭敤缁熻瀵煎嚭").head(CostStatisticsDto.class).build();
             excelWriter.write(costStatisticsDtos, mainSheet);
 
             // 鍏抽棴娴�
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
index 92214b4..348afe6 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.service.impl;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -20,6 +21,7 @@
 import com.yuanchu.mom.service.StandardProductListService2;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -72,6 +74,8 @@
                 list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree1);
             }
         }
+        String[] split1 = insSample.getFactory().split(" - ");
+        list = list.stream().filter(list1 -> list1.getSample().equals(split1[3])).collect(Collectors.toList());
         list = list.stream().filter(a -> {
             try {
                 if (a.getSection() != null && !Objects.equals(a.getSection(), "")) {
@@ -138,6 +142,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page) {
         String[] trees = tree.split(" - ");
         try{
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 70c2bbf..9aa7a27 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -133,7 +133,7 @@
         from (
         select
         i.id,isa.sample_code,isa.sample,isa.model,isa.ins_state,ip.state,ip.unit,ip.inspection_item,ip.inspection_item_subclass,
-        ip.son_laboratory,ip.inspection_item_type,ip.inspection_value_type,ip.ask,ip.`last_value`,ip.ins_result,ipr.equip_value
+        ip.son_laboratory,ip.inspection_item_type,ip.inspection_value_type,ip.tell,ip.`last_value`,ip.ins_result,ipr.equip_value
         from ins_sample isa
         left join ins_order i on isa.ins_order_id = i.id
         left join ins_product ip on isa.id = ip.ins_sample_id
@@ -193,7 +193,7 @@
         c.price,
         c.cost,
         c.inspection_item,
-        cus.company,
+        i.company,
         u.`name`,
         i.create_user,
         c.ins_sample_id
@@ -406,7 +406,7 @@
         c.price,
         c.cost,
         c.inspection_item,
-        cus.company,
+        i.company,
         u.`name`,
         i.create_user,
         c.ins_sample_id,
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 6686c39..ade36d6 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -56,7 +56,7 @@
         ORDER BY ins_sample_id, id
         ) isu ON isu.ins_sample_id = io.id
         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
-        LEFT JOIN user  ON isu.user_id = user.id
+        LEFT JOIN user ON isu.user_id = user.id
         WHERE
         io.state = 1
         # AND io.ins_state != 5
@@ -94,41 +94,6 @@
         select * from(
         SELECT
         a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user
-        <!--FROM
-        (
-        SELECT
-        io.id,
-        io.entrust_code,
-        io.type,
-        io.appointed,
-        io.send_time,
-        io.sample_type,
-        isu.user_id,
-        ip.son_laboratory,
-        io.ins_time
-        FROM
-        ins_order io
-        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
-        LEFT JOIN ( SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id ) isu ON isu.ins_sample_id = io.id
-        LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
-        WHERE
-        io.state = 1
-        # AND io.ins_state != 5
-        and send_time is not null
-        and (isu.user_id = #{userId} OR isu.user_id is NULL)
-        GROUP BY
-        ip.son_laboratory,
-        io.id
-        ) a
-        LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
-        left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM
-        ins_sample_user GROUP BY ins_sample_id) md where td.id = md.id and user_id = #{userId}) isu2 on
-        isu2.ins_sample_id = a.id
-        ORDER BY
-        a.user_id DESC,
-        a.type DESC,
-        a.id
-        ) b-->
         FROM
         (
         SELECT
@@ -157,7 +122,7 @@
         ORDER BY ins_sample_id, id
         ) isu ON isu.ins_sample_id = io.id
         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
-        LEFT JOIN user  ON isu.user_id = user.id
+        LEFT JOIN user ON isu.user_id = user.id
         WHERE
         io.state = 1
         # AND io.ins_state != 5
@@ -185,7 +150,7 @@
         a.type DESC,
         a.id
         ) b
-        where ins_state is not null)A
+        where ins_state is not null )A
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
@@ -241,7 +206,7 @@
           and state = 1
           and ins_fiber_id is null
           and ins_fibers_id is null
-        and isa.sample_code NOT REGEXP '/'
+          and isa.sample_code NOT REGEXP '/'
     </select>
     <select id="getInsOrderAndSample" resultMap="sampleDto">
         select isa.*,
@@ -332,7 +297,8 @@
                method,
                man_day,
                bsm,
-               tell as ask,
+                ask,
+               tell ,
                `last_value`,
                ip.ins_result  ip_ins_result,
                state,
@@ -350,7 +316,7 @@
                  left join ins_product ip on isa.id = ip.ins_sample_id
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
         where ins_order_id = #{id}
-            and ip.standard_method_list_id is not null
+          and ip.standard_method_list_id is not null
           and state = 1
     </select>
 
@@ -431,7 +397,7 @@
           and ip.son_laboratory = #{laboratory}
           and ins_fiber_id is null
           and ins_fibers_id is null
-        and standard_method_list_id is not null
+          and standard_method_list_id is not null
     </select>
     <select id="getInsProduct2" resultMap="product">
         select ip.id          ip_id,
@@ -671,6 +637,12 @@
                code methodName
         from ins_sample is2
                  inner join standard_method sm on standard_method_list_id = sm.id
-        where is2.id=#{sampleId}
+        where is2.id = #{sampleId}
+    </select>
+
+    <select id="selMethodById" resultType="java.lang.String">
+        select code
+        from standard_method
+        where id = (select standard_method_list_id from ins_sample where id = #{sampleId})
     </select>
 </mapper>

--
Gitblit v1.9.3