From 734f49c3f74e4a46cfb5892ce60dbf1bb86e74ab Mon Sep 17 00:00:00 2001 From: wankeda <Administrator@DESKTOP-HAU3ST3> Date: 星期二, 22 七月 2025 19:14:39 +0800 Subject: [PATCH] 出入库流程 --- WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs | 226 -------------------------------------------------------- 1 files changed, 1 insertions(+), 225 deletions(-) diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs index 516fce3..166d420 100644 --- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs +++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs @@ -1,238 +1,14 @@ -锘縰sing Microsoft.AspNetCore.Mvc; -using System; +锘縰sing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Model.Models; namespace WIDESEAWCS_ISystemServices { - #region 瀹炰綋绫� - public class DirInfo - { - /// <summary> - /// 褰撳墠璺緞 - /// </summary> - public string dirPath { get; set; } - - /// <summary> - /// 褰撳墠鍚嶇О - /// </summary> - public string dirName { get; set; } - - /// <summary> - /// 瀛愭枃浠� - /// </summary> - public List<FileDataInfo> files { get; set; } - - /// <summary> - /// 瀛愭枃浠跺す - /// </summary> - public List<DirInfo> dirs { get; set; } - } - - public class FileDataInfo - { - public string filePath { get; set; } - - public string fileName { get; set; } - - public long fileSize { get; set; } - } - - public class GetLogParm - { - /// <summary> - /// 鏂囦欢鍦板潃 - /// </summary> - public string path; - - /// <summary> - /// 璇诲彇杩涘害 - /// </summary> - public float percent; - - /// <summary> - /// 鏈�澶ц鍙栧ぇ灏� - /// </summary> - public double maxsize_KB = 20; - - /// <summary> - /// 褰撳墠璧峰浣嶇疆 - /// </summary> - public long topStartPos = 0; - } - #endregion public interface ISys_LogService : IService<Sys_Log> { - /// <summary> - /// 閫掑綊鑾峰彇鏂囦欢淇℃伅 - /// </summary> - /// <param name="dirPath"></param> - /// <returns></returns> - private DirInfo GetDirInfo(string dirPath) - { - //褰撳墠鏂囦欢澶� - var dirInfo = new DirInfo(); - dirInfo.dirName = Path.GetFileName(dirPath); - - //瀛愭枃浠� - List<FileDataInfo> files = new List<FileDataInfo>(); - foreach (var file in Directory.GetFiles(dirPath)) - { - files.Add(new FileDataInfo() - { - filePath = file, - fileName = Path.GetFileName(file) - }); - } - - //瀛愭枃浠跺す - var dirs = Directory.GetDirectories(dirPath); - dirInfo.dirs = new List<DirInfo>(); - foreach (var dir in dirs) - { - dirInfo.dirs.Add(GetDirInfo(dir)); - } - - //瀛愭枃浠跺す锛屼笌瀛愮洰褰曞悎骞� - foreach (var file in files) - { - dirInfo.dirs.Add(new DirInfo() { dirPath = file.filePath, dirName = file.fileName }); - } - return dirInfo; - } - - /// <summary> - /// 鑾峰彇鏃ュ織鏂囦欢鍒楄〃 - /// </summary> - /// <returns></returns> - public WebResponseContent GetLogList() - { - WebResponseContent content = new WebResponseContent(); - string path = System.Environment.CurrentDirectory + "/log"; - if (!System.IO.Directory.Exists(path)) - { - return content.Error("鏆傛棤鏃ュ織鏂囦欢"); - } - - content.Data = GetDirInfo(path); - content.OK(); - return content; - } - - /// <summary> - /// 鑾峰彇鏂囦欢鍐呭 - /// </summary> - /// <param name="parm"></param> - /// <returns></returns> - public WebResponseContent GetLogData(GetLogParm parm) - { - WebResponseContent content = new WebResponseContent(); - string res = ""; - //鏄惁璇诲彇鍒版渶鍚� - bool isEnd = false; - long startIndex = 0; - //鏂囦欢澶у皬 - long len = 0; - try - { - if (!System.IO.File.Exists(parm.path)) - { - throw new Exception($"鏂囦欢{parm.path}涓嶅瓨鍦紒"); - } - using (FileStream fs = new FileStream(parm.path, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - //鏈�澶ц鍙栧ぇ灏� - int maxsize = (int)(1024 * parm.maxsize_KB); - len = fs.Length; - long startPos = (long)(len * (parm.percent / 100));//璧峰浣嶇疆 - long readLen = len - startPos;//璇诲彇闀垮害 - - //鍚戝墠鍔犺浇 - if (parm.topStartPos != 0) - { - startPos = parm.topStartPos - maxsize; - if (startPos < 0) - { - //宸茶鍒拌捣濮嬩綅 - startPos = 0; - readLen = parm.topStartPos; - } - else - { - readLen = maxsize; - } - } - else - { - //璇诲彇澶у皬鏄惁瓒呭嚭鏈�澶ч暱搴� - if (readLen > maxsize) - { - readLen = maxsize; - } - else - { - isEnd = true; - } - } - - //鍔犺浇100%锛屾寜鏈�澶у唴瀹硅鍙� - if (parm.percent == 100) - { - if (len < maxsize) - { - startPos = 0; - readLen = len; - } - else - { - startPos = len - maxsize; - readLen = maxsize; - } - } - - fs.Seek(startPos, SeekOrigin.Begin); - var buffer = new byte[readLen]; - fs.Read(buffer, 0, (int)readLen); - - startIndex = startPos; - if (startPos != 0 && (parm.percent != 0 || parm.topStartPos != 0)) - { - //涓嶆槸浠庡ご鍔犺浇锛屽垹闄ゅ彲鑳戒笉瀹屾暣鐨勭涓�琛� - int skipCount = 0; - for (int i = 0; i < buffer.Length; i++) - { - if (buffer[i] == 10) - { - skipCount = i; - break; - } - } - if (skipCount != 0) - { - //鍘绘帀鎹㈣ - skipCount++; - //涓嬫璇诲彇鍓嶅欢 - startIndex += skipCount; - } - res = Encoding.UTF8.GetString(buffer.Skip(skipCount).ToArray()); - } - else - { - res = Encoding.UTF8.GetString(buffer); - } - } - } - catch (Exception ex) - { - return content.Error(ex.Message); - } - return content.OK(data: new { content = res, isEnd, startIndex, len }); - } - } } -- Gitblit v1.9.3