From 68f6642d4d1fff10c6bd898d69dd7bff27adbc16 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期日, 24 九月 2023 15:18:29 +0800
Subject: [PATCH] 修改2.0 9.24
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java | 194 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 157 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..d3509d2 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,19 +1,17 @@
package com.yuanchu.mom.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import cn.hutool.core.date.DateUtil;
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.Task.SyncOrder;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
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;
@@ -42,6 +40,99 @@
@Resource
InspectUnacceptedMapper inspectUnacceptedMapper;
+ @Resource
+ UserMapper userMapper;
+
+ //鏂板鍘熸潗鏂欐楠屽崟-->鏍规嵁鍘熸潗鏂欑紪鐮佸緱鍒癷fs涓殑鎶ユ鏁版嵁
+ @Override
+ public RawInspectVo chooseIFS(String code) {
+ RawInspectVo rawInspectVo = new RawInspectVo();
+ List<Map<String, Object>> mapList = SyncOrder.ifsInterfaces();
+ for (Map<String, Object> map : mapList) {
+ //todo: 鍚庣画闇�瑕佸皢鐘舵�佹敼鎴愬緟妫�楠�
+ if (map.get("STATE").equals("宸叉帴鏀�")) {
+ if (map.get("PART_NO").toString().equals(code)) {
+ rawInspectVo.setCode(map.get("PART_NO").toString()); //鍘熸潗鏂欑紪鐮�
+ String[] split = map.get("PART_DESC").toString().split("锛�");
+ rawInspectVo.setName(split[0]); //鍘熸潗鏂欏悕绉�
+ rawInspectVo.setSpecifications(split[1]); //鍨嬪彿瑙勬牸
+ rawInspectVo.setUnit(map.get("BUY_UNIT_MEAS").toString()); //鍗曚綅
+ rawInspectVo.setNumber(Integer.parseInt(String.valueOf(map.get("QTY_TO_INSPECT")))); //鏁伴噺
+ rawInspectVo.setFormTime(DateUtil.parse(map.get("APPROVED_DATE").toString())); //鏉ユ枡鏃ユ湡
+ rawInspectVo.setSupplier(map.get("SUPPLIER_NAME").toString()); //渚涘簲鍟�
+ }
+ }
+ }
+ //鏌ヨ璇ュ師鏉愭枡鏄惁鏈夋楠岄」鐩褰�
+ RawInspect rawInspect = rawInspectMapper.selOneByCode(code);
+ if (ObjectUtils.isNotEmpty(rawInspect)){
+ List<RawInsProduct> rawInsProductList = rawInsProductMapper.selectList(Wrappers.<RawInsProduct>query().eq("raw_inspect_id", rawInspect.getId()));
+ List<RawInsProductVo> rawInsProductVos = rawInsProductList.stream().map(rawInsProduct -> {
+ RawInsProductVo rawInsProductVo = new RawInsProductVo();
+ rawInsProductVo.setName(rawInsProduct.getName());
+ rawInsProductVo.setUnit(rawInsProduct.getUnit());
+ rawInsProductVo.setRequired(rawInsProduct.getRequired());
+ rawInsProductVo.setInternal(rawInsProduct.getInternal());
+ return rawInsProductVo;
+ }).collect(Collectors.toList());
+ rawInspectVo.setRawInsProducts(rawInsProductVos);
+ }
+ return rawInspectVo;
+ }
+
+ //鏂板鍘熸潗鏂欐楠屽崟
+ @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,14 +142,14 @@
//鏍规嵁妫�楠屽崟id鏌ヨ鍘熸潗鏂欐楠屽崟璇︽儏
@Override
- public List<Map<String, Object>> selectRawInspectsListById(Integer id) {
+ public Map<String, Object> selectRawInspectsListById(Integer id) {
return rawInspectMapper.selectRawInspectsListById(id);
}
//鏇存柊妫�楠岀姸鎬�(涓婃姤)
@Override
@Transactional(rollbackFor = Exception.class)
- public String updateRawInspectsById(Integer id) {
+ public String updateRawInspectsById(Integer id,Integer number) {
/*鏇存柊妫�楠屽崟閲岄潰鐨勬楠岀粨璁�*/
//鍏堝垽鏂楠岀粨鏋�
List<Integer> results = rawInsProductMapper.getresult(id);
@@ -71,6 +162,7 @@
RawInspect rawInspect = new RawInspect();
rawInspect.setId(id);
rawInspect.setInsState(1);
+ rawInspect.setInsTime(new Date());
//濡傛灉妫�楠岄」鐩腑鐨勭粨璁哄寘鍚笉鍚堟牸鍒欐楠屽崟涓嶅悎鏍�
if (results.contains(0)) {
rawInspect.setJudgeState(0);
@@ -84,47 +176,75 @@
if (rawInspect.getJudgeState() == 0) {
InspectUnaccepted rawUnaccepted = InspectUnaccepted.builder()
.reason(rawInspectMapper.selectById(id).getName() + "涓嶅悎鏍�") //鏆備笖瀹氫箟涓哄師鏉愭枡涓嶅悎鏍�
+ .number(number)
.rawInspectId(id)
.type(0) //绫诲瀷涓哄師鏉愭枡
.build();
inspectUnacceptedMapper.insert(rawUnaccepted);
}
- return "涓婃姤鎴愬姛!";
+ return rawInspect.getJudgeState().toString();
}
- //鏂板鍘熸潗鏂欐楠屽崟
- @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