From f43b7df8400f4fcffc9f19dca0888d61e2b33d5f Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期三, 12 三月 2025 18:41:52 +0800 Subject: [PATCH] WMS系统添加PDA权限,PDA程序 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 164 insertions(+), 0 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs" new file mode 100644 index 0000000..fcbfd31 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs" @@ -0,0 +1,164 @@ +锘縰sing Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using WIDESEA_Core; +using WIDESEA_Core.BaseController; +using WIDESEA_Core.Helper; +using WIDESEA_DTO.Inbound; +using WIDESEA_IInboundService; +using WIDESEA_IOutboundService; +using WIDESEA_ITaskInfoService; +using WIDESEA_Model.Models; + +namespace WIDESEA_WMSServer.Controllers +{ + [Route("api/PDA")] + [Authorize, ApiController] + public class PDAController : Controller + { + private readonly IInboundService _inboundService; + private readonly IOutboundService _outboundService; + private readonly ITaskService _taskService; + + public PDAController(ITaskService taskService, IInboundService inboundService, IOutboundService outboundService) + { + _inboundService = inboundService; + _outboundService = outboundService; + _taskService = taskService; + } + + + /// <summary> + /// 涓嬭浇PDA + /// </summary> + /// <returns></returns> + [HttpPost, HttpGet, Route("DownLoadApp"), AllowAnonymous] + public virtual ActionResult DownLoadApp() + { + string path = $"{AppDomain.CurrentDomain.BaseDirectory}Upload/App/"; + if (!Directory.Exists(path)) Directory.CreateDirectory(path); + path += "WMS-PDA.apk"; + + if (System.IO.File.Exists(path)) + { + byte[] fileBytes = System.IO.File.ReadAllBytes(path); + return File( + fileBytes, + System.Net.Mime.MediaTypeNames.Application.Octet, + System.IO.Path.GetFileName(path) + ); + } + else + { + return Json(WebResponseContent.Instance.Error($"鏈壘鍒板畨瑁呭寘")); + } + + } + + /// <summary> + /// 涓婁紶PDA + /// </summary> + /// <param name="fileInput"></param> + /// <returns></returns> + [HttpPost, HttpGet, Route("UploadApp"), AllowAnonymous] + [Consumes("multipart/form-data")] + public WebResponseContent UploadApp(IEnumerable<IFormFile> fileInput) + { + try + { + List<IFormFile> files = fileInput.ToList(); + if (files == null || files.Count() == 0) + return new WebResponseContent { Status = true, Message = "璇烽�夋嫨涓婁紶鐨勬枃浠�" }; + IFormFile formFile = files[0]; + string dicPath = $"{AppDomain.CurrentDomain.BaseDirectory}Upload/App/"; + if (!Directory.Exists(dicPath)) Directory.CreateDirectory(dicPath); + string path = $"{dicPath}WMS-PDA{DateTime.Now:yyyyMMddhhmmss}.apk"; + dicPath = $"{dicPath}WMS-PDA.apk"; + if (System.IO.File.Exists(dicPath)) + System.IO.File.Move(dicPath, path); + + using (var stream = new FileStream(dicPath, FileMode.Create)) + { + formFile.CopyTo(stream); + } + return new WebResponseContent { Status = true, Message = "鏂囦欢涓婁紶鎴愬姛" }; + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + /// <summary> + /// PDA鐗堟湰 + /// </summary> + /// <param name="version"></param> + /// <returns></returns> + [HttpPost, HttpGet, Route("GetPDAVersion"), AllowAnonymous] + public WebResponseContent GetPDAVersion(string version) + { + try + { + string PDAVersion = AppSettings.Configuration[nameof(PDAVersion)]; + if (Convert.ToInt32(PDAVersion) > Convert.ToInt32(version)) + return WebResponseContent.Instance.OK(data: true); + else return WebResponseContent.Instance.OK(data: false); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + [HttpPost, Route("CallMateriel")] + public WebResponseContent CallMateriel(string endPoint) + { + return _taskService.CallMateriel(endPoint); + } + + [HttpPost, Route("MaterielCarry")] + public WebResponseContent MaterielCarry(string startPoint) + { + return _taskService.MaterielCarry(startPoint); + } + + [HttpPost, Route("MaterielGroup")] + public WebResponseContent MaterielGroup([FromBody] MaterielGroupDTO materielGroupDTO) + { + return _inboundService.InbounOrderService.MaterielGroup(materielGroupDTO); + } + + [HttpPost, Route("PdaAddStockInfo")] + public WebResponseContent PdaAddStockInfo([FromBody] PdaMaterielGroupDTO materielGroupDTO) + { + return _inboundService.InbounOrderService.PdaAddStockInfo(materielGroupDTO); + } + + /// <summary> + /// 绌烘墭鍏ュ簱 + /// </summary> + /// <param name="materielGroupDTO"></param> + /// <returns></returns> + [HttpPost, Route("InEmpty")] + public WebResponseContent InEmpty(string barcode) + { + return _inboundService.InbounOrderService.PdaAddEmptyStockInfo(barcode); + } + + /// <summary> + /// 绌烘墭鍑哄簱 + /// </summary> + /// <param name="materielGroupDTO"></param> + /// <returns></returns> + [HttpPost, Route("OutEmpty")] + public WebResponseContent OutEmpty() + { + return _outboundService.OutboundOrderService.PdaOutEmpty(); + } + + [HttpPost, Route("QueryOrderInfo")] + public WebResponseContent QueryOrderInfo(int pageNo, string orderNo) + { + return _inboundService.InbounOrderService.QueryOrderInfo(pageNo, orderNo); + } + } +} -- Gitblit v1.9.3