From 2404ad68d1c24583798546b5b0fd7519debbd663 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期一, 15 七月 2024 08:10:46 +0800
Subject: [PATCH] 合并

---
 Wms/WMS.BLL/BllCheckServer/StockFreectSetve.cs |  185 ++++++++++++---------------------------------
 1 files changed, 50 insertions(+), 135 deletions(-)

diff --git a/Wms/WMS.BLL/BllCheckServer/StockFreectSetve.cs b/Wms/WMS.BLL/BllCheckServer/StockFreectSetve.cs
index 6e62780..dea5d04 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockFreectSetve.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockFreectSetve.cs
@@ -5,6 +5,8 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using System.Threading.Tasks;
+using Utility;
 using WMS.DAL;
 using WMS.Entity.BllCheckEntity;
 using WMS.Entity.Context;
@@ -23,20 +25,12 @@
 
         #region 鍐荤粨\瑙e喕
 
-        public List<DataStock> ByTypeGetDataStockType(string SkuNo, int type)
+        public async Task<List<DataStock>> ByTypeGetDataStockType(string SkuNo, int type)
         {
-            try
-            {
-                var list = Db.Queryable<DataStock>().Where(a => a.IsDel == "0" && a.SkuNo != "100099" && type == 1 ? (a.Qty - a.LockQty - a.FrozenQty) > 0 : type == 2 ? a.FrozenQty > 0 : a.Id < 0).ToList();
-                //var sku = Db.Queryable<SysMaterials>().WhereIF(!string.IsNullOrWhiteSpace(SkuNo), a => a.SkuNo.Contains(SkuNo)).Where(a => list.Contains(a.SkuNo)).ToList();
+            var list = await Db.Queryable<DataStock>().Where(a => a.IsDel == "0" && a.SkuNo != "100099" && type == 1 ? (a.Qty - a.LockQty - a.FrozenQty) > 0 : type == 2 ? a.FrozenQty > 0 : a.Id < 0).ToListAsync();
+            //var sku = Db.Queryable<SysMaterials>().WhereIF(!string.IsNullOrWhiteSpace(SkuNo), a => a.SkuNo.Contains(SkuNo)).Where(a => list.Contains(a.SkuNo)).ToList();
 
-                return list;
-            }
-            catch (Exception ex)
-            {
-
-                throw ex;
-            }
+            return list;
         }
 
         /// <summary>
@@ -44,59 +38,23 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public List<FreezeUnfreezeInfoDto> GetDataFreezeList(FreezeUnfreezeInfoDto model)
+        public async Task<List<FreezeUnfreezeInfoDto>> GetDataFreezeList(FreezeUnfreezeInfoDto model)
         {
-            try
-            {
-                string str = "select info.SkuNo,info.SkuName,info.LotNo,info.LotText,info.SupplierLot,info.Qty,info.FrozenQty,info.Demo,info.status,info.Standard,info.Type,info.CreateTime,users.UserName from DataFreezeUnfreezeInfo info left join SysUserInfor users on info.CreateUser = users.Id where info.IsDel = '0' and users.IsDel = '0' and info.Status = 1";
-                #region 楠岃瘉鏉′欢
-                //楠岃瘉鐗╂枡鍙锋槸鍚︿负绌�
-                if (!string.IsNullOrWhiteSpace(model.SkuNo))
-                {
-                    str += $" and info.SkuNo like '%{model.SkuNo}%'";
-                }
-                //楠岃瘉鐗╂枡鍚嶇О鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.SkuName))
-                {
-                    str += $" and info.SkuName like '%{model.SkuName}%'";
-                }
-                //楠岃瘉鎵规鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.LotNo))
-                {
-                    str += $" and info.LotNo like '%{model.LotNo}%'";
-                }
-                // 楠岃瘉绫诲瀷鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.Type))
-                {
-                    str += $" and info.Type = '{model.Type}'";
-                }
-                // 楠岃瘉鍘熷洜鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.Demo))
-                {
-                    str += $" and info.Demo = '{model.Demo}'";
-                }
-                //楠岃瘉缁撴潫鏃堕棿鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.StartTime))
-                {
-                    str += $" and info.CreateTime < '{model.StartTime}'";
-                }
-                //楠岃瘉缁撴潫鏃堕棿鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.EndTime))
-                {
-                    model.EndTime = (DateTime.Parse(model.EndTime).AddDays(1)).ToString();
-                    str += $" and info.CreateTime < '{model.EndTime}'";
-                }
-                #endregion
-
-                List<FreezeUnfreezeInfoDto> list = Db.Ado.SqlQuery<FreezeUnfreezeInfoDto>(str);
-                return list;
-
-            }
-            catch (Exception ex)
-            {
-
-                throw ex;
-            }
+            return await Db.Queryable<DataFreezeUnfreezeInfo>()
+                           .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
+                           .Where(a => a.IsDel == "0" && a.Status == 1)
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.SkuNo), a => a.SkuNo.Contains(model.SkuNo))
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.SkuName), a => a.SkuName.Contains(model.SkuName))
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.LotNo), a => a.LotNo.Contains(model.LotNo))
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.Type), a => a.Type == model.Type)
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.Demo), a => a.Demo == model.Demo)
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.StartTime), a => SqlFunc.GreaterThanOrEqual(a.CreateTime, model.StartTime))
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.EndTime), a => SqlFunc.LessThanOrEqual(a.CreateTime, model.EndTime))
+                           .Select<FreezeUnfreezeInfoDto>((a, b) => new FreezeUnfreezeInfoDto()
+                           {
+                               UserName = b.RealName
+                           }, true)
+                           .ToListAsync();
         }
 
         /// <summary>
@@ -104,59 +62,23 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public List<FreezeUnfreezeInfoDto> GetDataUnFreezeList(FreezeUnfreezeInfoDto model)
+        public async Task<List<FreezeUnfreezeInfoDto>> GetDataUnFreezeList(FreezeUnfreezeInfoDto model)
         {
-            try
-            {
-                string str = "select info.SkuNo,info.SkuName,info.LotNo,info.LotText,info.SupplierLot,info.Qty,info.FrozenQty,info.Demo,info.status,info.Standard,info.Type,info.CreateTime,users.UserName from DataFreezeUnfreezeInfo info left join SysUserInfor users on info.CreateUser = users.Id where info.IsDel = '0' and users.IsDel = '0' and info.Status = 2";
-
-                #region 楠岃瘉鏉′欢
-                //楠岃瘉鐗╂枡鍙锋槸鍚︿负绌�
-                if (!string.IsNullOrWhiteSpace(model.SkuNo))
-                {
-                    str += $" and info.SkuNo like '%{model.SkuNo}%'";
-                }
-                //楠岃瘉鐗╂枡鍚嶇О鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.SkuName))
-                {
-                    str += $" and info.SkuName like '%{model.SkuName}%'";
-                }
-                //楠岃瘉鎵规鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.LotNo))
-                {
-                    str += $" and info.LotNo like '%{model.LotNo}%'";
-                }
-                // 楠岃瘉绫诲瀷鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.Type))
-                {
-                    str += $" and info.Type = '{model.Type}'";
-                }
-                // 楠岃瘉鍘熷洜鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.Demo))
-                {
-                    str += $" and info.Demo = '{model.Demo}'";
-                }
-                //楠岃瘉缁撴潫鏃堕棿鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.StartTime))
-                {
-                    str += $" and info.CreateTime < '{model.StartTime}'";
-                }
-                //楠岃瘉缁撴潫鏃堕棿鏄惁涓虹┖
-                if (!string.IsNullOrWhiteSpace(model.EndTime))
-                {
-                    model.EndTime = (DateTime.Parse(model.EndTime).AddDays(1)).ToString();
-                    str += $" and info.CreateTime < '{model.EndTime}'";
-                }
-                #endregion
-
-                var list = Db.Ado.SqlQuery<FreezeUnfreezeInfoDto>(str);
-                return list;
-            }
-            catch (Exception ex)
-            {
-
-                throw ex;
-            }
+            return await Db.Queryable<DataFreezeUnfreezeInfo>()
+                           .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
+                           .Where(a => a.IsDel == "0" && a.Status == 2)
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.SkuNo), a => a.SkuNo.Contains(model.SkuNo))
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.SkuName), a => a.SkuName.Contains(model.SkuName))
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.LotNo), a => a.LotNo.Contains(model.LotNo))
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.Type), a => a.Type == model.Type)
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.Demo), a => a.Demo == model.Demo)
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.StartTime), a => SqlFunc.GreaterThanOrEqual(a.CreateTime, model.StartTime))
+                           .WhereIF(!string.IsNullOrWhiteSpace(model.EndTime), a => SqlFunc.LessThanOrEqual(a.CreateTime, model.EndTime))
+                           .Select<FreezeUnfreezeInfoDto>((a, b) => new FreezeUnfreezeInfoDto()
+                           {
+                               UserName = b.RealName
+                           }, true)
+                           .ToListAsync();
         }
 
         /// <summary>
@@ -164,26 +86,24 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public string InsertDataFreezeInfo(FreezeUnfreezeInfoDto model)
+        public async Task<string> InsertDataFreezeInfo(FreezeUnfreezeInfoDto model)
         {
             try
             {
                 string errStr = "";
                 var TimeStr = Db.GetDate();
                 //楠岃瘉鎵规涓庣墿鏂欐槸鍚︿负寮傚父
-                var stock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.LotNo == model.LotNo && a.SkuNo == model.SkuNo);
+                var stock = await Db.Queryable<DataStock>().FirstAsync(a => a.IsDel == "0" && a.LotNo == model.LotNo && a.SkuNo == model.SkuNo);
                 //褰撳墠鐗╂枡鎴栨壒娆″瓨鍦ㄥ紓甯�
                 if (stock == null)
                 {
-                    errStr = "-1:褰撳墠鐗╂枡鎴栨壒娆″瓨鍦ㄥ紓甯�!";
-                    return errStr;
+                    throw Oops.Bah("-1:褰撳墠鐗╂枡鎴栨壒娆″瓨鍦ㄥ紓甯�!");
                 }
                 //楠岃瘉鐗╂枡淇℃伅鏄惁瀛樺湪寮傚父
                 var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == model.SkuNo);
                 if (sku == null)
                 {
-                    errStr = "-1:褰撳墠鐗╂枡淇℃伅瀛樺湪寮傚父!";
-                    return errStr;
+                    throw Oops.Bah("-1:褰撳墠鐗╂枡淇℃伅瀛樺湪寮傚父!");
                 }
                 //鍐荤粨
                 if (model.Status == 1)
@@ -191,22 +111,19 @@
                     //楠岃瘉鍐荤粨鏁伴噺鏄惁灏忎簬褰撳墠搴撳瓨-閿佸畾-鍐荤粨鏁伴噺
                     if (model.FrozenQty <= 0)
                     {
-                        errStr = "-1:褰撳墠鎯宠鍐荤粨鐨勬暟閲忎笉鍙负0!";
-                        return errStr;
+                        throw Oops.Bah("-1:褰撳墠鎯宠鍐荤粨鐨勬暟閲忎笉鍙负0!");
                     }
                     //楠岃瘉鍐荤粨鏁伴噺鏄惁灏忎簬褰撳墠搴撳瓨-閿佸畾-鍐荤粨鏁伴噺
                     if (model.FrozenQty > (stock.Qty - stock.LockQty - stock.FrozenQty))
                     {
-                        errStr = "-1:褰撳墠鎯宠鍐荤粨鐨勬暟閲忓ぇ浜庡簱瀛樺彲鍐荤粨鏁伴噺!";
-                        return errStr;
+                        throw Oops.Bah("-1:褰撳墠鎯宠鍐荤粨鐨勬暟閲忓ぇ浜庡簱瀛樺彲鍐荤粨鏁伴噺!");
                     }
                     //楠岃瘉鍘熷洜鏄惁涓虹┖
                     if (string.IsNullOrWhiteSpace(model.Demo))
                     {
-                        errStr = "-1:鍐荤粨鍘熷洜涓嶅彲涓虹┖!";
-                        return errStr;
+                        throw Oops.Bah("-1:鍐荤粨鍘熷洜涓嶅彲涓虹┖!");
                     }
-                    
+
 
                 }
                 // 瑙e喕
@@ -215,14 +132,12 @@
                     //楠岃瘉鍐荤粨鏁伴噺鏄惁灏忎簬褰撳墠搴撳瓨-閿佸畾-鍐荤粨鏁伴噺
                     if (model.FrozenQty <= 0)
                     {
-                        errStr = "-1:褰撳墠鎯宠鍐荤粨鐨勬暟閲忎笉鍙负0!";
-                        return errStr;
+                        throw Oops.Bah("-1:褰撳墠鎯宠鍐荤粨鐨勬暟閲忎笉鍙负0!");
                     }
                     //楠岃瘉鍐荤粨鏁伴噺鏄惁灏忎簬褰撳墠搴撳瓨鍐荤粨鏁伴噺
                     if (model.FrozenQty > model.Qty)
                     {
-                        errStr = "-1:褰撳墠鎯宠瑙e喕鐨勬暟閲忓繀椤诲皬浜庡簱瀛樺喕缁撴暟閲�!";
-                        return errStr;
+                        throw Oops.Bah("-1:褰撳墠鎯宠瑙e喕鐨勬暟閲忓繀椤诲皬浜庡簱瀛樺喕缁撴暟閲�!");
                     }
 
                 }
@@ -259,8 +174,8 @@
                     stock.FrozenQty -= (decimal)model.FrozenQty;
                 }
 
-                Db.Insertable(list).ExecuteCommand();
-                Db.Updateable(stock).ExecuteCommand();
+                await Db.Insertable(list).ExecuteCommandAsync();
+                await Db.Updateable(stock).ExecuteCommandAsync();
 
 
                 Db.CommitTran(); //鎻愪氦

--
Gitblit v1.8.0