From 349f2f66fdac1a2d64e0c99201b7f09579470714 Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期四, 16 十月 2025 14:26:31 +0800
Subject: [PATCH] SJ,XJ,RKJ检验项单独拍照+提交限制
---
StandardInterface/MESApplication/Controllers/QC/XJController.cs | 145 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 140 insertions(+), 5 deletions(-)
diff --git a/StandardInterface/MESApplication/Controllers/QC/XJController.cs b/StandardInterface/MESApplication/Controllers/QC/XJController.cs
index f1e703c..18c4299 100644
--- a/StandardInterface/MESApplication/Controllers/QC/XJController.cs
+++ b/StandardInterface/MESApplication/Controllers/QC/XJController.cs
@@ -610,10 +610,24 @@
public ResponseResult GetAttachments([FromBody] JObject data)
{
var itemNo = data["itemNo"]?.ToString();
+ var projName = data["projName"]?.ToString();
+ var fromPage = data["fromPage"]?.ToString(); // 鏂板鍙傛暟
+
+ // 璋冭瘯鏃ュ織
+ Console.WriteLine($"XJController.GetAttachments 鎺ユ敹鍙傛暟: itemNo='{itemNo}', projName='{projName}', fromPage='{fromPage}'");
+
+ // 鏉′欢杩囨护閫昏緫锛氭牴鎹甪romPage鍐冲畾鏄惁杩囨护
+ string filterProjName = null;
+ if (fromPage == "Detail" && !string.IsNullOrEmpty(projName))
+ {
+ filterProjName = projName; // Detail椤甸潰闇�瑕佽繃婊�
+ }
+ // Add椤甸潰涓嶄紶閫抐ilterProjName锛屾樉绀烘墍鏈夐檮浠�
+
try
{
dynamic resultInfos = new System.Dynamic.ExpandoObject();
- var tbBillList = new XJService().GetAttachments(itemNo);
+ var tbBillList = new XJService().GetAttachments(itemNo, filterProjName);
if (tbBillList == null || tbBillList.Count == 0)
{
return new ResponseResult
@@ -643,9 +657,10 @@
/// <param name="itemNo">鐗╂枡缂栫爜</param>
/// <param name="fileName">鏂囦欢鍚�</param>
/// <param name="ftpServer">FTP鏈嶅姟鍣ㄥ湴鍧�</param>
+ /// <param name="projName">椤圭洰鍚嶇О锛堝彲閫夛級</param>
/// <returns>鏂囦欢鍐呭</returns>
[HttpGet("PreviewFtpFile")]
- public IActionResult PreviewFtpFile([FromQuery] string itemNo, [FromQuery] string fileName, [FromQuery] string ftpServer)
+ public IActionResult PreviewFtpFile([FromQuery] string itemNo, [FromQuery] string fileName, [FromQuery] string ftpServer, [FromQuery] string projName = null)
{
try
{
@@ -656,7 +671,7 @@
Response.Headers.Add("Access-Control-Expose-Headers", "Content-Type, Content-Length");
var service = new XJService();
- var fileBytes = service.GetFtpFile(itemNo, fileName, ftpServer);
+ var fileBytes = service.GetFtpFile(itemNo, fileName, ftpServer, projName);
if (fileBytes == null || fileBytes.Length == 0)
{
@@ -680,9 +695,10 @@
/// <param name="itemNo">鐗╂枡缂栫爜</param>
/// <param name="fileName">鏂囦欢鍚�</param>
/// <param name="ftpServer">FTP鏈嶅姟鍣ㄥ湴鍧�</param>
+ /// <param name="projName">椤圭洰鍚嶇О锛堝彲閫夛級</param>
/// <returns>鏂囦欢涓嬭浇</returns>
[HttpGet("DownloadFtpFile")]
- public IActionResult DownloadFtpFile([FromQuery] string itemNo, [FromQuery] string fileName, [FromQuery] string ftpServer)
+ public IActionResult DownloadFtpFile([FromQuery] string itemNo, [FromQuery] string fileName, [FromQuery] string ftpServer, [FromQuery] string projName = null)
{
try
{
@@ -693,7 +709,7 @@
Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition, Content-Length, Content-Type");
var service = new XJService();
- var fileBytes = service.GetFtpFile(itemNo, fileName, ftpServer);
+ var fileBytes = service.GetFtpFile(itemNo, fileName, ftpServer, projName);
if (fileBytes == null || fileBytes.Length == 0)
{
@@ -732,5 +748,124 @@
return Ok();
}
+ /// <summary>
+ /// 涓婁紶鍥剧墖鍒版楠岄」鐩殑PICTURE瀛楁
+ /// </summary>
+ /// <param name="file">涓婁紶鐨勫浘鐗囨枃浠�</param>
+ /// <param name="id">妫�楠岄」鐩甀D</param>
+ /// <param name="gid">妫�楠屽崟ID</param>
+ /// <param name="billNo">宸ュ崟鍙�</param>
+ /// <param name="createBy">鍒涘缓浜�</param>
+ /// <returns>涓婁紶缁撴灉</returns>
+ [HttpPost("UploadImageToPicture")]
+ public ResponseResult UploadImageToPicture(IFormFile file, [FromForm] string id, [FromForm] string gid, [FromForm] string billNo, [FromForm] string createBy)
+ {
+ try
+ {
+ // 鍙傛暟楠岃瘉
+ if (file == null || file.Length == 0)
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = "璇烽�夋嫨瑕佷笂浼犵殑鍥剧墖鏂囦欢",
+ data = null
+ };
+ }
+
+ if (string.IsNullOrEmpty(id))
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = "妫�楠岄」鐩甀D涓嶈兘涓虹┖",
+ data = null
+ };
+ }
+
+ if (string.IsNullOrEmpty(createBy))
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = "鍒涘缓浜轰笉鑳戒负绌�",
+ data = null
+ };
+ }
+
+ // 璇诲彇鏂囦欢瀛楄妭鏁扮粍
+ byte[] imageBytes;
+ using (var memoryStream = new MemoryStream())
+ {
+ file.CopyTo(memoryStream);
+ imageBytes = memoryStream.ToArray();
+ }
+
+ // 璋冪敤鏈嶅姟鏂规硶淇濆瓨鍥剧墖
+ var service = new XJService();
+ var (status, message) = service.UploadImageToPicture(Convert.ToDecimal(id), imageBytes, file.FileName, createBy);
+
+ return new ResponseResult
+ {
+ status = status,
+ message = message,
+ data = null
+ };
+ }
+ catch (Exception ex)
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = $"涓婁紶鍥剧墖澶辫触锛歿ex.Message}",
+ data = null
+ };
+ }
+ }
+
+ /// <summary>
+ /// 鍒犻櫎妫�楠岄」鐩殑鍥剧墖
+ /// </summary>
+ /// <param name="data">鍖呭惈妫�楠岄」鐩甀D鐨凧SON瀵硅薄</param>
+ /// <returns>鍒犻櫎缁撴灉</returns>
+ [HttpPost("DeleteImageFromPicture")]
+ public ResponseResult DeleteImageFromPicture([FromBody] JObject data)
+ {
+ try
+ {
+ var id = data["id"]?.ToString();
+
+ if (string.IsNullOrEmpty(id))
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = "妫�楠岄」鐩甀D涓嶈兘涓虹┖",
+ data = null
+ };
+ }
+
+ // 璋冪敤鏈嶅姟鏂规硶鍒犻櫎鍥剧墖
+ var service = new XJService();
+ var (status, message) = service.DeleteImageFromPicture(Convert.ToDecimal(id));
+
+ return new ResponseResult
+ {
+ status = status,
+ message = message,
+ data = null
+ };
+ }
+ catch (Exception ex)
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = $"鍒犻櫎鍥剧墖澶辫触锛歿ex.Message}",
+ data = null
+ };
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3