Browse Source

删除部分注释,同时添加WMS下发任务的路径存在校验

master
志铭 吕 3 weeks ago
parent
commit
5c1e13cfc0
  1. 24
      WcfControlMonitorLib/CControl.cs
  2. 157
      WcfControlMonitorLib/SControlMonitor.cs
  3. 37
      webapi/WindowsFormsApp1/APIChannel.cs

24
WcfControlMonitorLib/CControl.cs

@ -3412,30 +3412,6 @@ namespace WcfControlMonitorLib
}
else
{
#region 20201021_C2厂房,上报穿梭板将要前往哪一层
//if(devinfo.IsShuttleBorad == 1 && deviceOrder == 4)
//{
// sql.Remove(0, sql.Length);
// sql.Append("SELECT * FROM SHUTTLE_POSITION WHERE F_DeviceIndex = ")
// .Append(deviceIdx.ToString());
// DataView dv = dboM.ExceSQL(sql.ToString()).Tables[0].DefaultView;
// if (dv.Count > 0)
// {
// if (gc[1] != Convert.ToInt32(dv[0]["F_Postion"]))
// {
// sql.Remove(0, sql.Length);
// sql.Append("UPDATE SHUTTLE_POSITION SET F_Postion = ")
// .Append(gc[1].ToString()).Append(" WHERE F_DeviceIndex = ")
// .Append(deviceIdx.ToString());
// dboM.ExecuteSql(sql.ToString());
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "更新管理穿梭板位置",
// deviceIdx.ToString(),
// "更改为:" + gc[1].ToString("D2"));
// }
// }
//}
#endregion
sendok = sdo.SendDeviceOrder(msgIdx, MonitorIndex, deviceOrder,
deviceIdx, gc[0], gc[1], gc[2], gc[3], gc[4], gc[5]);
}

157
WcfControlMonitorLib/SControlMonitor.cs

@ -5586,168 +5586,11 @@ namespace WcfControlMonitorLib
.Append(devinfo.DeviceIndex).Append("and F_RunStatus<>").Append(devinfo.RunState);
dbo.ExceSQL(sql.ToString());
#region 注释上海晟碟,获取电池电量信息
//devinfo.Battery_Status =
// devicestates[tempdb2addr + 11] + (devicestates[tempdb2addr + 10] << 8);
////devinfo.Battery_Status = devicestates[tempdb2addr + 13];
//sql.Remove(0, sql.Length);
////sql.Append("UPDATE SHUTTLE_POSITION SET F_BatteryStatus = ")
//// .Append(devinfo.Battery_Status).Append(", F_Postion = ").Append(yc).Append(" WHERE F_DeviceIndex = ")
//// .Append(devinfo.DeviceIndex);
//sql.Append("UPDATE SHUTTLE_POSITION SET F_BatteryStatus = ")
// .Append(devinfo.Battery_Status).Append(" WHERE F_DeviceIndex = ")
// .Append(devinfo.DeviceIndex).Append("and F_BatteryStatus<>").Append(devinfo.Battery_Status);
//dbo.ExceSQL(sql.ToString());
//if (yc != 0)//上海晟碟, 层信息为0不更新表
//{
// sql.Remove(0, sql.Length);
// sql.Append("UPDATE SHUTTLE_POSITION SET F_Postion = ")
// .Append(yc).Append(" WHERE F_DeviceIndex = ")
// .Append(devinfo.DeviceIndex).Append("and F_Postion<>").Append(yc);
// dbo.ExceSQL(sql.ToString());
//}
//#region 20210329_上海晟碟,如果电池电量低于40,生成充电的手工任务 民航二所
//if((devinfo.XCoor!=0 )&& (devinfo.YCoor != 0 ))//dzf
//{
// if (devinfo.RunState == 0)//空闲模式才能下达任务
// {
// if (devinfo.Battery_Status < 40)
// {
// //判断是否有该车的充电任务,是否正在充电,满足条件再生成充电任务
// sql.Remove(0, sql.Length);
// sql.Append(
// "SELECT * FROM T_Manage_Task WHERE FCONTROLTASKTYPE = 6 AND FSTARTDEVICE = '")
// .Append(devinfo.DeviceIndex.ToString()).Append("'");
// if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count > 0)
// {
// }
// else
// {
// sql.Remove(0, sql.Length);
// sql.Append("SELECT * FROM T_Manage_Task WHERE 1<>1 and FSTACK = ")
// .Append(devinfo.DeviceIndex.ToString());
// if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count > 0)
// {
// }
// //生成充电任务
// else//强制生成充电任务
// {
// //没有调度预约锁时候生成充电任务
// sql.Remove(0, sql.Length);
// sql.Append(
// "SELECT F_ManTaskReserve FROM T_Base_Device WHERE F_DeviceIndex = ")
// .Append(devinfo.DeviceIndex.ToString());
// int FManTaskReserve = Convert.ToInt32(
// dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView[0]
// ["F_ManTaskReserve"]);
// if (FManTaskReserve == 0)
// {
// sql.Remove(0, sql.Length);
// sql.Append(
// "SELECT F_SwitchLock FROM T_Base_Device WHERE F_DeviceIndex = ")
// .Append(devinfo.DeviceIndex.ToString());
// int iSwitchLock = Convert.ToInt32(
// dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView[0]
// ["F_SwitchLock"]);
// if (iSwitchLock == 0)
// {
// string strCell = string.Format("{0:D2}-{1:D2}-{2:D2}", 2, 2, yc);
// int hidx1 = ccf.GetTempManageIdx();
// string dTime1 = DateTime.Now.ToString("u");
// dTime1 = dTime1.Substring(0, dTime1.Length - 1);
// string strBarcode = DateTime.Now.ToString("yyyyMMddhhmmss");
// mysql.Remove(0, mysql.Length);
// mysql.Append("INSERT INTO T_Manage_Task")
// .Append(
// "(FPALLETBARCODE,FID,F_ManageTaskKindIndex,F_RELATIVECONTORLID,FCONTROLTASKTYPE,FIntoStepOK,FSTARTDEVICE,FSTARTCELL,FENDDEVICE,FENDCELL,FBEGTIME,WORK_MODE,FUseAwayFork,FSTACK,FStartLayer,FEndLayer) values('")
// .Append("Charge").Append(devinfo.DeviceIndex)
// .Append("',")
// .Append(hidx1)
// .Append(",1,-1,6,0,").Append(devinfo.DeviceIndex).Append(",'").Append(strCell)
// .Append("','")
// .Append(18001).Append("','").Append(strCell)
// .Append("','").Append(dTime1)
// .Append("',0,0,11000, ").Append(yc).Append(",").Append(yc).Append(")");
// dbo.ExecuteSql(mysql.ToString());
// }
// }
// }
// }
// }
// }
//}
//if (devinfo.Battery_Status > 80)
//{
// sql.Remove(0, sql.Length);
// sql.Append(
// "UPDATE T_Base_Device SET F_SwitchLock = 0 WHERE F_SwitchLock <> 0 and F_DeviceIndex = ")
// .Append(devinfo.DeviceIndex.ToString());
// dbo.ExecuteSql(sql.ToString());
//}
//#endregion
#endregion
Model.CGetInfo.SetDeviceMessage(devinfo);
sss.Remove(0, sss.Length);
sss.Append("**条码:").Append(bc).Append("**读标志" + devicestates[tempdb2addr + 0]).Append("**状态" + state).Append("**任务号" + taskindex)
.Append("**列坐标" + xc).Append("**层坐标" + yc);
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "收到堆垛机状态", devidx.ToString(), sss.ToString());
#region 20201019_C2厂房,上报穿梭板所在位置及是否可用
//sql.Remove(0, sql.Length);
//sql.Append("SELECT DEVICE_LAYER, DEVICE_STAUTS FROM DEVICE_STAUTS WHERE DEVICE_CODE = '").Append(devinfo.DeviceIndex).Append("'");
//dvbc = dboMan.ExceSQL(sql.ToString()).Tables[0].DefaultView;
//if(dvbc.Count > 0)
//{
// int iLayer = Convert.ToInt32(dvbc[0]["DEVICE_LAYER"]);
// int iStatus = Convert.ToInt32(dvbc[0]["DEVICE_STAUTS"]);
// int iCurrnetStatus = state >= 30 ? 0 : 1;
// StringBuilder update = new StringBuilder();
// if(iLayer != devinfo.YCoor)
// {
// update.Append("DEVICE_LAYER = ").Append(devinfo.YCoor);
// if(iStatus != iCurrnetStatus)
// {
// update.Append(", DEVICE_STAUTS = ").Append(iCurrnetStatus);
// }
// }
// else
// {
// if (iStatus != iCurrnetStatus)
// {
// update.Append("DEVICE_STAUTS = ").Append(iCurrnetStatus);
// }
// }
// if(iLayer != devinfo.YCoor || iStatus != iCurrnetStatus)
// {
// sql.Remove(0, sql.Length);
// sql.Append("UPDATE DEVICE_STAUTS SET ").Append(update.ToString()).Append(" WHERE DEVICE_CODE = ").Append(devinfo.DeviceIndex);
// dboMan.ExecuteSql(sql.ToString());
// }
//}
#endregion
}
#region 注释 by lyj 20171025
//devinfo.SplitByte_0 = (devicestates[tempdb2addr + (int)devinfo.Dbw2Getlength - 2] & 1) == 1 ? 1 : 0;

37
webapi/WindowsFormsApp1/APIChannel.cs

@ -719,12 +719,12 @@ namespace WindowsFormsApp1
error_code.Append(";").Append(all_checking["CONTROL_ID_REPEAT"].des); //fid重复
}
//sql.Clear();
//sql.Append(string.Format(all_checking["BARCODE_REPEAT"].sql, barcode));
//if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count > 0)
//{
// error_code.Append(";").Append(all_checking["BARCODE_REPEAT"].des); //托盘条码重复
//}
sql.Clear();
sql.Append(string.Format(all_checking["BARCODE_REPEAT"].sql, barcode));
if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count > 0)
{
error_code.Append(";").Append(all_checking["BARCODE_REPEAT"].des); //托盘条码重复
}
if (string.IsNullOrEmpty(tasklevel))
{
error_code.Append(";").Append("任务优先级为空");
@ -759,11 +759,20 @@ namespace WindowsFormsApp1
}
sql.Clear();
sql.Append(string.Format(all_checking["CELL_NOT_EXIST"].sql, startdevice));
if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count == 0)
var data= dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
if (data.Count == 0)
{
error_code.Append(";").Append("起点").Append(all_checking["CELL_NOT_EXIST"].des); //起点货位不存在
}
else {
sql.Clear();
sql.Append(string.Format(all_checking["CELL_NOT_EXIST"].sql, data[0]["FLaneWay"], enddevice));
if (data.Count == 0)
{
error_code.Append(";").Append(all_checking["CELL_NOT_EXIST"].des); //路径不存在
}
}
int endGate = 0;
if (int.TryParse(this.enddevice, out endGate) == false)
@ -795,10 +804,19 @@ namespace WindowsFormsApp1
sql.Clear();
sql.Append(string.Format(all_checking["CELL_NOT_EXIST"].sql, enddevice));
if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count == 0)
var data= dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
if (data.Count == 0)
{
error_code.Append(";").Append("终点").Append(all_checking["CELL_NOT_EXIST"].des); //终点货位不存在
}
else {
sql.Clear();
sql.Append(string.Format(all_checking["CELL_NOT_EXIST"].sql,startdevice , data[0]["FLaneWay"]));
if (data.Count == 0)
{
error_code.Append(";").Append(all_checking["CELL_NOT_EXIST"].des); //路径不存在
}
}
sql.Clear();
sql.Append(string.Format(all_checking["START_GATE_NOT_EXIST"].sql, startdevice));
if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count == 0)
@ -823,7 +841,6 @@ namespace WindowsFormsApp1
if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count == 0)
{
error_code.Append(";").Append("起点").Append(all_checking["CELL_NOT_EXIST"].des); //起点货位不存在
}
sql.Clear();
sql.Append(string.Format(all_checking["CELL_NOT_EXIST"].sql, enddevice));
@ -832,7 +849,7 @@ namespace WindowsFormsApp1
error_code.Append(";").Append("终点").Append(all_checking["CELL_NOT_EXIST"].des); //终点货位不存在
}
//移库任务如果不同层,校验不要移
//移库任务如果不同层,校验不要移 存疑
if (startdevice.Substring(6, 2) != enddevice.Substring(6, 2))
{
error_code.Append(";").Append("移库任务起点终点层值不同");

Loading…
Cancel
Save