From cb3ec598dc18e66b70a2cc9f7181c8be5bcf6e57 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期二, 01 四月 2025 08:50:16 +0800
Subject: [PATCH] 检验项预警非文字检验项都要预警
---
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 3 +
inspect-server/src/main/resources/mapper/InsProductMapper.xml | 2 +
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 106 +++++++++++++++++++++++++++-------------------------
3 files changed, 59 insertions(+), 52 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 9198f79..b8bb4a0 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
@@ -117,8 +117,6 @@
@Resource
private AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService;
@Resource
- private AuxiliaryOutputWorkingHoursTemporaryService auxiliaryOutputWorkingHoursTemporaryService;
- @Resource
private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
@Resource
private InformationNotificationService informationNotificationService;
@@ -955,7 +953,7 @@
// 鏌ヨifs淇℃伅鑾峰彇鑾峰彇鍓�10涓緵搴斿晢涓�鏍风殑, 妫�楠岄」涓�鏍蜂俊鎭�
threadPoolTaskExecutor.execute(() -> {
// 娣诲姞鍒嗘瀽鏁版嵁
- addAnalysis(productList, ifsInventoryQuantity, order);
+ addAnalysis(productList, ifsInventoryQuantity, order, userName);
});
@@ -983,13 +981,13 @@
* @param ifsInventoryQuantity
* @param order
*/
- private void addAnalysis(List<InsProduct> productList, IfsInventoryQuantity ifsInventoryQuantity, InsOrder order) {
+ private void addAnalysis(List<InsProduct> productList, IfsInventoryQuantity ifsInventoryQuantity, InsOrder order, String userName) {
for (InsProduct insProduct : productList) {
- // todo: 鏆傛椂鍒ゆ柇鏄惁鏄�佸寲
- if (insProduct.getInspectionItem().contains("鑰佸寲") && insProduct.getInsResult().equals(1)) {
+ // 鍒ゆ柇鏄惁鏄暟鍊肩被鍨�
+ if (insProduct.getInspectionValueType().equals("1") && insProduct.getInsResult().equals(1)) {
List<InsProductDeviationWarningDetail> insProductAnalysisDtoList = insProductMapper.selectAnalysis(insProduct, ifsInventoryQuantity.getSupplierName());
- if (insProductAnalysisDtoList.size() < 10) {
+ if (insProductAnalysisDtoList.size() < 5) {
continue;
}
@@ -1026,6 +1024,7 @@
deviationWarningDetail.setSampleCode(insProduct.getSampleCode());
deviationWarningDetail.setSupplierName(ifsInventoryQuantity.getSupplierName());
deviationWarningDetail.setTestValue(insProduct.getLastValue());
+ deviationWarningDetail.setDetectionTime(insProduct.getCreateTime());
deviationWarningDetail.setIsIssue(1);
insProductAnalysisDtoList.add(deviationWarningDetail);
@@ -1037,22 +1036,26 @@
insProductDeviationWarningDetailService.saveBatch(insProductAnalysisDtoList);
+ //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡 妫�楠岄」棰勮棰勮閫氱煡
+ try {
+ String message = "";
+ message += "妫�楠岄」棰勮棰勮閫氱煡";
+ message += "\n濮旀墭缂栧彿: " + order.getEntrustCode();
+ message += "\n鏍峰搧鍚嶇О: " + order.getSample();
+ message += "\n瑙勬牸鍨嬪彿: " + order.getPartDetail();
+ message += "\n鎵规鍙�: " + ifsInventoryQuantity.getUpdateBatchNo();
+ message += "\n渚涘簲鍟嗗悕绉�: " + ifsInventoryQuantity.getSupplierName();
+ message += "\n妫�楠岄」: " + insProduct.getInspectionItem() + insProduct.getInspectionItemSubclass();
+ message += "\n鍋忓樊瓒呰繃浜� 10%";
+ // 鍙戦�佺粰鎻愪氦浜�
+ WxCpUtils.inform(userName, message, null);
-// String message = "";
-// message += "妫�楠屼换鍔″鏍搁�氱煡";
-// message += "\n鎻愪氦浜�: " + userName;
-// message += "\n濮旀墭缂栧彿: " + order.getEntrustCode();
-// message += "\n鏍峰搧鍚嶇О: " + insSample.getModel();
-// message += "\n瑙勬牸鍨嬪彿: " + order.getPartDetail();
-// if (ifsInventoryQuantity != null) {
-// message += "\n鎵规鍙�: " + ifsInventoryQuantity.getUpdateBatchNo();
-// }
-// //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡 鎻愪氦澶嶆牳
-// try {
-// WxCpUtils.inform(sendUserAccount, message, null);
-// } catch (Exception e) {
-// throw new RuntimeException(e);
-// }
+ // todo: 鍙戦�佺粰妫�娴嬩腑蹇冧富浠�(鍥哄畾姝�)
+ WxCpUtils.inform("ZT-004704", message, null);
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("鍋忓樊棰勮浼佷笟寰俊閫氱煡鎶ラ敊");
+ }
}
}
}
@@ -4449,42 +4452,43 @@
return;
}
- //棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
- LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
-
//鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜�
List<AuxiliaryOutputWorkingHours> count2s = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
.eq(AuxiliaryOutputWorkingHours::getCheck, userId)
.eq(AuxiliaryOutputWorkingHours::getInsProductId, insProduct.getId()));
if (CollectionUtils.isNotEmpty(count2s)) {
- auxiliaryOutputWorkingHoursMapper.deleteBatchIds(count2s.stream().map(auxiliaryOutputWorkingHours -> auxiliaryOutputWorkingHours.getId()).collect(Collectors.toList()));
- }
- if (ObjectUtils.isNotEmpty(insProduct.getManHour()) && StringUtils.isNotBlank(insProduct.getLastValue())) {
- AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
- auxiliaryOutputWorkingHours.setInspectionItemClass(insProduct.getInspectionItemClass());//妫�娴嬮」鍒嗙被
- auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
- auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
- auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
- auxiliaryOutputWorkingHours.setOrderId(insOrder.getId());//璁㈠崟id
- auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
- auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
- auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : BigDecimal.ZERO));//浜ч噺宸ユ椂
- auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
- LocalDateTime localDateTime = LocalDateTime.now();
- DateTime parse = DateUtil.parse(localDateTime.format(formatter));
- auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
- auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
- auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
- auxiliaryOutputWorkingHours.setPrice(insProduct.getPrice());//鍗曚环
- auxiliaryOutputWorkingHours.setSampleId(insProduct.getInsSampleId());//鏍峰搧id
- auxiliaryOutputWorkingHours.setInsProductId(insProduct.getId());//妫�楠岄」id
+ for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours : count2s) {
+ auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+ }
+ auxiliaryOutputWorkingHoursService.updateBatchById(count2s);
+ } else {
+ if (ObjectUtils.isNotEmpty(insProduct.getManHour()) && StringUtils.isNotBlank(insProduct.getLastValue())) {
+ AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
+ auxiliaryOutputWorkingHours.setInspectionItemClass(insProduct.getInspectionItemClass());//妫�娴嬮」鍒嗙被
+ auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
+ auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
+ auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
+ auxiliaryOutputWorkingHours.setOrderId(insOrder.getId());//璁㈠崟id
+ auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
+ auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
+ auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
+ auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : BigDecimal.ZERO));//浜ч噺宸ユ椂
+ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
+ LocalDateTime localDateTime = LocalDateTime.now();
+ DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+ auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+ auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+ auxiliaryOutputWorkingHours.setPrice(insProduct.getPrice());//鍗曚环
+ auxiliaryOutputWorkingHours.setSampleId(insProduct.getInsSampleId());//鏍峰搧id
+ auxiliaryOutputWorkingHours.setInsProductId(insProduct.getId());//妫�楠岄」id
- auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+ auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+ }
}
}
diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
index 4727424..5299c2b 100644
--- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -162,11 +162,13 @@
left join ins_sample is2 on is2.id = ip.ins_sample_id
left join ins_order io on io.id = is2.ins_order_id
left join ifs_inventory_quantity iiq on iiq.id = io.ifs_inventory_id
+ left join ins_product_deviation_warning ipdw on ipdw.ins_product_id = ip.id
where concat(ip.inspection_item, ip.inspection_item_subclass) = concat(#{insProduct.inspectionItem}, #{insProduct.inspectionItemSubclass})
and ip.model = #{insProduct.model}
and iiq.supplier_name = #{supplierName}
and io.state = 4
and ip.ins_result = 1
+ and ipdw.deviation_warning_id is null
order by io.first_submit_date desc
limit 10
</select>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 94effbe..57aaac4 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -463,7 +463,8 @@
ifs.id inventoryQuantityId,
ifs.buy_unit_meas buyUnitMeas,
io.test_quantity testQuantity,
- ifs.buy_unit_meas buyUnitMeas
+ ifs.buy_unit_meas buyUnitMeas,
+ ifs.declare_date declareDate
FROM
ifs_inventory_quantity ifs
LEFT JOIN ins_order io ON ifs.id = io.ifs_inventory_id
--
Gitblit v1.9.3