From dabfdd9dbf0364b1134daaad86af7e13f6437295 Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期四, 30 十月 2025 12:40:30 +0800
Subject: [PATCH] XJ,SJ,RKJ检验项目序号,LLJ单个检验项目FTP附件信息
---
StandardInterface/MES.Service/service/QC/LljService.cs | 76 ++++++++++++++++++++-----------------
1 files changed, 41 insertions(+), 35 deletions(-)
diff --git a/StandardInterface/MES.Service/service/QC/LljService.cs b/StandardInterface/MES.Service/service/QC/LljService.cs
index a360c3c..71d481a 100644
--- a/StandardInterface/MES.Service/service/QC/LljService.cs
+++ b/StandardInterface/MES.Service/service/QC/LljService.cs
@@ -89,7 +89,9 @@
// 娣诲姞璇勫鐘舵��
PSZT = a.PSZT,
// 娣诲姞妫�楠岄」鐩淮鎶ょ姸鎬�
- Jyxm = a.Jyxm
+ Jyxm = a.Jyxm,
+ // 娣诲姞鐗堟湰鍙凤紙鐢ㄤ簬FTP璺緞锛�
+ Fversion = a.Fversion
})
.OrderBy("IQC_DATE DESC")
.OrderBy("CASE WHEN EMERGENCY = 1 THEN 0 ELSE 1 END")
@@ -164,7 +166,9 @@
// 娣诲姞璇勫鐘舵��
PSZT = a.PSZT,
// 娣诲姞妫�楠岄」鐩淮鎶ょ姸鎬�
- Jyxm = a.Jyxm
+ Jyxm = a.Jyxm,
+ // 娣诲姞鐗堟湰鍙凤紙鐢ㄤ簬FTP璺緞锛�
+ Fversion = a.Fversion
})
.OrderBy("IQC_DATE DESC")
.OrderBy("CASE WHEN EMERGENCY = 1 THEN 0 ELSE 1 END")
@@ -504,7 +508,13 @@
return input.Substring(startIndex + 1, length);
}
- public List<QamftpDto> GetAttachments(string ItemNo)
+ /// <summary>
+ /// 鑾峰彇闄勪欢淇℃伅
+ /// </summary>
+ /// <param name="ItemNo">鐗╂枡缂栫爜</param>
+ /// <param name="fversion">鐗堟湰鍙凤紙鍙�夛紝鐢ㄤ簬杩囨护锛�</param>
+ /// <returns>闄勪欢鍒楄〃</returns>
+ public List<QamftpDto> GetAttachments(string ItemNo, string fversion = null)
{
//if (string.IsNullOrEmpty(ItemNo))
//{
@@ -514,8 +524,17 @@
var db = SqlSugarHelper.GetInstance();
try
{
- return db.Queryable<MesQamftp>()
+ var query = db.Queryable<MesQamftp>()
.Where(x => x.ItemNo == ItemNo)
+ .Where(x => x.Ftype == "鏉ユ枡妫�"); // 娣诲姞FTYPE = '鏉ユ枡妫�'鐨勯檺鍒�
+
+ // 濡傛灉浼犲叆浜唂version锛屽垯鎸塅version杩囨护
+ if (!string.IsNullOrEmpty(fversion))
+ {
+ query = query.Where(x => x.Fversion == fversion);
+ }
+
+ return query
.OrderBy(x => x.Fdate, OrderByType.Desc)
// .ThenBy(x => x.CreateDate, OrderByType.Desc)
.Select(x => new QamftpDto
@@ -543,7 +562,7 @@
}
}
- public byte[] GetFtpFile(string itemNo, string fileName, string ftpServer)
+ public byte[] GetFtpFile(string itemNo, string fileName, string ftpServer, string fversion = null)
{
// 鍙傛暟楠岃瘉
if (string.IsNullOrEmpty(itemNo) || string.IsNullOrEmpty(fileName) || string.IsNullOrEmpty(ftpServer))
@@ -557,8 +576,16 @@
// 鏍囧噯鍖朏TP鏈嶅姟鍣ㄥ湴鍧�
string normalizedServer = NormalizeFtpServer(ftpServer);
- // 鏋勫缓FTP鏂囦欢璺緞
- string ftpPath = $"{normalizedServer}/IQC/{itemNo}/{fileName}";
+ // 鏋勫缓FTP鏂囦欢璺緞 - 鏉ユ枡妫�浣跨敤IQC鐩綍锛屼娇鐢╢version浣滀负瀛愮洰褰�
+ string ftpPath;
+ if (!string.IsNullOrEmpty(fversion))
+ {
+ ftpPath = $"{normalizedServer}/IQC/{itemNo}/{fversion}/{fileName}";
+ }
+ else
+ {
+ ftpPath = $"{normalizedServer}/IQC/{itemNo}/{fileName}";
+ }
try
{
@@ -1289,7 +1316,6 @@
BillNo = b.BillNo // 鍒拌揣鍗曞彿
})
.ToList();
-
// 绉婚櫎鍒拌揣鍗曞彿鏍¢獙锛岀洿鎺ヨ繑鍥炴煡璇㈢粨鏋�
return materialInfo;
}
@@ -1298,7 +1324,6 @@
throw new Exception($"鏌ヨ鐗╂枡淇℃伅澶辫触: {ex.Message}");
}
}
-
/// <summary>
/// 鏌ヨ鐮村潖瀹為獙璁板綍鏄惁瀛樺湪
/// </summary>
@@ -1313,7 +1338,7 @@
var count = db.Queryable<MesInvPhsy>()
.Where(x => x.BillNo == billNo && x.ReleaseNo == releaseNo)
.Count();
-
+
return count > 0;
}
catch (Exception ex)
@@ -1321,7 +1346,6 @@
throw new Exception($"鏌ヨ鐮村潖瀹為獙璁板綍澶辫触: {ex.Message}");
}
}
-
/// <summary>
/// 鑾峰彇鐮村潖瀹為獙璁板綍璇︾粏淇℃伅
/// </summary>
@@ -1337,22 +1361,20 @@
var phsyRecords = db.Queryable<MesInvPhsy>()
.Where(x => x.BillNo == billNo && x.ReleaseNo == releaseNo)
.ToList();
-
var result = new List<PhsyRecordInfoDto>();
-
+
foreach (var record in phsyRecords)
{
// 灏濊瘯閫氳繃鏉$爜鏌ヨ鐗╂枡淇℃伅
var materialInfo = db.Queryable<MesInvItemBarcodes>()
.LeftJoin<MesItems>((b, m) => b.ItemId == m.Id)
.Where((b, m) => b.ItemBarcode == record.ItemBarcode)
- .Select((b, m) => new {
+ .Select((b, m) => new {
ItemNo = b.ItemNo,
ItemName = m.ItemName,
ItemModel = m.ItemModel
})
.First();
-
var dto = new PhsyRecordInfoDto
{
ItemBarcode = record.ItemBarcode,
@@ -1364,10 +1386,10 @@
Cqty = record.Cqty,
CreateDate = record.CreateDate
};
-
+
result.Add(dto);
}
-
+
return result;
}
catch (Exception ex)
@@ -1375,7 +1397,6 @@
throw new Exception($"鑾峰彇鐮村潖瀹為獙璁板綍淇℃伅澶辫触: {ex.Message}");
}
}
-
/// <summary>
/// 璋冪敤鐮村潖瀹為獙瀛樺偍杩囩▼
/// </summary>
@@ -1400,19 +1421,16 @@
var inputParam5 = new SugarParameter("P_LX", lx, DbType.Int32, ParameterDirection.Input);
var inputParam6 = new SugarParameter("ITEM_ID", itemId ?? 0, DbType.Decimal, ParameterDirection.Input);
var inputParam7 = new SugarParameter("P_RELEASE_NO", releaseNo, DbType.String, ParameterDirection.Input);
-
+
// 瀹氫箟杈撳嚭鍙傛暟
var outputResult = new SugarParameter("PO_RESULT", null, DbType.Int32, ParameterDirection.Output);
var outputMessage = new SugarParameter("PO_MSG", null, DbType.String, ParameterDirection.Output, 4000);
-
// 浣跨敤SqlSugar鎵ц瀛樺偍杩囩▼
- db.Ado.ExecuteCommand("BEGIN PRC_INV_PHSYUPDATE(:P_ITEM_BARCODE, :P_YQTY, :P_CQTY, :P_BILL_NO, :P_LX, :ITEM_ID, :P_RELEASE_NO, :PO_RESULT, :PO_MSG); END;",
+ db.Ado.ExecuteCommand("BEGIN PRC_INV_PHSYUPDATE(:P_ITEM_BARCODE, :P_YQTY, :P_CQTY, :P_BILL_NO, :P_LX, :ITEM_ID, :P_RELEASE_NO, :PO_RESULT, :PO_MSG); END;",
inputParam1, inputParam2, inputParam3, inputParam4, inputParam5, inputParam6, inputParam7, outputResult, outputMessage);
-
// 鑾峰彇杈撳嚭鍙傛暟鐨勫��
var result = outputResult.Value == null ? 1 : Convert.ToInt32(outputResult.Value);
var message = outputMessage.Value?.ToString() ?? "";
-
return (result, message);
}
catch (Exception ex)
@@ -1420,7 +1438,6 @@
return (1, $"璋冪敤瀛樺偍杩囩▼澶辫触: {ex.Message}");
}
}
-
/// <summary>
/// 璁剧疆鍫电┐淇℃伅
/// </summary>
@@ -1439,30 +1456,25 @@
.Where(s => !string.IsNullOrEmpty(s))
.Select(s => int.Parse(s))
.ToList();
-
// 鑾峰彇妫�楠岄」鐩俊鎭�
var item = db.Queryable<MesQaItemsDetectDetail5>()
.Where(x => x.Id == itemId && x.ReleaseNo == releaseNo)
.First();
-
if (item == null)
{
return (1, "妫�楠岄」鐩笉瀛樺湪");
}
-
// 瑙f瀽寮�绌存暟
var holeCount = ParseHoleCount(item.FcheckItem);
if (holeCount == 0)
{
return (1, "璇ユ楠岄」鐩病鏈夌┐鏁颁俊鎭�");
}
-
// 楠岃瘉鍫电┐鏁伴噺涓嶈兘澶т簬绛変簬寮�绌存暟
if (blockedHolesList.Count >= holeCount)
{
return (1, $"鍫电┐鏁伴噺涓嶈兘澶т簬绛変簬寮�绌存暟锛坽holeCount}锛�");
}
-
// 楠岃瘉鍫电┐鍙锋槸鍚﹀湪鏈夋晥鑼冨洿鍐�
foreach (var hole in blockedHolesList)
{
@@ -1471,10 +1483,8 @@
return (1, $"鍫电┐鍙峰繀椤诲湪1-{holeCount}涔嬮棿");
}
}
-
// 璁$畻鏂扮殑妫�楠屾暟閲�
var newCheckQyt = item.CheckQyt - (item.CheckQyt / holeCount) * blockedHolesList.Count;
-
// 鏇存柊鏁版嵁搴�
var result = SqlSugarHelper.UseTransactionWithOracle(db =>
{
@@ -1484,7 +1494,6 @@
.Where(x => x.Id == itemId && x.ReleaseNo == releaseNo)
.ExecuteCommand();
});
-
if (result > 0)
{
return (0, "鍫电┐璁剧疆鎴愬姛");
@@ -1499,7 +1508,6 @@
return (1, $"璁剧疆鍫电┐澶辫触: {ex.Message}");
}
}
-
/// <summary>
/// 瑙f瀽妫�楠岄」鐩悕绉颁腑鐨勭┐鏁�
/// </summary>
@@ -1509,11 +1517,9 @@
{
if (string.IsNullOrEmpty(checkItemName))
return 0;
-
// 鍖归厤鏍煎紡锛氬昂瀵告鏌ワ紙5绌达級鎴� 灏哄妫�鏌�(5绌�)
var match = System.Text.RegularExpressions.Regex.Match(checkItemName, @"[锛�(](\d+)绌碵锛�)]");
return match.Success ? int.Parse(match.Groups[1].Value) : 0;
}
-
}
\ No newline at end of file
--
Gitblit v1.9.3