From 027c21867ac838a35d9b29b5c138bc59e4cfbca3 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期日, 28 九月 2025 16:31:46 +0800
Subject: [PATCH] yys 修改word模板
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 78 ++++++++++++++++++++++++--------------
1 files changed, 49 insertions(+), 29 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index 71da0be..7b74ae6 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -361,15 +361,16 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public void saveInsContext(Map<String, Object> insContext, Integer currentTable, Integer currentSampleId, Integer orderId, String sonLaboratory) {
+ public void saveInsContext(SaveInsContextDto saveInsContextDto) {
+ Map<String, Object> insContext = JSON.parseObject(saveInsContextDto.getParam(), Map.class);
Integer userId = SecurityUtils.getUserId().intValue();
- InsSample insSample = insSampleMapper.selectById(currentSampleId);
+ InsSample insSample = insSampleMapper.selectById(saveInsContextDto.getSampleId());
insContext.forEach((k, v) -> {
JSONObject jo = JSON.parseObject(JSON.toJSONString(v));
InsProduct insProduct = new InsProduct();
insProduct.setId(Integer.parseInt(k));
InsProduct product = insProductMapper.selectById(insProduct.getId());
- if (currentTable.equals(product.getTemplateId()) && currentSampleId.equals(product.getInsSampleId())) {
+ if (saveInsContextDto.getCurrentTable().equals(product.getTemplateId()) && saveInsContextDto.getSampleId().equals(product.getInsSampleId())) {
List<InsProductResult> oldResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
.eq(InsProductResult::getInsProductId, insProduct.getId()));
InsProductResult newResult = new InsProductResult();
@@ -501,23 +502,30 @@
// 娣诲姞宸ユ椂
// 鍒ゆ柇鏄惁鍙槸鍙備笌璁$畻鍊�, 鍙備笌璁$畻鍊煎疄闄呮病鏈夊~鍐�
+ InsProduct finalInsProduct = insProductMapper.selectById(product.getId());
+ InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
if (StringUtils.isNotBlank(newResult.getInsValue()) && !newResult.getInsValue().equals("[]")) {
- InsProduct finalInsProduct = insProductMapper.selectById(product.getId());
threadPoolTaskExecutor.execute(() -> {
- InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
this.addAuxiliary(userId, finalInsProduct, insOrder);
});
+ } else {
+ // 鍒ゆ柇鏄惁鏄病鏈夋楠屽�肩殑鍐呭
+ if (saveInsContextDto.getIsNoTestValue() != null && saveInsContextDto.getIsNoTestValue() == 1) {
+ threadPoolTaskExecutor.execute(() -> {
+ this.addAuxiliary(userId, finalInsProduct, insOrder);
+ });
+ }
}
}
});
String sampleIdStr = insContext.keySet().stream().findFirst().orElse(null);
if (sampleIdStr != null) {
- int count = insProductMapper.selectInsProductCountByOrderId(orderId);
+ int count = insProductMapper.selectInsProductCountByOrderId(saveInsContextDto.getOrderId());
if (count == 0) {
insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
- .eq(InsOrderState::getInsOrderId, orderId)
- .eq(InsOrderState::getLaboratory, sonLaboratory)
+ .eq(InsOrderState::getInsOrderId, saveInsContextDto.getOrderId())
+ .eq(InsOrderState::getLaboratory, saveInsContextDto.getSonLaboratory())
.set(InsOrderState::getInsState, 2));
}
}
@@ -605,20 +613,6 @@
*/
private void getTemplateThing(InsOrder order, List<InsProduct> insProducts) {
Set<Integer> set = new HashSet<>();
- // 妫�楠岄」鍒嗙被+妫�楠岄」+妫�楠屽瓙椤圭殑鎷兼帴
-// List<String> itemNameList = insProducts.stream().map(insProduct -> {
-// String itemName = "";
-// if (StringUtils.isNotBlank(insProduct.getInspectionItemClass())) {
-// itemName += insProduct.getInspectionItemClass().trim();
-// }
-// if (StringUtils.isNotBlank(insProduct.getInspectionItem())) {
-// itemName += insProduct.getInspectionItem().trim();
-// }
-// if (StringUtils.isNotBlank(insProduct.getInspectionItemSubclass())) {
-// itemName += insProduct.getInspectionItemSubclass().trim();
-// }
-// return itemName;
-// }).collect(Collectors.toList());
// 鏌ヨ璁㈠崟鐘舵�佸垽鏂槸鍚︽槸鏌ュ巻鍙叉ā鏉�
if (order.getIsFirstSubmit() != null && order.getIsFirstSubmit().equals(1)) {
InsOrderState insOrderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
@@ -822,10 +816,9 @@
// 5.鍙戦�佹秷鎭�氱煡缁欏鏍镐汉
// 鏌ヨ褰撳墠浜轰俊鎭�
Integer userId = SecurityUtils.getUserId().intValue();
- Map<String, String> userMap = insProductMapper.selectUserById(verifyUser);
- String userName = userMap.get("name");
+ String userName = insProductMapper.selectUserById(userId).get("name");
// 鏌ヨ鍙戦�佷汉淇℃伅
- String sendUserAccount = userMap.get("account");
+ String sendUserAccount = insProductMapper.selectUserById(verifyUser).get("account");
InformationNotification info = new InformationNotification();
info.setCreateUser(userName);
info.setMessageType("2");
@@ -973,7 +966,7 @@
if (insProduct.getInspectionValueType().equals("1") && insProduct.getInsResult().equals(1)) {
List<InsProductDeviationWarningDetail> insProductAnalysisDtoList = insProductMapper.selectAnalysis(insProduct, ifsInventoryQuantity.getSupplierName());
- if (insProductAnalysisDtoList.size() < 10) {
+ if (CollectionUtils.isEmpty(insProductAnalysisDtoList)) {
continue;
}
@@ -982,8 +975,10 @@
.collect(Collectors.toList());
double deviation = isDeviationOverTenPercent(laseValueList, insProduct.getLastValue());
+ // 鍒ゆ柇瑕佹眰鍊兼槸鍚﹀亸宸秴杩�10%
+ double asked = isDeviationOverTenPercentByAsked(insProduct.getAsk(), insProduct.getLastValue());
// 鍒ゆ柇鍋忓樊鏄惁澶т簬10
- if (deviation > 10) {
+ if (deviation > 10 || asked > 10) {
// 鍒ゆ柇涔嬪墠鏄惁娣诲姞杩�, 娣诲姞杩囦笉闇�瑕佹坊鍔�
long count = insProductDeviationWarningService.count(Wrappers.<InsProductDeviationWarning>lambdaQuery()
.eq(InsProductDeviationWarning::getInsProductId, insProduct.getId()));
@@ -1011,7 +1006,8 @@
deviationWarningDetail.setSupplierName(ifsInventoryQuantity.getSupplierName());
deviationWarningDetail.setTestValue(insProduct.getLastValue());
deviationWarningDetail.setDetectionTime(insProduct.getCreateTime());
- deviationWarningDetail.setIsIssue(1);
+ deviationWarningDetail.setIsIssue(deviation > 10 ? 1 : 0);
+ deviationWarningDetail.setIsIssueAsked(asked > 10 ? 1 : 0);
insProductAnalysisDtoList.add(deviationWarningDetail);
@@ -1064,6 +1060,24 @@
double sum = doubleData.stream().mapToDouble(Double::doubleValue).sum();
double average = sum / doubleData.size();
+ double target = Double.parseDouble(targetStr);
+ double deviationPercent = Math.abs(target - average) / average * 100;
+
+ // 淇濈暀涓や綅灏忔暟
+ DecimalFormat df = new DecimalFormat("#.00");
+ String formatted = df.format(deviationPercent);
+ return Double.parseDouble(formatted);
+ }
+
+ /**
+ * *****璁$畻鍋忓樊锛堣姹傚�硷級****
+ * @param asked
+ * @param targetStr
+ * @return
+ */
+ public static double isDeviationOverTenPercentByAsked(String asked, String targetStr) {
+ if(!isNumeric(asked)) return 0;
+ double average = Double.parseDouble(asked);
double target = Double.parseDouble(targetStr);
double deviationPercent = Math.abs(target - average) / average * 100;
@@ -2015,7 +2029,7 @@
insReportMapper.delete(Wrappers.<InsReport>lambdaQuery()
.eq(InsReport::getInsOrderId, insOrder.getId()));
insReportMapper.insert(insReport);
-
+ inputStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -2568,6 +2582,7 @@
insReportMapper.delete(Wrappers.<InsReport>lambdaQuery()
.eq(InsReport::getInsOrderId, insOrder.getId()));
insReportMapper.insert(insReport);
+ inputStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -4242,6 +4257,11 @@
// 淇濆瓨鍒伴檮浠堕噷闈�
uploadFile(insOrderId, multipartFile);
+ try {
+ inputStream.close();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
}
--
Gitblit v1.9.3