using System.Dynamic;
|
using MES.Service.Dto.service;
|
using MES.Service.Modes;
|
using MES.Service.service.QC;
|
using MES.Service.util;
|
using Microsoft.AspNetCore.Mvc;
|
using Newtonsoft.Json.Linq;
|
|
namespace MESApplication.Controllers.QC;
|
|
[Route("api/[controller]")]
|
[ApiController]
|
public class LljController : ControllerBase
|
{
|
[HttpPost("getPage")]
|
public ResponseResult getPage([FromBody] XJPageResult queryObj)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var (item, totalCount) = new LljService().GetPage(queryObj);
|
var tbBillList =
|
resultInfos.tbBillList = item;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos,
|
TotalCount = totalCount
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
|
[HttpPost("setJYItem")]
|
public ResponseResult setJYItem([FromBody] JObject data)
|
{
|
var itemNo = Convert.ToDecimal(data["itemNo"].ToString());
|
var quantity = Convert.ToDecimal(data["quantity"].ToString());
|
var releaseNo = data["releaseNo"].ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList =
|
new LljService().SetItems(itemNo, quantity, releaseNo);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
[HttpPost("saveItem")]
|
public ResponseResult saveItem([FromBody] LLJDto lljDto)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList =
|
new LljService().saveItem(lljDto);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
//getItems
|
[HttpPost("getJYItem")]
|
public ResponseResult getJYItem([FromBody] JObject data)
|
{
|
var id = data["id"]?.ToString();
|
var releaseNo = data["releaseNo"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList =
|
new LljService().GetItems(releaseNo,
|
Convert.ToDecimal(id));
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
//getXjDetail02ById
|
[HttpPost("getXjDetail02ById")]
|
public ResponseResult getXjDetail02ById([FromBody] JObject data)
|
{
|
var id = data["id"]?.ToString();
|
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList =
|
new LljService().getXjDetail02ById(Convert.ToDecimal(id));
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
|
[HttpPost("SetQSItemDetail")]
|
public ResponseResult SetQSItemDetail(
|
[FromBody] MesQaItemsDetectDetail12 detail)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new LljService();
|
var detail021 = tbBillList.SetQSItemDetail(detail);
|
resultInfos.tbBillList = detail021;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
[HttpPost("UpdateQSItemDetail")]
|
public ResponseResult UpdateQSItemDetail(
|
[FromBody] MesQaItemsDetectDetail12 detail)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new LljService();
|
var detail021 = tbBillList.UpdateQSItemDetail(detail);
|
resultInfos.tbBillList = detail021;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
//saveRemarksGid 主表添加不合格描述
|
[HttpPost("saveRemarksGid")]
|
public ResponseResult saveRemarksGid([FromBody] LLJDto rkjDto)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList =
|
new LljService().saveRemarksGid(rkjDto);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
//saveRemarksPid 子表添加不合格描述
|
[HttpPost("saveRemarksPid")]
|
public ResponseResult saveRemarksPid([FromBody] LLJDto rkjDto)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList =
|
new LljService().saveRemarksPid(rkjDto);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
//removeXJ 删除
|
[HttpPost("removeXJ")]
|
public ResponseResult removeXJ([FromBody] JObject data)
|
{
|
var releaseNo = data["releaseNo"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList =
|
new LljService().removeXJ(releaseNo);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
//IqcQaSubmit
|
[HttpPost("IqcQaSubmit")]
|
public ResponseResult IqcQaSubmit(LLJDto rkjDto)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList =
|
new LljService().IqcQaSubmit(rkjDto);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
[HttpPost("EmergencyRelease")]
|
public ResponseResult EmergencyRelease([FromBody] JObject data)
|
{
|
var id = Convert.ToInt32(data["id"].ToString());
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new LljService().EmergencyRelease(id);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
[HttpPost("WithdrawEmergencyRelease")]
|
public ResponseResult WithdrawEmergencyRelease([FromBody] JObject data)
|
{
|
var id = Convert.ToInt32(data["id"].ToString());
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new LljService().WithdrawEmergencyRelease(id);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
[HttpPost("getAttachments")]
|
public ResponseResult GetAttachments([FromBody] JObject data)
|
{
|
var releaseNo = data["releaseNo"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new System.Dynamic.ExpandoObject();
|
var tbBillList = new LljService().GetAttachments(releaseNo);
|
if (tbBillList == null || tbBillList.Count == 0)
|
{
|
return new ResponseResult
|
{
|
status = 1,
|
message = "该检验单未上传附件信息!",
|
data = null
|
};
|
}
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
[HttpGet("DownloadFtpFile")]
|
public IActionResult DownloadFtpFile([FromQuery] string itemNo, [FromQuery] string fileName)
|
{
|
// FTP服务器信息(请替换为实际信息)
|
string ftpServer = "ftp://36.26.21.214";
|
string ftpUser = "hm_ftp";
|
string ftpPwd = "dell_123"; // 已更新为真实密码
|
string ftpPath = $"{ftpServer}/IQC/{itemNo}/{fileName}";
|
try
|
{
|
var request = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(ftpPath);
|
request.Method = System.Net.WebRequestMethods.Ftp.DownloadFile;
|
request.Credentials = new System.Net.NetworkCredential(ftpUser, ftpPwd);
|
request.UseBinary = true;
|
request.UsePassive = true;
|
using (var response = (System.Net.FtpWebResponse)request.GetResponse())
|
using (var ftpStream = response.GetResponseStream())
|
using (var ms = new System.IO.MemoryStream())
|
{
|
ftpStream.CopyTo(ms);
|
ms.Position = 0;
|
string contentType = "application/octet-stream";
|
// 防御性处理,去除fileName中的回车换行和空格
|
fileName = fileName?.Trim().Replace("\r", "").Replace("\n", "");
|
return File(ms.ToArray(), contentType, fileName);
|
}
|
}
|
catch (Exception ex)
|
{
|
return BadRequest($"FTP下载失败:{ex.Message},ftpPath={ftpPath},fileName={fileName}");
|
}
|
}
|
}
|