From 2920728d7908da2ee196f3af8b3d1c635696e9a1 Mon Sep 17 00:00:00 2001
From: zwc <526854230@qq.com>
Date: 星期三, 15 一月 2025 15:47:15 +0800
Subject: [PATCH] 修改问题
---
Wms/WMS.BLL/DataServer/StockServer.cs | 203 ++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 187 insertions(+), 16 deletions(-)
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index a3db682..83d3b68 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -7,11 +7,14 @@
using System.Text;
using Model.ModelDto;
using Model.ModelDto.DataDto;
+using Model.ModelDto.SysDto;
using Model.ModelVm.DataVm;
using SqlSugar;
using WMS.DAL;
+using WMS.Entity.BllSoEntity;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
+using WMS.Entity.LogEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.IDataServer;
@@ -129,16 +132,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))
@@ -184,21 +194,42 @@
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
});
return stockDetailsList;
}
@@ -839,10 +870,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;
@@ -990,5 +1023,143 @@
return stockDetailsList;
}
#endregion
+
+ #region AGV灏忚溅浠诲姟瀹屾垚
+
+ /// <summary>
+ /// AGV鍏ュ簱瀹屾垚
+ /// </summary>
+ /// <param name="TaskCode">浠诲姟鍙�</param>
+ /// <returns></returns>
+ public void ArriveFinish(string TaskCode)
+ {
+ try
+ {
+ var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "0");//鑾峰彇浠诲姟淇℃伅
+ 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();
+
+ //淇敼搴撳瓨鏄庣粏
+ stockDetail.Status = "0";//寰呭垎閰�
+ stockDetail.LocatNo = "";
+ stockDetail.AreaNo = "";
+ stockDetail.RoadwayNo = "";
+ stockDetail.WareHouseNo = "";
+ Db.Updateable(stockDetail).ExecuteCommand();
+
+ //涓嬪彂WCS鐢宠鍏ュ簱
+
+
+ Db.CommitTran();
+
+ }
+ catch (Exception ex)
+ {
+
+ throw new Exception("AGV杩斿洖鍏ュ簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細" + ex);
+ }
+ }
+
+ /// <summary>
+ /// AGV鍑哄簱瀹屾垚
+ /// </summary>
+ /// <param name="TaskCode">浠诲姟鍙�</param>
+ /// <returns></returns>
+ public void SoFinish(string TaskCode)
+ {
+ try
+ {
+ var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "1");//鑾峰彇浠诲姟淇℃伅
+ 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);
+ }
+ }
+
+ /// <summary>
+ /// AGV绉诲簱瀹屾垚
+ /// </summary>
+ /// <param name="TaskCode">浠诲姟鍙�</param>
+ /// <returns></returns>
+ public void MoveFinish(string TaskCode)
+ {
+ try
+ {
+ var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "3");//鑾峰彇浠诲姟淇℃伅
+ 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); //鑾峰彇搴撳瓨淇℃伅
+ //var soAllot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);//鑾峰彇鍒嗛厤淇℃伅
+
+
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+ //淇敼璧峰搴撲綅鐘舵��
+ storageLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑
+ Db.Updateable(storageLocat).ExecuteCommand();
+
+ //淇敼鐩殑搴撲綅鐘舵��
+ 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);
+ }
+ }
+ #endregion
}
}
--
Gitblit v1.8.0