From a3f47b5e065878e5f41699ac1c597fd9ac9c4a21 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 25 九月 2023 14:56:24 +0800
Subject: [PATCH] 修改3.0 9.25
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java | 234 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 196 insertions(+), 38 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 b3e0e7b..fa413d5 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,18 @@
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.BatchInfo;
+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 +41,105 @@
@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()); //渚涘簲鍟�
+ String orderNo = map.get("ORDER_NO").toString();//璁㈠崟鍙�
+ String releaseNo = map.get("RELEASE_NO").toString();//涓嬭揪鍙�
+ String lineNo = map.get("LINE_NO").toString();//琛屽彿
+ String lotBatchNo = map.get("LOT_BATCH_NO").toString();//鎵瑰彿
+ String locationNo = map.get("LOCATION_NO").toString();//搴撲綅鍙�
+ rawInspectVo.setMessage(orderNo+","+releaseNo+","+lineNo+","+lotBatchNo+","+locationNo);
+ }
+ }
+ }
+ //鏌ヨ璇ュ師鏉愭枡鏄惁鏈夋楠岄」鐩褰�
+ 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 +149,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 +169,7 @@
RawInspect rawInspect = new RawInspect();
rawInspect.setId(id);
rawInspect.setInsState(1);
+ rawInspect.setInsTime(new Date());
//濡傛灉妫�楠岄」鐩腑鐨勭粨璁哄寘鍚笉鍚堟牸鍒欐楠屽崟涓嶅悎鏍�
if (results.contains(0)) {
rawInspect.setJudgeState(0);
@@ -82,49 +181,108 @@
} else return "椤圭洰鏈楠屽畬!";
/*濡傛灉妫�楠岀粨璁轰负涓嶅悎鏍�,鍒欓渶瑕佹柊澧炰笉鍚堟牸妫�楠屽崟*/
if (rawInspect.getJudgeState() == 0) {
+ //鏌ヨ璇ユ楠屽崟鍝簺妫�楠岄」鐩笉鍚堟牸
+ List<RawInsProduct> rawInsProductList = rawInsProductMapper.selectList(Wrappers.<RawInsProduct>query()
+ .eq("raw_inspect_id", id)
+ .eq("test_state", 0));
+ String msg = null;
+ for (RawInsProduct rawInsProduct : rawInsProductList) {
+ msg+=rawInsProduct.getName();
+ }
InspectUnaccepted rawUnaccepted = InspectUnaccepted.builder()
- .reason(rawInspect.getName() + "涓嶅悎鏍�") //鏆備笖瀹氫箟涓哄師鏉愭枡涓嶅悎鏍�
+ .reason(msg + "涓嶅悎鏍�") //瀹氫箟涓轰笉鍚堟牸鐨勯」鐩�+涓嶅悎鏍�
+ .number(number)
.rawInspectId(id)
.type(0) //绫诲瀷涓哄師鏉愭枡
.build();
inspectUnacceptedMapper.insert(rawUnaccepted);
}
- return "涓婃姤鎴愬姛!";
+ /*妫�楠屽畬鎴愬悗锛屾棤璁哄悎鏍间笌鍚︼紝灏咺FS鎶ユ鐘舵�佹洿鏀逛负宸叉帴鏀�*/
+ //鏍规嵁妫�楠屽崟id鏌ヨ鍘熸潗鏂欐楠屽崟
+ RawInspect rawIns = rawInspectMapper.selectById(id);
+ String[] split = rawIns.getMessage().split(",");
+ BatchInfo batchInfo = new BatchInfo();
+ batchInfo.setOrderNo(split[0]);
+ batchInfo.setReleaseNo(split[1]);
+ batchInfo.setLineNo(split[2]);
+ batchInfo.setPartNo(rawIns.getCode());
+ batchInfo.setLotBatchNo(split[3]);
+ batchInfo.setLocationNo(split[4]);
+ if (ObjectUtils.isEmpty(number)) {
+ //濡傛灉涓嶅悎鏍肩殑鏁伴噺涓虹┖null
+ number=0;
+ }
+ batchInfo.setQtyToReceive(rawIns.getNumber()-number); //瑕佹帴鏀剁殑鏁伴噺
+ batchInfo.setQtyToInspect(rawIns.getNumber()); //瑕佹楠岀殑鏁伴噺
+ batchInfo.setReceiveCase("鎺ユ敹鍒版潵鏂欏尯");
+ List<BatchInfo> batchInfos = Arrays.asList(batchInfo);
+ //鍙戦�両FS璇锋眰
+ String s = SyncOrder.importPolReceive(batchInfos);
+ System.out.println(s);
+ System.out.println("'''''''''''''''''''''''");
+ 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