From 2dbc49184bd74845c8da694c20d6fd03d7ac87e0 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 21 九月 2023 16:16:21 +0800
Subject: [PATCH] 修改 9.21
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++------------
1 files changed, 114 insertions(+), 37 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java
index 6ec695c..5d1290b 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java
@@ -1,10 +1,7 @@
package com.yuanchu.mom.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.*;
@@ -12,12 +9,9 @@
import com.yuanchu.mom.pojo.vo.RawInsProductVo;
import com.yuanchu.mom.pojo.vo.RawInspectVo;
import com.yuanchu.mom.service.*;
-import com.yuanchu.mom.utils.MyUtil;
-import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@@ -42,6 +36,62 @@
@Resource
InspectUnacceptedMapper inspectUnacceptedMapper;
+ @Resource
+ UserMapper userMapper;
+
+ //鏂板鍘熸潗鏂欐楠屽崟
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String addRawInspects(String userId, RawInspectVo rawInspectVo) {
+ //鎶ユ浜�(鏂板妫�楠屽崟鐨勪汉)
+ rawInspectVo.setUserName(userMapper.selectById(userId).getName());
+ //鏍¢獙鏍囧噯鍊�,鍐呮帶鍊兼牸寮�
+ List<RawInsProductVo> rawInsProductVos = rawInspectVo.getRawInsProducts();
+ /*鏂板鍘熸潗鏂欐楠屽崟*/
+ RawInspect rawInspect = new RawInspect();
+ BeanUtils.copyProperties(rawInspectVo, rawInspect);
+ rawInspectMapper.insert(rawInspect);
+ /*鏂板鍘熸潗鏂欐楠岄」鐩崟*/
+ List<RawInsProduct> rawInsProductList = rawInsProductVos.stream().map(rawInsProVo -> {
+ RawInsProduct rawInsProduct = new RawInsProduct();
+ BeanUtils.copyProperties(rawInsProVo, rawInsProduct);
+ if (ObjectUtils.isNotEmpty(rawInsProduct.getTestValue())) {
+ if (rawInsProduct.getTestValue().equals("杩�")) {
+ rawInsProduct.setTestState(1);
+ } else if (rawInsProduct.getTestValue().equals("涓嶈繃")) {
+ rawInsProduct.setTestState(0);
+ } else {
+ //鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�0
+ String required = rawInsProduct.getRequired();//鏍囧噯鍊�
+ String internal = rawInsProduct.getInternal();//鍐呮帶鍊�
+ String testValue = rawInsProduct.getTestValue();//妫�娴嬪��
+ char req = required.charAt(0);
+ List<Integer> list = Arrays.stream(testValue.split(",")).map(s -> {
+ int values=2;
+ if (req == '>' || req == '<' || req == '=') {
+ values = checkValues(required, internal, s);
+ }else {
+ values = conValues(required, internal, s);
+ }
+ return values;
+ }).collect(Collectors.toList());
+ if (list.contains(0)) {
+ //濡傛灉鍏朵腑涓�涓楠屽�间笉鍚堟牸鍒欒椤圭洰妫�楠屼笉鍚堟牸
+ rawInsProduct.setTestState(0);
+ } else {
+ rawInsProduct.setTestState(1);
+ }
+ }
+ rawInsProduct.setUserId(Integer.parseInt(userId));
+ }
+ rawInsProduct.setRawInspectId(rawInspect.getId());
+ return rawInsProduct;
+ }).collect(Collectors.toList());
+ //妫�楠岄」鐩壒閲忔坊鍔�
+ rawInsProductService.saveBatch(rawInsProductList);
+ return rawInspect.getId().toString();
+ }
+
//鍒嗛〉鏌ヨ鍘熸潗鏂欐楠屽崟鍒楄〃
@Override
@@ -51,7 +101,7 @@
//鏍规嵁妫�楠屽崟id鏌ヨ鍘熸潗鏂欐楠屽崟璇︽儏
@Override
- public List<Map<String, Object>> selectRawInspectsListById(Integer id) {
+ public Map<String, Object> selectRawInspectsListById(Integer id) {
return rawInspectMapper.selectRawInspectsListById(id);
}
@@ -71,6 +121,7 @@
RawInspect rawInspect = new RawInspect();
rawInspect.setId(id);
rawInspect.setInsState(1);
+ rawInspect.setInsTime(new Date());
//濡傛灉妫�楠岄」鐩腑鐨勭粨璁哄寘鍚笉鍚堟牸鍒欐楠屽崟涓嶅悎鏍�
if (results.contains(0)) {
rawInspect.setJudgeState(0);
@@ -93,38 +144,64 @@
}
- //鏂板鍘熸潗鏂欐楠屽崟
- @Override
- @Transactional(rollbackFor = Exception.class)
- public String addRawInspects(String userName, RawInspectVo rawInspectVo) {
- //鎶ユ浜�(鏂板妫�楠屽崟鐨勪汉)
- rawInspectVo.setUserName(userName);
- //鏍¢獙鏍囧噯鍊�,鍐呮帶鍊兼牸寮�
- List<RawInsProductVo> rawInsProductVos = rawInspectVo.getRawInsProducts();
- for (RawInsProductVo rawInsProductVo : rawInsProductVos) {
- char internal = rawInsProductVo.getInternal().charAt(0);
- char required = rawInsProductVo.getRequired().charAt(0);
- if (internal != '>' && internal != '<' && internal != '=') {
- if (required != '>' && required != '<' && required != '=') {
- return "鏍囧噯鍊艰緭鍏ユ牸寮忔湁闂!";
- }
- return "鍐呮帶鍊艰緭鍏ユ牸寮忔湁闂!";
+ /*鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�*/
+ //濡傛灉鏄辩殑鎿嶄綔
+ private int conValues(String standardValueStr, String controlValueStr, String detectionValueStr) {
+ double standVar = Double.parseDouble(standardValueStr);
+ double controlVar = Double.parseDouble(controlValueStr);
+ double detecVar = Double.parseDouble(detectionValueStr);
+ double a = standVar + controlVar;
+ double b = standVar - controlVar;
+ if (detecVar >= b && detecVar <= a) {
+ return 1;
+ }
+ return 0;
+ }
+ //濡傛灉鏄�> , < ,=鐨勬搷浣�
+ private int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) {
+ boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr);
+ boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr);
+
+ if (isStandardValueSatisfied && isControlValueSatisfied) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+
+ private boolean isValueSatisfied(String valueStr, String detectionValueStr) {
+ String substring = valueStr.substring(1, 2);
+ if (substring.equals("=")) {
+ String operator = valueStr.substring(0, 2);
+ Double standardValue = Double.parseDouble(valueStr.substring(2));
+ Double detectionValue = Double.parseDouble(detectionValueStr);
+ switch (operator) {
+ case ">=":
+ return detectionValue >= standardValue;
+ case "<=":
+ return detectionValue <= standardValue;
+ default:
+ return false;
+ }
+ } else {
+ String operator = valueStr.substring(0, 1);
+ Double standardValue = Double.parseDouble(valueStr.substring(1));
+ Double detectionValue = Double.parseDouble(detectionValueStr);
+ switch (operator) {
+ case ">":
+ return detectionValue > standardValue;
+ case "鈮�":
+ return detectionValue >= standardValue;
+ case "鈮�":
+ return detectionValue <= standardValue;
+ case "<":
+ return detectionValue < standardValue;
+ case "=":
+ return detectionValue.equals(standardValue);
+ default:
+ return false;
}
}
- /*鏂板鍘熸潗鏂欐楠屽崟*/
- RawInspect rawInspect = new RawInspect();
- BeanUtils.copyProperties(rawInspectVo, rawInspect);
- rawInspectMapper.insert(rawInspect);
- /*鏂板鍘熸潗鏂欐楠岄」鐩崟*/
- List<RawInsProduct> rawInsProductList = rawInsProductVos.stream().map(rawInsProVo -> {
- RawInsProduct rawInsProduct = new RawInsProduct();
- BeanUtils.copyProperties(rawInsProVo, rawInsProduct);
- rawInsProduct.setRawInspectId(rawInspect.getId());
- return rawInsProduct;
- }).collect(Collectors.toList());
- //妫�楠岄」鐩壒閲忔坊鍔�
- rawInsProductService.saveBatch(rawInsProductList);
- return "鏂板妫�楠屽崟鎴愬姛!";
}
}
--
Gitblit v1.9.3