From 9684140a5802b35c1b8f38a3c936748c5e6abd7c Mon Sep 17 00:00:00 2001
From: admin <qiutairan163@163.com>
Date: 星期三, 05 十一月 2025 15:19:50 +0800
Subject: [PATCH] 格式化代码
---
Wms/WMS.BLL/HttpServer.cs | 823 ++++++++++++++++++++++++++++++++-------------------------
1 files changed, 460 insertions(+), 363 deletions(-)
diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index 4d3a0f6..1b7e2a7 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -6,6 +6,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using System.Threading.Tasks;
using Utility.Tools;
using WMS.BLL.Logic;
using WMS.BLL.LogServer;
@@ -21,7 +22,7 @@
namespace WMS.BLL
{
- public class HttpServer:IHttpServer
+ public class HttpServer : IHttpServer
{
private static readonly SqlSugarScope Db = DataContext.Db;
public HttpServer() { }
@@ -29,292 +30,308 @@
public OutCommandDto RequestPalletIn(string palletNo, string houseNo, int palletNum, string Strlocate)
{
- return null;
- //try
- //{
- // #region 鍒ゆ柇
- // if (string.IsNullOrEmpty(palletNo))
- // {
- // throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
- // }
- // if (string.IsNullOrEmpty(houseNo))
- // {
- // throw new Exception("浠撳簱鍙蜂笉鑳戒负绌�");
- // }
- // if (palletNum <= 0)
- // {
- // throw new Exception("鎵樼洏鏁伴噺涓嶈兘灏忕瓑0");
- // }
- // if (string.IsNullOrEmpty(Strlocate))
- // {
- // throw new Exception("璧峰浣嶇疆涓嶈兘涓虹┖");
- // }
- // //鑾峰彇鍌ㄤ綅淇℃伅
- // var locateInfo = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.WareHouseNo == houseNo && m.LocatNo == Strlocate);
- // if (locateInfo == null)
- // {
- // throw new Exception("鏈煡璇㈠埌绌哄偍浣�");
- // }
- // if (locateInfo.Flag != "0")
- // {
- // throw new Exception("褰撳墠浣嶇疆鏍囪瘑鐘舵�佹槸闈炴甯哥殑");
- // }
+ //return null;
+ try
+ {
+ #region 鍒ゆ柇
+ if (string.IsNullOrEmpty(palletNo))
+ {
+ throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�!");
+ }
+ if (string.IsNullOrEmpty(houseNo))
+ {
+ throw new Exception("浠撳簱鍙蜂笉鑳戒负绌�");
+ }
+ if (palletNum <= 0)
+ {
+ throw new Exception("鎵樼洏鏁伴噺涓嶈兘灏忕瓑0");
+ }
+ if (string.IsNullOrEmpty(Strlocate))
+ {
+ throw new Exception("璧峰浣嶇疆涓嶈兘涓虹┖");
+ }
+ //鑾峰彇鍌ㄤ綅淇℃伅
+ var locateInfo = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.LocatNo == Strlocate);
+ if (locateInfo == null)
+ {
+ throw new Exception("鏈煡璇㈠埌绌哄偍浣�");
+ }
+ if (locateInfo.Flag != "0")
+ {
+ throw new Exception("褰撳墠浣嶇疆鏍囪瘑鐘舵�佹槸闈炴甯哥殑");
+ }
- // #endregion
+ #endregion
- // #region MyRegion
+ #region MyRegion
- // var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList();
- // if (stockDetail.Count > 0)
- // {
- // throw new Exception("褰撳墠鎵樼洏鍦ㄥ簱鍐呭凡鏈夊簱瀛樹俊鎭紝璇锋牳瀹�");
- // }
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList();
+ if (stockDetail.Count > 0)
+ {
+ throw new Exception("褰撳墠鎵樼洏鍦ㄥ簱鍐呭凡鏈夊簱瀛樹俊鎭紝璇锋牳瀹�");
+ }
- // //鑾峰彇鎵樼洏淇℃伅
- // var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
- // if (pallet == null)
- // {
- // throw new Exception("鏈煡璇㈠埌鎵樼洏淇℃伅");
- // }
- // if (pallet.Status != "0")
- // {
- // throw new Exception("鎵樼洏鐘舵�佷笉鑳芥湭浣跨敤鐘舵��");
- // }
- // //鑾峰彇鎵樼洏淇℃伅
- // var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099");
- // var pNum = 0;
- // var bNum = 0;
+ //鑾峰彇鎵樼洏淇℃伅
+ var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ if (pallet == null)
+ {
+ throw new Exception("鏈煡璇㈠埌鎵樼洏淇℃伅");
+ }
+ if (pallet.Status != "0")
+ {
+ throw new Exception("鎵樼洏鐘舵�佷笉鑳芥湭浣跨敤鐘舵��");
+ }
+ //鑾峰彇鎵樼洏淇℃伅
+ var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099");
+ if (sku == null)
+ {
+ throw new Exception("鐗╂枡淇℃伅涓湭鏌ヨ鍒扮┖鎵樼洏鐨勭墿鏂欎俊鎭紝涓嶅彲鍏ュ簱");
+ }
+ var pNum = 0m;
+ var bNum = 0m;
- // new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
+ new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
- // var datetime = Db.GetDate();
- // Db.BeginTran();
+ var datetime = Db.GetDate();
+ Db.BeginTran();
- // // 鎻掑叆鎵樼洏缁戝畾琛�
- // var modelpb = new BllPalletBind
- // {
- // ASNNo = "",
- // ASNDetailNo = 0,
- // TaskNo = "", //浠诲姟鍙�
- // PalletNo = palletNo,
- // Qty = palletNum,
- // FullQty = pNum,
- // Status = "3", //涓婃灦瀹屾垚
- // Type = "1", //0 鐗╂枡鎵� 1 绌烘墭
- // LotNo = "",
- // LotText = "",
- // SupplierLot = "",
- // InspectMark = "0", //0 鍚� 1 鏄�
- // BitPalletMark = pNum == palletNum ? "0" : "1",
- // IsBale = "0",
- // IsBelt = "0",
- // CreateUser = 0,
- // CreateTime = Db.GetDate()
- // };
- // var id = Db.Insertable(modelpb).ExecuteReturnIdentity();
-
- // #region 搴撳瓨鏄庣粏
- // var sd1 = new DataStockDetail()
- // {
- // LotNo = modelpb.LotNo,
- // LotText = modelpb.LotText,
- // SupplierLot = modelpb.SupplierLot,
- // SkuNo = sku.SkuNo,
- // SkuName = sku.SkuName,
- // Standard = sku.Standard,
- // Qty = modelpb.Qty,
- // LockQty = 0,
- // FrozenQty = 0,
- // InspectQty = 0,
- // ASNNo = modelpb.ASNNo,
- // ASNDetailNo = modelpb.ASNDetailNo,
- // WareHouseNo = "",
- // RoadwayNo = "",
- // AreaNo = "",
- // LocatNo = "",
- // PalletNo = modelpb.PalletNo,
- // PalletNo2 = modelpb.PalletNo2,
- // PalletNo3 = modelpb.PalletNo3,
- // PalletTags = "0",
- // CompleteTime = datetime,
- // ProductionTime = modelpb.ProductionTime,
- // ExpirationTime = modelpb.ExpirationTime,
- // Status = "0",
- // InspectMark = modelpb.InspectMark,
- // InspectStatus = sku.IsInspect,
- // BitPalletMark = modelpb.BitPalletMark,
- // PackagNo = sku.PackagNo,
- // IsBale = modelpb.IsBale,
- // IsBelt = modelpb.IsBelt,
+ // 鎻掑叆鎵樼洏缁戝畾琛�
+ var modelpb = new BllPalletBind
+ {
+ ASNNo = "",
+ ASNDetailNo = 0,
+ TaskNo = "", //浠诲姟鍙�
+ PalletNo = palletNo,
+ Qty = palletNum,
+ FullQty = pNum,
+ Status = "2", //涓婃灦瀹屾垚
+ Type = "1", //0 鐗╂枡鎵� 1 绌烘墭
+ LotNo = "",
+ LotText = "",
+ SupplierLot = "",
+ InspectMark = "0", //0 鍚� 1 鏄�
+ BitPalletMark = pNum == palletNum ? "0" : "1",
+ IsBale = "0",
+ IsBelt = "0",
+ CreateUser = 0,
+ CreateTime = Db.GetDate()
+ };
+ var id = Db.Insertable(modelpb).ExecuteReturnIdentity();
+
+ #region 鐢宠鍌ㄤ綅
+
+ SysStorageLocat locate = null;
- // IsDel = "0",
- // CreateUser = 0,
- // CreateTime = datetime
- // };
- // var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
- // #endregion
+ //鍒ゆ柇鐗╂枡鏄惁鍚湁绫诲埆淇℃伅
+ if (string.IsNullOrWhiteSpace(sku.CategoryNo))
+ {
+ throw new Exception($"鐗╂枡锛歿sku.SkuNo}鏈煡璇㈠埌绫诲埆淇℃伅");
+ }
- // #region 搴撳瓨
- // var dataStock1 = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo);
- // if (dataStock1 != null)
- // {
- // dataStock1.Qty += modelpb.Qty;
- // if (modelpb.InspectMark == "1")
- // {
- // dataStock1.IsSampling = "0";
- // }
- // Db.Updateable(dataStock1).ExecuteCommand();
- // }
- // else
- // {
- // var stock = new DataStock()
- // {
- // SkuNo = sku.SkuNo,
- // SkuName = sku.SkuName,
- // Standard = sku.Standard,
- // LotNo = "",
- // LotText = "",
- // Qty = modelpb.Qty,
- // LockQty = 0,
- // FrozenQty = 0,
- // IsSampling = "0",
- // IsDel = "0",
- // CreateUser = 0,
- // CreateTime = datetime
- // };
- // Db.Insertable(stock).ExecuteCommand();
- // }
- // #endregion
+ var skuCategory = Db.Queryable<SysMaterialCategory>().First(m => m.IsDel == "0" && m.CategoryNo == sku.CategoryNo);
+ if (skuCategory == null)
+ {
+ throw new Exception($"鏈湪绫诲埆淇℃伅涓煡璇㈠埌鐗╂枡锛歿sku.SkuNo}鍖呭惈鐨勭被鍒�");
+ }
+
+ var areaStr = skuCategory.AreaNo.Split(",");
+ var areaList = new List<string>();
+ foreach (var item in areaStr)
+ {
+ areaList.Add(item);
+ }
+ var allotLocate = new AllotLocation();
+ for (int i = 1; i <= 2; i++)
+ {
+ var iStr = i.ToString();
+ try
+ {
+ locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", iStr);
+ }
+ catch (Exception e)
+ { }
+ if (locate != null)
+ {
+ break;
+ }
+ }
- // #region 鐢宠鍌ㄤ綅
- // SysStorageLocat locate;
- // var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo);
- // if (sku == null)
- // {
- // throw new Exception("鐗╂枡淇℃伅涓湭鏌ヨ鍒板叆搴撳崟鏄庣粏鍖呭惈鐨勭墿鏂欎俊鎭紝涓嶅彲鍏ュ簱");
- // }
- // //鍒ゆ柇鐗╂枡鏄惁鍚湁绫诲埆淇℃伅
- // if (string.IsNullOrWhiteSpace(sku.CategoryNo))
- // {
- // throw new Exception($"鐗╂枡锛歿sku.SkuNo}鏈煡璇㈠埌绫诲埆淇℃伅");
- // }
+ #endregion
- // var skuCategory = skuCategoryList.FirstOrDefault(m => m.CategoryNo == sku.CategoryNo);
- // if (skuCategory == null)
- // {
- // throw new Exception($"鏈湪绫诲埆淇℃伅涓煡璇㈠埌鐗╂枡锛歿sku.SkuNo}鍖呭惈鐨勭被鍒�");
- // }
-
- // var areaStr = skuCategory.AreaNo.Split(",");
- // var areaList = new List<string>();
- // foreach (var item in areaStr)
- // {
- // areaList.Add(item);
- // }
-
- // locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", ceng);
+ #region 搴撳瓨鏄庣粏
+ var sd1 = new DataStockDetail()
+ {
+ LotNo = modelpb.LotNo,
+ LotText = modelpb.LotText,
+ SupplierLot = modelpb.SupplierLot,
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ Standard = sku.Standard,
+ Qty = modelpb.Qty,
+ LockQty = 0,
+ FrozenQty = 0,
+ InspectQty = 0,
+ ASNNo = modelpb.ASNNo,
+ ASNDetailNo = modelpb.ASNDetailNo,
+ //WareHouseNo = locate.WareHouseNo,
+ //RoadwayNo = locate.RoadwayNo,
+ //AreaNo = locate.AreaNo,
+ //LocatNo = locate.LocatNo,
+ PalletNo = modelpb.PalletNo,
+ PalletNo2 = modelpb.PalletNo2,
+ PalletNo3 = modelpb.PalletNo3,
+ PalletTags = "0",
+ CompleteTime = datetime,
+ ProductionTime = modelpb.ProductionTime,
+ ExpirationTime = modelpb.ExpirationTime,
+ Status = "0",
+ InspectMark = modelpb.InspectMark,
+ InspectStatus = sku.IsInspect,
+ BitPalletMark = modelpb.BitPalletMark,
+ PackagNo = sku.PackagNo,
+ IsBale = modelpb.IsBale,
+ IsBelt = modelpb.IsBelt,
- // #endregion
+ IsDel = "0",
+ CreateUser = 0,
+ CreateTime = datetime
+ };
+ var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
+ #endregion
- // #region 娣诲姞浠诲姟
+ #region 搴撳瓨
+ var dataStock1 = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo);
+ if (dataStock1 != null)
+ {
+ dataStock1.Qty += modelpb.Qty;
+ if (modelpb.InspectMark == "1")
+ {
+ dataStock1.IsSampling = "0";
+ }
+ Db.Updateable(dataStock1).ExecuteCommand();
+ }
+ else
+ {
+ var stock = new DataStock()
+ {
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ Standard = sku.Standard,
+ LotNo = "",
+ LotText = "",
+ Qty = modelpb.Qty,
+ LockQty = 0,
+ FrozenQty = 0,
+ IsSampling = "0",
+ IsDel = "0",
+ CreateUser = 0,
+ CreateTime = datetime
+ };
+ Db.Insertable(stock).ExecuteCommand();
+ }
+ #endregion
- // //娣诲姞宸烽亾浣跨敤璁板綍
- // var log = new SysRoadwayUseLog
- // {
- // RoadwayNo = locateInfo.RoadwayNo,
- // WareHouseNo = houseNo,
- // Row = 0,
- // Column = 0,
- // Layer = 0,
- // };
- // Db.Insertable(log).ExecuteCommand();
- // var taskNo = new Common().GetMaxNo("TK");
- // var inTask = new LogTask //鍏ュ簱浠诲姟
- // {
- // TaskNo = taskNo,
- // Sender = "WMS",
- // Receiver = "WCS",
- // IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
- // SendDate = DateTime.Now, //鍙戦�佹椂闂�
- // BackDate = DateTime.Now, //杩斿洖鏃堕棿
- // StartRoadway = "", // 璧峰宸烽亾
- // StartLocat = locate,//璧峰浣嶇疆
- // EndLocat = locateInfo.LocatNo,//鐩爣浣嶇疆
- // EndRoadway = locateInfo.RoadwayNo, // 鐩爣宸烽亾
- // PalletNo = palletNo,//鎵樼洏鐮�
- // IsSend = 1,//鏄惁鍙啀娆′笅鍙�
- // IsCancel = 1,//鏄惁鍙彇娑�
- // IsFinish = 1,//鏄惁鍙畬鎴�
- // Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
- // Status = "1",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
- // OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
- // Msg = $"{locateInfo.LocatNo}鍒�=>>" + + "鐨勫叆搴撲换鍔�", //鍏抽敭淇℃伅
+ // 鏇存敼鎵樼洏浣跨敤鐘舵��
+ string sqlStr = string.Empty;
+ sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';";
+ Db.Ado.ExecuteCommand(sqlStr);
- // };
- // Db.Insertable(inTask).ExecuteCommand();
- // var asnNo = "";
-
- // //娣诲姞鎵樼洏涓婃灦璁板綍
- // var upShelf = new BllPalletUpShelf()
- // {
- // TaskNo = inTask.TaskNo,
- // TraceNo = asnNo,
- // PalletNo = palletNo,
- // SkuNo = stockModel.SkuNo,
- // SkuName = stockModel.SkuName,
- // LotNo = stockModel.LotNo,
- // Status = "1",
+ #region 娣诲姞浠诲姟
- // WareHouseNo = houseNo,
- // RoadwayNo = locate.RoadwayNo,
- // AreaNo = locate.AreaNo,
- // LocatNo = locate.LocatNo,
+ //娣诲姞宸烽亾浣跨敤璁板綍
+ var log = new SysRoadwayUseLog
+ {
+ RoadwayNo = locate.RoadwayNo,
+ WareHouseNo = houseNo,
+ Row = 0,
+ Column = 0,
+ Layer = 0,
+ };
+ Db.Insertable(log).ExecuteCommand();
+ var taskNo = new Common().GetMaxNo("TK");
+ var inTask = new LogTask //鍏ュ簱浠诲姟
+ {
+ TaskNo = taskNo,
+ Sender = "WMS",
+ Receiver = "WCS",
+ IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+ SendDate = DateTime.Now, //鍙戦�佹椂闂�
+ BackDate = DateTime.Now, //杩斿洖鏃堕棿
+ StartRoadway = "", // 璧峰宸烽亾
+ StartLocat = Strlocate,//璧峰浣嶇疆
+ EndLocat = locate.LocatNo,//鐩爣浣嶇疆
+ EndRoadway = locate.RoadwayNo, // 鐩爣宸烽亾
+ PalletNo = palletNo,//鎵樼洏鐮�
+ IsSend = 1,//鏄惁鍙啀娆′笅鍙�
+ IsCancel = 1,//鏄惁鍙彇娑�
+ IsFinish = 1,//鏄惁鍙畬鎴�
+ Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
+ Status = "1",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+ OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
+ Msg = $"{locateInfo.LocatNo}鍒�=>>" + locate.LocatNo + "鐨勫叆搴撲换鍔�", //鍏抽敭淇℃伅
- // CreateUser = 0,
- // };
- // Db.Insertable(upShelf).ExecuteCommand();
-
+ };
+ Db.Insertable(inTask).ExecuteCommand();
+ var asnNo = "";
+
+ //娣诲姞鎵樼洏涓婃灦璁板綍
+ var upShelf = new BllPalletUpShelf()
+ {
+ TaskNo = inTask.TaskNo,
+ TraceNo = asnNo,
+ PalletNo = palletNo,
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ LotNo = "",
+ Status = "1",
+
+ WareHouseNo = houseNo,
+ RoadwayNo = locate.RoadwayNo,
+ AreaNo = locate.AreaNo,
+ LocatNo = locate.LocatNo,
+
+ CreateUser = 0,
+ };
+ Db.Insertable(upShelf).ExecuteCommand();
- // locate.Status = "2";
- // Db.Updateable(locate).ExecuteCommand();
- // Db.CommitTran();
- // comDto = new OutCommandDto()
- // {
- // TaskNo = taskNo, // 浠诲姟鍙�
- // TaskType = "0",// 浠诲姟绫诲瀷
- // PalletNo = palletNo,//鎵樼洏鍙�
+ locate.Status = "2";
+ Db.Updateable(locate).ExecuteCommand();
- // StartRoadway = inTask.StartRoadway,
- // StartLocate = inTask.StartLocat, // 璧峰浣嶇疆
- // EndLocate = inTask.EndLocat, // 鐩爣浣嶇疆
- // EndRoadway = inTask.EndRoadway, // 鐩爣宸烽亾
+ var comDto = new OutCommandDto()
+ {
+ TaskNo = taskNo, // 浠诲姟鍙�
+ TaskType = "0",// 浠诲姟绫诲瀷
+ PalletNo = palletNo,//鎵樼洏鍙�
- // Order = 999,
- // Type = PLCTypeEnum.AGV
- // };
+ StartRoadway = inTask.StartRoadway,
+ StartLocate = inTask.StartLocat, // 璧峰浣嶇疆
+ EndLocate = inTask.EndLocat, // 鐩爣浣嶇疆
+ EndRoadway = inTask.EndRoadway, // 鐩爣宸烽亾
+ Qty = int.Parse(modelpb.Qty.ToString()),
- // #endregion
+ Order = 999,
+ Type = PLCTypeEnum.AGV
+ };
- // // 鏇存敼鎵樼洏浣跨敤鐘舵��
- // string sqlStr = string.Empty;
- // sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';";
- // Db.Ado.ExecuteCommand(sqlStr);
- // Db.CommitTran();
-
- // #endregion
+ #endregion
- // return null;
- //}
- //catch (Exception e )
- //{
- // throw new Exception(e.Message);
- //}
+
+ Db.CommitTran();
+
+ #endregion
+
+ return comDto;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
}
@@ -326,7 +343,7 @@
/// <param name="ceng"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
- public OutCommandDto RequestLocation(string palletNo, string houseNo,string ceng)
+ public OutCommandDto RequestLocation(string palletNo, string houseNo, string ceng)
{
try
{
@@ -357,8 +374,8 @@
throw new Exception("鎵樼洏鏉$爜涓嶅彈WMS绠$悊锛屼笉鍙叆搴擄紒");
#region
-
-
+
+
var skuList = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0").ToList();
//鐗╂枡绫诲埆淇℃伅
var skuCategoryList = Db.Queryable<SysMaterialCategory>().Where(m => m.IsDel == "0").ToList();
@@ -396,7 +413,7 @@
StartLocate = beingTask.StartLocat, // 璧峰浣嶇疆
EndLocate = beingTask.EndLocat, // 鐩爣浣嶇疆
EndRoadway = beingTask.EndRoadway, // 鐩爣宸烽亾
-
+
Order = 999,
Type = PLCTypeEnum.AGV
};
@@ -415,7 +432,7 @@
Db.Updateable(upShelfOld).ExecuteCommand();
}
}
-
+
return comDto;
}
else
@@ -469,7 +486,7 @@
if (beingTask.IsSuccess == 0)
{
beingTask.IsSuccess = 1;
-
+
}
beingTask.Status = "1";
Db.Updateable(beingTask).ExecuteCommand();
@@ -511,7 +528,7 @@
#region 鐢宠鍌ㄤ綅
SysStorageLocat locate;
- var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo);
+ var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo);
if (sku == null)
{
throw new Exception("鐗╂枡淇℃伅涓湭鏌ヨ鍒板叆搴撳崟鏄庣粏鍖呭惈鐨勭墿鏂欎俊鎭紝涓嶅彲鍏ュ簱");
@@ -535,16 +552,14 @@
areaList.Add(item);
}
- locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "",ceng);
-
+ locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", ceng);
+
#endregion
Db.BeginTran();
try
{
-
-
//娣诲姞宸烽亾浣跨敤璁板綍
var log = new SysRoadwayUseLog
{
@@ -576,7 +591,6 @@
Status = "1",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
Msg = "鍏ュ簱鍙e埌=>>" + locate.LocatNo + "鐨勫叆搴撲换鍔�", //鍏抽敭淇℃伅
-
};
Db.Insertable(inTask).ExecuteCommand();
var asnNo = "";
@@ -584,7 +598,7 @@
foreach (DataStockDetail stockModel in stockDetail)
{
var bindModel = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status == "2"
- && m.PalletNo == stockModel.PalletNo && m.ASNNo == stockModel.ASNNo && m.ASNDetailNo == stockModel.ASNDetailNo).OrderByDescending(m=>m.CreateTime).First();
+ && m.PalletNo == stockModel.PalletNo && m.ASNNo == stockModel.ASNNo && m.ASNDetailNo == stockModel.ASNDetailNo).OrderByDescending(m => m.CreateTime).First();
if (bindModel != null && string.IsNullOrWhiteSpace(bindModel.TaskNo))
{
bindModel.TaskNo = taskNo;
@@ -617,11 +631,11 @@
};
Db.Insertable(upShelf).ExecuteCommand();
}
-
-
+
+
locate.Status = "2";
Db.Updateable(locate).ExecuteCommand();
-
+
Db.CommitTran();
comDto = new OutCommandDto()
{
@@ -633,7 +647,7 @@
StartLocate = inTask.StartLocat, // 璧峰浣嶇疆
EndLocate = inTask.EndLocat, // 鐩爣浣嶇疆
EndRoadway = inTask.EndRoadway, // 鐩爣宸烽亾
-
+
Order = 999,
Type = PLCTypeEnum.AGV
};
@@ -645,7 +659,6 @@
throw new Exception(ex.Message);
}
#endregion
-
return comDto;
}
@@ -694,14 +707,14 @@
#endregion
OutCommandDto comDto;//杩斿洖wcs鐨勫叆搴撳懡浠�
-
+
#region 浠g爜鍧�
//鏌ヨ鎵樼洏缁戝畾淇℃伅(鐘舵�佷负绛夊緟鍏ュ簱/姝e湪鎵ц鐨�)
-
+
var skuNo = ""; //鍏ュ簱鐗╂枡
var lotNo = ""; //鍏ュ簱鎵规
-
+
//鐗╂枡淇℃伅
var skuList = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0").ToList();
//鐗╂枡绫诲埆淇℃伅
@@ -709,18 +722,18 @@
//鎵樼洏搴撳瓨淇℃伅
var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo).ToList();
//楠岃瘉鐗╂枡鏄惁鏈夋垚鍝�
- foreach (var item in stockDetail)
- {
- var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
- if (skuItem.SkuNo == "100099")
- {
- continue;
- }
- if (skuItem.Type != "2")
- {
- throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
- }
- }
+ //foreach (var item in stockDetail)
+ //{
+ // var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
+ // if (skuItem.SkuNo == "100099")
+ // {
+ // continue;
+ // }
+ // if (skuItem.Type != "2")
+ // {
+ // throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
+ // }
+ //}
var upShelfOld = Db.Queryable<BllPalletUpShelf>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1"));
if (upShelfOld != null) //姝e父鍏ュ簱
@@ -779,11 +792,11 @@
#region 鍒ゆ柇璇ユ墭鐩橈紝鏄惁绗﹀悎鍥炲簱鍔熻兘璁惧畾鐨勫洖搴撹鍒�
//鑾峰彇瀵瑰簲鍥炲簱瑙勫垯
- var function = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0"&& a.FunSetNo == "Fun041" && a.IsEnable == "NO");
+ var function = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0" && a.FunSetNo == "Fun041" && a.IsEnable == "NO");
if (function != null)
{
//鎷h揣瀹屾垚鍚庡厑璁告墭鐩樺洖搴�
- var allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0"&& a.LotNo == stockDetail[0].LotNo && a.PalletNo == palletNo && a.SkuNo == stockDetail[0].SkuNo);
+ var allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.LotNo == stockDetail[0].LotNo && a.PalletNo == palletNo && a.SkuNo == stockDetail[0].SkuNo);
//楠岃瘉鎷h揣鏄庣粏鏄惁瀛樺湪
if (allot != null)
@@ -799,7 +812,7 @@
}
var allotLocate = new AllotLocation();
-
+
#region 鏍规嵁sku纭鍖哄煙鍒掑垎
//鐗╂枡淇℃伅
@@ -826,10 +839,18 @@
{
areaList.Add(item);
}
- var roadStr = Db.Queryable<SysStorageRoadway>().Where(m => m.IsDel == "0" && m.Status == "0").Select(m=>m.RoadwayNo).ToList();
+ var roadStr = Db.Queryable<SysStorageRoadway>().Where(m => m.IsDel == "0" && m.Status == "0").Select(m => m.RoadwayNo).ToList();
//宸烽亾缁勪俊鎭�
var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) && !string.IsNullOrWhiteSpace(m.RoadwayNo) && roadStr.Contains(m.RoadwayNo))
- .GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList();
+ .GroupBy(m => m.RoadwayNo)
+ .Select(m => m.RoadwayNo)
+ .ToList()
+ .OrderBy(roadwayNo =>
+ {
+ // 绉婚櫎鎵�鏈夐潪鏁板瓧瀛楃锛屽彧淇濈暀鏁板瓧
+ var numbersOnly = new string(roadwayNo.Where(char.IsDigit).ToArray());
+ return int.TryParse(numbersOnly, out int result) ? result : 0;
+ }).ToList();
#endregion
@@ -883,11 +904,11 @@
var asnNo = "";
// 娣诲姞鎵樼洏缁戝畾琛ㄦ墭鐩樺叆搴撲换鍔″彿 liudl
-
+
foreach (DataStockDetail stockModel in stockDetail)
{
var bindModel = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status == "2"
- && m.PalletNo == stockModel.PalletNo && m.ASNNo == stockModel.ASNNo && m.ASNDetailNo == stockModel.ASNDetailNo).OrderByDescending(m=>m.CreateTime).First();
+ && m.PalletNo == stockModel.PalletNo && m.ASNNo == stockModel.ASNNo && m.ASNDetailNo == stockModel.ASNDetailNo).OrderByDescending(m => m.CreateTime).First();
if (bindModel != null && string.IsNullOrWhiteSpace(bindModel.TaskNo))
{
bindModel.TaskNo = taskNo;
@@ -898,7 +919,7 @@
}
}
-
+
foreach (DataStockDetail stockModel in stockDetail)
{
//娣诲姞鎵樼洏涓婃灦璁板綍
@@ -934,7 +955,7 @@
StartLocate = inTask.StartLocat, // 璧峰浣嶇疆
EndLocate = inTask.EndLocat, // 鐩爣浣嶇疆
EndRoadway = inTask.EndRoadway, // 鐩爣宸烽亾
-
+
Order = 999,
Type = PLCTypeEnum.ConveyorLine
};
@@ -1005,35 +1026,35 @@
#region
//鏌ヨ鎵樼洏缁戝畾淇℃伅(鐘舵�佷负绛夊緟鍏ュ簱鐨�)
-
+
var skuList = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0").ToList();
//鐗╂枡绫诲埆淇℃伅
var skuCategoryList = Db.Queryable<SysMaterialCategory>().Where(m => m.IsDel == "0").ToList();
-
+
var skuNo = "";//鍏ュ簱鐗╂枡
var isAddTask = true; //鏄惁娣诲姞鏂颁换鍔�
var oldTaskNo = ""; //鏃т换鍔″彿
var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo).ToList();
//楠岃瘉鐗╂枡鏄惁鏈夋垚鍝�
- foreach (var item in stockDetail)
- {
- var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
- if (skuItem.SkuNo == "100099")
- {
- continue;
- }
- if (skuItem.Type != "2")
- {
- throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
- }
- }
-
+ //foreach (var item in stockDetail)
+ //{
+ // var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
+ // if (skuItem.SkuNo == "100099")
+ // {
+ // continue;
+ // }
+ // if (skuItem.Type != "2")
+ // {
+ // throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
+ // }
+ //}
+
var upShelfOld = Db.Queryable<BllPalletUpShelf>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1"));
if (upShelfOld != null) //鏈変笂鏋跺叆搴撲俊鎭�
{
-
+
var beingTask = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == upShelfOld.TaskNo);
if (beingTask == null)
{
@@ -1051,7 +1072,7 @@
StartLocate = beingTask.StartRoadway, // 璧峰浣嶇疆
EndLocate = beingTask.EndLocat, // 鐩爣浣嶇疆
EndRoadway = beingTask.EndRoadway, // 鐩爣宸烽亾
-
+
Order = 999,
Type = PLCTypeEnum.ShuttleCar,
};
@@ -1073,7 +1094,7 @@
oldTaskNo = beingTask.TaskNo;
skuNo = upShelfOld.SkuNo;//鍏ュ簱鐗╂枡
}
-
+
}
else //鐢宠鍏ュ簱
{
@@ -1117,7 +1138,7 @@
#region 鐢宠鍌ㄤ綅
SysStorageLocat locate;
-
+
var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo);
if (sku == null)
{
@@ -1264,7 +1285,7 @@
locate.Status = "2";
Db.Updateable(locate).ExecuteCommand();
-
+
Db.CommitTran();
comDto = new OutCommandDto()
{
@@ -1322,7 +1343,7 @@
//娣诲姞鎿嶄綔鏃ュ織璁板綍
var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
}
-
+
var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
if (locate == null)
{
@@ -1457,7 +1478,7 @@
var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
//鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴�
- if (!stockDetail.Any())
+ if (!stockDetail.Any() && task.EndLocat != "B100101")//B100101鏄┖鎵樼洏鏀堕泦鍣紝涓嶇敤鏍¢獙搴撳瓨
{
throw new Exception("娌℃湁鏌ヨ鍒板簱瀛樹俊鎭�");
}
@@ -1473,7 +1494,7 @@
{
throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅");
}
-
+
task.Status = "2";//浠诲姟鐘舵��
task.IsSend = 0;
task.IsCancel = 0;
@@ -1514,7 +1535,7 @@
locate.Status = "0";
Db.Updateable(locate).ExecuteCommand();
}
-
+
if (locate2.LocatNo == "B040101")
{
locate2.Status = "0";
@@ -1525,7 +1546,7 @@
locate2.Status = "1";
Db.Updateable(locate2).ExecuteCommand();
}
-
+
Db.Updateable(stockDetail).ExecuteCommand();
Db.CommitTran();
@@ -1604,7 +1625,7 @@
//鐩爣鍌ㄤ綅鏀逛负鏈夎揣鐗� 1
locate2.Status = "1";
Db.Updateable(locate2).ExecuteCommand();
-
+
foreach (var item in stockDetail)
{
item.WareHouseNo = locate2.WareHouseNo;
@@ -1613,7 +1634,7 @@
item.LocatNo = locate2.LocatNo;
}
Db.Updateable(stockDetail).ExecuteCommand();
-
+
#endregion
@@ -1646,13 +1667,13 @@
/// <param name="str"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
- public List<OutCommandDto> IssueOutHouseLk(string soNo, string detailId,string outMode, string palletNo, int userId, string url, out string str)
+ public List<OutCommandDto> IssueOutHouseLk(string soNo, string detailId, string outMode, string palletNo, int userId, string url, out string str)
{
try
{
var outDto1 = new List<OutCommandDto>(); //鍑哄簱鏁版嵁鐨勯泦鍚堬紙娣卞害涓�1鐨勫偍浣嶏級
- //璁板綍閿欒淇℃伅鐨勯泦鍚� //1:褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�2 鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�3鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�4 瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱
-
+ //璁板綍閿欒淇℃伅鐨勯泦鍚� //1:褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�2 鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�3鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�4 瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱
+
var com = new Common();
var notice = Db.Queryable<BllExportNotice>().First(m => m.SONo == soNo && m.IsDel == "0");
@@ -1665,12 +1686,12 @@
throw new Exception("浠撳簱鍙烽敊璇�");
}
var intDetailId = int.Parse(detailId);
- if (intDetailId <=0)
+ if (intDetailId <= 0)
{
throw new Exception("閫夋嫨鐨勫嚭搴撳崟鏄庣粏鍙傛暟閿欒");
}
//鎵�鏈夎鍑哄簱鐨勫嚭搴撳垎閰嶄俊鎭�(鏈笅鍙戠殑淇℃伅鍜屽緟鎷h揣鐨勪俊鎭�)
- var item = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == soNo && a.SODetailNo == intDetailId && a.PalletNo == palletNo && a.Status == "0" );
+ var item = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == soNo && a.SODetailNo == intDetailId && a.PalletNo == palletNo && a.Status == "0");
if (item == null) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鍑哄簱娴佹按
{
throw new Exception("褰撳墠鍑哄簱鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏");
@@ -1693,9 +1714,9 @@
var outLocatelist1 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.AreaNo == "B02" && m.Flag == "0").ToList();
var outLocatelist2 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.AreaNo == "B05" && m.Flag == "0").ToList();
//寰幆鍒嗛厤鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
-
+
var outModeLocate = outMode;
-
+
var taskNoStr = "";
// 鍌ㄤ綅鍙�
@@ -1752,9 +1773,9 @@
{
throw new Exception("鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱");
}
- if (locate.WareHouseNo != "W02")
+ if (locate.WareHouseNo != "W02" && locate.WareHouseNo != "W04")
{
- throw new Exception("鎵樼洏涓嶅湪璐ф灦搴撲笂");
+ throw new Exception("鎵樼洏涓嶅湪璐ф灦搴撲笂涔熶笉鍦ㄥ钩搴�");
}
var locateEnd = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//褰撳墠鍑哄簱鐨勭洰鏍囧偍浣嶄俊鎭�
if (locateEnd == null)
@@ -1763,11 +1784,20 @@
}
else if (locateEnd.Status != "0")
{
- throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅");
+ var logEnd = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.EndLocat == locateEnd.LocatNo);
+ if (logEnd != null && logEnd.PalletNo != palletNo)
+ {
+ throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅");
+ }
+ var detailEnd = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == locateEnd.LocatNo);
+ if (detailEnd != null && detailEnd.PalletNo != palletNo)
+ {
+ throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅");
+ }
}
#endregion
- if (locate.Status == "1") //鏈夌墿鍝�
+ if (locate.WareHouseNo == "W02" && locate.Status == "1") //鏈夌墿鍝�
{
#region 娣诲姞鍑哄簱浠诲姟
@@ -1846,9 +1876,9 @@
Db.Updateable(item).ExecuteCommand();
#endregion
-
+
}
- else if (locate.Status == "3") //鍑哄簱涓�
+ else if (locate.Status == "3" || locate.WareHouseNo == "W04") //鍑哄簱涓垨宸插湪骞冲簱
{
#region 鏀瑰彉鏁版嵁
//鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛�
@@ -1872,33 +1902,43 @@
}
}
}
- var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
- if (taskNo == null)
+ if (locate.WareHouseNo == "W04")
{
- taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//褰撳墠鏈夊悓鎵樼洏涓嶅悓鐗╂枡鍑哄簱
+ item.TaskNo = "";
+ item.Status = "2"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛�
+ item.OutMode = item.OutMode;//鍑哄簱鍙�
+ //item.UnstackingMode = unstackingMode2;//鎷嗗灈妯″紡
+ Db.Updateable(item).ExecuteCommand();
}
- if (taskNo == null)
+ else
{
- throw new Exception($"鎵樼洏鍙凤細{item.PalletNo},鍑哄簱寮傚父");
+ var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
+ if (taskNo == null)
+ {
+ taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//褰撳墠鏈夊悓鎵樼洏涓嶅悓鐗╂枡鍑哄簱
+ }
+ if (taskNo == null)
+ {
+ throw new Exception($"鎵樼洏鍙凤細{item.PalletNo},鍑哄簱寮傚父");
+ }
+ item.TaskNo = taskNo.TaskNo;
+ item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛�
+ item.OutMode = item.OutMode;//鍑哄簱鍙�
+ //item.UnstackingMode = unstackingMode2;//鎷嗗灈妯″紡
+ Db.Updateable(item).ExecuteCommand();
}
- item.TaskNo = taskNo.TaskNo;
- item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛�
- item.OutMode = item.OutMode;//鍑哄簱鍙�
- //item.UnstackingMode = unstackingMode2;//鎷嗗灈妯″紡
- Db.Updateable(item).ExecuteCommand();
-
#endregion
}
else if (locate.Status == "5") //绉诲嚭涓�
{
throw new Exception("褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭");
}
-
+
//娣诲姞鎿嶄綔鏃ュ織璁板綍
var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "涓嬪彂鍑哄簱", soNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鍑哄簱鍗曞彿涓猴細{soNo}鐨勫嚭搴撳崟", userId);
Db.CommitTran();
-
+
if (outDto1.Count > 0)
{
// 姝e紡杩愯绋嬪簭鏀惧紑
@@ -1949,7 +1989,64 @@
throw new Exception(e.Message);
}
}
+ /// <summary>
+ /// PDA骞冲簱涓嬪彂鍑哄簱
+ /// </summary>
+ /// <param name="soNo"></param>
+ /// <param name="detailId"></param>
+ /// <param name="palletNo"></param>
+ /// <param name="userId"></param>
+ /// <exception cref="Exception"></exception>
+ public void IssueOutHousePk(string soNo, string detailId, string palletNo, int userId)
+ {
+ try
+ {
+ var notice = Db.Queryable<BllExportNotice>().First(m => m.SONo == soNo && m.IsDel == "0");
+ if (notice == null)
+ {
+ throw new Exception($"鏈壘鍒皗soNo}鍑哄簱鍗曚俊鎭�");
+ }
+ var detail = Db.Queryable<DataStockDetail>().First(m => m.PalletNo == palletNo && m.IsDel == "0");
+ if (detail.WareHouseNo != "W04")
+ {
+ throw new Exception("浠撳簱鍙烽敊璇�");
+ }
+ var intDetailId = int.Parse(detailId);
+ if (intDetailId <= 0)
+ {
+ throw new Exception("閫夋嫨鐨勫嚭搴撳崟鏄庣粏鍙傛暟閿欒");
+ }
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+ notice.Status = "3";//姝e湪杩涜
+ Db.Updateable(notice).ExecuteCommand();
+
+ //鎵�鏈夎鍑哄簱鐨勫嚭搴撳垎閰嶄俊鎭�(鏈笅鍙戠殑淇℃伅鍜屽緟鎷h揣鐨勪俊鎭�)
+ var allot = Db.Queryable<BllExportAllot>().Where(a => a.IsDel == "0" && a.PalletNo == palletNo && a.Status == "0").ToList();
+ if (allot == null || allot.Count <= 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鍑哄簱娴佹按
+ {
+ throw new Exception("褰撳墠鍑哄簱鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏");
+ }
+ //鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級
+ foreach (var item in allot)
+ {
+ item.Status = "2";
+ Db.Updateable(item).ExecuteCommand();
+ }
+
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "涓嬪彂鍑哄簱", soNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鍑哄簱鍗曞彿涓猴細{soNo}鐨勫嚭搴撳崟", userId);
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+ }
+ catch (Exception e)
+ {
+ //鍥炴粴浜嬪姟
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+ }
#region MyRegion
@@ -1997,15 +2094,15 @@
//Db.Insertable(exTask).ExecuteCommand();
- // 璋冪敤Limes鎺ュ彛鍙戣捣璇烽獙
- var sendModel = new SendLimesModel()
+ // 璋冪敤Sqp鎺ュ彛鍙戣捣璇烽獙
+ var sendModel = new SendSapQcDetailVm()
{
QcNo = data.QcNo,
- SkuNo = data.SkuNo,
- Qty = data.Qty.ToString(),
- LotNo = data.LotNo,
- SupplierLot = data.SupplierLot,
- RequestUser = userName, // 璇烽獙浜�
+ skuNo = data.SkuNo,
+ skuName = data.SkuNo,
+ lotNo = data.LotNo,
+ Qty = Convert.ToDecimal(data.Qty),
+ SupplierLot = data.SupplierLot
};
var jsonData = JsonConvert.SerializeObject(sendModel);
string response = "";
@@ -2013,14 +2110,14 @@
try
{
var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
- //response = HttpHelper.DoPost(url, jsonData, "涓婁紶Limes绯荤粺鍙戣捣璇烽獙", "Limes");
+ //response = HttpHelper.DoPost(url, jsonData, "涓婁紶Sap绯荤粺鍙戣捣璇烽獙", "Sap");
var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
////瑙f瀽杩斿洖鏁版嵁
//var limesModel = JsonConvert.DeserializeObject<LimesModel>(response);
//if (limesModel.Success == 0)
//{
-
+
// 鏇存柊璇烽獙鍗曚俊鎭�
data.Status = "1";
@@ -2034,7 +2131,7 @@
//}
//if (limesModel.Success == -1)
//{
-
+
// throw new Exception(limesModel.Message);
//}
}
--
Gitblit v1.8.0