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