From c80a342eacd6b639c486eb47afdf04984d54183e Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 03 二月 2026 13:25:13 +0800
Subject: [PATCH] 不合格管理:重新提交oa功能调整3
---
ruoyi-admin-ztns/src/main/resources/application-ztns.yml | 3 +
inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java | 6 +++
inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml | 27 ++++++-------
inspect-server/src/main/resources/mapper/InsSampleUserMapper.xml | 3 +
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 6 +-
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java | 3 +
ruoyi-common/src/main/java/com/ruoyi/common/enums/ContractType.java | 21 ++++++++++
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java | 14 ++++---
ruoyi-admin-ztns/src/main/resources/application-druid.yml | 3 +
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java | 7 +++
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 18 --------
11 files changed, 65 insertions(+), 46 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java
index 3fabfcd..f84fba0 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java
@@ -21,4 +21,10 @@
@ApiModelProperty(value = "闄勪欢url")
private String fileUrl;
+ /**
+ * IFS鍩�
+ */
+ @ApiModelProperty(value = "IFS鍩�")
+ private String contract;
+
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
index d20c20b..d9ffc28 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
@@ -15,6 +15,7 @@
import com.deepoove.poi.config.ConfigureBuilder;
import com.deepoove.poi.data.Pictures;
import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.enums.ContractType;
import com.ruoyi.common.utils.DateImageUtil;
import com.ruoyi.common.utils.api.IfsApiUtils;
import com.ruoyi.common.utils.QueryWrappers;
@@ -82,7 +83,7 @@
jresult.put("data", new JSONArray());
JSONObject jsonObject = new JSONObject();
generateIfsStockQueryParams(jsonObject, ifsStockQueryDTO, ifsStockQueryDTO.getPage(), ifsStockQueryDTO.getLimit());
- Result result = ifsApiUtils.getIfsStock("ZTNS",jsonObject.toJSONString());
+ Result result = ifsApiUtils.getIfsStock(ContractType.ZTNS.getValue(),jsonObject.toJSONString());
if (result.getCode() == 200) {
JSONObject data = (JSONObject) JSON.toJSON(result.getData());
JSONArray array = new JSONArray();
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 b77a7fd..060cb87 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
@@ -1745,22 +1745,6 @@
}
/**
- * 浣跨敤姝e垯琛ㄨ揪寮忓幓闄ゅ瓧绗︿覆鏈�鍚庝竴涓�"-"鍙婂叾鍚庨潰鐨勬墍鏈夊唴瀹�
- * @param str 寰呭鐞嗙殑瀛楃涓诧紙鍏佽涓簄ull锛�
- * @return 澶勭悊鍚庣殑瀛楃涓诧紝null杩斿洖null锛屾棤"-"杩斿洖鍘熷瓧绗︿覆
- */
- public static String removeLastHyphenAndContent(String str) {
- // 绌哄�兼牎楠岋細閬垮厤NullPointerException
- if (str == null || str.isEmpty()) {
- return str;
- }
- // 姝e垯琛ㄨ揪寮忥細鍖归厤鏈�鍚庝竴涓�"-"鍙婂叾鍚庨潰鐨勬墍鏈夊唴瀹�
- String regex = "-[^-]*$";
- // 鏇挎崲鍖归厤鐨勫唴瀹逛负绌哄瓧绗︿覆
- return str.replaceAll(regex, "");
- }
-
- /**
* 灏忔姤鍛婄敓鎴�
*
* @param orderId
@@ -1828,7 +1812,7 @@
//鏌ヨ妫�楠屽崟娑堟伅
InsSampleUserVO insSampleUser = insSampleUserMapper.selectUserNameByOrderId(orderId);
if (Objects.nonNull(insSampleUser)) {
- enterFactoryReport.setPartDesc(removeLastHyphenAndContent(insSampleUser.getModel()));
+ enterFactoryReport.setPartDesc(insSampleUser.getModel());
enterFactoryReport.setInspector(insSampleUser.getInspector());
enterFactoryReport.setInspectDate(insSampleUser.getInspectDate());
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index 5370f98..d4ad615 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -439,16 +439,16 @@
@Override
public Map<String, Object> getInsOrder(Integer id) {
Map<String, Object> map = new HashMap<>();
- InsOrder insOrder = insOrderMapper.selectById(id);
+ IfsOrderVO ifsOrderVO = insOrderMapper.selectOrderInfoById(id);
List<SampleProductDto> list;
// 鍒ゆ柇鏄惁鏄繘鍘傛姤鍛婂厤妫�
- if (insOrder.getIsExemption().equals(1)) {
+ if (ifsOrderVO.getIsExemption().equals(1)) {
list = insSampleMapper.selectExemptionByOrderId(id);
} else {
list = insSampleMapper.selectSampleProductListByOrderId2(id);
}
Map<String, Object> map1 = insSampleMapper.selectInsOrder(id);
- map.put("insOrder", insOrder);
+ map.put("insOrder", ifsOrderVO);
map.put("sampleProduct", list);
map.put("insOrderTemplate", map1);
return map;
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
index 42e9deb..79490a1 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
@@ -14,6 +14,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.enums.ContractType;
import com.ruoyi.common.oa.OAProcess;
import com.ruoyi.common.oa.OAProperty;
import com.ruoyi.common.oa.OAResult;
@@ -125,10 +126,6 @@
//鑾峰彇涓嶅悎鏍煎鐞嗚褰�
UnqualifiedHandlerVO vo = baseMapper.findById(pushOADto.getHandlerId());
-// if (vo.getRequestId() != null) {
-// throw new ErrorException("璇ヤ笉鍚堟牸澶勭悊宸叉彁浜よ繃OA");
-// }
-
//鎻愪氦oa鐩稿叧瀛楁璧嬪��
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
Map<String, String> mainFields = new HashMap<>();
@@ -168,9 +165,13 @@
boolean oa = false;
try {
log.info("鍙戣捣涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼");
- String unqualifiedProcessId = oaProperty.getUnqualifiedProcessId();
+ //鏍规嵁IFS鍩熻幏鍙栧搴旂殑娴佺▼id
+ if(StringUtils.isBlank(pushOADto.getContract())){
+ throw new RuntimeException("IFS鍩熴��"+pushOADto.getContract()+"銆戜笉瀛樺湪锛孫A娴佺▼鎻愪氦澶辫触");
+ }
+ String unqualifiedProcessId = StringUtils.equals(ContractType.ZTNS.getValue(),pushOADto.getContract())?oaProperty.getUnqualifiedProcessId():oaProperty.getUnqualifiedProcessIdByKJNS();
OAResult oaResult = OAProcess.start(mainFields, requestName, unqualifiedProcessId,SecurityUtils.getUsername());
- log.info("涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼缁撴潫锛岃繑鍥炵粨鏋�->{}" + oaResult);
+ log.info("{}涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼缁撴潫锛岃繑鍥炵粨鏋�->{}",unqualifiedProcessId,oaResult);
oa = oaResult.success();
if (oa) {
String addWorkflowResult = oaResult.getAddWorkflowResult();
@@ -299,6 +300,7 @@
//鎺ㄩ�丱A
PushOADto pushOADto = new PushOADto();
pushOADto.setHandlerId(unqualifiedHandlerDto.getId());
+ pushOADto.setContract(unqualifiedHandlerDto.getContract());
pushOA(pushOADto);
}
return true;
diff --git a/inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml b/inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
index 40c572b..d678343 100644
--- a/inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
+++ b/inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
@@ -85,14 +85,15 @@
SELECT
DATE(io1.send_time) AS day,
COUNT(*) AS total,
- SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) AS qualified,
- SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unQualified
+ SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
+ SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
FROM ifs_inventory_quantity iiq
LEFT JOIN ins_order io1
ON io1.ifs_inventory_id = iiq.id
AND io1.order_type = #{dto.orderType}
AND io1.state != -1
AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
+ LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id
LEFT JOIN (
SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
FROM ins_sample
@@ -159,14 +160,15 @@
SELECT
MONTH(io1.send_time) AS month,
COUNT(*) AS total,
- SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) AS qualified,
- SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unQualified
+ SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
+ SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
FROM ifs_inventory_quantity iiq
LEFT JOIN ins_order io1
ON io1.ifs_inventory_id = iiq.id
AND io1.order_type = #{dto.orderType}
AND io1.state != -1
AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
+ LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id
LEFT JOIN (
SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
FROM ins_sample
@@ -202,17 +204,13 @@
SELECT
COUNT(*) AS sum,
/* 鍚堟牸 */
- SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) AS qualified,
+ SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
/* 涓嶅悎鏍� */
- SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unQualified,
- ROUND(
- SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END)
- / COUNT(*) * 100,
- 2
- ) AS passRate
+ SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
FROM ifs_inventory_quantity iiq
INNER JOIN ins_order io1
ON io1.ifs_inventory_id = iiq.id
+ LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id
LEFT JOIN (
SELECT
is2.ins_order_id,
@@ -249,17 +247,16 @@
<select id="getMaterialPropTable" resultType="com.ruoyi.inspect.dto.MaterialPropTableDTO">
SELECT
iiq.supplier_name AS supplierName,
- COUNT(*) AS totalBatch,
- SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unqualifiedBatch,
+ COUNT(iiq.id) AS totalBatch,
+ SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unqualifiedBatch,
ROUND(SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) / COUNT(*)* 100, 2 ) AS passRate
-
FROM ifs_inventory_quantity iiq
INNER JOIN ins_order io1
ON io1.ifs_inventory_id = iiq.id
AND io1.order_type = #{dto.orderType}
AND io1.state != -1
AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
-
+ LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id
LEFT JOIN (
SELECT
ins_order_id,
diff --git a/inspect-server/src/main/resources/mapper/InsSampleUserMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleUserMapper.xml
index aaf0cb2..3a2d6dd 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleUserMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleUserMapper.xml
@@ -5,9 +5,10 @@
select
group_concat(DISTINCT u.name separator ',') AS inspector,
date_format(isu.create_time,'%Y-%m-%d') AS inspect_date,
- isa.model
+ ip.model
from ins_sample_user isu
left join ins_sample isa on isu.ins_sample_id = isa.ins_order_id
+ inner join ins_product ip on isa.id = ip.ins_sample_id
left join user u on isu.user_id=u.id
where isu.ins_sample_id=#{orderId} and isu.state=0
group by isu.ins_sample_id
diff --git a/ruoyi-admin-ztns/src/main/resources/application-druid.yml b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
index 241c5b3..aa0059c 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-druid.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
@@ -131,7 +131,8 @@
oa:
oaHost:
prodIp:
- unqualifiedProcessId:
+ unqualifiedProcessId: 1
+ unqualifiedProcessIdByKJNS: 2 #KJNS鍩烵A娴佺▼id
# 浜轰簨绯荤粺
personnel:
diff --git a/ruoyi-admin-ztns/src/main/resources/application-ztns.yml b/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
index 57e1c97..1e038ad 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
@@ -132,7 +132,8 @@
oa:
oaHost: http://192.168.0.49:8000/oa_workflowrequest.asmx?wsdl
prodIp: http://192.168.21.53:7002/lims
- unqualifiedProcessId: 715114
+ unqualifiedProcessId: 715114 #ZTNS鍩烵A娴佺▼id
+ unqualifiedProcessIdByKJNS: 861617 #KJNS鍩烵A娴佺▼id
# 浼佷笟寰俊鎺ㄩ��
wechat:
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/ContractType.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/ContractType.java
new file mode 100644
index 0000000..74de12d
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/ContractType.java
@@ -0,0 +1,21 @@
+package com.ruoyi.common.enums;
+
+import lombok.Getter;
+
+/**
+ * IFS鍩�
+ */
+@Getter
+public enum ContractType {
+
+ ZTNS("涓ぉ鑰愪笣鍩�","ZTNS"),
+ KJNS("绉戞妧鑰愪笣鍩�","KJNS");
+
+ ContractType(String name, String value) {
+ this.name = name;
+ this.value = value;
+ }
+
+ private final String name;
+ private final String value;
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java b/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java
index 48a07e0..072e7be 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java
@@ -23,9 +23,14 @@
private String prodIp;
/**
- * 瑁呭鐢电紗锛氫笉鍚堟牸瀹℃壒oa鐨刬d
+ * 涓ぉ鑰愪笣锛氫笉鍚堟牸瀹℃壒oa鐨刬d
*/
private String unqualifiedProcessId;
+ /**
+ * 涓ぉ绉戞妧锛氫笉鍚堟牸瀹℃壒oa鐨刬d
+ */
+ private String unqualifiedProcessIdByKJNS;
+
}
--
Gitblit v1.9.3