From c928419eadb34da253257457befb00ab70006270 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 08 八月 2024 19:02:50 +0800
Subject: [PATCH] 登录信息-返回userId
---
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java | 620 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 376 insertions(+), 244 deletions(-)
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 527c212..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
@@ -19,8 +19,11 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.util.*;
+import java.util.stream.Collectors;
/**
* <p>
@@ -74,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.selectList(Wrappers.<PkSlave>lambdaQuery().eq(PkSlave::getShiftId, 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)) {
@@ -94,244 +446,24 @@
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());
- iv.add(map1);
- //1310nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", pkSlave.getWeaken1310B());
- iv.add(map2);
- //1310nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- map3.put("v", (pkSlave.getWeaken1310A() + pkSlave.getWeaken1310B()) / 2);
- 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());
- iv.add(map1);
- //1550nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", pkSlave.getWeaken1550B());
- iv.add(map2);
- //1550nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- map3.put("v", (pkSlave.getWeaken1550A() + pkSlave.getWeaken1550B()) / 2);
- 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());
- iv.add(map1);
- //1625nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", pkSlave.getWeaken1625B());
- iv.add(map2);
- //1625nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- map3.put("v", (pkSlave.getWeaken1625A() + pkSlave.getWeaken1625B()) / 2);
- 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());
- iv.add(map1);
- //1383nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", pkSlave.getWeaken1383B());
- iv.add(map2);
- //1383nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- map3.put("v", (pkSlave.getWeaken1383A() + pkSlave.getWeaken1383B()) / 2);
- 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());
- iv.add(map1);
- //1490nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", pkSlave.getWeaken1490B());
- iv.add(map2);
- //1490nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- map3.put("v", (pkSlave.getWeaken1490A() + pkSlave.getWeaken1490B()) / 2);
- cv.add(map3);
- }
- else {
- throw new ErrorException("娌℃湁鎵惧埌璇ユ俯搴︾殑妫�楠岄」鐩�" + productVo.getInsProduct().getInspectionItemClass());
- }
- result.setInsValue(JSON.toJSONString(iv));//妫�楠屽��
- result.setComValue(JSON.toJSONString(cv));//璁$畻鍊�
- result.setEquipValue(null);//璁惧缂栧彿
- result.setEquipName(null);//璁惧鍚嶇О
- 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();
- String comple = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId())).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()));
- insProduct.setLastValue(String.valueOf(Math.abs(Double.parseDouble(insProductRes.getComValue().split(":")[1].split("\"")[1]) - Double.parseDouble(comple))));
- 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, pkMaster.getDetectionPeople()));
- if (ObjectUtils.isNotEmpty(user)){
- throw new ErrorException("lims绯荤粺娌℃湁鎵惧埌璇ョ敤鎴�"+ pkMaster.getDetectionPeople());
- }
- insProductUserMapper.insert(new InsProductUser(null, user.getId(), pkMaster.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);
}
}
return 0;
--
Gitblit v1.9.3