using 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 System.IO; 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; } [HttpPost, Route("CallMateriel"), AllowAnonymous] public WebResponseContent CallMateriel([FromBody] string endPoint) { return _taskService.CallMateriel(endPoint); } [HttpPost, Route("MaterielCarry"), AllowAnonymous] public WebResponseContent MaterielCarry([FromBody] string startPoint) { return _taskService.MaterielCarry(startPoint); } [HttpPost, Route("MaterielGroup")] public WebResponseContent MaterielGroup([FromBody] MaterielGroupDTO materielGroupDTO) { return _inboundService.InbounOrderService.MaterielGroup(materielGroupDTO); } [HttpPost, Route("QueryOrderInfo")] public WebResponseContent QueryOrderInfo(int pageNo, string orderNo) { return _inboundService.InbounOrderService.QueryOrderInfo(pageNo, orderNo); } //[HttpPost, HttpGet, Route("UploadApp"), AllowAnonymous] //public WebResponseContent UploadApp(IEnumerable fileInput) //{ // //return PDAOperate.UploadApp(Request.Form.Files.ToList()); //} [HttpPost, HttpGet, Route("GetPDAVersion"), AllowAnonymous] public WebResponseContent GetPDAVersion(string version) { try { string versionPDA = AppSettings.Configuration["PDAVersion"]; if (Convert.ToInt32(versionPDA) > 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, HttpGet, Route("DownLoadApp"), AllowAnonymous] public virtual ActionResult DownLoadApp() { var filename = "WMS-PDA.apk"; var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/Upload", filename); var memory = new MemoryStream(); using (var stream = new FileStream(filePath, FileMode.Open)) { stream.CopyTo(memory); } memory.Position = 0; return File(memory, GetContentType(filePath), Path.GetFileName(filePath)); } private string GetContentType(string path) { var types = GetMimeTypes(); var ext = Path.GetExtension(path).ToLowerInvariant(); return types[ext]; } private Dictionary GetMimeTypes() { return new Dictionary { { ".txt", "text/plain" }, { ".pdf", "application/pdf" }, { ".doc", "application/vnd.ms-word" }, { ".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" }, { ".xls", "application/vnd.ms-excel" }, { ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, { ".png", "image/png" }, { ".jpg", "image/jpeg" }, { ".jpeg", "image/jpeg" }, { ".gif", "image/gif" }, { ".csv", "text/csv" }, { ".apk", "application/vnd.android.package-archive" } }; } } }