From bdd84cc48ba7b2527584c44d174da8e7d20c5375 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期三, 18 九月 2024 16:37:13 +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