@ -5588,124 +5588,124 @@ namespace WcfControlMonitorLib
#region 上海晟碟,获取电池电量信息
#region 注释 上海晟碟,获取电池电量信息
devinfo . Battery_Status =
devicestates [ tempdb2addr + 1 1 ] + ( devicestates [ tempdb2addr + 1 0 ] < < 8 ) ;
//devinfo.Battery_Status = devicestates[tempdb2addr + 13];
sql . Remove ( 0 , sql . Length ) ;
//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(", 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 ( ) ) ;
// .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 < 4 0 )
{
//判断是否有该车的充电任务,是否正在充电,满足条件再生成充电任务
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 ( 1 8 0 0 1 ) . Append ( "','" ) . Append ( strCell )
. Append ( "','" ) . Append ( dTime1 )
. Append ( "',0,0,11000, " ) . Append ( yc ) . Append ( "," ) . Append ( yc ) . Append ( ")" ) ;
dbo . ExecuteSql ( mysql . 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 > 8 0 )
{
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 ( ) ) ;
}
//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
#endregion