| | |
| | | public decimal? ItemInId { get; set; } |
| | | |
| | | // ä»»å¡åå· |
| | | [SugarColumn(ColumnName = "ITEM_NO")] public string? ItemNo { get; set; } |
| | | [SugarColumn(ColumnName = "ITEM_NO")] |
| | | public string? ItemNo { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "ITEM_NAME")] |
| | | public string? ItemName { get; set; } |
| | |
| | | // è®¢åæ°é |
| | | [SugarColumn(ColumnName = "QUANTITY")] |
| | | public decimal? Quantity { get; set; } |
| | | |
| | | //产线ç¼ç |
| | | [SugarColumn(ColumnName = "DAA015")] |
| | | public string? Daa015 { get; set; } |
| | | |
| | | //产线ç¼ç |
| | | [SugarColumn(ColumnName = "DAA015")] |
| | | public string? Daa020 { get; set; } |
| | | |
| | | //ç³è¯·åå· |
| | | [SugarColumn(ColumnName = "BILL_NO")] |
| | | public string? billNo { get; set; } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using SqlSugar; |
| | | |
| | | namespace MES.Service.Modes |
| | | { |
| | | [SugarTable("MES_QAMFTP")] |
| | | public class MesQamftp |
| | | { |
| | | [SugarColumn(ColumnName = "ID")] |
| | | public decimal Id { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "ITEM_NO")] |
| | | public string ItemNo { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "FTYPE")] |
| | | public string Ftype { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "FATTACH")] |
| | | public string Fattach { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "FVERSION")] |
| | | public string Fversion { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "FDATE")] |
| | | public string Fdate { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "CREATE_BY")] |
| | | public string CreateBy { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "CREATE_DATE")] |
| | | public string CreateDate { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "COMPANY")] |
| | | public string Company { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "FACTORY")] |
| | | public string Factory { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "RELEASE_NO")] |
| | | public string ReleaseNo { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "F_TYPE")] |
| | | public int? F_type { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "LASTUPDATE_BY")] |
| | | public string LastupdateBy { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "LASTUPDATE_DATE")] |
| | | public DateTime? LastupdateDate { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "ITEM_ID")] |
| | | public decimal? ItemId { get; set; } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | |
| | | namespace MES.Service.Modes |
| | | { |
| | | public class QamftpDto |
| | | { |
| | | public decimal Id { get; set; } |
| | | public string ItemNo { get; set; } |
| | | public string Ftype { get; set; } |
| | | public string Fattach { get; set; } |
| | | public string Fversion { get; set; } |
| | | public string Fdate { get; set; } |
| | | public string CreateBy { get; set; } |
| | | public string CreateDate { get; set; } |
| | | public string Company { get; set; } |
| | | public string Factory { get; set; } |
| | | public string ReleaseNo { get; set; } |
| | | public int? F_type { get; set; } |
| | | public string LastupdateBy { get; set; } |
| | | public DateTime? LastupdateDate { get; set; } |
| | | public decimal? ItemId { get; set; } |
| | | } |
| | | } |
| | |
| | | return input.Substring(startIndex + 1, length); |
| | | } |
| | | |
| | | public List<QamftpDto> GetAttachments(string releaseNo) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | return db.Queryable<MesQamftp>() |
| | | .Where(x => x.ReleaseNo == releaseNo) |
| | | .OrderBy(x => x.Fdate, OrderByType.Desc) |
| | | .Select(x => new QamftpDto |
| | | { |
| | | Id = x.Id, |
| | | ItemNo = x.ItemNo, |
| | | Ftype = x.Ftype, |
| | | Fattach = x.Fattach, |
| | | Fversion = x.Fversion, |
| | | Fdate = x.Fdate, |
| | | CreateBy = x.CreateBy, |
| | | CreateDate = x.CreateDate, |
| | | Company = x.Company, |
| | | Factory = x.Factory, |
| | | ReleaseNo = x.ReleaseNo, |
| | | F_type = x.F_type, |
| | | LastupdateBy = x.LastupdateBy, |
| | | LastupdateDate = x.LastupdateDate, |
| | | ItemId = x.ItemId |
| | | }).ToList(); |
| | | } |
| | | public int saveItem(LLJDto rkjDto) |
| | | { |
| | | var items = rkjDto.items; |
| | |
| | | |
| | | |
| | | //è·åå·¥åå· |
| | | public List<RkDaa002> GetDaa001s(string lineNo) |
| | | public List<RKJDaa001> GetDaa001s(string lineNo) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | // return db.Queryable<RKJDaa001>() |
| | | // .Where(t => t.LineNo == lineNo) |
| | | // .OrderBy(t => t.BillNo, OrderByType.Desc) |
| | | // .ToList(); |
| | | return null; |
| | | return db.Queryable<RKJDaa001>() |
| | | .Where(t => t.Daa020 == lineNo) |
| | | .OrderBy(t => t.ItemInId, OrderByType.Desc) |
| | | .ToList(); |
| | | //return null; |
| | | } |
| | | |
| | | //æ ¹æ®æ£éªæ åæ¥è®¡ç®æ£éªä¸ªæ° |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using System.IO; |
| | | |
| | | namespace MESApplication.Controllers |
| | | { |
| | | [ApiController] |
| | | [Route("Attachment")] |
| | | public class AttachmentController : ControllerBase |
| | | { |
| | | // æ ¹ç®å½ |
| | | private readonly string ftpRootPath = @"D:\MES_FTP\IQC"; |
| | | |
| | | [HttpGet("Download")] |
| | | public IActionResult Download([FromQuery] string itemNo, [FromQuery] string fileName) |
| | | { |
| | | if (string.IsNullOrWhiteSpace(itemNo) || string.IsNullOrWhiteSpace(fileName)) |
| | | return BadRequest("ç©æç¼ç åæä»¶åä¸è½ä¸ºç©º"); |
| | | |
| | | // 鲿¢è·¯å¾ç©¿è¶æ»å» |
| | | var safeItemNo = Path.GetFileName(itemNo.Trim()); |
| | | var safeFileName = Path.GetFileName(fileName.Trim()); |
| | | |
| | | var filePath = Path.Combine(ftpRootPath, safeItemNo, safeFileName); |
| | | |
| | | if (!System.IO.File.Exists(filePath)) |
| | | return NotFound("æä»¶ä¸åå¨"); |
| | | |
| | | var contentType = "application/octet-stream"; |
| | | return PhysicalFile(filePath, contentType, safeFileName); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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}"); |
| | | } |
| | | } |
| | | } |
| | |
| | | "AppSettings": { |
| | | "TestErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfo", |
| | | "ProductionErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfoFormal", |
| | | "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = hm_prd; Password=hmprd" |
| | | "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = test_dev; Password=hmprd" |
| | | } |
| | | } |