From d64f81bccb25c98261b84a4355f92c3b32470606 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期一, 07 四月 2025 09:32:56 +0800
Subject: [PATCH] 日期显示问题修改
---
Wms/WMS.BLL/DataServer/StockServer.cs | 1327 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 1,274 insertions(+), 53 deletions(-)
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 22bc852..f784e43 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -4,13 +4,25 @@
using System.Linq;
using System.Runtime.Intrinsics.X86;
using System.Security.Claims;
+using System.Security.Policy;
using System.Text;
+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;
using SqlSugar;
+using Utility.Tools;
+using WMS.BLL.LogServer;
using WMS.DAL;
+using WMS.Entity.BllAsnEntity;
+using WMS.Entity.BllSoEntity;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
+using WMS.Entity.LogEntity;
+using WMS.Entity.SysEntity;
using WMS.IBLL.IDataServer;
namespace WMS.BLL.DataServer
@@ -32,13 +44,13 @@
/// <param name="skuNo">鐗╂枡缂栫爜</param>
/// <param name="skuName">鐗╂枡鍚嶇О</param>
/// <returns></returns>
- public List<MateDataStockDto> GetDataStockList(string skuNo, string skuName, string ownerNo, string ownerName)
+ public List<MateDataStockDto> GetDataStockList(string skuNo, string skuName, string ownerNo, string ownerName, string lotNo)
{
string str = "select stock.SkuNo,stock.SkuName,stock.LotNo,stock.LotText,stock.Standard,stock.Qty," +
"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))
{
@@ -59,6 +71,11 @@
{
str += " and stock.OwnerName like @ownerName";
}
+ //鍒ゆ柇璐т富鍚嶇О鏄惁涓虹┖
+ if (!string.IsNullOrEmpty(lotNo))
+ {
+ str += " and stock.LotNo like @lotNo";
+ }
//鎺掑簭
str += " order by stock.SkuNo";
List<MateDataStockDto> StockList = Db.Ado.SqlQuery<MateDataStockDto>(str, new
@@ -67,44 +84,72 @@
skuno = "%" + skuNo + "%", //鐗╂枡缂栫爜
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
ownerNo= "%" + ownerNo + "%", //璐т富缂栫爜
- ownerName= "%" + ownerName + "%" //璐т富鍚嶇О
+ ownerName= "%" + ownerName + "%", //璐т富鍚嶇О
+ lotNo= "%" + lotNo + "%", //鎵规鍙�
});
//搴撳瓨鎬婚噺
List<MateDataStockDto> StockListDto = new List<MateDataStockDto>();
+ DataStockDetail detail = new DataStockDetail();
foreach (var item in StockList)
{
- //鍒ゆ柇搴撳瓨鎬婚噺鏄惁鎷ユ湁鐗╂枡
- if (StockListDto.Count > 0)
+
+ detail = Db.Queryable<DataStockDetail>().First(w => w.SkuNo == item.SkuNo && w.LotNo == item.LotNo && w.IsDel == "0");
+ if (detail != null)
{
- int i = 0;
- //foreach寰幆搴撳瓨鎬婚噺
- foreach (var dto in StockListDto)
+ if (!string.IsNullOrEmpty(detail.ProductionTime.ToString()))
{
- //鍒ゆ柇鐗╂枡鍜屾壒娆℃槸鍚︾浉鍚�
- 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;
- }
+ item.ProductionTime = (DateTime)detail.ProductionTime;
}
+ else
+ {
+ item.ProductionTime = null;
+ }
+ if (!string.IsNullOrEmpty(detail.ExpirationTime.ToString()))
+ {
+ item.ExpirationTime = (DateTime)detail.ExpirationTime;
+ }
+ else
+ {
+ item.ExpirationTime = null;
+ }
+ item.InspectStatus = detail.InspectStatus;
}
- 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;
@@ -120,16 +165,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))
@@ -145,7 +197,7 @@
if (!string.IsNullOrEmpty(lotNo))
{
str += " and detail.LotNo like @lotno";
- }
+ }
//鍒ゆ柇鍌ㄤ綅鍦板潃鏄惁涓虹┖
if (!string.IsNullOrEmpty(locatNo))
{
@@ -175,26 +227,107 @@
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 cat.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
});
+ 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 浣庡簱瀛橀璀�
@@ -258,9 +391,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))
@@ -280,6 +417,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";
//鍏ュ簱
@@ -289,6 +438,9 @@
skuno = "%" + skuNo + "%", //鐗╂枡鍙�
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
lotno = "%" + lotNo + "%", //鎵规鍙�
+ //startTime = startTime,
+ //endTime = endTime
+
});
List<TotalRecordDto> totalCListData = Db.Ado.SqlQuery<TotalRecordDto>(cstr, new
{
@@ -296,10 +448,15 @@
skuno = "%" + skuNo + "%", //鐗╂枡鍙�
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
lotno = "%" + lotNo + "%", //鎵规鍙�
+ //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)
@@ -308,16 +465,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;
@@ -340,12 +504,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))
@@ -365,12 +538,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";
@@ -383,6 +565,8 @@
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
lotno = "%" + lotNo + "%", //鎵规鍙�
palletno = "%" + palletNo + "%", //鎵樼洏鍙�
+ startTime = startTime,
+ endTime = endTime
});
//鍑哄簱
List<TotalRecordDto> totalCList = Db.Ado.SqlQuery<TotalRecordDto>(cstr, new
@@ -392,6 +576,8 @@
skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
lotno = "%" + lotNo + "%", //鎵规鍙�
palletno = "%" + palletNo + "%", //鎵樼洏鍙�
+ startTime = startTime,
+ endTime = endTime
});
//鍚堝苟
@@ -450,6 +636,299 @@
#endregion
+ #region 骞村害鎶ヨ〃
+
+ /// <summary>
+ /// 鑾峰彇骞存姤琛ㄦ�昏〃
+ /// </summary>
+ /// <param name="StartTime"></param>
+ /// <param name="EndTime"></param>
+ /// <returns></returns>
+ public List<SysMaterials> GetAssSoInfo(string StartTime, string EndTime)
+ {
+ try
+ {
+ string str = "select* from SysMaterials where SkuNo in (select a.SkuNo from BllArrivalNoticeDetail a inner join BllExportNoticeDetail b on a.SkuNo = b.SkuNo";
+
+ //鍒ゆ柇寮�濮嬫椂闂存槸鍚︿负绌�
+ if (!string.IsNullOrWhiteSpace(StartTime))
+ {
+ str += $" and a.CompleteTime >= '{StartTime}' and b.UpdateTime >= '{StartTime}'";
+ }
+ //鍒ゆ柇缁撴潫鏃堕棿鏄惁涓虹┖
+ if (!string.IsNullOrWhiteSpace(EndTime))
+ {
+ EndTime = (Convert.ToDateTime(EndTime).AddDays(1)).ToString();
+ str += $" and a.CompleteTime < '{EndTime}' and b.UpdateTime < '{EndTime}'";
+ }
+
+ str += " group by a.SkuNo,b.SkuNo)";
+
+ var sku = Db.Ado.SqlQuery<SysMaterials>(str);
+ return sku;
+ }
+ catch (Exception ex)
+ {
+
+ throw new Exception(ex.Message);
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇骞存姤琛ㄦ槑缁�
+ /// </summary>
+ /// <param name="skuNo"></param>
+ /// <param name="StartTime"></param>
+ /// <param name="EndTime"></param>
+ /// <returns></returns>
+ public List<AssSoDateStockInfoDto> GetAssSoInfoDetail(string skuNo, string StartTime, string EndTime)
+ {
+ try
+ {
+ //鐢ㄤ簬鍚堝苟鏁版嵁
+ List<AssSoDateStockInfoDto> infolist = new List<AssSoDateStockInfoDto>();
+ //鑾峰彇寮�濮嬫椂闂村綋澶╃殑缁撳瓨鏁伴噺
+ //DataStockInfo stockInfo = new DataStockInfo();
+ //鑾峰彇鐗╂枡鐞嗚閲嶉噺
+ string weightstr = $"select Weight from SysMaterials where SkuNo = '{skuNo}'";
+ var weight = Db.Ado.SqlQuerySingle<decimal>(weightstr);
+
+ //鍒ゆ柇寮�濮嬫椂闂存槸鍚︿负绌�
+ if (!string.IsNullOrWhiteSpace(StartTime))
+ {
+ //string str = $"select * from DataStockInfo where IsDel = '0' and CONVERT(date,CreateTime) = '{StartTime}'";
+ //鑾峰彇褰撳ぉ搴撳瓨淇℃伅
+ //stockInfo = Db.Ado.SqlQuerySingle<DataStockInfo>(str);
+ }
+ //鍒ゆ柇缁撴潫鏃堕棿鏄惁涓虹┖
+ if (!string.IsNullOrWhiteSpace(EndTime))
+ {
+ EndTime = (Convert.ToDateTime(EndTime).AddDays(1)).ToString();
+ }
+ decimal countjie = 0; //缁熻缁撳瓨鏁伴噺
+ ////鍒ゆ柇搴撳瓨淇℃伅鏄惁涓虹┖
+ //if (stockInfo != null)
+ //{
+ // countjie = stockInfo.BalanceQty; //缁熻缁撳瓨鏁伴噺
+ //}
+ //else if (stockInfo == null)
+ //{
+ //鍒ゆ柇寮�濮嬫椂闂存槸鍚︿负绌�
+ if (!string.IsNullOrWhiteSpace(StartTime))
+ {
+ //string StartTimelin = (Convert.ToDateTime(StartTime).AddDays(1)).ToString();
+ //鑾峰彇鍑哄簱鏁伴噺
+ string str = $"select SUM(CompleteQty) as CompleteQtyc from BllExportNoticeDetail where IsDel = '0' and SkuNo = '{skuNo}' and Status != '0' and CreateTime < '{StartTime}'";
+ string CompleteQtyc = Db.Ado.SqlQuerySingle<string>(str);
+ //鑾峰彇鍏ュ簱鏁伴噺
+ str = $"select SUM(CompleteQty) as CompleteQtyr from BllArrivalNoticeDetail where IsDel = '0' and SkuNo = '{skuNo}' and Status != '0' and CreateTime < '{StartTime}'";
+ string CompleteQtyr = Db.Ado.SqlQuerySingle<string>(str);
+
+ //璁$畻缁撳瓨鏁伴噺
+ countjie = int.Parse(CompleteQtyr) - int.Parse(CompleteQtyc);
+
+ }
+
+ //}
+ decimal yeara = 0; //骞村叆搴�
+ decimal years = 0; //骞村嚭搴�
+ decimal montha = 0; //鏈堝叆搴�
+ decimal months = 0; //鏈堝嚭搴�
+ DateTime createTime = DateTime.Now.AddYears(-1000); //鏃堕棿
+
+ //鑾峰彇鏈夊灏戝勾
+ string yearstr = "select DATEPART(YEAR, CreateTime) SkuName from BllArrivalNoticeDetail where IsDel = '0' and Status = '2' ";
+ if (!string.IsNullOrWhiteSpace(StartTime))
+ {
+ yearstr += $" and CreateTime >= '{StartTime}'";
+ }
+ if (!string.IsNullOrWhiteSpace(EndTime))
+ {
+
+ yearstr += $" and CreateTime < '{EndTime}'";
+ }
+ yearstr += "group by DATEPART(YEAR, CreateTime)";
+ var yearlist = Db.Ado.SqlQuery<AssSoDateStockInfoDto>(yearstr);
+ if (!string.IsNullOrWhiteSpace(StartTime) && !string.IsNullOrWhiteSpace(EndTime))
+ {
+ //鍒ゆ柇寮�濮嬫椂闂村勾涓庣粨鏉熸椂闂村勾鏄惁鐩哥瓑
+ var startyear = StartTime.Split('-');
+ var endyear = EndTime.Split("-");
+ }
+ foreach (var yearcount in yearlist)
+ {
+ //鑾峰彇褰撳墠鐗╂枡姣忓勾鍏ュ簱鍗曟嵁鏄庣粏
+ string ruyearstr = $"select ASNNo,SkuNo,SkuName,CompleteQty as ASNQty,0 as ASNSOQty,CONVERT(date,CreateTime) as NoticeDateTime,DATEPART(MONTH,CreateTime) as month,CreateTime from BllArrivalNoticeDetail where IsDel = '0' and Status != '0' and SkuNo = '{skuNo}' and DATEPART(YEAR, CreateTime) = '{yearcount.SkuName}'";
+ //鑾峰彇褰撳墠鐗╂枡姣忓勾鍑哄簱鍗曟嵁鏄庣粏
+ string chuyearstr = $"select SONo,SkuNo,SkuName,CompleteQty as SOQty,0 as ASNSOQty,CONVERT(date,CreateTime) as NoticeDateTime,DATEPART(MONTH,CreateTime) as month,CreateTime from BllExportNoticeDetail where IsDel = '0' and Status != '0' and SkuNo = '{skuNo}' and DATEPART(YEAR, CreateTime) = '{yearcount.SkuName}'";
+
+ if (!string.IsNullOrWhiteSpace(StartTime))
+ {
+ ruyearstr += $" and CreateTime >= '{StartTime}'";
+ chuyearstr += $" and CreateTime >= '{StartTime}'";
+ }
+ if (!string.IsNullOrWhiteSpace(EndTime))
+ {
+ //EndTime = (Convert.ToDateTime(EndTime).AddDays(1)).ToString();
+ ruyearstr += $" and CreateTime < '{EndTime}'";
+ chuyearstr += $" and CreateTime < '{EndTime}'";
+ }
+
+ ruyearstr += " order by CreateTime";
+ chuyearstr += " order by CreateTime";
+ //姣忓勾鍏ュ簱
+ List<AssSoDateStockInfoDto> ruinfolist = Db.Ado.SqlQuery<AssSoDateStockInfoDto>(ruyearstr);
+ //姣忓勾鍑哄簱
+ List<AssSoDateStockInfoDto> chuinfolist = Db.Ado.SqlQuery<AssSoDateStockInfoDto>(chuyearstr);
+
+ //寰幆12涓湀
+ for (int i = 1; i <= 12; i++)
+ {
+ //涓存椂鍏�
+ List<AssSoDateStockInfoDto> linshiru = new List<AssSoDateStockInfoDto>();
+ //涓存椂鍑�
+ List<AssSoDateStockInfoDto> linshichu = new List<AssSoDateStockInfoDto>();
+
+ if (ruinfolist.Count > 0)
+ {
+ linshiru = ruinfolist.Where(a => a.month == i.ToString()).ToList(); //鑾峰彇褰撴湀鍏ュ簱淇℃伅
+ }
+ if (chuinfolist.Count > 0)
+ {
+ linshichu = chuinfolist.Where(a => a.month == i.ToString()).ToList(); //鑾峰彇褰撴湀鍑哄簱淇℃伅
+ }
+ if (linshichu.Count > 0)
+ {
+ foreach (var h in linshichu)
+ {
+ linshiru.Add(h);
+ }
+ }
+ var data = linshiru.OrderBy(a => a.CreateTime).ToList();
+
+ //鍒ゆ柇鏄惁瀛樺湪褰撴湀鍏ュ簱淇℃伅
+ if (linshiru.Count > 0)
+ {
+
+ foreach (var item in data)
+ {
+ item.NoticeDateTime = Convert.ToDateTime(item.NoticeDateTime).ToString("yyyy-MM-dd");
+ //鎬昏缁撳瓨鏁伴噺
+ if (item.ASNNo != null)
+ {
+ //鍏ュ簱
+ countjie += item.ASNQty;
+ montha += item.ASNQty; //鏈堝叆搴�
+ yeara += item.ASNQty; //骞村叆搴�
+ }
+ else if (item.SONo != null)
+ {
+ //鍑哄簱
+ countjie -= item.SOQty;
+ months += item.SOQty; //鏈堝嚭搴�
+ years += item.SOQty; //骞村嚭搴�
+ }
+ item.ASNSOQty = countjie; //缁撳瓨鏁伴噺
+ item.Weight = weight; //閲嶉噺
+ infolist.Add(item);
+
+ if (createTime < item.CreateTime)
+ {
+ createTime = item.CreateTime; //鏃堕棿
+ }
+ }
+ }
+ //鍒ゆ柇鏄惁瀛樺湪褰撴湀鍑哄簱淇℃伅
+ //if (linshichu.Count > 0)
+ //{
+ // //鍑哄簱
+ // foreach (var item in linshichu)
+ // {
+ // item.NoticeDateTime = Convert.ToDateTime(item.NoticeDateTime).ToString("yyyy-MM-dd");
+ // countjie -= item.SOQty; //鎬昏缁撳瓨鏁伴噺
+ // item.ASNSOQty = countjie; //缁撳瓨鏁伴噺
+ // item.Weight = weight; //閲嶉噺
+ // infolist.Add(item);
+ // months += item.SOQty; //鏈堝嚭搴�
+ // years += item.SOQty; //骞村嚭搴�
+ // if (createTime < item.CreateTime)
+ // {
+ // createTime = item.CreateTime; //鏃堕棿
+ // }
+ // }
+ //}
+
+ //鍒ゆ柇鏄惁鏈夋湀鍑哄叆搴�
+ if (linshiru.Count > 0 || linshichu.Count > 0)
+ {
+ //鏈堜俊鎭�
+ var addmonthinfo = new AssSoDateStockInfoDto()
+ {
+ ASNNo = "", // 鍏ュ簱鍗曟嵁
+ SONo = "", // 鍑哄簱鍗曟嵁
+
+ SkuNo = "", // 鐗╂枡缂栫爜
+ SkuName = "", // 鐗╂枡鍚嶇О
+
+ NoticeType = "鏈湀绱", //缁熻绫诲埆
+
+ ASNQty = montha, // 鍏ュ簱鏁伴噺
+ SOQty = months, // 鍑哄簱鏁伴噺
+ ASNSOQty = countjie, // 缁撳瓨鏁伴噺
+
+ Weight = weight, // 鐞嗚閲嶉噺
+
+ NoticeDateTime = yearcount.SkuName + "骞�" + i + "鏈�", // 鍗曟嵁鏃堕棿
+ CreateTime = createTime, //鏃堕棿
+ };
+ infolist.Add(addmonthinfo);
+ }
+ montha = 0; //鏈堝叆搴�
+ months = 0; //鏈堝嚭搴�
+ }
+ //鍒ゆ柇鏄惁鏈夊勾鍑哄叆搴�
+ if (ruinfolist.Count > 0 || chuinfolist.Count > 0)
+ {
+ //骞翠俊鎭�
+ var addyearinfo = new AssSoDateStockInfoDto()
+ {
+ ASNNo = "", // 鍏ュ簱鍗曟嵁
+ SONo = "", // 鍑哄簱鍗曟嵁
+
+ SkuNo = "", // 鐗╂枡缂栫爜
+ SkuName = "", // 鐗╂枡鍚嶇О
+
+ NoticeType = "鏈勾绱", //缁熻绫诲埆
+
+ ASNQty = yeara, // 鍏ュ簱鏁伴噺
+ SOQty = years, // 鍑哄簱鏁伴噺
+ ASNSOQty = countjie, // 缁撳瓨鏁伴噺
+
+ Weight = weight, // 鐞嗚閲嶉噺
+
+ NoticeDateTime = yearcount.SkuName + "骞�", // 鍗曟嵁鏃堕棿
+ CreateTime = createTime, //鏃堕棿
+ };
+ infolist.Add(addyearinfo);
+ }
+ yeara = 0; //骞村叆搴�
+ years = 0; //骞村嚭搴�
+ }
+
+ infolist = infolist.OrderBy(x => x.CreateTime).ToList();
+ return infolist;
+
+ }
+ catch (Exception ex)
+ {
+
+ throw new Exception(ex.Message);
+ }
+ }
+
+
+ #endregion
+
#region 瀵煎嚭搴撳瓨
/// <summary>
/// 瀵煎嚭搴撳瓨鎬婚噺
@@ -494,10 +973,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;
@@ -645,5 +1126,745 @@
return stockDetailsList;
}
#endregion
+
+ #region AGV灏忚溅浠诲姟瀹屾垚鏇存柊搴撳瓨
+
+ /// <summary>
+ /// AGV鍏ュ簱瀹屾垚
+ /// </summary>
+ /// <param name="TaskCode">浠诲姟鍙�</param>
+ /// <param name="wcsurl">涓嬪彂WCS鏀捐揣瀹屾垚鍦板潃</param>
+ /// <returns></returns>
+ public void ArriveFinish(string TaskCode,string wcsurl)
+ {
+ try
+ {
+ var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "0" && m.Status == "1");//鑾峰彇姝e湪鎵ц鐨勪换鍔′俊鎭�
+ if (palletNo == null)
+ {
+ throw new Exception("姝や换鍔″凡瀹屾垚");
+
+ }
+ var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅
+ var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo);
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+
+ //淇敼璧峰搴撲綅鐘舵��
+ storageLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑
+ Db.Updateable(storageLocat).ExecuteCommand();
+
+ //淇敼浠诲姟鐘舵��
+ palletNo.Status = "2"; //宸插畬鎴�
+ Db.Updateable(palletNo).ExecuteCommand();
+
+
+ if (stockDetail !=null)
+ {
+ //淇敼搴撳瓨鏄庣粏
+ stockDetail.Status = "0";//寰呭垎閰�
+ stockDetail.LocatNo = "";
+ stockDetail.AreaNo = "";
+ stockDetail.RoadwayNo = "";
+ stockDetail.WareHouseNo = "";
+ Db.Updateable(stockDetail).ExecuteCommand();
+ }
+
+
+ #region 涓嬪彂WCS鏀捐揣瀹屾垚
+ var data = new
+ {
+ Port = palletNo.EndLocat
+ };
+ var jsonData = JsonConvert.SerializeObject(data);
+ string response = "";
+ try
+ {
+ var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+ response = HttpHelper.DoPost(wcsurl, jsonData, "涓嬪彂缁橶CS鏀捐揣瀹屾垚鍛戒护", "WCS");
+ var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+
+ //////瑙f瀽杩斿洖鏁版嵁
+ var res = JsonConvert.DeserializeObject<WcsModel>(response);
+ if (res.StatusCode == -1)
+ {
+ throw new Exception("鏀捐揣澶辫触锛學CS杩斿洖淇℃伅閿欒");
+ }
+ }
+
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+
+ #endregion
+ palletNo.IsCancel = 0;
+ palletNo.IsSend = 0;
+ palletNo.IsFinish = 0;
+ Db.Updateable(palletNo).ExecuteCommand();
+
+ Db.CommitTran();
+
+ }
+ catch (Exception ex)
+ {
+ Db.RollbackTran();
+ throw new Exception("AGV杩斿洖鍏ュ簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細" + ex);
+ }
+ }
+
+ /// <summary>
+ /// AGV鍑哄簱瀹屾垚
+ /// </summary>
+ /// <param name="TaskCode">浠诲姟鍙�</param>
+ /// <param name="url">鍙嶉MES澶囨枡瀹屾垚鍦板潃</param>
+ /// <returns></returns>
+ public void SoFinish(string TaskCode,string url)
+ {
+ try
+ {
+ var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "1" && m.Status == "1");//鑾峰彇姝e湪鎵ц鐨勪换鍔′俊鎭�
+ if (palletNo == null)
+ {
+ throw new Exception("姝や换鍔″凡瀹屾垚");
+ }
+ var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //鑾峰彇搴撲綅淇℃伅
+ var storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅
+ var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo); //鑾峰彇搴撳瓨淇℃伅
+
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+ //淇敼鐩殑搴撲綅鐘舵��
+ storageLocat.Status = "1";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑
+ Db.Updateable(storageLocat).ExecuteCommand();
+
+ //淇敼浠诲姟鐘舵��
+ palletNo.Status = "2"; //宸插畬鎴�
+ Db.Updateable(palletNo).ExecuteCommand();
+
+ //淇敼搴撳瓨鏄庣粏
+ stockDetail.Status = "2";// 0:寰呭垎閰� 1:閮ㄥ垎鍒嗛厤 2锛氬凡鍒嗛厤 3锛氱洏鐐归攣瀹氾細 4绉诲簱閿佸畾
+ stockDetail.LocatNo = storageLocat.LocatNo;
+ stockDetail.AreaNo = storageLocat.AreaNo;
+ stockDetail.RoadwayNo = storageLocat.RoadwayNo;
+ stockDetail.WareHouseNo = storageLocat.WareHouseNo;
+ Db.Updateable(stockDetail).ExecuteCommand();
+
+
+ Db.CommitTran();
+
+ }
+ catch (Exception ex )
+ {
+
+ throw new Exception("AGV杩斿洖鍑哄簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細" + ex);
+ }
+ }
+
+
+ //瀹屾垚鎺ュ彛淇敼锛堟湭瀹屾垚锛�
+ //try
+ //{
+ // var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.Status == "1");//鑾峰彇姝e湪鎵ц鐨勪换鍔′俊鎭�
+ // if (palletNo == null)
+ // {
+ // throw new Exception("姝や换鍔″凡瀹屾垚");
+ // }
+ // var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //鑾峰彇搴撲綅淇℃伅
+ // var storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅
+ // var stockDetail = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo).ToList();
+ // if (stockDetail.Count == 0)
+ // {
+ // throw new Exception("鎵樼洏涓婄墿鏂欏簱瀛樻槑缁嗕俊鎭笉瀛樺湪,璇锋鏌�!");
+ // }
+ // //寮�鍚簨鍔�
+ // Db.BeginTran();
+ // if (storageLocat != null)
+ // {
+ // if (storageLocat.AreaNo == "B12")//杞﹂棿缂撳瓨浣嶉渶瑕侀�氱煡MES
+ // {
+ // var data = new List<RequertBeiliaoInfoModel>();
+ // //鏇存敼搴撳瓨鏄庣粏
+ // foreach (var item in stockDetail)
+ // {
+ // item.LocatNo = item.LocatNo;//鍌ㄤ綅鏇存敼
+ // item.WareHouseNo = item.WareHouseNo;//鎵�灞炰粨搴撴洿鏀�
+ // item.RoadwayNo = item.RoadwayNo;//鎵�灞炲贩閬撴洿鏀�
+ // item.AreaNo = item.AreaNo;//鎵�灞炲尯鍩熸洿鏀�
+
+ // Db.Updateable(item).ExecuteCommand();
+
+
+ // if (string.IsNullOrWhiteSpace(item.SONo))
+ // {
+ // throw new Exception("褰撳墠鎵樼洏涓嶆槸鎷兼墭鍑哄簱鎵樼洏");
+ // }
+ // var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).ToList();
+ // if (boxInfo.Count == 0)
+ // {
+ // throw new Exception("鎵樼洏涓婄墿鏂欑鐮佷俊鎭笉瀛樺湪,璇锋鏌�!");
+ // }
+ // //var boxno = boxInfo.GroupBy(w => w.BoxNo).ToList();
+ // var boxno = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).GroupBy(m => new
+ // {
+ // m.BoxNo
+ // }).Select(it => new DataBoxInfo()
+ // {
+ // BoxNo = it.BoxNo
+ // }).ToList();
+
+ // //璁板綍鎵樼洏涓婁俊鎭粰MES
+ // foreach (var item2 in boxno)
+ // {
+ // var a = item.ProductionTime.ToString();
+ // data.Add(new RequertBeiliaoInfoModel()
+ // {
+ // no = item2.BoxNo,
+ // materiel_no = item.SkuNo,
+ // materiel_name = item.SkuName,
+ // qty = item.Qty,
+ // batch = item.LotNo,
+ // producttime = item.ProductionTime.ToString().Substring(0, 10),
+ // expiry = item.ExpirationTime.ToString().Substring(0, 10)
+
+ // });
+ // }
+ // //搴撳瓨绠辩爜鏄庣粏鍒犻櫎
+ // Db.Deleteable(boxInfo).ExecuteCommand();
+ // //鍒犻櫎搴撳瓨鎵樼洏淇℃伅
+ // Db.Deleteable(item).ExecuteCommand();
+ // //鏇存敼搴撳瓨鎬昏〃
+ // var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
+ // stock.LockQty -= (decimal)item.Qty;
+ // stock.Qty -= (decimal)item.Qty;
+ // Db.Updateable(stock).ExecuteCommand();
+ // //鏇存敼鎵樼洏鐘舵��
+ // var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ // if (pallet != null)
+ // {
+ // pallet.Status = "0";
+ // Db.Updateable(pallet).ExecuteCommand();
+ // }
+
+ // }
+
+ // //鑾峰彇浠ょ墝
+ // //var token = new Token().GetMesToken(mesTokenUrl);
+ // var token = "";
+ // Dictionary<string, string> mesDic = new Dictionary<string, string>()
+ // {
+ // {"Authorization",token }
+ // };
+ // var endlono = palletNo.EndLocat;
+ // //缂撳瓨搴撲綅杞崲
+ // switch (palletNo.EndLocat.ToString().Substring(4, 1))
+ // {
+ // case "1":
+ // endlono = "Y003_00" + palletNo.EndLocat.ToString().Substring(6, 1);
+ // break;
+ // case "2":
+ // endlono = "Y138_0" + palletNo.EndLocat.ToString().Substring(5, 2);
+ // break;
+ // case "3":
+ // endlono = "Y128_0" + palletNo.EndLocat.ToString().Substring(5, 2);
+ // break;
+ // default:
+ // break;
+ // }
+ // var mescode = Db.Queryable<BllExportNotice>().Where(w => w.SONo == stockDetail.First().SONo).First();
+ // var mesData = new RequertBeiliaoModel()
+ // {
+ // morder_no = mescode.OrderCode,
+ // pallet = stockDetail.First().PalletNo,
+ // layer_no = endlono,
+ // items = data
+ // };
+ // var jsonData = JsonConvert.SerializeObject(mesData);
+ // //璋冪敤鎺ュ彛
+ // var response = HttpHelper.DoPost(url, jsonData, "澶囨枡瀹屾垚杩愯嚦缂撳瓨鍖哄弽棣堣嚦MES", "MES", mesDic);
+
+ // var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁
+ // if (obj.status != "success")
+ // {
+ // throw new Exception("澶囨枡鍚屾MES澶辫触锛�" + obj.message);
+ // }
+
+
+ // }
+ // //淇敼鐩殑搴撲綅鐘舵��
+ // storageLocat.Status = "1";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑
+ // Db.Updateable(storageLocat).ExecuteCommand();
+
+ // //淇敼浠诲姟鐘舵��
+ // palletNo.Status = "2"; //宸插畬鎴�
+ // Db.Updateable(palletNo).ExecuteCommand();
+
+ // //淇敼搴撳瓨鏄庣粏
+ // item.Status = "2";// 0:寰呭垎閰� 1:閮ㄥ垎鍒嗛厤 2锛氬凡鍒嗛厤 3锛氱洏鐐归攣瀹氾細 4绉诲簱閿佸畾
+ // stockDetail.LocatNo = storageLocat.LocatNo;
+ // stockDetail.AreaNo = storageLocat.AreaNo;
+ // stockDetail.RoadwayNo = storageLocat.RoadwayNo;
+ // stockDetail.WareHouseNo = storageLocat.WareHouseNo;
+ // Db.Updateable(stockDetail).ExecuteCommand();
+ // }
+ // Db.CommitTran();
+
+ //}
+ /// <summary>
+ /// AGV绉诲簱瀹屾垚
+ /// </summary>
+ /// <param name="TaskCode">浠诲姟鍙�</param>
+ /// <param name="url">鍙嶉MES澶囨枡瀹屾垚鍦板潃</param>
+ /// <returns></returns>
+ public void MoveFinish(string TaskCode,string url)
+ {
+ try
+ {
+ var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "3" && m.Status == "1");//鑾峰彇姝e湪鎵ц鐨勪换鍔′俊鎭�
+ if (palletNo == null)
+ {
+ throw new Exception("姝や换鍔″凡瀹屾垚");
+ }
+ var startLocat = new SysStorageLocat();
+
+ var endLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //鑾峰彇鐩殑搴撲綅淇℃伅
+ if (endLocat == null)
+ {
+ throw new Exception("鏈壘鍒扮浉搴旂殑鐩殑搴撲綅");
+ }
+ var storageStart = new SysStorageLocat();
+
+ int isstock = 1;
+ var bindDetail = new BllPalletBind();
+ var sysPanlno = new SysPallets();
+
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo).ToList(); //鑾峰彇搴撳瓨淇℃伅
+ if (stockDetail.Count == 0)
+ {
+ //鏈壘鍒板簱瀛樺悗闇�瑕佸垽鏂槸鍚︽槸绌烘墭鐩樼Щ搴�
+ isstock = 0;
+ bindDetail = Db.Queryable<BllPalletBind>().OrderByDescending(w=>w.Id).First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat);//鑾峰彇缁勬墭鐩樹俊鎭�
+ if (bindDetail == null)
+ {
+ bindDetail = Db.Queryable<BllPalletBind>().OrderByDescending(w => w.Id).First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat);//鑾峰彇缁勬墭鐩樹俊鎭�
+ if (bindDetail == null)
+ {
+ throw new Exception("鏈壘鍒扮┖鎵樼洏缁勬墭淇℃伅");
+ }
+ }
+ }
+ else
+ {
+ storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇璧峰搴撲綅淇℃伅
+ if (storageStart == null)
+ {
+ isstock = 2; //搴撳彛鍒扮紦瀛樹綅浠诲姟
+ }
+ }
+ //var soAllot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);//鑾峰彇鍒嗛厤淇℃伅
+
+
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+
+ //淇敼鐩殑搴撲綅鐘舵��
+ endLocat.Status = "1";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑
+ Db.Updateable(endLocat).ExecuteCommand();
+
+ //淇敼浠诲姟鐘舵��
+ palletNo.Status = "2"; //宸插畬鎴�
+ Db.Updateable(palletNo).ExecuteCommand();
+
+ if (isstock == 1)
+ {
+ 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();
+
+
+ #region
+ var data = new List<RequertBeiliaoInfoModel>();
+
+ //鏇存敼搴撳瓨鏄庣粏
+ 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();
+
+ if (endLocat != null && endLocat.AreaNo == "B12") //鏄惁鏄�3妤肩紦瀛樺尯 鏄細鍒犻櫎搴撳瓨
+ {
+ if (string.IsNullOrWhiteSpace(item.SONo))
+ {
+ throw new Exception("褰撳墠鎵樼洏涓嶆槸鎷兼墭鍑哄簱鎵樼洏");
+ }
+ var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).ToList();
+ if (boxInfo.Count == 0)
+ {
+ throw new Exception("鎵樼洏涓婄墿鏂欑鐮佷俊鎭笉瀛樺湪,璇锋鏌�!");
+ }
+ //var boxno = boxInfo.GroupBy(w => w.BoxNo).ToList();
+ var boxno = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).GroupBy(m => new
+ {
+ m.BoxNo,
+ m.ProductionTime,
+ m.ExpirationTime,
+ }).Select(it => new DataBoxInfo()
+ {
+ BoxNo = it.BoxNo,
+ ProductionTime = it.ProductionTime,
+ ExpirationTime = it.ExpirationTime,
+ }).ToList();
+
+ //璁板綍鎵樼洏涓婁俊鎭粰MES
+ foreach (var item2 in boxno)
+ {
+ //var a = item.ProductionTime.ToString();
+ data.Add(new RequertBeiliaoInfoModel()
+ {
+ no = item2.BoxNo,
+ materiel_no = item.SkuNo,
+ materiel_name = item.SkuName,
+ qty = item.Qty,
+ batch = item.LotNo,
+ producttime = item2.ProductionTime.ToString().Substring(0, 10),
+ expiry = item2.ExpirationTime.ToString().Substring(0, 10)
+
+ });
+ }
+ //搴撳瓨绠辩爜鏄庣粏鍒犻櫎
+ Db.Deleteable(boxInfo).ExecuteCommand();
+ //鍒犻櫎搴撳瓨鎵樼洏淇℃伅
+ Db.Deleteable(item).ExecuteCommand();
+ //鏇存敼搴撳瓨鎬昏〃
+ var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
+ stock.LockQty -= (decimal)item.Qty;
+ stock.Qty -= (decimal)item.Qty;
+ Db.Updateable(stock).ExecuteCommand();
+ //鏇存敼鎵樼洏鐘舵��
+ var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);
+ if (pallet != null)
+ {
+ pallet.Status = "0";
+ Db.Updateable(pallet).ExecuteCommand();
+ }
+ }
+ }
+
+
+ if (endLocat != null && endLocat.AreaNo == "B12")
+ {
+ //鑾峰彇浠ょ墝
+ //var token = new Token().GetMesToken(mesTokenUrl);
+ var token = "";
+ Dictionary<string, string> mesDic = new Dictionary<string, string>()
+ {
+ {"Authorization",token }
+ };
+ var endlono = endLocat.LocatNo;
+ //缂撳瓨搴撲綅杞崲
+ switch (endLocat.LocatNo.ToString().Substring(4, 1))
+ {
+ 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()
+ {
+ morder_no = mescode.OrderCode,
+ pallet = stockDetail.First().PalletNo,
+ layer_no = endlono,
+ items = data
+ };
+ var jsonData = JsonConvert.SerializeObject(mesData);
+ //璋冪敤鎺ュ彛
+ var response = HttpHelper.DoPost(url, jsonData, "澶囨枡瀹屾垚杩愯嚦缂撳瓨鍖哄弽棣堣嚦MES", "MES", mesDic);
+
+ var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁
+ if (obj.status != "success")
+ {
+ throw new Exception("澶囨枡鍚屾MES澶辫触锛�" + obj.message);
+ }
+
+ }
+ #endregion
+ }
+ else if (isstock == 0)
+ {
+ //淇敼缁勬墭淇℃伅
+ if (bindDetail.WareHouseNo == "W01") //1銆佺┖鎵樼洏鍨涘埌绌烘墭鐩樻敹闆嗗櫒锛�
+ {
+ bindDetail.WareHouseNo = "W02";
+ bindDetail.LocatNo = endLocat.LocatNo;
+ bindDetail.RoadwayNo = "";
+ //淇敼璧峰搴撲綅鐘舵��
+ startLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑
+ Db.Updateable(startLocat).ExecuteCommand();
+ }
+ else//2銆佹嫞璐у彨绌烘墭鐩橈紝灏忚溅瀹屾垚涓�娆★紝鎵e噺涓�涓┖鎵樼洏鍨涗笂鏁伴噺
+ {
+ bindDetail.Qty = bindDetail.Qty - 1;
+ if (bindDetail.Qty == 0)//鏁伴噺涓�0鍚庢洿鏀圭粍鎵樼姸鎬佸拰鎵樼洏浣跨敤鐘舵��
+ {
+ bindDetail.Status = "2";
+ bindDetail.IsDel = "1";
+ //淇敼璧峰搴撲綅鐘舵��
+ startLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑
+ Db.Updateable(startLocat).ExecuteCommand();
+ }
+ else
+ {
+ bindDetail.LocatNo = startLocat.LocatNo;//?????鎷h揣浣嶆墭鐩樺浣曞鐞嗭紝鎷h揣浣嶆槸鍚﹂渶瑕佹洿鏀圭姸鎬侊紝鏄惁闇�瑕佸鍔犲簱瀛橈紱
+ }
+ }
+ 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)
+ {
+ Db.RollbackTran();
+ throw new Exception("AGV杩斿洖绉诲簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細"+ex);
+ }
+ }
+ #endregion
+
+ #region 鏁板瓧瀛敓绯荤粺鍙嶉淇℃伅
+
+ /// <summary>
+ /// 鍙嶉鏁板瓧瀛敓绯荤粺搴撳瓨淇℃伅
+ /// </summary>
+ /// <param name=""></param>
+ /// <returns></returns>
+ public List<ReLocateDataModel> GetLocateList()
+ {
+ try
+ {
+
+ //搴撳瓨淇℃伅
+ var stockDetailsList = Db.Queryable<DataStockDetail>().ToList();
+ var sql = "select LocatNo,PalletNo,SkuName,Standard,LotNo,InspectStatus,Qty,ExpirationTime as Warranty from DataStockDetail ";
+
+ List<ReLocateDataModel> list = Db.Ado.SqlQuery<ReLocateDataModel>(sql);
+
+ //if (stockDetailsList.Count == 0)
+ //{
+ // return list;
+ //}
+ //foreach (var item in stockDetailsList)
+ //{
+ // list.Add(item);
+
+ //}
+ //for (int i = 0; i < stockDetailsList.Count; i++)
+ //{
+
+ // list.Add(stockDetailsList);
+ // list[i].LocatNo = stockDetailsList[i].LocatNo; //搴撲綅
+ // list[i].PalletNo = stockDetailsList[i].PalletNo; //鎵樼洏鍙�
+ // list[i].SkuName = stockDetailsList[i].SkuName; //鐗╂枡鍚嶇О
+ // list[i].Stadard = stockDetailsList[i].Standard; //瑙勬牸
+ // list[i].LotNo = stockDetailsList[i].LotNo; //鎵规
+ // list[i].InspectStatus = stockDetailsList[i].InspectStatus; //璐ㄩ噺鐘舵��
+ // list[i].Qty = stockDetailsList[i].Qty.ToString(); //搴撳瓨鏁伴噺
+ // list[i].Warranty = stockDetailsList[i].ExpirationTime.ToString(); //鏈夋晥鏈� ??杩囨湡鏃堕棿锛屾槸鍚﹁鏇存敼
+ //}
+ return list;
+ }
+ catch (Exception ex)
+ {
+
+ 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