From 4acb88b7afaab5b18a1c9ca8a78ce346297c382f Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期四, 02 一月 2025 10:59:38 +0800
Subject: [PATCH] 修改问题
---
Wms/WMS.BLL/DataServer/StockServer.cs | 191 +++++++++++++++++++++++++++++++++--------------
1 files changed, 133 insertions(+), 58 deletions(-)
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 00dd6d4..2f70ce4 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -7,6 +7,7 @@
using System.Text;
using Model.ModelDto;
using Model.ModelDto.DataDto;
+using Model.ModelDto.SysDto;
using Model.ModelVm.DataVm;
using SqlSugar;
using WMS.DAL;
@@ -40,7 +41,7 @@
"stock.LockQty,stock.FrozenQty,stock.OwnerNo,stock.OwnerName,(mate.Weight * stock.Qty) WeightSum " +
"from DataStock stock " +
"left join SysMaterials mate on stock.SkuNo = mate.SkuNo " +
- "Where stock.IsDel = @isdel";
+ "Where stock.IsDel = @isdel and mate.IsDel = 0 ";
//鍒ゆ柇鐗╂枡缂栫爜鏄惁涓虹┖
if (!string.IsNullOrEmpty(skuNo))
{
@@ -83,36 +84,37 @@
foreach (var item in StockList)
{
- //鍒ゆ柇搴撳瓨鎬婚噺鏄惁鎷ユ湁鐗╂枡
- if (StockListDto.Count > 0)
- {
- int i = 0;
- //foreach寰幆搴撳瓨鎬婚噺
- foreach (var dto in StockListDto)
- {
- //鍒ゆ柇鐗╂枡鍜屾壒娆℃槸鍚︾浉鍚�
- if (dto.SkuNo == item.SkuNo && dto.LotNo == item.LotNo)
- {
- dto.Qty = (Convert.ToDecimal(dto.Qty) + Convert.ToDecimal(item.Qty)).ToString();
- dto.FrozenQty = (Convert.ToDecimal(dto.FrozenQty) + Convert.ToDecimal(item.FrozenQty)).ToString();
- dto.LockQty = (Convert.ToDecimal(dto.LockQty) + Convert.ToDecimal(item.LockQty)).ToString();
- dto.ResidueQty= (Convert.ToDecimal(dto.ResidueQty) + Convert.ToDecimal(item.ResidueQty)).ToString();
- break;
- }
- i += 1;
- //鍒ゆ柇宸叉湁鐩稿悓鐗╂枡
- if (i == StockListDto.Count)
- {
- StockListDto.Add(item);
- break;
- }
- }
- }
- else
- {
- StockListDto.Add(item);
- continue;
- }
+ StockListDto.Add(item);
+ ////鍒ゆ柇搴撳瓨鎬婚噺鏄惁鎷ユ湁鐗╂枡
+ //if (StockListDto.Count > 0)
+ //{
+ // int i = 0;
+ // //foreach寰幆搴撳瓨鎬婚噺
+ // foreach (var dto in StockListDto)
+ // {
+ // //鍒ゆ柇鐗╂枡鍜屾壒娆℃槸鍚︾浉鍚�
+ // if (dto.SkuNo == item.SkuNo && dto.LotNo == item.LotNo)
+ // {
+ // dto.Qty = (Convert.ToDecimal(dto.Qty) + Convert.ToDecimal(item.Qty)).ToString();
+ // dto.FrozenQty = (Convert.ToDecimal(dto.FrozenQty) + Convert.ToDecimal(item.FrozenQty)).ToString();
+ // dto.LockQty = (Convert.ToDecimal(dto.LockQty) + Convert.ToDecimal(item.LockQty)).ToString();
+ // dto.ResidueQty= (Convert.ToDecimal(dto.ResidueQty) + Convert.ToDecimal(item.ResidueQty)).ToString();
+ // break;
+ // }
+ // i += 1;
+ // //鍒ゆ柇宸叉湁鐩稿悓鐗╂枡
+ // if (i == StockListDto.Count)
+ // {
+ // StockListDto.Add(item);
+ // break;
+ // }
+ // }
+ //}
+ //else
+ //{
+ // StockListDto.Add(item);
+ // continue;
+ //}
}
return StockListDto;
@@ -128,16 +130,23 @@
/// <param name="palletNo">鎵樼洏鏉$爜</param>
/// <param name="status">搴撳瓨鐘舵��</param>
/// <param name="inspectStatus">璐ㄦ鐘舵��</param>
+ /// <param name="houseNo">鎵�灞炰粨搴�</param>
+ /// <param name="areaNo">鎵�灞炲尯鍩�</param>
+ /// <param name="type">鐗╂枡绫诲瀷</param>
+ /// <param name="ownerNo">璐т富缂栧彿</param>
+ /// <param name="ownerName">璐т富鍚嶇О</param>
/// <returns></returns>
public List<StockDetailDto> GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo,
- string status, string inspectStatus, string ownerNo, string ownerName)
+ string status, string inspectStatus, string ownerNo, string ownerName, string houseNo, string areaNo, string categoryNo, string type)
{
- string str = "select detail.*,house.WareHouseNo + '-' + house.WareHouseName as WareHouseName," +
+ string str = "select detail.*,sku.Type,house.WareHouseNo + '-' + house.WareHouseName as WareHouseName," +
"roadway.RoadwayNo + '-' + roadway.RoadwayName as RoadwayName,area.AreaNo + '-' + area.AreaName as AreaName " +
"from DataStockDetail detail " +
"left join SysStorageRoadway roadway on detail.RoadwayNo = roadway.RoadwayNo " +
"left join SysWareHouse house on detail.WareHouseNo = house.WareHouseNo " +
"left join SysStorageArea area on detail.AreaNo = area.AreaNo " +
+ "left join SysMaterials as sku on detail.skuNo = sku.skuNo " +
+ "left join SysMaterialCategory as cat on sku.CategoryNo = cat.CategoryNo " +
"Where detail.IsDel = @isdel";
//鍒ゆ柇鐗╂枡缂栫爜鏄惁涓虹┖
if (!string.IsNullOrEmpty(skuNo))
@@ -183,21 +192,42 @@
if (!string.IsNullOrEmpty(ownerName))
{
str += " and detail.OwnerName like @ownerName";
+ }
+ if (!string.IsNullOrEmpty(houseNo))
+ {
+ str += " and house.WareHouseNo = @wareHouseNo";
}
+ if (!string.IsNullOrEmpty(areaNo))
+ {
+ str += " and area.AreaNo = @areaNo";
+ }
+ if (!string.IsNullOrEmpty(categoryNo))
+ {
+ str += " and area.CategoryNo = @categoryNo";
+ }
+ if (!string.IsNullOrEmpty(type))
+ {
+ str += " and sku.Type = @type";
+ }
+
//鎺掑簭
str += " order by detail.SkuNo,detail.PalletNo,detail.LotNo";
List<StockDetailDto> stockDetailsList = Db.Ado.SqlQuery<StockDetailDto>(str, new
{
- isdel = "0", //鏄惁鍒犻櫎
- skuno = "%" + skuNo + "%", //鐗╂枡缂栫爜
- skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
- lotno = "%" + lotNo + "%", //鎵规
- locatno = "%" + locatNo + "%", //鍌ㄤ綅鍦板潃
- palletno = "%" + palletNo + "%", //鎵樼洏鏉$爜
- status = status, //搴撳瓨鐘舵��
- inspectstatus = inspectStatus, //璐ㄦ鐘舵��
- ownerNo = "%" + ownerNo + "%", //璐т富缂栫爜
- ownerName = "%" + ownerName + "%" //璐т富鍚嶇О
+ isdel = "0", //鏄惁鍒犻櫎
+ skuno = "%" + skuNo + "%", //鐗╂枡缂栫爜
+ skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
+ lotno = "%" + lotNo + "%", //鎵规
+ locatno = "%" + locatNo + "%", //鍌ㄤ綅鍦板潃
+ palletno = "%" + palletNo + "%", //鎵樼洏鏉$爜
+ status = status, //搴撳瓨鐘舵��
+ inspectstatus = inspectStatus, //璐ㄦ鐘舵��
+ ownerNo = "%" + ownerNo + "%", //璐т富缂栫爜
+ ownerName = "%" + ownerName + "%", //璐т富鍚嶇О
+ wareHouseNo = houseNo,
+ areaNo = areaNo, //鎵�灞炲尯鍩�
+ categoryNo = categoryNo, //閫昏緫搴撳尯
+ type = type
});
return stockDetailsList;
}
@@ -266,9 +296,13 @@
public List<TotalRecordDto> GetTotalRecord(string skuNo, string skuName, string lotNo, string startTime, string endTime)
{
//鍏ュ簱
- string rstr = "select LotNo,SkuNo,SkuName,SUM(Qty) RQty,SUM(FactQty) RFactQty,SUM(CompleteQty) RCompleteQty from BllArrivalNoticeDetail where IsDel = '0' and Id in (select ASNDetailNo from DataStockDetail where IsDel = '0' group by ASNDetailNo) ";
+ string rstr = "select LotNo,SkuNo,SkuName,SUM(Qty) RQty,SUM(FactQty) RFactQty,SUM(CompleteQty) RCompleteQty " +
+ "from BllArrivalNoticeDetail where IsDel = '0' and Id in (select ASNDetailNo from DataStockDetail " +
+ "where IsDel = '0' group by ASNDetailNo) ";
//鍑哄簱
- string cstr = "select LotNo,SkuNo,SkuName,SUM(Qty) CQty,SUM(FactQty) CFactQty,SUM(CompleteQty) CompleteQty,SUM(AllotQty) CAllotQty from BllExportNoticeDetail where IsDel = '0' and LotNo in (select LotNo from DataStock where IsDel = '0') ";
+ string cstr = "select LotNo,SkuNo,SkuName,SUM(Qty) CQty,SUM(FactQty) CFactQty,SUM(CompleteQty) CompleteQty,SUM(AllotQty) CAllotQty " +
+ "from BllExportNoticeDetail " +
+ "where IsDel = '0' and LotNo in (select LotNo from DataStock where IsDel = '0') ";
//鍒ゆ柇鐗╂枡鍙锋槸鍚︿负绌�
if (!string.IsNullOrEmpty(skuNo))
@@ -288,6 +322,18 @@
rstr += " and LotNo like @lotno";
cstr += " and LotNo like @lotno";
}
+ // liudl 鏃堕棿涓嶅噯纭� 鏆傛椂娉ㄩ噴銆�
+ //if (!string.IsNullOrWhiteSpace(startTime))
+ //{
+ // rstr += " and UpdateTime >= @startTime";
+ // cstr += " and UpdateTime >= @startTime";
+ //}
+ //if (!string.IsNullOrWhiteSpace(endTime))
+ //{
+ // rstr += " and UpdateTime <= @endTime";
+ // cstr += " and UpdateTime <= @endTime";
+ //}
+
rstr += " group by LotNo,SkuNo,SkuName";
cstr += " group by LotNo,SkuNo,SkuName";
//鍏ュ簱
@@ -297,6 +343,9 @@
skuno = "%" + skuNo + "%", //鐗╂枡鍙�
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
lotno = "%" + lotNo + "%", //鎵规鍙�
+ //startTime = startTime,
+ //endTime = endTime
+
});
List<TotalRecordDto> totalCListData = Db.Ado.SqlQuery<TotalRecordDto>(cstr, new
{
@@ -304,6 +353,8 @@
skuno = "%" + skuNo + "%", //鐗╂枡鍙�
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
lotno = "%" + lotNo + "%", //鎵规鍙�
+ //startTime = startTime,
+ //endTime = endTime
});
//鍚堝苟鏁版嵁
@@ -348,12 +399,21 @@
/// <param name="startTime">寮�濮嬫椂闂�</param>
/// <param name="endTime">缁撴潫鏃堕棿</param>
/// <returns></returns>
- public List<TotalRecordDto> GetDetailedRecord(string skuNo, string skuName, string lotNo, string palletNo, string startTime, string endTime)
+ public List<TotalRecordDto> GetDetailedRecord(string skuNo, string skuName, string lotNo, string palletNo,
+ string startTime, string endTime)
{
//鍏ュ簱
- string rstr = "select notice.ASNNo,bind.LotNo,notice.SkuNo,notice.SkuName,bind.PalletNo,bind.Qty RQty,bind.Qty RFactQty,bind.Qty RCompleteQty,bind.CompleteTime,notice.LotText,notice.SupplierLot,bind.CompleteTime from BllPalletBind bind left join BllArrivalNoticeDetail notice on bind.ASNDetailNo = notice.Id where bind.IsDel = '0' and notice.IsDel = '0' and bind.LotNo in (select LotNo from DataStock where IsDel = '0') ";
+ string rstr = "select notice.ASNNo,bind.LotNo,notice.SkuNo,notice.SkuName,bind.PalletNo,bind.Qty RQty," +
+ "bind.Qty RFactQty,bind.Qty RCompleteQty,bind.CompleteTime,notice.LotText,notice.SupplierLot,bind.CompleteTime " +
+ "from BllPalletBind bind left join BllArrivalNoticeDetail notice on bind.ASNDetailNo = notice.Id " +
+ "where bind.IsDel = '0' and notice.IsDel = '0' and bind.LotNo in (select LotNo from DataStock where IsDel = '0') ";
//鍑哄簱
- string cstr = "select notice.SONo,allot.LotNo,allot.TaskNo CTaskNo,allot.SkuNo,allot.SkuName,allot.PalletNo,allot.CreateTime CCreateTime,allot.Qty CQty,allot.Qty CAllotQty,Allot.Qty CFactQty,Allot.CompleteQty CompleteQty,allot.LotText,allot.SupplierLot from BllExportAllot allot left join BllExportNoticeDetail notice on allot.SODetailNo = notice.Id where allot.IsDel = '0' and notice.IsDel = '0' and notice.LotNo in (select LotNo from DataStock where IsDel = '0') ";
+ string cstr = "select notice.SONo,allot.LotNo,allot.TaskNo CTaskNo,allot.SkuNo,allot.SkuName,allot.PalletNo," +
+ "allot.UpdateTime CCreateTime,allot.Qty CQty,allot.Qty CAllotQty,Allot.Qty CFactQty,Allot.CompleteQty CompleteQty," +
+ "allot.LotText,allot.SupplierLot " +
+ "from BllExportAllot allot left join BllExportNoticeDetail notice on allot.SODetailNo = notice.Id " +
+ "where allot.IsDel = '0' and notice.IsDel = '0' " +
+ "and notice.LotNo in (select LotNo from DataStock where IsDel = '0') ";
//鍒ゆ柇鐗╂枡鍙锋槸鍚︿负绌�
if (!string.IsNullOrEmpty(skuNo))
@@ -373,12 +433,21 @@
rstr += " and notice.LotNo like @lotno";
cstr += " and allot.LotNo like @lotno";
}
-
//鍒ゆ柇鎵樼洏鏄惁涓虹┖
if (!string.IsNullOrEmpty(palletNo))
{
rstr += " and bind.PalletNo like @palletno";
cstr += " and allot.PalletNo like @palletno";
+ }
+ if (!string.IsNullOrWhiteSpace(startTime))
+ {
+ rstr += " and bind.CompleteTime >= @startTime";
+ cstr += " and allot.UpdateTime >= @startTime";
+ }
+ if (!string.IsNullOrWhiteSpace(endTime))
+ {
+ rstr += " and bind.CompleteTime <= @endTime";
+ cstr += " and allot.UpdateTime <= @endTime";
}
//rstr += " group by bind.LotNo,bind.SkuNo,bind.SkuName";
@@ -391,6 +460,8 @@
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
lotno = "%" + lotNo + "%", //鎵规鍙�
palletno = "%" + palletNo + "%", //鎵樼洏鍙�
+ startTime = startTime,
+ endTime = endTime
});
//鍑哄簱
List<TotalRecordDto> totalCList = Db.Ado.SqlQuery<TotalRecordDto>(cstr, new
@@ -400,6 +471,8 @@
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
lotno = "%" + lotNo + "%", //鎵规鍙�
palletno = "%" + palletNo + "%", //鎵樼洏鍙�
+ startTime = startTime,
+ endTime = endTime
});
//鍚堝苟
@@ -527,7 +600,7 @@
{
EndTime = (Convert.ToDateTime(EndTime).AddDays(1)).ToString();
}
- int countjie = 0; //缁熻缁撳瓨鏁伴噺
+ decimal countjie = 0; //缁熻缁撳瓨鏁伴噺
////鍒ゆ柇搴撳瓨淇℃伅鏄惁涓虹┖
//if (stockInfo != null)
//{
@@ -552,10 +625,10 @@
}
//}
- int yeara = 0; //骞村叆搴�
- int years = 0; //骞村嚭搴�
- int montha = 0; //鏈堝叆搴�
- int months = 0; //鏈堝嚭搴�
+ decimal yeara = 0; //骞村叆搴�
+ decimal years = 0; //骞村嚭搴�
+ decimal montha = 0; //鏈堝叆搴�
+ decimal months = 0; //鏈堝嚭搴�
DateTime createTime = DateTime.Now.AddYears(-1000); //鏃堕棿
//鑾峰彇鏈夊灏戝勾
@@ -795,10 +868,12 @@
//鍒ゆ柇鐗╂枡鏄惁鐩稿悓
if (dto.SkuNo == item.SkuNo)
{
- dto.Qty = (Convert.ToInt32(dto.Qty) + Convert.ToInt32(item.Qty)).ToString();
- dto.FrozenQty = (Convert.ToInt32(dto.FrozenQty) + Convert.ToInt32(item.FrozenQty)).ToString();
- dto.LockQty = (Convert.ToInt32(dto.LockQty) + Convert.ToInt32(item.LockQty)).ToString();
- dto.ResidueQty = (Convert.ToInt32(dto.ResidueQty) + Convert.ToInt32(item.ResidueQty)).ToString();
+ var s = Convert.ToDecimal(dto.Qty) ;
+ var ss = Convert.ToDecimal(item.Qty);
+ dto.Qty = (Convert.ToDecimal(dto.Qty) + Convert.ToDecimal(item.Qty)).ToString();
+ dto.FrozenQty = (Convert.ToDecimal(dto.FrozenQty) + Convert.ToDecimal(item.FrozenQty)).ToString();
+ dto.LockQty = (Convert.ToDecimal(dto.LockQty) + Convert.ToDecimal(item.LockQty)).ToString();
+ dto.ResidueQty = (Convert.ToDecimal(dto.ResidueQty) + Convert.ToDecimal(item.ResidueQty)).ToString();
break;
}
i += 1;
--
Gitblit v1.8.0