From 86985a3e211ab4cc1e94a696c15a6f77d21c462a Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期二, 15 十月 2024 18:36:51 +0800
Subject: [PATCH] 修改出库单据问题

---
 Wms/WMS.BLL/DataServer/StockServer.cs |  138 ++++++++++++++++++++++++++++++---------------
 1 files changed, 92 insertions(+), 46 deletions(-)

diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 00dd6d4..76b0595 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -40,7 +40,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 +83,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;
@@ -266,9 +267,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 +293,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 +314,9 @@
                 skuno = "%" + skuNo + "%", //鐗╂枡鍙�
                 skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
                 lotno = "%" + lotNo + "%", //鎵规鍙�
+                //startTime = startTime,
+                //endTime = endTime
+
             });
             List<TotalRecordDto> totalCListData = Db.Ado.SqlQuery<TotalRecordDto>(cstr, new
             {
@@ -304,6 +324,8 @@
                 skuno = "%" + skuNo + "%", //鐗╂枡鍙�
                 skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
                 lotno = "%" + lotNo + "%", //鎵规鍙�
+                //startTime = startTime,
+                //endTime = endTime
             });
 
             //鍚堝苟鏁版嵁
@@ -348,12 +370,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 +404,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 +431,8 @@
                 skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
                 lotno = "%" + lotNo + "%", //鎵规鍙�
                 palletno = "%" + palletNo + "%", //鎵樼洏鍙�
+                startTime = startTime,
+                endTime = endTime
             });
             //鍑哄簱
             List<TotalRecordDto> totalCList = Db.Ado.SqlQuery<TotalRecordDto>(cstr, new
@@ -400,6 +442,8 @@
                 skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
                 lotno = "%" + lotNo + "%", //鎵规鍙�
                 palletno = "%" + palletNo + "%", //鎵樼洏鍙�
+                startTime = startTime,
+                endTime = endTime
             });
 
             //鍚堝苟
@@ -527,7 +571,7 @@
                 {
                     EndTime = (Convert.ToDateTime(EndTime).AddDays(1)).ToString();
                 }
-                int countjie = 0; //缁熻缁撳瓨鏁伴噺
+                decimal countjie = 0; //缁熻缁撳瓨鏁伴噺
                 ////鍒ゆ柇搴撳瓨淇℃伅鏄惁涓虹┖
                 //if (stockInfo != null)
                 //{
@@ -552,10 +596,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 +839,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