diff --git a/src/Khd.Core.Wcs/MainCentralControl.cs b/src/Khd.Core.Wcs/MainCentralControl.cs
index 30ef414..5626b36 100644
--- a/src/Khd.Core.Wcs/MainCentralControl.cs
+++ b/src/Khd.Core.Wcs/MainCentralControl.cs
@@ -52,7 +52,7 @@ namespace Khd.Core.Wcs
try
{
//plc.Open();
- Console.WriteLine(DateTime.Now + ":连接到PLC:" + plcConfig.IP);
+ Console.WriteLine(DateTime.Now + ":连接PLC:" + plcConfig.IP);
}
catch
{
@@ -98,17 +98,17 @@ namespace Khd.Core.Wcs
//五层接驳位
var FifthBaseFloorEquip = StaticData.BaseEquip.Where(t => t.floorNo == 5 && t.equipType == 1).First();
- FiveFloorPoint fifthFloorPoint = new(_host, FifthBaseFloorEquip.floorNo.Value);
+ FiveFloorPoint fifthFloorPoint = new(_host, FifthBaseFloorEquip.floorNo.Value);
fifthFloorPoint.StartPoint();
//五层CTU
var FiveFloorCTUEquip = StaticData.BaseEquip.Where(t => t.floorNo == 5 && t.equipType == 6).First();
- FiveFloorCTU fiveFloorCTU = new(_host,FiveFloorCTUEquip.floorNo.Value);
+ FiveFloorCTU fiveFloorCTU = new(_host, FiveFloorCTUEquip.floorNo.Value);
fiveFloorCTU.StartPoint();
//五层AGV
var FifthFloorAgvEquip = StaticData.BaseEquip.Where(t => t.floorNo == 5 && t.equipType == 5).First();
- FiveFloorAGV fifthFloorAGV = new(_host, FifthFloorAgvEquip.floorNo.Value);
+ FiveFloorAGV fifthFloorAGV = new(_host, FifthFloorAgvEquip.floorNo.Value);
fifthFloorAGV.StartPoint();
//背负式Agv
diff --git a/src/Khd.Core.Wcs/Program.cs b/src/Khd.Core.Wcs/Program.cs
index 236d16e..7949516 100644
--- a/src/Khd.Core.Wcs/Program.cs
+++ b/src/Khd.Core.Wcs/Program.cs
@@ -14,7 +14,7 @@ internal class Program
private static LoggerUtils _logger = new LoggerUtils();
private static void Main(string[] args)
{
-
+ Thread.CurrentThread.Name = "Main";
Console.ForegroundColor = ConsoleColor.Yellow;
Init(); //初始化加载配置文件
AppDomain.CurrentDomain.UnhandledException += GlobalExceptionHandler; //全局异常捕获
@@ -62,12 +62,14 @@ internal class Program
}
private static void GlobalExceptionHandler(object sender, UnhandledExceptionEventArgs e)
{
+ //当前线程名称
+ Thread.CurrentThread.Name = "Error";
if (e.ExceptionObject is Exception exception)
{
Console.WriteLine("全局异常捕获:");
Console.WriteLine(exception.Message);
Console.WriteLine(exception.StackTrace);
- _logger.Info("全局异常捕获:" + exception.Message);
+ _logger.Info("全局异常捕获:" + exception.Message+"\n"+exception.StackTrace);
}
else
{
diff --git a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs
index 1df27b8..ea7f4e5 100644
--- a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs
+++ b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs
@@ -19,7 +19,7 @@ namespace Khd.Core.Wcs.Wcs
///
public class CreateTaskByRecord
{
- private readonly LoggerUtils _logger=new LoggerUtils();
+ private readonly LoggerUtils _logger = new LoggerUtils();
private readonly IHost _host;
public CreateTaskByRecord(IHost host)
{
@@ -31,6 +31,11 @@ namespace Khd.Core.Wcs.Wcs
///
public void StartPoint()
{
+ var createRemoveThread = new Thread(CreateRemoveLogic);
+ createRemoveThread.IsBackground = true;
+ createRemoveThread.Name = "CreateRemoveLogic";
+ createRemoveThread.Start();
+
//背负式Agv返库任务
var createBearAgvReturnThread = new Thread(CreateBearAgvReturnLogic);
createBearAgvReturnThread.IsBackground = true;
@@ -77,7 +82,7 @@ namespace Khd.Core.Wcs.Wcs
createThirdWasterTaskThread.Name = "CreateThirdWasterTaskLogic";
createThirdWasterTaskThread.Start();
//背负式退库
- var BackReturnTaskThread= new Thread(BackReturnTaskLogic);
+ var BackReturnTaskThread = new Thread(BackReturnTaskLogic);
BackReturnTaskThread.IsBackground = true;
BackReturnTaskThread.Name = "BackReturnTaskLogic";
BackReturnTaskThread.Start();
@@ -85,6 +90,221 @@ namespace Khd.Core.Wcs.Wcs
_logger.Info("出库任务监听启动成功");
}
+ ///
+ /// 主动移库
+ ///
+ ///
+ private void CreateRemoveLogic(object? obj)
+ {
+ using var scope = _host.Services.CreateScope();
+ using var dbContext = scope.ServiceProvider.GetRequiredService();
+ while (true)
+ {
+ try
+ {
+ dbContext.ChangeTracker.Entries().ToList().ForEach(e => e.Reload());
+ var CanRemoveWmsBaseLocations = dbContext.WmsBaseLocation.Where(t => t.locationStatus == "7").ToList();
+ List locationCodes = CanRemoveWmsBaseLocations.Select(t => t.locationCode).ToList();
+ List CanRemoveWmsProductStocks = dbContext.WmsProductStock.Where(t => locationCodes.Contains(t.locationCode)).ToList();
+ foreach (var wmsProductStock in CanRemoveWmsProductStocks)
+ {
+ BaseEquip? agvEquip = null;
+ if (wmsProductStock.warehouseId == 531)
+ {
+ agvEquip = StaticData.BaseEquip.First(t => t.objid == 28);
+ }
+ else if (wmsProductStock.warehouseId == 231)
+ {
+ agvEquip = StaticData.BaseEquip.First(t => t.objid == 8);
+ }
+ if (agvEquip != null)
+ {
+ bool hasTask = dbContext.WcsTask.Where(t => t.nextPointId == agvEquip.objid).Any();
+ if (!hasTask)
+ {
+ WmsBaseLocation fromLocationCode = CanRemoveWmsBaseLocations.First(t => t.locationCode == wmsProductStock.locationCode);
+ if (wmsProductStock.warehouseId == 531 || wmsProductStock.warehouseId == 231)//成品移库
+ {
+ var wmsBaseLocations = dbContext.WmsBaseLocation
+ .Where(t => t.activeFlag == "1")
+ .Where(t => t.delFlag == "0")
+ .Where(t => t.locationScrapType == "1")
+ .Where(t => t.locationStatus == "1")
+ .Where(t => t.warehouseId == wmsProductStock.warehouseId)
+ .ToList();//所有可用库位
+ var wmsProductStocks = dbContext.WmsProductStock
+ .Where(t => t.warehouseId == wmsProductStock.warehouseId)
+ .ToList();//仓库的库存
+ WmsBaseLocation? wmsBaseLocation = null;
+ if (wmsBaseLocations.Count > 0)
+ {
+ List containerCodes = wmsBaseLocations
+ .Where(t => t.locDeep == 1)
+ .Select(t => t.containerCode).ToList();//深库位的有托盘
+
+ List mesBasePalletInfos = dbContext.MesBaseBarcodeInfo
+ .Where(t => t.saleOrderId == (wmsProductStock.saleOrderId == null ? 0 : wmsProductStock.saleOrderId))//销售订单
+ .Where(t => t.materialId == wmsProductStock.productId)//物料Id
+ .Where(t => containerCodes.Contains(t.palletInfoCode)).ToList();//深库位的托盘的物料等于当前任务的物料
+
+ var bill = from a in mesBasePalletInfos
+ join b in wmsBaseLocations.Where(t => t.locDeep == 1) on a.palletInfoCode equals b.containerCode
+ select new { b };//等于当前任务的物料的托盘的库位信息
+
+ var outBill = from a in bill//深库位托盘和当前任务绑定物料一致的托盘库位
+ from b in wmsBaseLocations//所有库位
+ where a.b.layerNum == b.layerNum//层数相同
+ && b.locDeep == 2//浅库位
+ && b.locRow == (a.b.locRow % 2 == 0 ? a.b.locRow - 1 : a.b.locRow + 1)
+ //如果是4则找3,如果是1则找2
+ && a.b.locColumn == b.locColumn//列数相同
+ && string.IsNullOrEmpty(b.containerCode)
+ select new { a.b };//在上面的基础上获取对应托盘的外侧库位的空库位信息
+
+ wmsBaseLocation ??= outBill.FirstOrDefault()?.b;//先找相同物料的外侧库位
+ wmsBaseLocation ??= wmsBaseLocations.Where(t => string.IsNullOrEmpty(t.containerCode)).FirstOrDefault(t => t.locDeep == 2);//找不到再找深库位
+ wmsBaseLocation ??= wmsBaseLocations.Where(t => string.IsNullOrEmpty(t.containerCode)).FirstOrDefault();//找不到再找任意库位
+ if (wmsBaseLocation != null)//如果找到库位,生成入库任务
+ {
+ var wcsTask = new WcsTask()
+ {
+ objid = StaticData.SnowId.NextId(),
+ currPointId = fromLocationCode.locationId,
+ currPointNo = fromLocationCode.locationCode,
+ nextPointId = agvEquip.objid,
+ nextPointNo = agvEquip.equipNo,
+ endPointId = wmsBaseLocation.locationId,
+ endPointNo = wmsBaseLocation.locationCode,
+ taskStatus = 0,
+ useFlag = 1,
+ containerNo = wmsProductStock.palletInfoCode,
+ createBy = "WCS",
+ createTime = DateTime.Now,
+ isEmpty = "0",
+ taskType = agvEquip.objid == 28 ? 66 : 55,
+ qty = 1,
+ };
+ dbContext.Add(wcsTask);
+ WcsTaskLog wcsTaskLog = CoreMapper.Map(wcsTask);
+ dbContext.Add(wcsTaskLog);
+ dbContext.SaveChanges();
+ Console.WriteLine(DateTime.Now + ":二楼码垛输送线生成入库托盘任务成功:" + wcsTask.objid);
+ _logger.Info("二楼码垛输送线生成入库托盘任务成功:" + wcsTask.objid);
+ }
+ else
+ {
+ //报警
+ }
+ }
+ }
+ }
+ }
+ }
+
+ List wmsRawStocks = dbContext.WmsRawStock.Where(t => locationCodes.Contains(t.locationCode)).ToList();
+ foreach (var wmsRawStock in wmsRawStocks)
+ {
+
+ WmsBaseLocation fromLocationCode = CanRemoveWmsBaseLocations.First(t => t.locationCode == wmsRawStock.locationCode);
+ if (wmsRawStock.warehouseId == 511 || wmsRawStock.warehouseId == 311)
+ {
+ BaseEquip? agvEquip = null;
+ if (wmsRawStock.warehouseId == 511)
+ {
+ agvEquip = StaticData.BaseEquip.First(t => t.objid == 28);
+ }
+ else if (wmsRawStock.warehouseId == 311)
+ {
+ agvEquip = StaticData.BaseEquip.First(t => t.objid == 9);
+ }
+ if (agvEquip != null)
+ {
+ bool hasTask = dbContext.WcsTask.Where(t => t.nextPointId == agvEquip.objid).Any();
+ if (!hasTask)
+ {
+ var wmsBaseLocations = dbContext.WmsBaseLocation
+ .Where(t => t.activeFlag == "1")
+ .Where(t => t.delFlag == "0")
+ .Where(t => t.locationScrapType == "1")
+ .Where(t => t.locationStatus == "1")
+ .Where(t => t.warehouseId == wmsRawStock.warehouseId)
+ .ToList();//所有可用库位
+ var wmsProductStocks = dbContext.WmsRawStock
+ .Where(t => t.warehouseId == wmsRawStock.warehouseId)
+ .ToList();//仓库的库存
+ WmsBaseLocation? wmsBaseLocation = null;
+ if (wmsBaseLocations.Count > 0)
+ {
+ List containerCodes = wmsBaseLocations
+ .Where(t => t.locDeep == 1)
+ .Select(t => t.containerCode).ToList();//深库位的有托盘
+
+ List mesBasePalletInfos = dbContext.MesBaseBarcodeInfo
+ .Where(t => t.saleOrderId == (wmsRawStock.saleOrderId == null ? 0 : wmsRawStock.saleOrderId))//销售订单
+ .Where(t => t.materialId == wmsRawStock.materialId)//物料Id
+ .Where(t => containerCodes.Contains(t.palletInfoCode)).ToList();//深库位的托盘的物料等于当前任务的物料
+
+ var bill = from a in mesBasePalletInfos
+ join b in wmsBaseLocations.Where(t => t.locDeep == 1) on a.palletInfoCode equals b.containerCode
+ select new { b };//等于当前任务的物料的托盘的库位信息
+
+ var outBill = from a in bill//深库位托盘和当前任务绑定物料一致的托盘库位
+ from b in wmsBaseLocations//所有库位
+ where a.b.layerNum == b.layerNum//层数相同
+ && b.locDeep == 2//浅库位
+ && b.locRow == (a.b.locRow % 2 == 0 ? a.b.locRow - 1 : a.b.locRow + 1)
+ //如果是4则找3,如果是1则找2
+ && a.b.locColumn == b.locColumn//列数相同
+ && string.IsNullOrEmpty(b.containerCode)
+ select new { a.b };//在上面的基础上获取对应托盘的外侧库位的空库位信息
+
+ wmsBaseLocation ??= outBill.FirstOrDefault()?.b;//先找相同物料的外侧库位
+ wmsBaseLocation ??= wmsBaseLocations.Where(t => string.IsNullOrEmpty(t.containerCode)).FirstOrDefault(t => t.locDeep == 2);//找不到再找深库位
+ wmsBaseLocation ??= wmsBaseLocations.Where(t => string.IsNullOrEmpty(t.containerCode)).FirstOrDefault();//找不到再找任意库位
+ if (wmsBaseLocation != null)//如果找到库位,生成入库任务
+ {
+ var wcsTask = new WcsTask()
+ {
+ objid = StaticData.SnowId.NextId(),
+ currPointId = fromLocationCode.locationId,
+ currPointNo = fromLocationCode.locationCode,
+ nextPointId = agvEquip.objid,
+ nextPointNo = agvEquip.equipNo,
+ endPointId = wmsBaseLocation.locationId,
+ endPointNo = wmsBaseLocation.locationCode,
+ taskStatus = 0,
+ useFlag = 1,
+ containerNo = wmsRawStock.palletInfoCode,
+ createBy = "WCS",
+ createTime = DateTime.Now,
+ isEmpty = "0",
+ taskType = agvEquip.objid == 28 ? 66 : 67,
+ qty = 1,
+ };
+ dbContext.Add(wcsTask);
+ WcsTaskLog wcsTaskLog = CoreMapper.Map(wcsTask);
+ dbContext.Add(wcsTaskLog);
+ dbContext.SaveChanges();
+ Console.WriteLine(DateTime.Now + ":二楼码垛输送线生成入库托盘任务成功:" + wcsTask.objid);
+ _logger.Info("二楼码垛输送线生成入库托盘任务成功:" + wcsTask.objid);
+ }
+ else
+ {
+ //报警
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ catch
+ {
+
+ }
+ }
+ }
+
///
/// 五楼柜体拆分返库任务
///
@@ -365,7 +585,7 @@ namespace Khd.Core.Wcs.Wcs
}
}
}
- catch(Exception ex)
+ catch (Exception ex)
{
_logger.Error(ex.Message + "\n" + ex.StackTrace);
}
@@ -506,7 +726,7 @@ namespace Khd.Core.Wcs.Wcs
if (wmsRawOutstock != null)
{
var wmsRawStocks = dbContext.WmsRawStock
- .Where(t => t.saleOrderId == wmsRawOutstock.saleOrderId)
+ .Where(t => t.saleOrderId == (wmsRawOutstock.saleOrderId == null ? 0 : wmsRawOutstock.saleOrderId))
.Where(t => t.warehouseId == 311)
.ToList();
var AllWmsBaseLocations = dbContext.WmsBaseLocation.Where(t => t.warehouseId == 311).ToList();
@@ -900,7 +1120,7 @@ namespace Khd.Core.Wcs.Wcs
{
objid = StaticData.SnowId.NextId(),
orderId = item.productOutstockId,
- taskType = 38,
+ taskType = 66,
containerNo = wmsProductStock.palletInfoCode,
createBy = "WCS",
createTime = DateTime.Now.AddSeconds(-10),
@@ -1042,7 +1262,7 @@ namespace Khd.Core.Wcs.Wcs
{
var wmsproStocks = proStock
- .Where(t => t.productId == item.productId && t.saleOrderId == item.saleOrderId && t.warehouseId == item.warehouseId)
+ .Where(t => t.productId == item.productId && t.saleOrderId == (item.saleOrderId == null ? 0 : item.saleOrderId) && t.warehouseId == item.warehouseId)
.Select(t => t.palletInfoCode)
.ToList();
List AllWmsBaseLocations = dbContext.WmsBaseLocation.Where(t => t.warehouseId == item.warehouseId).ToList();
@@ -1453,7 +1673,7 @@ namespace Khd.Core.Wcs.Wcs
break;
}
var wmsRawStocks = rawStock
- .Where(t => t.materialId == order.MaterialId && t.saleOrderId == order.SaleOrderId && t.warehouseId == 512)
+ .Where(t => t.materialId == order.MaterialId && t.saleOrderId == (order.SaleOrderId == null ? 0 : order.SaleOrderId) && t.warehouseId == 512)
.Select(t => t.palletInfoCode)
.ToList();
var AllWmsBaseLocations = dbContext.WmsBaseLocation.Where(t => t.warehouseId == 512).ToList();
@@ -1644,7 +1864,7 @@ namespace Khd.Core.Wcs.Wcs
}
if (endEquip.equipType == 12 || endEquip.equipType == 13)//原材料到柜体验收区,背板安装
{
- bool hasTask = dbContext.WcsTask.Where(t => t.nextPointId == 28 && t.useFlag == 1 && t.taskStatus <= 5).Any();
+ bool hasTask = dbContext.WcsTask.Where(t => t.currPointId == endEquip.objid || t.endPointId == endEquip.objid).Any();
if (!hasTask)
{
if (endEquip.emptyCount == 0)
@@ -1653,7 +1873,7 @@ namespace Khd.Core.Wcs.Wcs
.Where(t => t.materialId == item.materialId && t.warehouseId == item.warehouseId)
.WhereIf(endEquip.equipType == 13, t => t.completeFlag == "0")
.WhereIf(endEquip.equipType == 12, t => t.completeFlag == "1")
- .Where(t => t.saleOrderId == item.saleOrderId)
+ .Where(t => t.saleOrderId == (item.saleOrderId == null ? 0 : item.saleOrderId))
.Where(t => t.totalAmount > t.frozenAmount)
.Select(t => t.palletInfoCode)
.ToList();
@@ -1664,6 +1884,7 @@ namespace Khd.Core.Wcs.Wcs
.Where(t => t.locationScrapType == "1")
.Where(t => t.locationStatus == "1")
.Where(t => t.warehouseId == item.warehouseId)
+ .OrderByDescending(t => t.locDeep)
.Where(t => wmsRawStocks.Contains(t.containerCode))
.ToList();
@@ -1674,7 +1895,6 @@ namespace Khd.Core.Wcs.Wcs
where a.locationCode == b.locationCode
select new { a, b };
-
BaseEquip agvEquip = StaticData.BaseEquip.First(t => t.objid == 28);
BaseEquip lineEquip = StaticData.BaseEquip.First(t => t.equipNo == item.endStationCode);
foreach (var b in bill)
@@ -1686,13 +1906,11 @@ namespace Khd.Core.Wcs.Wcs
int qty = 0;
if (stock.totalAmount - stock.frozenAmount <= needNumber)//该料箱全部出
{
- item.realOutstockAmount += stock.totalAmount - stock.frozenAmount;
qty = Convert.ToInt32(stock.totalAmount - stock.frozenAmount);
stock.updateDate = DateTime.Now;
}
else
{
- item.realOutstockAmount += needNumber;
qty = Convert.ToInt32(needNumber);
stock.updateDate = DateTime.Now;
}
@@ -1704,11 +1922,11 @@ namespace Khd.Core.Wcs.Wcs
int? row = 0;
if (location.locRow % 2 == 1)//五楼原材料与其他的深浅库位相反
{
- row = location.locRow - 1;
+ row = location.locRow + 1;
}
else
{
- row = location.locRow + 1;
+ row = location.locRow - 1;//5
}
var lowLocationBill = bill.Where(t => t.a.locRow == row).Where(t => t.a.locColumn == location.locColumn).Where(t => t.a.warehouseId == location.warehouseId).FirstOrDefault();
if (lowLocationBill != null)
@@ -1718,9 +1936,10 @@ namespace Khd.Core.Wcs.Wcs
}
else
{
- WmsBaseLocation? wmsBaseLocation = AllWmsBaseLocations.Where(t => t.locRow == row)
- .Where(t => t.locColumn == location.locColumn)
- .Where(t => t.warehouseId == location.warehouseId).FirstOrDefault();
+ WmsBaseLocation? wmsBaseLocation = AllWmsBaseLocations
+ .Where(t => t.locRow == row)
+ .Where(t => t.locColumn == location.locColumn)
+ .Where(t => t.warehouseId == location.warehouseId).FirstOrDefault();
if (wmsBaseLocation != null && !string.IsNullOrEmpty(wmsBaseLocation.containerCode))
{
WmsRawStock? wmsRawStock = dbContext.WmsRawStock.FirstOrDefault(t => t.locationCode == wmsBaseLocation.locationCode);
@@ -1739,7 +1958,7 @@ namespace Khd.Core.Wcs.Wcs
{
objid = StaticData.SnowId.NextId(),
orderId = item.rawOutstockId,
- taskType = 38,
+ taskType = 66,
containerNo = wmsRawStock.palletInfoCode,
createBy = "WCS",
createTime = DateTime.Now.AddSeconds(-10),
diff --git a/src/Khd.Core.Wcs/Wcs/FirstFloor.cs b/src/Khd.Core.Wcs/Wcs/FirstFloor.cs
index c425e8c..a4b9ca8 100644
--- a/src/Khd.Core.Wcs/Wcs/FirstFloor.cs
+++ b/src/Khd.Core.Wcs/Wcs/FirstFloor.cs
@@ -174,23 +174,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
}
@@ -247,23 +236,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
Thread.Sleep(1000);
}
@@ -479,16 +457,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
Thread.Sleep(1000);
}
@@ -723,23 +697,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
Thread.Sleep(5000);
}
diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs
index cbc68cd..4b98623 100644
--- a/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs
+++ b/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs
@@ -515,6 +515,7 @@ namespace Khd.Core.Wcs.Wcs
WmsRawOutstockDetail? wmsRawOutstockDetail = dbContext.WmsRawOutstockDetail.Where(t => t.rawOutstockId == wmsRawOutstock.rawOutstockId && t.executeStatus == "1").FirstOrDefault();
if (wmsRawOutstockDetail != null)
{
+ wmsRawOutstock.realOutstockAmount += 1;
wmsRawOutstockDetail.executeStatus = "2";
wmsRawOutstock.executeStatus = "2";
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
@@ -595,6 +596,7 @@ namespace Khd.Core.Wcs.Wcs
WmsRawOutstockDetail? wmsRawOutstockDetail = dbContext.WmsRawOutstockDetail.Where(t => t.rawOutstockId == item.orderId).FirstOrDefault();
if (wmsRawOutStock != null && wmsRawOutstockDetail != null)
{
+ wmsRawOutStock.realOutstockAmount += 1;
wmsRawOutstockDetail.executeStatus = "2";
wmsRawOutStock.executeStatus = "2";
dbContext.Update(wmsRawOutStock);
@@ -756,23 +758,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs
index e33db67..e09d1eb 100644
--- a/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs
+++ b/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs
@@ -78,15 +78,7 @@ namespace Khd.Core.Wcs.Wcs
}
catch
{
- try
- {
- StaticData.PlcDic[1] = new Plc.S7.Plc(StaticData.PlcDic[1].CPU, StaticData.PlcDic[1].IP, StaticData.PlcDic[1].Port, StaticData.PlcDic[1].Rack, StaticData.PlcDic[1].Slot);
- StaticData.PlcDic[1].Open();
- }
- catch
- {
-
- }
+
}
Thread.Sleep(1000);
}
@@ -271,23 +263,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
Thread.Sleep(1000);
}
@@ -658,23 +639,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorPoint.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorPoint.cs
index f1c5220..20af058 100644
--- a/src/Khd.Core.Wcs/Wcs/FiveFloorPoint.cs
+++ b/src/Khd.Core.Wcs/Wcs/FiveFloorPoint.cs
@@ -190,23 +190,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wcs/Wcs/FourthFloorPoint.cs b/src/Khd.Core.Wcs/Wcs/FourthFloorPoint.cs
index b00be36..267364f 100644
--- a/src/Khd.Core.Wcs/Wcs/FourthFloorPoint.cs
+++ b/src/Khd.Core.Wcs/Wcs/FourthFloorPoint.cs
@@ -119,23 +119,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs b/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs
index 0b7bcda..4a73fb3 100644
--- a/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs
+++ b/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs
@@ -442,7 +442,7 @@ namespace Khd.Core.Wcs.Wcs
{
BaseEquip startEquip = StaticData.BaseEquip.First(t => t.objid == item.currPointId);
BaseEquip endEquip = StaticData.BaseEquip.First(t => t.objid == item.endPointId);
-
+
var agvTask = new RequestAGVTaskDto
{
reqCode = StaticData.SnowId.NextId().ToString(),
@@ -484,9 +484,9 @@ namespace Khd.Core.Wcs.Wcs
else
{
{
- _logger.Info("二楼AGV线程完成任务" + item.objid);
if (item.taskStatus == 3)
{
+ _logger.Info("二楼AGV线程继续任务" + item.objid);
if (item.currPointId == lineEquip.objid)
{
var lineSignal02 = StaticData.PlcDic[0].Read(StaticData.BasePlcpointList.First(t => t.plcpointNo == "linesignal02").plcpointAddress);
@@ -645,6 +645,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Remove(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
// }
//}
@@ -678,7 +679,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Update(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
dbContext.SaveChanges();
-
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
}
}
@@ -691,6 +692,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Remove(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
else if (item.taskType == 53)//提升机到废料口
{
@@ -705,6 +707,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Remove(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
else if (item.taskType == 51)//输送线到小包入口
{
@@ -714,6 +717,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Remove(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
else if (item.taskType == 54)//周转位到废料口
{
@@ -730,6 +734,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Remove(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
else if (item.taskType == 55)//移库
{
@@ -758,6 +763,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
transaction.Commit();
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
catch (Exception ex)
{
@@ -777,6 +783,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Update(wasteEquip);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
else if (item.taskType == 57)//周转位-提升机
{
@@ -790,6 +797,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Update(emptyEquip);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 6 });
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
else if (item.taskType == 59)//周转区-小包入口
{
@@ -801,6 +809,7 @@ namespace Khd.Core.Wcs.Wcs
dbContext.Remove(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
dbContext.SaveChanges();
+ _logger.Info("二楼AGV线程完成任务" + item.objid);
}
}
}
@@ -812,23 +821,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wcs/Wcs/SecondFloorLine.cs b/src/Khd.Core.Wcs/Wcs/SecondFloorLine.cs
index 1ea8831..a4fcaf6 100644
--- a/src/Khd.Core.Wcs/Wcs/SecondFloorLine.cs
+++ b/src/Khd.Core.Wcs/Wcs/SecondFloorLine.cs
@@ -316,23 +316,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wcs/Wcs/SecondFloorPoint.cs b/src/Khd.Core.Wcs/Wcs/SecondFloorPoint.cs
index 8a96efb..3c5cb73 100644
--- a/src/Khd.Core.Wcs/Wcs/SecondFloorPoint.cs
+++ b/src/Khd.Core.Wcs/Wcs/SecondFloorPoint.cs
@@ -306,23 +306,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wcs/Wcs/SystemTimer.cs b/src/Khd.Core.Wcs/Wcs/SystemTimer.cs
index 85ca5b2..6326dc4 100644
--- a/src/Khd.Core.Wcs/Wcs/SystemTimer.cs
+++ b/src/Khd.Core.Wcs/Wcs/SystemTimer.cs
@@ -36,7 +36,7 @@ namespace Khd.Core.Wcs.Wcs
var PlcHeartBeat30Thread = new Thread(PlcHeartBeat30Logic)
{
- Name="PlcHeartBeat30Thread",
+ Name = "PlcHeartBeat30Thread",
IsBackground = true
};
PlcHeartBeat30Thread.Start();//脉冲
@@ -48,9 +48,40 @@ namespace Khd.Core.Wcs.Wcs
};
PlcHeartBeat31Thread.Start();//脉冲
+ var PlcHearBeat220Thread = new Thread(PlcHearBeat220Logic) {
+ Name = "PlcHeartBeat220Thread",
+ IsBackground = true
+ };
+ PlcHearBeat220Thread.Start();
+
Console.WriteLine($"{DateTime.Now}: SystemTimer started");
}
+ private void PlcHearBeat220Logic(object? obj)
+ {
+ BasePlcpoint HeartBeat30 = StaticData.BasePlcpointList.First(t => t.plcpointNo == "putTray");
+ while (true)
+ {
+ try
+ {
+ StaticData.PlcDic[0].Read(HeartBeat30.plcpointAddress);
+ }
+ catch
+ {
+ try
+ {
+ StaticData.PlcDic[2] = new Plc.S7.Plc(StaticData.PlcDic[2].CPU, StaticData.PlcDic[2].IP, StaticData.PlcDic[2].Port, StaticData.PlcDic[2].Rack, StaticData.PlcDic[2].Slot);
+ StaticData.PlcDic[2].Open();
+ }
+ catch (Exception ex2)
+ {
+ _logger.Error("Plc短线重连失败" + ex2.Message);
+ }
+ }
+ Thread.Sleep(1000);
+ }
+ }
+
///
/// 定时发送心跳包
///
@@ -66,25 +97,16 @@ namespace Khd.Core.Wcs.Wcs
heartBeatCount = !heartBeatCount;
StaticData.PlcDic[0].WriteToPoint(HeartBeat30.plcpointAddress, heartBeatCount, HeartBeat30.plcpointLength?.ToString());
}
- catch (Exception ex)
+ catch
{
- if (ex is PlcException)
+ try
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
- //报警
- }
+ StaticData.PlcDic[0] = new Plc.S7.Plc(StaticData.PlcDic[0].CPU, StaticData.PlcDic[0].IP, StaticData.PlcDic[0].Port, StaticData.PlcDic[0].Rack, StaticData.PlcDic[0].Slot);
+ StaticData.PlcDic[0].Open();
+ }
+ catch (Exception ex2)
+ {
+ _logger.Error("Plc短线重连失败" + ex2.Message);
}
}
Thread.Sleep(1000);
@@ -98,7 +120,7 @@ namespace Khd.Core.Wcs.Wcs
private void PlcHeartBeat31Logic(object? obj)
{
BasePlcpoint HeartBeat31 = StaticData.BasePlcpointList.First(t => t.plcpointNo == "CTUHeart");
- bool heartBeatCount =false;
+ bool heartBeatCount = false;
while (true)
{
try
@@ -112,20 +134,18 @@ namespace Khd.Core.Wcs.Wcs
{
try
{
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
+ StaticData.PlcDic[1] = new Plc.S7.Plc(StaticData.PlcDic[1].CPU, StaticData.PlcDic[1].IP, StaticData.PlcDic[1].Port, StaticData.PlcDic[1].Rack, StaticData.PlcDic[1].Slot);
+ StaticData.PlcDic[1].Open();
}
- catch
+ catch (Exception ex2)
{
-
+ _logger.Error("Plc短线重连失败" + ex2.Message);
}
}
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
+ }
}
Thread.Sleep(1000);
}
@@ -187,24 +207,14 @@ namespace Khd.Core.Wcs.Wcs
}
catch (Exception ex)
{
- try
- {
- if (ex is PlcException)
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- }
- catch
+ if (ex is PlcException)
{
}
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
+ }
}
Thread.Sleep(1000);
}
diff --git a/src/Khd.Core.Wcs/Wcs/ThirdFloorAGV.cs b/src/Khd.Core.Wcs/Wcs/ThirdFloorAGV.cs
index 98ea929..fda9285 100644
--- a/src/Khd.Core.Wcs/Wcs/ThirdFloorAGV.cs
+++ b/src/Khd.Core.Wcs/Wcs/ThirdFloorAGV.cs
@@ -98,23 +98,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
Thread.Sleep(3000);
}
@@ -766,23 +755,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wcs/Wcs/ThirdFloorPoint.cs b/src/Khd.Core.Wcs/Wcs/ThirdFloorPoint.cs
index 0a11861..a909598 100644
--- a/src/Khd.Core.Wcs/Wcs/ThirdFloorPoint.cs
+++ b/src/Khd.Core.Wcs/Wcs/ThirdFloorPoint.cs
@@ -164,23 +164,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (ex is PlcException)
{
- try
- {
- foreach (var item in StaticData.PlcDic)
- {
- if (item.Value.IP == ex.Message)
- {
- StaticData.PlcDic[item.Key] = new Plc.S7.Plc(item.Value.CPU, item.Value.IP, item.Value.Port, item.Value.Rack, item.Value.Slot);
- StaticData.PlcDic[item.Key].Open();
- }
- }
- }
- catch
- {
-
- }
+
+ }
+ else
+ {
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
- _logger.Error(ex.Message + "\n" + ex.StackTrace);
}
finally
{
diff --git a/src/Khd.Core.Wpf/App.xaml.cs b/src/Khd.Core.Wpf/App.xaml.cs
index 18d2487..3844b9c 100644
--- a/src/Khd.Core.Wpf/App.xaml.cs
+++ b/src/Khd.Core.Wpf/App.xaml.cs
@@ -22,19 +22,19 @@ namespace Khd.Core.Wpf
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;//Task异常
IConfigurationRoot configuration = new ConfigurationBuilder()
- .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
- .AddJsonFile("appsettings.json")
- .Build();
+ .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
+ .AddJsonFile("appsettings.json")
+ .Build();
SystemData.PlcConfigs = configuration.GetSection("PlcConfigs").Get>();
ConnectionStrings.ConnectionString = configuration["ConnectionStrings:DefaultConnection"].ToString();
- //配置文件 加载 Thrift 推送端口
- ThriftConfig.ThriftIpAddress = configuration["ThriftConfig:ThriftIpAddress"].ToString();
- ThriftConfig.JiesShouDuanKou = int.Parse(configuration["ThriftConfig:JiesShouDuanKou"]);
- ThriftConfig.TuiSongDuankou = int.Parse(configuration["ThriftConfig:TuiSongDuankou"]);
- ThriftConfig.UpSite = configuration["ThriftConfig:upsite"].ToString();
- FlagConfig.UpFlagNum = int.Parse(configuration["FlagConfig:UpFlagNum"]);
+ ////配置文件 加载 Thrift 推送端口
+ //ThriftConfig.ThriftIpAddress = configuration["ThriftConfig:ThriftIpAddress"].ToString();
+ //ThriftConfig.JiesShouDuanKou = int.Parse(configuration["ThriftConfig:JiesShouDuanKou"]);
+ //ThriftConfig.TuiSongDuankou = int.Parse(configuration["ThriftConfig:TuiSongDuankou"]);
+ //ThriftConfig.UpSite = configuration["ThriftConfig:upsite"].ToString();
+ //FlagConfig.UpFlagNum = int.Parse(configuration["FlagConfig:UpFlagNum"]);
}
void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
diff --git a/src/Khd.Core.Wpf/Form/FormBoardT.xaml b/src/Khd.Core.Wpf/Form/FormBoardT.xaml
index fb35e37..f396d9a 100644
--- a/src/Khd.Core.Wpf/Form/FormBoardT.xaml
+++ b/src/Khd.Core.Wpf/Form/FormBoardT.xaml
@@ -1746,7 +1746,7 @@
-
+
diff --git a/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs b/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs
index 0041c27..8483513 100644
--- a/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs
+++ b/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs
@@ -189,7 +189,7 @@ namespace Khd.Core.Wpf.Form
}
catch (Exception ex)
{
- MessageBox.Show("条码枪连接失败" + ex.Message);
+ MessageBox.Show("条码枪连接失败");
}
@@ -2894,10 +2894,10 @@ namespace Khd.Core.Wpf.Form
inventoryTaskForm.ShowDialog();
}
-
+ //选择出库
private void SelectOutBtn_Click(object sender, RoutedEventArgs e)
{
- SelectOutRawForm selectOutRawForm=new SelectOutRawForm(this._host);
+ SelectOutRawForm selectOutRawForm = new SelectOutRawForm(this._host);
selectOutRawForm.ShowDialog();
}
}