From 963f2f00f033d3fdd3d18ab71beb28d9f0e179bf Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期一, 01 四月 2024 10:08:10 +0800
Subject: [PATCH] 修改类型
---
Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs | 16
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | 6
Wms/Model/ModelDto/BllCheckDto/StockCheckDto.cs | 2
Wms/WMS.BLL/Logic/AllotSku.cs | 392 +++++++++++++++++++++++++++++++++++++++
Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs | 6
Wms/Model/ModelVm/BllAsnVm/PalletUnBingVm.cs | 2
Wms/Model/ModelDto/BllQualityDto/BllQualityInspectDto.cs | 4
Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs | 10
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 2
Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs | 2
Wms/Model/ModelDto/BllAsnDto/ArrivalNoticeDetailDto.cs | 6
Wms/WMS.BLL/DataServer/StockServer.cs | 10
Wms/Model/ModelDto/DataDto/AssSoDateStockInfoDto.cs | 6
Wms/Model/ModelDto/DataDto/MateDataStockDto.cs | 4
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 2
Wms/Model/ModelDto/DataDto/TotalRecordDto.cs | 14
Wms/Model/ModelVm/PdaVm/PdaCrVm.cs | 2
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 26 +-
Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs | 2
Wms/Model/ModelDto/PdaDto/PdaAsnDto.cs | 10
Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs | 6
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs | 6
Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs | 2
Wms/Model/ModelVm/BllSoVm/ExportNoticeVm.cs | 4
24 files changed, 467 insertions(+), 75 deletions(-)
diff --git a/Wms/Model/ModelDto/BllAsnDto/ArrivalNoticeDetailDto.cs b/Wms/Model/ModelDto/BllAsnDto/ArrivalNoticeDetailDto.cs
index 013a421..a19dc04 100644
--- a/Wms/Model/ModelDto/BllAsnDto/ArrivalNoticeDetailDto.cs
+++ b/Wms/Model/ModelDto/BllAsnDto/ArrivalNoticeDetailDto.cs
@@ -54,21 +54,21 @@
/// Default:
/// Nullable:False
/// </summary>
- public int Qty { get; set; }
+ public decimal Qty { get; set; }
/// <summary>
/// Desc:宸茬粍鏁伴噺
/// Default:0
/// Nullable:True
/// </summary>
- public int? FactQty { get; set; }
+ public decimal? FactQty { get; set; }
/// <summary>
/// Desc:鍏ュ簱鏁伴噺
/// Default:0
/// Nullable:True
/// </summary>
- public int? CompleteQty { get; set; }
+ public decimal? CompleteQty { get; set; }
/// <summary>
/// Desc:鍖呰缂栧彿
diff --git a/Wms/Model/ModelDto/BllCheckDto/StockCheckDto.cs b/Wms/Model/ModelDto/BllCheckDto/StockCheckDto.cs
index 6852d7c..c67107d 100644
--- a/Wms/Model/ModelDto/BllCheckDto/StockCheckDto.cs
+++ b/Wms/Model/ModelDto/BllCheckDto/StockCheckDto.cs
@@ -192,7 +192,7 @@
public string Standard { get; set; }
public string LotNo { get; set; }
public string LotText { get; set; }
- public decimal Qty { get; set; }
+ public decimal? Qty { get; set; }
public string SupplierLot { get; set; }
public string PalletNo { get; set; }
diff --git a/Wms/Model/ModelDto/BllQualityDto/BllQualityInspectDto.cs b/Wms/Model/ModelDto/BllQualityDto/BllQualityInspectDto.cs
index 5b71efb..d6fa473 100644
--- a/Wms/Model/ModelDto/BllQualityDto/BllQualityInspectDto.cs
+++ b/Wms/Model/ModelDto/BllQualityDto/BllQualityInspectDto.cs
@@ -58,14 +58,14 @@
/// Default:
/// Nullable:True
/// </summary>
- public int? PassQty { get; set; }
+ public decimal? PassQty { get; set; }
/// <summary>
/// Desc:涓嶅悎鏍兼暟閲�
/// Default:
/// Nullable:True
/// </summary>
- public int? FailQty { get; set; }
+ public decimal? FailQty { get; set; }
/// <summary>
/// Desc:鏉ユ簮
diff --git a/Wms/Model/ModelDto/DataDto/AssSoDateStockInfoDto.cs b/Wms/Model/ModelDto/DataDto/AssSoDateStockInfoDto.cs
index 1beb9aa..b242aea 100644
--- a/Wms/Model/ModelDto/DataDto/AssSoDateStockInfoDto.cs
+++ b/Wms/Model/ModelDto/DataDto/AssSoDateStockInfoDto.cs
@@ -39,21 +39,21 @@
/// Default:
/// Nullable:False
/// </summary>
- public int ASNQty { get; set; }
+ public decimal ASNQty { get; set; }
/// <summary>
/// Desc:鍑哄簱鏁伴噺
/// Default:
/// Nullable:False
/// </summary>
- public int SOQty { get; set; }
+ public decimal SOQty { get; set; }
/// <summary>
/// Desc:缁撳瓨鏁伴噺
/// Default:
/// Nullable:False
/// </summary>
- public int ASNSOQty { get; set; }
+ public decimal ASNSOQty { get; set; }
/// <summary>
diff --git a/Wms/Model/ModelDto/DataDto/MateDataStockDto.cs b/Wms/Model/ModelDto/DataDto/MateDataStockDto.cs
index b89dc8a..84c105e 100644
--- a/Wms/Model/ModelDto/DataDto/MateDataStockDto.cs
+++ b/Wms/Model/ModelDto/DataDto/MateDataStockDto.cs
@@ -192,12 +192,12 @@
/// <summary>
/// Desc:鏁伴噺
/// </summary>
- public int Qty { get; set; }
+ public decimal Qty { get; set; }
/// <summary>
/// Desc:鏁寸鏁伴噺
/// </summary>
- public int? FullQty { get; set; }
+ public decimal? FullQty { get; set; }
/// <summary>
/// Desc:鐘舵��
diff --git a/Wms/Model/ModelDto/DataDto/TotalRecordDto.cs b/Wms/Model/ModelDto/DataDto/TotalRecordDto.cs
index 65e7f09..901afc0 100644
--- a/Wms/Model/ModelDto/DataDto/TotalRecordDto.cs
+++ b/Wms/Model/ModelDto/DataDto/TotalRecordDto.cs
@@ -39,37 +39,37 @@
/// <summary>
/// 鍏ュ簱鏁伴噺
/// </summary>
- public int RQty { get; set; }
+ public decimal RQty { get; set; }
/// <summary>
/// 宸茬粍鏁伴噺
/// </summary>
- public int RFactQty { get; set; }
+ public decimal RFactQty { get; set; }
/// <summary>
/// 瀹屾垚鏁伴噺
/// </summary>
- public int RCompleteQty { get; set; }
+ public decimal RCompleteQty { get; set; }
/// <summary>
/// 鍑哄簱鏁伴噺
/// </summary>
- public int CQty { get; set; }
+ public decimal CQty { get; set; }
/// <summary>
/// 鍒嗛厤鏁伴噺
/// </summary>
- public int CAllotQty { get; set; }
+ public decimal CAllotQty { get; set; }
/// <summary>
/// 涓嬫灦鏁伴噺
/// </summary>
- public int CFactQty { get; set; }
+ public decimal CFactQty { get; set; }
/// <summary>
/// 鎷h揣鏁伴噺
/// </summary>
- public int CompleteQty { get; set; }
+ public decimal CompleteQty { get; set; }
/// <summary>
/// 鍏ュ簱鏃堕棿
diff --git a/Wms/Model/ModelDto/PdaDto/PdaAsnDto.cs b/Wms/Model/ModelDto/PdaDto/PdaAsnDto.cs
index e113067..68a4713 100644
--- a/Wms/Model/ModelDto/PdaDto/PdaAsnDto.cs
+++ b/Wms/Model/ModelDto/PdaDto/PdaAsnDto.cs
@@ -59,21 +59,21 @@
/// Default:
/// Nullable:False
/// </summary>
- public int Qty { get; set; }
+ public decimal Qty { get; set; }
/// <summary>
/// Desc:宸茬粍鏁伴噺
/// Default:0
/// Nullable:True
/// </summary>
- public int? FactQty { get; set; }
+ public decimal? FactQty { get; set; }
/// <summary>
/// Desc:鍏ュ簱鏁伴噺
/// Default:0
/// Nullable:True
/// </summary>
- public int? CompleteQty { get; set; }
+ public decimal? CompleteQty { get; set; }
/// <summary>
/// Desc:鍖呰缂栧彿
@@ -199,14 +199,14 @@
/// Default:
/// Nullable:False
/// </summary>
- public int? Qty { get; set; }
+ public decimal? Qty { get; set; }
/// <summary>
/// Desc:鏁寸鏁伴噺
/// Default:
/// Nullable:True
/// </summary>
- public int? FullQty { get; set; }
+ public decimal? FullQty { get; set; }
/// <summary>
/// Desc:鐘舵��
diff --git a/Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs b/Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs
index 62c6194..13e8e08 100644
--- a/Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs
+++ b/Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs
@@ -54,21 +54,21 @@
/// Default:
/// Nullable:False
/// </summary>
- public int? Qty { get; set; }
+ public decimal? Qty { get; set; }
/// <summary>
/// Desc:宸茬粍鏁伴噺
/// Default:0
/// Nullable:True
/// </summary>
- public int? FactQty { get; set; }
+ public decimal? FactQty { get; set; }
/// <summary>
/// Desc:鍏ュ簱鏁伴噺
/// Default:0
/// Nullable:True
/// </summary>
- public int? CompleteQty { get; set; }
+ public decimal? CompleteQty { get; set; }
/// <summary>
/// Desc:鍖呰缂栧彿
diff --git a/Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs b/Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs
index b0afa5a..8e89c84 100644
--- a/Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs
+++ b/Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs
@@ -75,14 +75,14 @@
/// Default:
/// Nullable:False
/// </summary>
- public int? Qty { get; set; }
+ public decimal? Qty { get; set; }
/// <summary>
/// Desc:鏁寸鏁伴噺
/// Default:
/// Nullable:True
/// </summary>
- public int? FullQty { get; set; }
+ public decimal? FullQty { get; set; }
/// <summary>
/// Desc:鐘舵��
@@ -175,7 +175,7 @@
public class BoxQtyInfo
{
public string boxNo { get; set; }
- public int realQty { get; set; }
+ public decimal realQty { get; set; }
public string bitBoxMark { get; set; }
}
diff --git a/Wms/Model/ModelVm/BllAsnVm/PalletUnBingVm.cs b/Wms/Model/ModelVm/BllAsnVm/PalletUnBingVm.cs
index 035181e..4ffcd13 100644
--- a/Wms/Model/ModelVm/BllAsnVm/PalletUnBingVm.cs
+++ b/Wms/Model/ModelVm/BllAsnVm/PalletUnBingVm.cs
@@ -58,7 +58,7 @@
/// <summary>
/// 鏁伴噺
/// </summary>
- public int? Qty { get; set; }
+ public decimal? Qty { get; set; }
/// <summary>
/// 浜岀骇鎵樼洏鍙�
diff --git a/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs b/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
index f8d3e57..0558089 100644
--- a/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
+++ b/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
@@ -82,7 +82,7 @@
public string Standard { get; set; }
public string LotNo { get; set; }
public string LotText { get; set; }
- public int Qty { get; set; }
+ public decimal Qty { get; set; }
public string SupplierLot { get; set; }
public string PalletNo { get; set; }
diff --git a/Wms/Model/ModelVm/BllSoVm/ExportNoticeVm.cs b/Wms/Model/ModelVm/BllSoVm/ExportNoticeVm.cs
index 374dc66..57eb70f 100644
--- a/Wms/Model/ModelVm/BllSoVm/ExportNoticeVm.cs
+++ b/Wms/Model/ModelVm/BllSoVm/ExportNoticeVm.cs
@@ -43,7 +43,7 @@
public string LotNo { get; set; } //鎵规
public string SkuNo { get; set; } //鐗╂枡缂栫爜
[Required]
- public int Qty { get; set; } //鏁伴噺
+ public decimal Qty { get; set; } //鏁伴噺
[MaxLength(3)]
public string IsBale { get; set; } //鏄惁瑁瑰寘
[MaxLength(3)]
@@ -122,7 +122,7 @@
/// <summary>
/// 鍑哄簱鏁伴噺
/// </summary>
- public int Qty { get; set; }
+ public decimal Qty { get; set; }
}
/// <summary>
diff --git a/Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs b/Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs
index ffd5bf4..9c35e38 100644
--- a/Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs
+++ b/Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs
@@ -66,56 +66,56 @@
/// Default:
/// Nullable:False
/// </summary>
- public int ArrivalQty { get; set; }
+ public decimal ArrivalQty { get; set; }
/// <summary>
/// Desc:鍏ュ簱鏁伴噺锛堟湀锛�
/// Default:
/// Nullable:False
/// </summary>
- public int YearArrivalQty { get; set; }
+ public decimal YearArrivalQty { get; set; }
/// <summary>
/// Desc:鍑哄簱鏁伴噺
/// Default:
/// Nullable:False
/// </summary>
- public int ExportQty { get; set; }
+ public decimal ExportQty { get; set; }
/// <summary>
/// Desc:鍑哄簱鏁伴噺锛堟湀锛�
/// Default:
/// Nullable:False
/// </summary>
- public int YearExportQty { get; set; }
+ public decimal YearExportQty { get; set; }
/// <summary>
/// Desc:缁撳瓨鏁伴噺
/// Default:
/// Nullable:False
/// </summary>
- public int BalanceQty { get; set; }
+ public decimal BalanceQty { get; set; }
/// <summary>
/// Desc:鏈熷嚭鏁伴噺
/// Default:
/// Nullable:False
/// </summary>
- public int ExpectedQty { get; set; }
+ public decimal ExpectedQty { get; set; }
/// <summary>
/// Desc:缁撳瓨鏁伴噺(鏈�)
/// Default:
/// Nullable:False
/// </summary>
- public int YearBalanceQty { get; set; }
+ public decimal YearBalanceQty { get; set; }
/// <summary>
/// Desc:鏈熷嚭鏁伴噺(鏈�)
/// Default:
/// Nullable:False
/// </summary>
- public int YearExpectedQty { get; set; }
+ public decimal YearExpectedQty { get; set; }
/// <summary>
/// Desc:鎵规鍙�
diff --git a/Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs b/Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs
index 3530495..9a06dae 100644
--- a/Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs
+++ b/Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs
@@ -63,7 +63,7 @@
/// <summary>
/// Desc:鐗╂枡鏁伴噺
/// </summary>
- public int SkuQty { get; set; }
+ public decimal SkuQty { get; set; }
/// <summary>
/// Desc:鎵规鍙�
diff --git a/Wms/Model/ModelVm/PdaVm/PdaCrVm.cs b/Wms/Model/ModelVm/PdaVm/PdaCrVm.cs
index 5c3e3cb..149bf87 100644
--- a/Wms/Model/ModelVm/PdaVm/PdaCrVm.cs
+++ b/Wms/Model/ModelVm/PdaVm/PdaCrVm.cs
@@ -29,7 +29,7 @@
/// <summary>
/// 绠辩爜鍙�
/// </summary>
- public int? Qty { get; set; }
+ public decimal? Qty { get; set; }
/// <summary>
/// 鐩樼偣缁撴灉
diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
index 9d69feb..fa7aa45 100644
--- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -962,8 +962,8 @@
maxboxcode3 = maxboxcode3.Substring(0, 11) + (int.Parse(maxboxcode3.Substring(11, 4)) + 1).ToString().PadLeft(4, '0');
}
- var ssss = d.ToString("0");
- var sss = int.Parse(ssss);
+ //var ssss = d.ToString("0");
+ //var sss = int.Parse(ssss);
// 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛�
var labelModel = new BllBoxInfo()
@@ -972,7 +972,7 @@
ASNDetailNo = asnList.Id,
BoxNo = maxboxcode2,
BoxNo3 = maxboxcode3,
- Qty = sss,
+ Qty = d,
FullQty = bNum,
Status = "0",
SkuNo = asnList.SkuNo,
diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
index 3e4ae44..28b7459 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -200,7 +200,7 @@
LotNo = m.LotNo,
LotText = m.LotText,
SupplierLot = m.SupplierLot,
- Qty = (decimal)m.Qty,
+ Qty = m.Qty,
PalletNo = m.PalletNo
}).ToList();
@@ -658,12 +658,12 @@
};
Db.Insertable<DataBoxInfo>(databox).ExecuteCommand();
//搴撳瓨鏄庣粏澧炲姞鏁伴噺
- stockDetailInfo.Qty += l.RealQty;
+ stockDetailInfo.Qty += (int)l.RealQty;
}
else
{
//搴撳瓨鏄庣粏澧炲姞鏁伴噺
- stockDetailInfo.Qty = l.RealQty;
+ stockDetailInfo.Qty = (int)l.RealQty;
}
stockDetailInfo.Status = "0";
@@ -676,11 +676,11 @@
}
if (sku.Type != "4")
{
- de.Qty += (decimal)l.RealQty;
+ de.Qty += (int)l.RealQty;
}
else
{
- de.Qty += (decimal)(l.RealQty - l.Qty);
+ de.Qty += (int)(l.RealQty - l.Qty);
}
Db.Updateable(de).ExecuteCommand();
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 2a58636..c4a2bbc 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -324,7 +324,7 @@
PalletNo3 = model.PalletNo3,
Status = "1",
CompleteTime = DateTime.Now,
- Qty = (decimal)model.Qty,
+ Qty = (int)model.Qty,
FullQty = null,
SkuNo = "100099",
SkuName = "鎵樼洏",
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
index 063f080..f2b8b13 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -171,7 +171,7 @@
}
}
- public void CrSetCheck(string crNo, string crDetail, string palletNo, string boxNo, string boxNo3, string result, int? qty, string isContinue, int userId)
+ public void CrSetCheck(string crNo, string crDetail, string palletNo, string boxNo, string boxNo3, string result, decimal? qty, string isContinue, int userId)
{
try
{
@@ -276,14 +276,14 @@
var list = checkLog.ToList();
- decimal num = 0;
+ var num = 0;
foreach (var l in list)
{
l.RealQty = 0;
l.CheckResult = 1;
l.CheckDate = time;
l.CheckUserId = userId;
- num -= (decimal)l.RealQty;
+ num -= int.Parse(l.RealQty.ToString());
}
if (checkDetail.RealQty == null)
{
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index b1a74da..067314d 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -639,7 +639,7 @@
SkuName = allot.SkuName,
Standard = allot.Standard,
PalletNo = palletNo,
- CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
+ CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
CreateUser = userId
};
@@ -652,14 +652,14 @@
}
else//鏁伴噺鎷h揣
{
- if (int.Parse(pickQty1) == item.Qty)
+ if (decimal.Parse(pickQty1) == item.Qty)
{
//鍒犻櫎搴撳瓨绠辩爜鏄庣粏
Db.Deleteable(item).ExecuteCommand();
}
else
{
- item.Qty -= int.Parse(pickQty1);
+ item.Qty -= decimal.Parse(pickQty1);
item.BitBoxMark = "1";//闆剁鏍囪瘑
Db.Updateable(item).ExecuteCommand();
}
@@ -1667,7 +1667,7 @@
SkuName = allot2.SkuName,
Standard = allot2.Standard,
PalletNo = palletNo,
- CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
+ CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
InspectMark = "1",
CreateUser = userId
@@ -1681,20 +1681,20 @@
}
else//鏁伴噺鎷h揣
{
- if (int.Parse(pickQty1) == item.Qty)
+ if (decimal.Parse(pickQty1) == item.Qty)
{
//鍒犻櫎搴撳瓨绠辩爜鏄庣粏
Db.Deleteable(item).ExecuteCommand();
}
else
{
- item.Qty -= int.Parse(pickQty1);
+ item.Qty -= decimal.Parse(pickQty1);
item.BitBoxMark = "1";//闆剁鏍囪瘑
item.InspectMark = "1";//鎶芥绠辨爣璇�
Db.Updateable(item).ExecuteCommand();
}
}
- pickQty += biaoShi == "2" ? int.Parse(pickQty1) : item.Qty;
+ pickQty += biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty;
}
@@ -1930,7 +1930,7 @@
SkuName = allot.SkuName,
Standard = allot.Standard,
PalletNo = palletNo,
- CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
+ CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
CreateUser = userId
};
@@ -1943,14 +1943,14 @@
}
else//鏁伴噺鎷h揣
{
- if (int.Parse(pickQty1) == item.Qty)
+ if (decimal.Parse(pickQty1) == item.Qty)
{
//鍒犻櫎搴撳瓨绠辩爜鏄庣粏
Db.Deleteable(item).ExecuteCommand();
}
else
{
- item.Qty -= int.Parse(pickQty1);
+ item.Qty -= decimal.Parse(pickQty1);
item.BitBoxMark = "1";//闆剁鏍囪瘑
Db.Updateable(item).ExecuteCommand();
}
@@ -2906,7 +2906,7 @@
SkuName = allot.SkuName,
Standard = allot.Standard,
PalletNo = palletNo,
- CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
+ CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
CreateUser = userId
};
@@ -2938,7 +2938,7 @@
}
else//鏁伴噺鎷h揣
{
- if (int.Parse(pickQty1) == item.Qty)
+ if (decimal.Parse(pickQty1) == item.Qty)
{
//淇敼搴撳瓨绠辩爜鏄庣粏
item.StockDetailId = sdId;
@@ -2949,7 +2949,7 @@
}
else
{
- item.Qty -= int.Parse(pickQty1);
+ item.Qty -= decimal.Parse(pickQty1);
item.BitBoxMark = "1";//闆剁鏍囪瘑
Db.Updateable(item).ExecuteCommand();
}
diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 17d6ceb..8ee24c5 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -3296,7 +3296,7 @@
//var stockz = Db.Queryable<DataStock>().First(d => d.IsDel == "0" && d.SkuNo == detail.SkuNo && d.LotNo == detail.LotNo);
var allotList = new List<BllExportAllot>();
- var outQtys = 0;
+ decimal outQtys = 0;
foreach (var st in model.StockList)
{
var stock = stockList.First(a => a.Id == st.StockId);
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 4faad81..a3db682 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -571,7 +571,7 @@
{
EndTime = (Convert.ToDateTime(EndTime).AddDays(1)).ToString();
}
- int countjie = 0; //缁熻缁撳瓨鏁伴噺
+ decimal countjie = 0; //缁熻缁撳瓨鏁伴噺
////鍒ゆ柇搴撳瓨淇℃伅鏄惁涓虹┖
//if (stockInfo != null)
//{
@@ -596,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); //鏃堕棿
//鑾峰彇鏈夊灏戝勾
diff --git a/Wms/WMS.BLL/Logic/AllotSku.cs b/Wms/WMS.BLL/Logic/AllotSku.cs
index 6cfeb23..fc6c23f 100644
--- a/Wms/WMS.BLL/Logic/AllotSku.cs
+++ b/Wms/WMS.BLL/Logic/AllotSku.cs
@@ -233,6 +233,386 @@
/// <summary>
+ /// 鍘熻緟鏂欏彇鏍峰嚭搴撳垎閰嶅簱瀛�
+ /// </summary>
+ /// <param name="palletList">鎵樼洏鏄庣粏</param>
+ /// <param name="boxInfoList">绠辩爜鏄庣粏</param>
+ /// <param name="needQty">闇�姹傛暟</param>
+ /// <param name="stockQtyDic">鎵樺嚭搴撶墿鍝佹暟</param>
+ /// <param name="useBoxQtyDic">鎵樺嚭搴撶墿鍝佹暟</param>
+ /// <param name="type">鍙栨牱绫诲瀷1锛氳鍒欏彇鏍� 2锛氶殢鏈哄彇鏍�</param>
+ /// <param name="boxNum">闇�鍒嗛厤鐨勭鏁伴噺 闅忔満鍙栨牱鐢�</param>
+ /// <param name="pickNum"></param>
+ /// <returns></returns>
+ public decimal AllotPalletsQuYang(List<DataStockDetail> palletList, List<DataBoxInfo> boxInfoList, decimal needQty, Dictionary<int, decimal> stockQtyDic, Dictionary<int, decimal> useBoxQtyDic, string type, int boxNum, decimal pickNum)
+ {
+ try
+ {
+ decimal? qty = 0;
+ var listOrder = boxInfoList.Where(m => m.IsDel == "0").OrderBy(m => m.BoxNo).ThenBy(m => m.Qty).ToList();//鏍规嵁绠辩爜銆佹暟閲忔帓搴� 鏁寸鐨�
+ var boxList = listOrder.GroupBy(m => m.BoxNo).Select(m => m.Key).ToList();//鍒嗙粍鍚庣殑绠辩爜闆嗗悎
+ var boxCount = boxList.Count();//绠辨暟閲�
+ #region 鏃у垎閰嶅師鍒�
+
+ //var outInfoCount = 0;
+ //var boxStrList = new List<string>();//闅忔満浣跨敤绠�
+ //Dictionary<string, decimal> useInfoQtyDic = new Dictionary<string, decimal>();//浣跨敤绠�
+
+ //if (type == "1")//瑙勫垯鍙栨牱锛圢<3;3<N<300;300<N锛�
+ //{
+ // if (boxCount<=3)//绠卞瓙灏忎簬3
+ // {
+ // foreach (var item in boxList)//寰幆绠卞瓙
+ // {
+ // boxStrList.Add(item);
+ // }
+ // }
+ // else if (boxCount > 3)//绠卞瓙灏忎簬3
+ // {
+ // var a = Math.Sqrt(boxCount)+1;//寮�骞虫柟 //瑙勫垯 绠辨暟 鈭歂+1
+ // if (boxCount > 300)
+ // {
+ // a = Math.Sqrt(boxCount) / 2 + 1;//瑙勫垯 绠辨暟 鈭歂/2+1
+ // }
+ // var b = Math.Floor(a); //鍙栨牱鐨勭鏁�
+
+ // var lit = new List<int>();
+ // do
+ // {
+ // byte[] buffer = Guid.NewGuid().ToByteArray();
+ // int iSeed = BitConverter.ToInt32(buffer, 0);
+ // Random random = new Random(iSeed);
+ // var j = random.Next(0, boxCount);
+ // if (lit.Contains(j))
+ // {
+ // continue;
+ // }
+
+ // var boxCode = boxList[j];//绠辩爜
+ // boxStrList.Add(boxCode);
+ // lit.Add(j);
+
+ // } while (lit.Count < b);
+
+ // }
+ //}
+ //else if(type == "2") //闅忔満鍙栨牱(涓�鎵规鍑轰竴绠�)
+ //{
+ // if (boxCount < boxNum)
+ // {
+ // throw new Exception("褰撳墠搴撳瓨鏁寸鏁板皯浜庤緭鍏ョ殑鍙栨牱鏁�");
+ // }
+ // var lit = new List<int>();
+ // do
+ // {
+ // byte[] buffer = Guid.NewGuid().ToByteArray();
+ // int iSeed = BitConverter.ToInt32(buffer, 0);
+ // Random random = new Random(iSeed);
+ // var j = random.Next(0, boxCount);
+ // if (lit.Contains(j))
+ // {
+ // continue;
+ // }
+
+ // var boxCode = boxList[j];//绠辩爜
+ // boxStrList.Add(boxCode);
+ // lit.Add(j);
+
+ // } while (lit.Count < boxNum);
+ //}
+ //else
+ //{
+ // throw new Exception("璇烽�夋嫨鍙栨牱瑙勫垯");
+ //}
+ //foreach (var item in boxStrList)//寰幆绠卞瓙
+ //{
+ // var box = listOrder.Where(m => m.BoxCode == item).ToList();
+ // var infoCount = box.Count;//绠卞唴鏀暟閲�
+ // if (infoCount <= 3) //鏀暟閲�<=3
+ // {
+ // outInfoCount += infoCount;
+ // SaveDic(useInfoQtyDic, item, infoCount);
+ // }
+ // else if (infoCount > 3)//绠卞唴鏁伴噺 > 3 涓� <=300
+ // {
+ // //瑙勫垯 鍙栨牱鏀暟 鈭歂+1
+ // var c = Math.Sqrt(infoCount) + 1;//寮�骞虫柟
+
+ // if (infoCount > 300) //绠卞唴鏁伴噺 > 300
+ // {
+ // //瑙勫垯 绠辨暟 鈭歂/2+1
+ // c = Math.Sqrt(infoCount) / 2 + 1;
+ // }
+ // var d = Math.Floor(c); //鍙栨牱鐨勬敮鏁伴噺
+
+ // outInfoCount += (int)d;
+ // SaveDic(useInfoQtyDic, item, (decimal)d);
+ // }
+ //}
+
+ //var pingJunNum = needQty / outInfoCount;//骞冲潎姣忔敮鍙栫殑鏁伴噺
+ //foreach (var item in useInfoQtyDic)
+ //{
+ // var box = listOrder.Where(m => m.BoxCode == item.Key).ToList();
+ // var infoCount = box.Count;//绠卞唴鏀暟閲�
+ // if (infoCount <= 3) //鏀暟閲�<=3
+ // {
+ // foreach (var item2 in box)
+ // {
+ // if (pingJunNum >= item2.Qty)
+ // {
+ // throw new Exception("骞冲潎闇�鍙栨牱鏁伴噺澶т簬绛変簬绠辨敮鍐呮暟閲�");
+ // }
+ // qty += pingJunNum;
+ // var tray = palletList.First(m => m.Id == item2.TrayId);
+
+ // SaveDic(stockQtyDic, tray.Id, pingJunNum);
+
+ // SaveDic(useBoxQtyDic, item2.Id, pingJunNum);
+ // }
+ // }
+ // else if (infoCount > 3)//绠卞唴鏁伴噺 > 3 涓� <=300
+ // {
+ // var e = item.Value; //鍙栨牱鐨勬敮鏁伴噺
+
+ // var lit2 = new List<int>();
+
+ // do
+ // {
+ // byte[] buffer = Guid.NewGuid().ToByteArray();
+ // int iSeed = BitConverter.ToInt32(buffer, 0);
+ // Random random = new Random(iSeed);
+ // var j = random.Next(0, infoCount);//闅忔満绠卞唴鏀爜
+
+ // if (lit2.Contains(j))
+ // {
+ // continue;
+ // }
+
+ // var info = box[j];
+ // if (pingJunNum >= info.Qty)
+ // {
+ // throw new Exception("骞冲潎闇�鍙栨牱鏁伴噺澶т簬绛変簬绠辨敮鍐呮暟閲�");
+ // }
+
+ // qty += pingJunNum;
+ // var tray = palletList.First(m => m.Id == info.TrayId);
+
+ // SaveDic(stockQtyDic, tray.Id, pingJunNum);
+ // SaveDic(useBoxQtyDic, info.Id, pingJunNum);
+ // lit2.Add(j);
+
+
+ // } while (lit2.Count < e);
+ // }
+ //}
+
+ #endregion
+
+ var outInfoCount = 0;
+ var boxStrList = new List<string>();//闅忔満浣跨敤绠�
+ Dictionary<string, int> useInfoQtyDic = new Dictionary<string, int>();//浣跨敤绠� 鍙婃瘡绠卞嚭澶氬皯鏀�
+
+
+ if (type == "1")//瑙勫垯鍙栨牱锛圢<3;3<N<300;300<N锛�
+ {
+ if (boxCount <= 3)//绠卞瓙灏忎簬3
+ {
+ foreach (var item in boxList)//寰幆绠卞瓙
+ {
+ boxStrList.Add(item);
+ }
+ }
+ else if (boxCount > 3)//绠卞瓙灏忎簬3
+ {
+ var a = Math.Sqrt(boxCount) + 1;//寮�骞虫柟 //瑙勫垯 绠辨暟 鈭歂+1
+ if (boxCount > 300)
+ {
+ a = Math.Sqrt(boxCount) / 2 + 1;//瑙勫垯 绠辨暟 鈭歂/2+1
+ }
+ var b = Math.Floor(a); //鍙栨牱鐨勭鏁�
+
+ var lit = new List<int>();
+ do
+ {
+ byte[] buffer = Guid.NewGuid().ToByteArray();
+ int iSeed = BitConverter.ToInt32(buffer, 0);
+ Random random = new Random(iSeed);
+ var j = random.Next(0, boxCount);
+ if (lit.Contains(j))
+ {
+ continue;
+ }
+
+ var boxCode = boxList[j];//绠辩爜
+ boxStrList.Add(boxCode);
+ lit.Add(j);
+
+ } while (lit.Count < b);
+
+ }
+ var zhi = listOrder.Count();
+ if (zhi <= 3) //鏀暟閲�<=3
+ {
+ outInfoCount += zhi;
+ }
+ else if (zhi > 3)//绠卞唴鏁伴噺 > 3 涓� <=300
+ {
+ //瑙勫垯 鍙栨牱鏀暟 鈭歂+1
+ var c = Math.Sqrt(zhi) + 1;//寮�骞虫柟
+
+ if (zhi > 300) //绠卞唴鏁伴噺 > 300
+ {
+ //瑙勫垯 绠辨暟 鈭歂/2+1
+ c = Math.Sqrt(zhi) / 2 + 1;
+ }
+ var d = Math.Floor(c); //鍙栨牱鐨勬敮鏁伴噺
+
+ outInfoCount += (int)d;
+ }
+ }
+ else if (type == "2") //闅忔満鍙栨牱(涓�鎵规鍑轰竴绠�)
+ {
+ if (boxCount < boxNum)
+ {
+ throw new Exception("褰撳墠搴撳瓨鏁寸鏁板皯浜庤緭鍏ョ殑鍙栨牱鏁�");
+ }
+ var lit = new List<int>();
+ do
+ {
+ byte[] buffer = Guid.NewGuid().ToByteArray();
+ int iSeed = BitConverter.ToInt32(buffer, 0);
+ Random random = new Random(iSeed);
+ var j = random.Next(0, boxCount);
+ if (lit.Contains(j))
+ {
+ continue;
+ }
+
+ var boxCode = boxList[j];//绠辩爜
+ boxStrList.Add(boxCode);
+ lit.Add(j);
+
+ } while (lit.Count < boxNum);
+
+ var zhi = listOrder.Count(m => boxStrList.Contains(m.BoxNo));
+ if (zhi <= 3) //鏀暟閲�<=3
+ {
+ outInfoCount += zhi;
+ }
+ else if (zhi > 3)//绠卞唴鏁伴噺 > 3 涓� <=300
+ {
+ //瑙勫垯 鍙栨牱鏀暟 鈭歂+1
+ var c = Math.Sqrt(zhi) + 1;//寮�骞虫柟
+
+ if (zhi > 300) //绠卞唴鏁伴噺 > 300
+ {
+ //瑙勫垯 绠辨暟 鈭歂/2+1
+ c = Math.Sqrt(zhi) / 2 + 1;
+ }
+ var d = Math.Floor(c); //鍙栨牱鐨勬敮鏁伴噺
+
+ outInfoCount += (int)d;
+ }
+ }
+ else
+ {
+ throw new Exception("璇烽�夋嫨鍙栨牱瑙勫垯");
+ }
+
+ var zhiCount = outInfoCount;
+ var xiangCount = boxStrList.Count; //闅忔満鍑虹殑绠辨暟閲�
+ for (int i = 1; i <= boxStrList.Count; i++)
+ {
+ decimal t = zhiCount / xiangCount;
+ var t2 = zhiCount % xiangCount;
+ var t3 = 5 / 2;
+ var t4 = 5 % 2;
+ if (t2 > 0)
+ {
+ t += 1;
+ }
+ var q = (int)t;//绠卞唴鍑哄灏戞敮
+ var infoCount = listOrder.Count(m => m.BoxNo == boxStrList[i - 1]);
+ if (q > infoCount)
+ {
+ throw new Exception("绠卞唴鏀暟灏忎簬瑕佸垎閰嶇殑鏀暟");
+ }
+ zhiCount -= q;
+ xiangCount -= 1;
+ SaveDic2(useInfoQtyDic, boxStrList[i - 1], q);
+ }
+
+
+ var pingJunNum = needQty / outInfoCount;// / pickNum;骞冲潎姣忔敮鍙栫殑鏁伴噺
+
+ foreach (var item in useInfoQtyDic)
+ {
+ var box = listOrder.Where(m => m.BoxNo == item.Key).ToList();
+ var infoCount = box.Count;//绠卞唴鏀暟閲�
+ if (infoCount == item.Value) //鏀暟閲�<=3
+ {
+ foreach (var item2 in box)
+ {
+ if (pingJunNum > item2.Qty)
+ {
+ throw new Exception("骞冲潎闇�鍙栨牱鏁伴噺澶т簬绛変簬绠辨敮鍐呮暟閲�");
+ }
+ qty += pingJunNum;
+ var tray = palletList.First(m => m.Id == item2.Id);
+
+ SaveDic(stockQtyDic, tray.Id, pingJunNum);
+
+ SaveDic(useBoxQtyDic, item2.Id, pingJunNum);
+ }
+ }
+ else
+ {
+ var e = item.Value; //鍙栨牱鐨勬敮鏁伴噺
+
+ var lit2 = new List<int>();
+
+ do
+ {
+ byte[] buffer = Guid.NewGuid().ToByteArray();
+ int iSeed = BitConverter.ToInt32(buffer, 0);
+ Random random = new Random(iSeed);
+ var j = random.Next(0, infoCount);//闅忔満绠卞唴鏀爜
+
+ if (lit2.Contains(j))
+ {
+ continue;
+ }
+
+ var info = box[j];
+ if (pingJunNum > info.Qty)
+ {
+ throw new Exception("骞冲潎闇�鍙栨牱鏁伴噺澶т簬绛変簬绠辨敮鍐呮暟閲�");
+ }
+
+ qty += pingJunNum;
+ var tray = palletList.First(m => m.Id == info.Id);
+
+ SaveDic(stockQtyDic, tray.Id, pingJunNum);
+ SaveDic(useBoxQtyDic, info.Id, pingJunNum);
+ lit2.Add(j);
+
+
+ } while (lit2.Count < e);
+ }
+ }
+
+
+ return (decimal)qty;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+
+ /// <summary>
/// 淇濆瓨瀛楀吀
/// </summary>
/// <param name="dic"></param>
@@ -250,6 +630,18 @@
}
}
+ private void SaveDic2(Dictionary<string, int> dic, string key, int v)
+ {
+ if (dic.ContainsKey(key))
+ {
+ dic[key] += v;
+ }
+ else
+ {
+ dic.Add(key, v);
+ }
+ }
+
//--------------------------------------------------------------------------------------------------------------
#region MyRegion
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
index 021aec0..572ea51 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
@@ -50,7 +50,7 @@
/// <param name="qty">鏁伴噺</param>
/// <param name="isContinue">鏄惁鏁伴噺鐩樼偣</param>
/// <param name="userId"></param>
- void CrSetCheck(string crNo, string crDetail, string palletNo, string boxNo,string boxNo3,string result, int? qty,string isContinue, int userId);
+ void CrSetCheck(string crNo, string crDetail, string palletNo, string boxNo,string boxNo3,string result, decimal? qty,string isContinue, int userId);
#endregion
--
Gitblit v1.8.0