From 9e28913626d14082f2b6a9589c4585935c297667 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 27 八月 2025 08:53:45 +0800
Subject: [PATCH] 11
---
StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs | 86 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 0 deletions(-)
diff --git a/StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs b/StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs
index 05c7e3c..ea56107 100644
--- a/StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs
+++ b/StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs
@@ -3,6 +3,7 @@
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.service.BasicData;
+using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data;
@@ -465,6 +466,91 @@
return msg;
}
+ /// <summary>
+ /// 澶勭悊瑙g粦 / 鎾ら攢瑙g粦
+ /// </summary>
+ public bool ProcessSn(UnbindAsnInfoDto dto)
+ {
+ if (dto == null || dto.snList == null || dto.snList.Count == 0)
+ throw new ArgumentException("杈撳叆鍙傛暟鏃犳晥");
+
+ var sqlHelper = new OracleSQLHelper();
+ bool result = true;
+ var (connection, transaction) = sqlHelper.BeginTransaction();
+
+ try
+ {
+ foreach (var sn in dto.snList)
+ {
+ if (dto.ActionType == 0) // 瑙g粦
+ {
+ string sql = @"
+ UPDATE MES_SN_STATUS_DETAILS
+ SET IS_UNBIND = 1,
+ UNBIND_DATE = SYSDATE,
+ UNBIND_USER = :LoginId
+ WHERE TICKET_NO = :TicketNo
+ AND SN_NO = :SnNo
+ AND NVL(IS_UNBIND, 0) = 0";
+
+ var parameters = new[]
+ {
+ new OracleParameter(":LoginId", dto.loginId),
+ new OracleParameter(":TicketNo", sn.tickeNo),
+ new OracleParameter(":SnNo", sn.snNo)
+ };
+
+ int rows = sqlHelper.ExecuteNonQueryWithTransaction(sql, parameters, connection, transaction);
+ if (rows == 0)
+ {
+ throw new Exception($"瑙g粦澶辫触: 宸ュ崟[{sn.tickeNo}], SN[{sn.snNo}] 鏈壘鍒板彲瑙g粦璁板綍鎴栧凡瑙g粦锛�");
+ }
+ }
+ else if (dto.ActionType == 1) // 鎾ら攢瑙g粦
+ {
+ string sql = @"
+ UPDATE MES_SN_STATUS_DETAILS
+ SET IS_UNBIND = 0,
+ UNBIND_DATE = NULL,
+ UNBIND_USER = NULL
+ WHERE TICKET_NO = :TicketNo
+ AND SN_NO = :SnNo
+ AND NVL(IS_UNBIND, 0) = 1";
+
+ var parameters = new[]
+ {
+ new OracleParameter(":TicketNo", sn.tickeNo),
+ new OracleParameter(":SnNo", sn.snNo)
+ };
+
+ int rows = sqlHelper.ExecuteNonQueryWithTransaction(sql, parameters, connection, transaction);
+ if (rows == 0)
+ {
+ throw new Exception($"鎾ら攢瑙g粦澶辫触: 宸ュ崟[{sn.tickeNo}], SN[{sn.snNo}] 鏈壘鍒板凡瑙g粦璁板綍锛�");
+ }
+ }
+ else
+ {
+ throw new Exception("鏃犳晥鐨勬搷浣滅被鍨嬶紒鍙兘鏄� 0=瑙g粦 鎴� 1=鎾ら攢瑙g粦");
+ }
+ }
+
+ transaction.Commit();
+ }
+ catch (Exception ex)
+ {
+ transaction.Rollback();
+ result = false;
+ // 寤鸿杩欓噷鍐欐棩蹇� ex.Message
+ throw;
+ }
+ finally
+ {
+ connection.Close();
+ }
+
+ return result;
+ }
}
}
--
Gitblit v1.9.3