From 82149871f30f4564d84272649352496a2ab0a38e Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 23 十月 2025 17:12:52 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderService.cs |  119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 118 insertions(+), 1 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderService.cs"
index 915a1eb..7825738 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderService.cs"
@@ -1,5 +1,12 @@
-锘縰sing WIDESEA_Core.BaseRepository;
+锘縰sing MailKit.Search;
+using Masuit.Tools;
+using System.Linq.Expressions;
+using WIDESEA_Core;
+using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.Enums;
+using WIDESEA_Core.Helper;
+using WIDESEA_DTO.Order;
 using WIDESEA_IOrderRepository;
 using WIDESEA_IOrderServices;
 using WIDESEA_IStorageTaskRepository;
@@ -19,5 +26,115 @@
             _unitOfWorkManage = unitOfWorkManage;
 
         }
+
+        public override WebResponseContent AddData(SaveModel saveModel)
+        {
+            if (Convert.ToInt32(saveModel.MainData["orderType"])== (int)OrderTypeEmun.鍘熸潗鏂欓鏂欏崟 || Convert.ToInt32(saveModel.MainData["orderType"]) == (int)OrderTypeEmun.鐢熶骇棰嗘枡鍗�)
+            {
+                return WebResponseContent.Instance.Error("鐢熶骇棰嗘枡鍗曞拰鍘熸潗鏂欓鏂欏崟鍙兘閫氳繃ERP鎺ㄩ�佺敓鎴�");
+            }
+            saveModel.MainData.Add("orderNo", GetOrderPintCode("OrderNoOut"));
+            saveModel.MainData.Add("upperOrderNo", saveModel.MainData["orderNo"]);
+            return base.AddData(saveModel);
+        }
+
+
+        public WebResponseContent GetOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Expression<Func<Dt_OutboundOrder, bool>> expressionOrder = x => true;
+                if (!string.IsNullOrEmpty(outboundOrderGetDTO.OrderNo))
+                {
+                    expressionOrder = x => x.UpperOrderNo.Contains(outboundOrderGetDTO.OrderNo);
+                }
+                int count = 0;
+                if (outboundOrderGetDTO.OrderNo == "")
+                {
+                    count = BaseDal.QueryData(x => x.OrderStatus != (int)OrderStateEmun.宸插畬鎴�).ToList().Count();
+                }
+                else
+                {
+                    count = BaseDal.QueryData(x => x.OrderStatus != (int)OrderStateEmun.宸插畬鎴� && x.UpperOrderNo == outboundOrderGetDTO.OrderNo).ToList().Count();
+                }
+
+                int maxPage = Convert.ToInt32(Math.Ceiling(count / 10.0));
+                if (outboundOrderGetDTO.pageNo <= maxPage)
+                {
+                    var outboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip((outboundOrderGetDTO.pageNo - 1) * 10).Take(10).Select(x => new Dt_OutboundOrder
+                    {
+                        OrderNo = x.OrderNo,
+                        Id = x.Id,
+                        MaterielCode = x.MaterielCode,
+                        UpperOrderNo = x.UpperOrderNo,
+                        OrderQuantity = x.OrderQuantity,
+                        OverOutQuantity = x.OverOutQuantity,
+                        CreateDate = x.CreateDate,
+                        Creater = x.Creater
+                    }).ToList();
+
+                    content = WebResponseContent.Instance.OK(data: outboundOrder);
+                }
+                else
+                {
+                    var outboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip((0) * 10).Take(10).Select(x => new Dt_OutboundOrder
+                    {
+                        OrderNo = x.OrderNo,
+                        Id = x.Id,
+                        MaterielCode = x.MaterielCode,
+                        UpperOrderNo = x.UpperOrderNo,
+                        OrderQuantity = x.OrderQuantity,
+                        OverOutQuantity = x.OverOutQuantity,
+                        CreateDate = x.CreateDate,
+                        Creater = x.Creater
+                    }).ToList();
+
+                    content = WebResponseContent.Instance.OK(data: outboundOrder);
+                    //content = WebResponseContent.Instance.OK(data: null, message: "宸插埌鏈�鍚庝竴椤�");
+                }
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
+            }
+            return content;
+        }
+
+        public WebResponseContent GetOutboundOrder(int id)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                var outboundOrderDetail = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.Id == id).Take(10).Select(x => new Dt_OutboundOrder { Id = x.Id, MaterielCode = x.MaterielCode, MaterielName = x.MaterielName, OrderQuantity = x.OrderQuantity, OverOutQuantity = x.OverOutQuantity, OrderNo = x.OrderNo, UpperOrderNo = x.UpperOrderNo }).ToList().FirstOrDefault();
+
+                content = WebResponseContent.Instance.OK(data: outboundOrderDetail);
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
+            }
+            return content;
+        }
+
+        public string GetOrderPintCode(string printCode)
+        {
+            string PrintCode = "";
+            var PrintSetting = SqlSugarHelper.DbWMS.Queryable<Dt_PrintSetting>().Where(x => x.PrintCode == printCode).ToList().FirstOrDefault();
+
+            if (PrintSetting.Spare1 == DateTime.Now.ToString("yyyyMMdd"))
+            {
+                PrintCode = PrintSetting.Spare1 + PrintSetting.PrintNo.ToString().PadLeft(PrintSetting.Spare2, '0');
+                PrintSetting.PrintNo = PrintSetting.PrintNo + 1;
+            }
+            else
+            {
+                PrintSetting.Spare1 = DateTime.Now.ToString("yyyyMMdd");
+                PrintSetting.PrintNo = 2;
+                PrintCode = PrintSetting.Spare1 + 1.ToString().PadLeft(PrintSetting.Spare2, '0');
+            }
+            SqlSugarHelper.DbWMS.Updateable(PrintSetting).ExecuteCommand();
+            return PrintCode;
+        }
     }
 }

--
Gitblit v1.9.3