From b9f7560cbe0e562a40e9515a0559a3e951f0fee6 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期一, 07 四月 2025 09:16:01 +0800
Subject: [PATCH] 问题修改
---
Wms/WMS.BLL/DataServer/StockServer.cs | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 284 insertions(+), 10 deletions(-)
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 8ab0b61..9c802dc 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -9,6 +9,7 @@
using Model.InterFaceModel;
using Model.ModelDto;
using Model.ModelDto.DataDto;
+using Model.ModelDto.LogDto;
using Model.ModelDto.SysDto;
using Model.ModelVm.DataVm;
using Newtonsoft.Json;
@@ -89,9 +90,27 @@
//搴撳瓨鎬婚噺
List<MateDataStockDto> StockListDto = new List<MateDataStockDto>();
+ DataStockDetail detail = new DataStockDetail();
foreach (var item in StockList)
{
+
+ detail = Db.Queryable<DataStockDetail>().First(w => w.SkuNo == item.SkuNo && w.LotNo == item.LotNo && w.IsDel == "0");
+ if (detail != null)
+ {
+ if (!string.IsNullOrEmpty(detail.ProductionTime.ToString()))
+ {
+ item.ProductionTime = (DateTime)detail.ProductionTime;
+ }
+ if (!string.IsNullOrEmpty(detail.ExpirationTime.ToString()))
+ {
+ item.ExpirationTime = (DateTime)detail.ExpirationTime;
+ }
+ item.InspectStatus = detail.InspectStatus;
+ }
+
+
+
StockListDto.Add(item);
////鍒ゆ柇搴撳瓨鎬婚噺鏄惁鎷ユ湁鐗╂枡
//if (StockListDto.Count > 0)
@@ -237,10 +256,70 @@
categoryNo = categoryNo, //閫昏緫搴撳尯
type = type
});
+ foreach (var item in stockDetailsList)
+ {
+ if (!string.IsNullOrEmpty(item.LocatNo))
+ {
+ if (item.WareHouseNo == "W01")
+ {
+ item.PLCLocatNo = GetDjAdress(item.LocatNo.Substring(1, 2), item.LocatNo.Substring(0, 2), item.LocatNo.Substring(6, 2)).ToString() + item.LocatNo.Substring(2, 2) + item.LocatNo.Substring(4, 2);
+ }
+ }
+
+ }
return stockDetailsList;
}
#endregion
+
+ /// <summary>
+ /// 鏍规嵁鍌ㄤ綅鎺掕幏鍙栬泛鏈哄搴旂殑鍦板潃鎺�03010302
+ /// </summary>
+ /// <param name="road">鎺�02</param>
+ /// <param name="pai">鎺�03</param>
+ /// <param name="dept">娣卞害02</param>
+ /// <returns></returns>
+ public static int GetDjAdress(string road, string pai, string dept)
+ {
+ var roadNum = int.Parse(road);
+ var paiNum = int.Parse(pai);
+ var deptNum = int.Parse(dept);
+
+ var paiVal = 0;
+
+ // 鍒ゆ柇鎺掑鍋舵暟
+ if (paiNum % 2 == 0)
+ {
+ if (deptNum == 1)
+ {
+ paiVal = 3;
+ }
+ else
+ {
+ paiVal = 4;
+ }
+ }
+ else
+ {
+ if (deptNum == 1)
+ {
+ paiVal = 2;
+
+ }
+ else
+ {
+ paiVal = 1;
+
+ }
+ }
+
+ if (paiVal == 0)
+ {
+ throw new Exception("鎺掕浆鎹㈠け璐�");
+ }
+ return paiVal;
+
+ }
#region 浣庡簱瀛橀璀�
@@ -364,9 +443,12 @@
//startTime = startTime,
//endTime = endTime
});
+ DataStock stock = new DataStock();
+ stock = Db.Queryable<DataStock>().First();
//鍚堝苟鏁版嵁
int a = 0;
+ decimal qty = 0;
foreach (var h in totalHListData)
{
if (a >= totalCListData.Count)
@@ -375,16 +457,23 @@
}
foreach (var c in totalCListData)
{
+
//鍒ゆ柇鍑哄簱鏄惁鎷ユ湁鐩稿悓鎵规 涓旂墿鏂欑浉鍚�
if (h.LotNo == c.LotNo)
{
if (h.SkuNo == c.SkuNo && h.SkuName == c.SkuName)
{
+ stock = Db.Queryable<DataStock>().First(w=>w.SkuNo == h.SkuNo && w.SkuName == h.SkuName && w.LotNo == h.LotNo && w.IsDel == "0");
+ if (stock != null)
+ {
+ qty = stock.Qty;
+ }
h.CQty = c.CQty; //鍑哄簱鏁伴噺
h.CAllotQty = c.CAllotQty; //鍒嗛厤鏁伴噺
h.CFactQty = c.CFactQty; //涓嬫灦鏁伴噺
h.CompleteQty = c.CompleteQty; //鎷h揣鏁伴噺
- //h.SONo = c.SONo; //鍑哄簱鍗曞彿
+ h.Qty = qty; //褰撳墠搴撳瓨
+
a += 1;
@@ -1101,7 +1190,10 @@
}
#endregion
-
+ palletNo.IsCancel = 0;
+ palletNo.IsSend = 0;
+ palletNo.IsFinish = 0;
+ Db.Updateable(palletNo).ExecuteCommand();
Db.CommitTran();
@@ -1353,12 +1445,12 @@
}
}
}
- else
+ else
{
storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇璧峰搴撲綅淇℃伅
if (storageStart == null)
{
- throw new Exception("鏈壘鍒扮浉搴旂殑璧峰搴撲綅");
+ isstock = 2; //搴撳彛鍒扮紦瀛樹綅浠诲姟
}
}
//var soAllot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);//鑾峰彇鍒嗛厤淇℃伅
@@ -1377,13 +1469,13 @@
if (isstock == 1)
{
- startLocat = Db.Queryable<SysStorageLocat>().First(w=> w.IsDel == "0" && w.LocatNo == palletNo.StartLocat);
+ startLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat);
//淇敼璧峰搴撲綅鐘舵��
startLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑
Db.Updateable(startLocat).ExecuteCommand();
- //璋冪敤MES澶囨枡鍙嶉瀹屾垚鎺ュ彛
- #region MES澶囨枡瀹屾垚鍙嶉
+
+ #region
var data = new List<RequertBeiliaoInfoModel>();
//鏇存敼搴撳瓨鏄庣粏
@@ -1472,7 +1564,7 @@
case "1":
endlono = "Y003_0" + endLocat.LocatNo.ToString().Substring(5, 2);
break;
-
+
}
var mescode = Db.Queryable<BllExportNotice>().Where(w => w.SONo == stockDetail.First().SONo).First();
var mesData = new RequertBeiliaoModel()
@@ -1495,7 +1587,7 @@
}
#endregion
}
- else //绌烘墭鐩樺鐞�
+ else if (isstock == 0)
{
//淇敼缁勬墭淇℃伅
if (bindDetail.WareHouseNo == "W01") //1銆佺┖鎵樼洏鍨涘埌绌烘墭鐩樻敹闆嗗櫒锛�
@@ -1524,7 +1616,25 @@
}
}
Db.Updateable(bindDetail).ExecuteCommand();
+
}
+ else //搴撳彛绉诲簱鍒扮紦瀛樹綅
+ {
+
+ foreach (var item in stockDetail)
+ {
+ item.LocatNo = endLocat.LocatNo;//鍌ㄤ綅鏇存敼
+ item.WareHouseNo = endLocat.WareHouseNo;//鎵�灞炰粨搴撴洿鏀�
+ item.RoadwayNo = endLocat.RoadwayNo;//鎵�灞炲贩閬撴洿鏀�
+ item.AreaNo = endLocat.AreaNo;//鎵�灞炲尯鍩熸洿鏀�
+
+ Db.Updateable(item).ExecuteCommand();
+ }
+ }
+ palletNo.IsCancel = 0;
+ palletNo.IsSend = 0;
+ palletNo.IsFinish = 0;
+ Db.Updateable(palletNo).ExecuteCommand();
Db.CommitTran();
}
catch (Exception ex)
@@ -1535,7 +1645,7 @@
}
#endregion
- #region 鏁板瓧瀛敓绯荤粺鑾峰彇搴撳瓨淇℃伅
+ #region 鏁板瓧瀛敓绯荤粺鍙嶉淇℃伅
/// <summary>
/// 鍙嶉鏁板瓧瀛敓绯荤粺搴撳瓨淇℃伅
@@ -1583,6 +1693,170 @@
throw new Exception("杩斿洖搴撳瓨淇℃伅鏈夎锛岄敊璇俊鎭細" + ex);
}
}
+
+
+
+ /// <summary>
+ /// 鍙嶉鏁板瓧瀛敓绯荤粺鎿嶄綔淇℃伅
+ /// </summary>
+ /// <param name=""></param>
+ /// <returns></returns>
+ public List<ReLogDataModel> GetLogDataList()
+ {
+ try
+ {
+
+ //搴撳瓨淇℃伅
+ var stockDetailsList = Db.Queryable<DataStockDetail>().ToList();
+ var sql = "select LocatNo,PalletNo,SkuName,Standard,LotNo,InspectStatus,Qty,ExpirationTime as Warranty from DataStockDetail ";
+
+
+ var item2 = Expressionable.Create<LogOperationSO>()
+ .And(it => it.IsDel == "0")
+ .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+
+ var list2 = Db.Queryable<LogOperationSO>().Where(item2)
+ .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString())
+ .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id)
+ .Select((it, dic, users) => new OperationDto()
+ {
+ Id = it.Id,
+ ParentNo = it.ParentNo,
+ MenuNo = it.MenuNo,
+ MenuName = it.MenuName,
+ FkNo = it.FkNo,
+ Type = dic.DictName,
+ Msg = it.Msg,
+ CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+ CreateUserName = users.RealName,
+ });
+
+ List<ReLogDataModel> list = Db.Ado.SqlQuery<ReLogDataModel>(sql);
+
+ return list;
+ }
+ catch (Exception ex)
+ {
+
+ throw new Exception("杩斿洖搴撳瓨淇℃伅鏈夎锛岄敊璇俊鎭細" + ex);
+ }
+ }
+
+
+ /// <summary>
+ /// 鏌ヨ鎿嶄綔鏃ュ織
+ /// </summary>
+ /// <param name="menuName">鑿滃崟鍚嶇О</param>
+ /// <param name="type">绫诲瀷</param>
+ /// <returns></returns>
+ public List<OperationDto> ReLogData()
+ {
+ try
+ {
+ var total = 0;
+ #region asn
+
+ var item = Expressionable.Create<LogOperationASN>()
+ .And(it => it.IsDel == "0")
+ .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+
+ var list = Db.Queryable<LogOperationASN>().Where(item)
+ .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString())
+ .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id)
+ .Select((it, dic, users) => new OperationDto()
+ {
+ Id = it.Id,
+ ParentNo = it.ParentNo,
+ MenuNo = it.MenuNo,
+ MenuName = it.MenuName,
+ FkNo = it.FkNo,
+ Type = dic.DictName,
+ Msg = it.Msg,
+ CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+ CreateUserName = users.RealName,
+ });
+
+ #endregion
+
+ #region so
+
+ var item2 = Expressionable.Create<LogOperationSO>()
+ .And(it => it.IsDel == "0")
+ .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+
+ var list2 = Db.Queryable<LogOperationSO>().Where(item2)
+ .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString())
+ .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id)
+ .Select((it, dic, users) => new OperationDto()
+ {
+ Id = it.Id,
+ ParentNo = it.ParentNo,
+ MenuNo = it.MenuNo,
+ MenuName = it.MenuName,
+ FkNo = it.FkNo,
+ Type = dic.DictName,
+ Msg = it.Msg,
+ CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+ CreateUserName = users.RealName,
+ });
+
+ #endregion
+
+ #region cr
+
+ var item3 = Expressionable.Create<LogOperationCR>()
+ .And(it => it.IsDel == "0")
+ .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+
+ var list3 = Db.Queryable<LogOperationCR>().Where(item3)
+ .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString())
+ .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id)
+ .Select((it, dic, users) => new OperationDto()
+ {
+ Id = it.Id,
+ ParentNo = it.ParentNo,
+ MenuNo = it.MenuNo,
+ MenuName = it.MenuName,
+ FkNo = it.FkNo,
+ Type = dic.DictName,
+ Msg = it.Msg,
+ CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+ CreateUserName = users.RealName,
+ });
+
+ #endregion
+
+ #region sys
+
+ var item4 = Expressionable.Create<LogOperationSys>()
+ .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+
+ var list4 = Db.Queryable<LogOperationSys>().Where(item4)
+ .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString())
+ .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id)
+ .Select((it, dic, users) => new OperationDto()
+ {
+ Id = it.Id,
+ ParentNo = it.ParentNo,
+ MenuNo = it.MenuNo,
+ MenuName = it.MenuName,
+ FkNo = it.FkNo,
+ Type = dic.DictName,
+ Msg = it.Msg,
+ CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+ CreateUserName = users.RealName,
+ });
+
+ #endregion
+
+ var data = Db.UnionAll(list, list2, list3, list4).OrderByDescending(it => it.CreateTime);
+ return data.OrderByDescending(m => m.CreateTime).ToList();
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
#endregion
}
}
--
Gitblit v1.8.0