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 | 215 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 193 insertions(+), 22 deletions(-) diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs index 90c2d75..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; } @@ -380,7 +411,7 @@ "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.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' " + @@ -571,7 +602,7 @@ { EndTime = (Convert.ToDateTime(EndTime).AddDays(1)).ToString(); } - int countjie = 0; //缁熻缁撳瓨鏁伴噺 + decimal countjie = 0; //缁熻缁撳瓨鏁伴噺 ////鍒ゆ柇搴撳瓨淇℃伅鏄惁涓虹┖ //if (stockInfo != null) //{ @@ -596,10 +627,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); //鏃堕棿 //鑾峰彇鏈夊灏戝勾 @@ -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