From 066ec607f14a28c9d8dbf1ffcb05ad7b964e1476 Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期一, 19 二月 2024 09:37:11 +0800
Subject: [PATCH] 修改标签问题
---
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 120 ++++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 92 insertions(+), 28 deletions(-)
diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index 4f45bdc..5045811 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -39,10 +39,11 @@
try
{
sqlCount += "SELECT DISTINCT COUNT(tb1.ID) FROM BllArrivalNotice AS tb1 ";
- sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName,tb4.RealName as UpdateUserName FROM BllArrivalNotice AS tb1 ";
+ sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName,tb4.RealName as UpdateUserName,tb5.RealName as CheckUserName FROM BllArrivalNotice AS tb1 ";
sqlPub += "LEFT JOIN BllArrivalNoticeDetail AS tb2 ON tb1.ASNNo = tb2.ASNNo ";
sqlPub += "LEFT JOIN SysUserInfor AS tb3 ON tb1.CreateUser = tb3.Id ";
sqlPub += "LEFT JOIN SysUserInfor AS tb4 ON tb1.UpdateUser = tb4.Id ";
+ sqlPub += "LEFT JOIN SysUserInfor AS tb5 ON tb1.CheckUser = tb5.Id ";
sqlPub += $"WHERE tb1.ASNNo LIKE '%{model.ASNNo}%' AND tb2.LotNo LIKE '%{model.LotNo}%' ";
sqlPub += $"AND tb2.SkuNo LIKE '%{model.SkuNo}%' AND tb2.SkuName LIKE '%{model.SkuName}%' ";
sqlPub += $"AND tb1.CustomerName LIKE '%{model.CustomerName}%' ";
@@ -102,7 +103,7 @@
rowCount = count;
}
- sqlString += "SELECT DISTINCT tb1.*,tb2.Status as AsnStatus,tb3.RealName as CreateUserName, ";
+ sqlString += "SELECT DISTINCT tb1.*,tb2.Type as AsnType,tb2.Status as AsnStatus,tb3.RealName as CreateUserName, ";
sqlString += "tb4.RealName as UpdateUserName,isnull(tb6.UnitName,tb5.UnitNo) as UnitName,tb7.PackagName ";
sqlString += "FROM BllArrivalNoticeDetail AS tb1 ";
sqlString += "LEFT JOIN BllArrivalNotice AS tb2 ON tb1.ASNNo = tb2.ASNNo ";
@@ -123,13 +124,60 @@
throw ex;
}
}
+
+ //鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲�
+ public string GetAsnDetailQtyList(int id)
+ {
+ try
+ {
+ var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == id);
+ if (detail == null)
+ {
+ throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曟槑缁�");
+ }
+
+ var labelQty = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNDetailNo == id).Sum(m=>m.Qty);
+ var qty = detail.Qty-labelQty;
+
+ return qty.ToString();
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
//鑾峰彇鐗╂枡淇℃伅锛堟坊鍔犲叆搴撳崟鏄庣粏浣跨敤锛�
public List<MaterialsDto> GetMaterialsList(GetMaterialsVm model)
{
try
{
+ string skuType = string.Empty;
+ switch (model.Type)//0锛氬師鏂� 1锛氬寘鏉� 2锛氭垚鍝� 3锛氳�楁潗 4锛氬崐鎴愬搧
+ {
+ case "0"://鎴愬搧鍏ュ簱
+ case "3"://閫�璐у叆搴�
+ case "5"://鍏跺畠鍏ュ簱
+ case "6"://浠e偍鍏ュ簱
+ skuType = "(2)";
+ break;
+ case "1"://閲囪喘鍏ュ簱
+ case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴�
+ skuType = "(0,1,3)";
+ break;
+ case "2"://涓棿鍝佸叆搴�
+ skuType = "(4)";
+ break;
+ case "7"://瀵勫瓨鍏ュ簱
+ skuType = "(0,1,2,3,4)";
+ break;
+ default: //鍏跺畠
+ skuType = "(0,1,2,3,4)";
+ break;
+ }
+
Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>()
- .AndIF(!string.IsNullOrWhiteSpace(model.IsControlled), it => it.IsControlled == model.IsControlled)
+ .AndIF(true, it => skuType.Contains(it.Type))
.AndIF(true, it => it.IsDel == "0")
.And(it => it.SkuNo != "100099")
.AndIF(!string.IsNullOrWhiteSpace(model.SkuNo),
@@ -181,6 +229,9 @@
string strMessage = "";
string sqlString = string.Empty;
string sqlDetailStr = string.Empty;
+ //0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴�
+ var TypeLot = "1, 2, 5, 6, 7";
+
try
{
if (model.Origin == "褰曞叆")
@@ -224,8 +275,12 @@
}
if (string.IsNullOrEmpty(detailModel.LotNo))
{
- strMessage = "-1:鎵规鍙蜂笉鍙负绌�;";
- continue;
+ //鍒ゆ柇鏄惁涓轰笉闄愬埗鎵规鍗曟嵁
+ if (!TypeLot.Contains(model.Type))
+ {
+ strMessage = "-1:鎵规鍙蜂笉鍙负绌�;";
+ continue;
+ }
}
// 鍒ゆ柇鏄惁宸插瓨鍦ㄥ綋鍓嶆槑缁�
string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' ";
@@ -303,7 +358,7 @@
sqlString = "UPDATE BllArrivalNotice SET ";
sqlString += $"CustomerNo = '{model.CustomerNo}',CustomerName = '{model.CustomerName}',";
- sqlString += $"LotNo = '{model.LotNo}',LotText = '{model.LotText}',";
+ sqlString += $"LotNo = '{model.LotNo}',LotText = '{model.LotText}',";
sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
sqlString += $"WHERE ASNNo = '{model.ASNNo}'";
@@ -576,7 +631,7 @@
}
}
//鍏ュ簱鍗曟挙閿�鐢宠
- public void CancelOrder(int id,string reason,int userId)
+ public void CancelOrder(int id, string reason, int userId)
{
try
{
@@ -585,29 +640,29 @@
{
throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曟嵁淇℃伅");
}
- if (notice.Status!="1" && notice.Status != "2")
+ if (notice.Status != "1" && notice.Status != "2")
{
throw new Exception("鍏ュ簱鍗曟嵁鐘舵�佷笉鏄鍦ㄦ墽琛屾垨鎵ц瀹屾垚锛屼笉鑳芥挙閿�");
}
var bind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
- if (bind.Count==0)
+ if (bind.Count == 0)
{
throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曟嵁鐨勬墭鐩樼粦瀹氫俊鎭�");
}
- if (bind.Count(m=>m.Status== "1")>0)
+ if (bind.Count(m => m.Status == "1") > 0)
{
throw new Exception("褰撳墠鍏ュ簱鍗曟嵁鐨勬墭鐩樼粦瀹氫俊鎭湁姝e湪鎵ц鐨勶紝璇风◢鍚庡畬鎴愬悗鍐嶆挙閿�");
}
var auditLog = Db.Queryable<BllAuditLog>().Where(m => m.IsDel == "0" && m.Status == "0");
var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo);
- if (auditLog.Count(m=>m.OrderNo == notice.ASNNo)>0)
+ if (auditLog.Count(m => m.OrderNo == notice.ASNNo) > 0)
{
throw new Exception("褰撳墠鍏ュ簱鍗曟嵁宸叉湁鎾ら攢瀹℃牳锛岃绛夊緟瀹℃牳瀹屾垚");
}
-
+
var startStatusName = "";
var endStatusName = "";
@@ -622,7 +677,7 @@
endStatusName = "姝e湪鎵ц";
break;
default:
- throw new Exception("鍗曟嵁鐘舵�侀敊璇�");
+ throw new Exception("鍗曟嵁鐘舵�侀敊璇�");
}
var palletStr = "";
@@ -630,16 +685,16 @@
var msgL = "";
foreach (var item in bind)
{
- if (auditLog.Count(m=>m.OrderNo ==item.ASNNo && m.PalletNo.Contains(item.PalletNo)) >0)
+ if (auditLog.Count(m => m.OrderNo == item.ASNNo && m.PalletNo.Contains(item.PalletNo)) > 0)
{
continue;
}
if (!palletStr.Contains(item.PalletNo))
{
- palletStr += item.PalletNo+";";
+ palletStr += item.PalletNo + ";";
}
-
+
var info = boxInfo.First(m => m.BindNo == item.Id);
if (!msgS.Contains(info.SkuNo))
{
@@ -668,7 +723,7 @@
IsDel = "0",
CreateUser = userId,
CreateTime = time
- };
+ };
Db.Insertable(log).ExecuteCommand();
new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", notice.ASNNo, "娣诲姞", $"娣诲姞浜嗗崟鎹彿涓簕notice.ASNNo}鐨勫崟鎹挙閿�鐢宠", userId);
}
@@ -702,7 +757,7 @@
{
//娣诲姞鎿嶄綔鏃ュ織
new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", notice.ASNNo, "缂栬緫", $"缂栬緫浜嗗崟鎹彿涓簕notice.ASNNo}鐨勫娉ㄤ俊鎭�", userId);
- }
+ }
}
catch (Exception ex)
{
@@ -803,7 +858,7 @@
Standard = skuModel.Standard,
LotNo = asnDetailModel.LotNo,
LotText = "",
- Qty = asnDetailModel.Qty,
+ Qty = (decimal)asnDetailModel.Qty,
PackagNo = asnDetailModel.PackagNo,
SupplierLot = asnDetailModel.SupplierLot,
Status = "0",
@@ -847,6 +902,10 @@
{
throw new Exception("鏈煡璇㈠埌鍗曟嵁鏄庣粏淇℃伅");
}
+ if (userId == notice.UpdateUser)
+ {
+ throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍏抽棴璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�");
+ }
var list = new List<AsnDetail>();
foreach (var d in detail)
{
@@ -854,7 +913,7 @@
{
SkuNo = d.SkuNo,
LotNo = d.LotNo,
- Qty = int.Parse(d.CompleteQty.ToString()),
+ Qty = d.CompleteQty,
PackagNo = d.PackagNo,
SupplierLot = d.SupplierLot
};
@@ -865,21 +924,26 @@
OrderCode = notice.OrderCode,
AsnDetails = list
};
- // 閫氳繃鎺ュ彛鍙戦�佽嚦erp
- var jsonData = JsonConvert.SerializeObject(soInfo);
+
+ #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp
+ //绯荤粺瀵规帴鍚庢斁寮�
+ /*var jsonData = JsonConvert.SerializeObject(soInfo);
var response = HttpHelper.DoPost(url, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "ERP");
- //瑙f瀽杩斿洖鏁版嵁
- var obj = JsonConvert.DeserializeObject<ErpModel>(response);
+ var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁
if (obj.Success != 0)
{
throw new Exception("涓婁紶澶辫触" + obj.Message);
- }
+ }*/
+ #endregion
+
notice.Status = "4";
- notice.UpdateTime = DateTime.Now;
- notice.UpdateUser = userId;
+ notice.CheckTime = DateTime.Now;
+ notice.CheckUser = userId;
Db.Updateable(notice).ExecuteCommand();
+
+ new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", notice.ASNNo, "澶嶆牳", $"澶嶆牳浜嗗崟鎹彿涓簕notice.ASNNo}鐨勫崟鎹俊鎭�", userId);
return true;
}
catch (Exception e)
@@ -890,5 +954,5 @@
#endregion
}
-
+
}
--
Gitblit v1.8.0