From 7ca9651f81d7b84f054194d3d46fdbd1d9c8b922 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期三, 09 七月 2025 22:55:27 +0800 Subject: [PATCH] 增加质检出入库逻辑 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 224 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..77e24b0 --- /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,224 @@ +锘縰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); + } + /// <summary> + /// 浜哄伐缁勭洏鍏ュ簱 + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> + [HttpPost, Route("InMateriel")] + public WebResponseContent InMateriel([FromBody] SaveModel saveModel) + { + return _taskService.InMateriel(saveModel); + } + + [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="barcode"></param> + /// <returns></returns> + [HttpPost, Route("ModifyBarcode")] + public WebResponseContent ModifyBarcode(string barcode, string newBarcode) + { + return _taskService.ModifyBarcode(barcode, newBarcode); + } + /// <summary> + /// 淇敼鎵樼洏涓婅鏁� + /// </summary> + /// <param name="palletCode"></param> + /// <param name="qty"></param> + /// <returns></returns> + [HttpPost, Route("ModifyQty")] + public WebResponseContent ModifyQty(string palletCode, int qty) + { + return _taskService.ModifyQty(palletCode, qty); + } + /// <summary> + /// 璐ㄦ鍑哄簱 + /// </summary> + /// <param name="batchNo"></param> + /// <param name="qty"></param> + /// <returns></returns> + [HttpPost, Route("OutQC")] + public WebResponseContent OutQC(string batchNo, int qty) + { + return _taskService.OutQC(batchNo, qty); + } + + /// <summary> + /// 绌烘墭鍏ュ簱 + /// </summary> + /// <param name="materielGroupDTO"></param> + /// <returns></returns> + [HttpPost, Route("InEmpty")] + public WebResponseContent InEmpty(string barcode, string station) + { + return WebResponseContent.Instance.Error("鏃犱娇鐢ㄦ潈闄�"); + //return _inboundService.InbounOrderService.PdaAddEmptyStockInfo(barcode, station); + } + + /// <summary> + /// 绌烘墭鍑哄簱 + /// </summary> + /// <param name="materielGroupDTO"></param> + /// <returns></returns> + [HttpPost, Route("OutEmpty")] + public WebResponseContent OutEmpty() + { + return WebResponseContent.Instance.Error("鏃犱娇鐢ㄦ潈闄�"); + //return _outboundService.OutboundOrderService.PdaOutEmpty(); + } + /// <summary> + /// 鏌ヨ鍏ュ簱鍗� + /// </summary> + /// <param name="pageNo"></param> + /// <param name="orderNo"></param> + /// <returns></returns> + [HttpPost, Route("QueryOrderInfo")] + public WebResponseContent QueryOrderInfo(int pageNo, string orderNo, int orderType) + { + return _inboundService.InbounOrderService.QueryOrderInfo(pageNo, orderNo, orderType); + } + /// <summary> + /// 鏌ヨ鍏ュ簱鍗曡鎯� + /// </summary> + /// <param name="pageNo"></param> + /// <param name="orderNo"></param> + /// <returns></returns> + [HttpPost, Route("QueryOrderDetailInfo")] + public WebResponseContent QueryOrderDetailInfo(int pageNo, string orderNo) + { + return _inboundService.InbounOrderService.QueryOrderDetailInfo(pageNo, orderNo); + } + } +} -- Gitblit v1.9.3