@ -1031,7 +1031,7 @@ namespace WcfControlMonitorLib
/// <param name="ask_data"></param>
/// <param name="resp_data"></param>
/// <returns></returns>
public static string UpdateTaskStatusToWMS ( int Managertask_Id , out WMS_WCS_PARAM_UPDATE resp_data )
public static string UpdateTaskStatusToWMS ( int Managertask_Id , int state , out WMS_WCS_PARAM_UPDATE resp_data )
{
string bResult = string . Empty ;
bool sResult = true ;
@ -1041,38 +1041,39 @@ namespace WcfControlMonitorLib
{
sql . Clear ( ) ;
DataView data = new DataView ( ) ;
sql . Append ( string . Format ( "select CONTROL_ID,MANAGE_ID,CONTROL_TASK_TYPE, STOCK_BARCODE, START_WAREHOUSE_CODE,START_DEVICE_CODE, END_WAREHOUSE_CODE, END_DEVICE_CODE, CONTROL_BEGIN_TIME,CONTROL_STATUS,NeedAGV from IO_CONTROL where FMANAGE _ID={0}" , Managertask_Id ) ) ;
sql . Append ( string . Format ( "select * from IO_CONTROL where CONTROL _ID={0}" , Managertask_Id ) ) ;
data = dbo . ExceSQL ( sql . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
WCS_WMS_PARAM_UPDATE upd = new WCS_WMS_PARAM_UPDATE ( ) ; //传参解析使用
if ( data . Count > 0 ) {
upd . taskId = Managertask_Id . ToString ( ) ;
upd . taskStatus = Convert . ToInt32 ( data [ 0 ] [ "CONTROL_STATUS" ] ) ;
upd . taskStatus = state ;
if ( Convert . ToInt32 ( data [ 0 ] [ "CONTROL_TASK_TYPE" ] ) = = 1 ) {
upd . endSpaceCode = data [ 0 ] [ "END_WAREHOUS E_CODE" ] . ToString ( ) ;
upd . endSpaceCode = data [ 0 ] [ "END_DEVIC E_CODE" ] . ToString ( ) ;
}
else if ( Convert . ToInt32 ( data [ 0 ] [ "CONTROL_TASK_TYPE" ] ) = = 2 ) {
upd . startSpaceCode = data [ 0 ] [ "START_WAREHOUS E_CODE" ] . ToString ( ) ;
upd . startSpaceCode = data [ 0 ] [ "START_DEVIC E_CODE" ] . ToString ( ) ;
}
else if ( Convert . ToInt32 ( data [ 0 ] [ "CONTROL_TASK_TYPE" ] ) = = 3 ) {
upd . startSpaceCode = data [ 0 ] [ "START_WAREHOUS E_CODE" ] . ToString ( ) ;
upd . endSpaceCode = data [ 0 ] [ "END_WAREHOUS E_CODE" ] . ToString ( ) ;
upd . startSpaceCode = data [ 0 ] [ "START_DEVIC E_CODE" ] . ToString ( ) ;
upd . endSpaceCode = data [ 0 ] [ "END_DEVIC E_CODE" ] . ToString ( ) ;
}
upd . sendAgv = data [ 0 ] [ "NeedAGV" ] . ToString ( ) ;
//upd.sendAgv =data[0]["NeedAGV"].ToString();
upd . reportTime = DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
upd . reportInfo = null ;
WMS_WCS_PARAM_UPDATE upd_res = new WMS_WCS_PARAM_UPDATE ( ) ; //返回值
// WMS_WCS_PARAM_UPDATE upd_res = new WMS_WCS_PARAM_UPDATE(); //返回值
string data_json_string = Model . JsonHelper . Serializer ( upd ) ;
sResult = Invok_WMS_new ( data_json_string , CStaticClass . ManageServiceAddress , out outJson ) ;
if ( sResult = = false )
{
resp_data = Model . JsonHelper . Deserialize < WMS_WCS_PARAM_UPDATE > ( outJson ) ;
bResult = outJson ;
}
else
{
upd_ res = Model . JsonHelper . Deserialize < WMS_WCS_PARAM_UPDATE > ( outJson ) ; //WMS的返回值需要反序列化
resp_data = Model . JsonHelper . Deserialize < WMS_WCS_PARAM_UPDATE > ( outJson ) ; //WMS的返回值需要反序列化
}
}
@ -1382,17 +1383,17 @@ namespace WcfControlMonitorLib
//int FControlTaskType = 0;
sql . Clear ( ) ;
sql . Append ( "select * from IO_CONTROL WHERE CONTROL_STATUS < 900 and CONTROL_Status<>0 and IsSendLCS=0 and CONTROL_TASK_TYPE=1 " ) ; //查询还未发送给WMS但是任务状态已经是拆分完的状态的任务 数据库加一个IsSendLCS字段
sql . Append ( "select * from IO_CONTROL WHERE CONTROL_STATUS < 900 and CONTROL_Status<>0 and IsSendLCS=0 " ) ; //查询还未发送给WMS但是任务状态已经是拆分完的状态的任务 数据库加一个IsSendLCS字段
DataView dataIOtaskstart = dbo . ExceSQL ( sql . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
if ( dataIOtaskstart . Count > 0 ) {
for ( int i = 0 ; i < dataIOtaskstart . Count ; i + + )
{
CommonClassLib . CCarryConvert . WriteDarkCasket ( "CallService" , "taskStatusReporstart" , "准备开始调用wms服务:" , $"ID:{dataIOtaskstart[i][" MANAGE _ID"]},条码{dataIOtaskstart[i][" STOCK_BARCODE "]}" ) ;
UpdateTaskStatusToWMS ( Convert . ToInt16 ( dataIOtaskstart [ i ] [ "MANAGE _ID" ] ) , out WMS_WCS_PARAM_UPDATE resp_data ) ;
CommonClassLib . CCarryConvert . WriteDarkCasket ( "CallService" , "taskStatusReporstart" , "准备开始调用wms服务:" , $"ID:{dataIOtaskstart[i][" CONTROL _ID"]},条码{dataIOtaskstart[i][" STOCK_BARCODE "]}" ) ;
UpdateTaskStatusToWMS ( Convert . ToInt16 ( dataIOtaskstart [ i ] [ "CONTROL _ID" ] ) , 1 , out WMS_WCS_PARAM_UPDATE resp_data ) ; //1任务开始
if ( resp_data . code = = 0 )
{ //成功
sql . Clear ( ) ;
sql . Append ( $"update IO_Control set IsSendLCS=1 where MANAGE_ID={dataIOtaskstart[i][" MANAGE _ID "]}" ) ; //查询还未发送给WMS但是任务状态已经是拆分完的状态的任务
sql . Append ( $"update IO_Control set IsSendLCS=1 where CONTROL_ID={dataIOtaskstart[i][" CONTROL _ID "]}" ) ; //查询还未发送给WMS但是任务状态已经是拆分完的状态的任务
dbo . ExceSQL ( sql . ToString ( ) ) ;
}
else {
@ -1401,18 +1402,18 @@ namespace WcfControlMonitorLib
}
}
sql . Clear ( ) ;
sql . Append ( "select * from IO_CONTROL WHERECONTROL_STATUS = 999 OR CONTROL_STATUS = 900 OR CONTROL_STATUS = 970 and IsSendLCS=1 and CONTROL_TASK_TYPE=1" ) ; //查询还未发送给WMS但是任务状态已经是完成的状态的任务
sql . Append ( "select * from IO_CONTROL WHERE CONTROL_STATUS = 999 OR CONTROL_STATUS = 900 OR CONTROL_STATUS = 970 and IsSendLCS=1 and CONTROL_TASK_TYPE=1" ) ; //查询还未发送给WMS但是任务状态已经是完成的状态的任务
DataView dataIOtask2finish = dbo . ExceSQL ( sql . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
if ( dataIOtask2finish . Count > 0 )
{
for ( int i = 0 ; i < dataIOtask2finish . Count ; i + + )
{
CommonClassLib . CCarryConvert . WriteDarkCasket ( "CallService" , "taskStatusReporfinish" , "准备开始调用wms服务:" , $"ID:{dataIOtask2finish[i][" MANAGE _ID"]},条码{dataIOtask2finish[i][" STOCK_BARCODE "]}" ) ;
UpdateTaskStatusToWMS ( Convert . ToInt16 ( dataIOtask2finish [ i ] [ "MANAGE _ID" ] ) , out WMS_WCS_PARAM_UPDATE resp_data ) ;
CommonClassLib . CCarryConvert . WriteDarkCasket ( "CallService" , "taskStatusReporfinish" , "准备开始调用wms服务:" , $"ID:{dataIOtask2finish[i][" CONTROL _ID"]},条码{dataIOtask2finish[i][" STOCK_BARCODE "]}" ) ;
UpdateTaskStatusToWMS ( Convert . ToInt16 ( dataIOtask2finish [ i ] [ "CONTROL _ID" ] ) , 2 , out WMS_WCS_PARAM_UPDATE resp_data ) ; //2任务结束
if ( resp_data . code = = 0 )
{ //成功
sql . Clear ( ) ;
sql . Append ( $"delete from IO_CONTROL where MANAGE_ID={dataIOtask2finish[i][" MANAGE _ID "]}" ) ; //查询还未发送给WMS但是任务状态已经是拆分完的状态的任务
sql . Append ( $"delete from IO_CONTROL where CONTROL_ID={dataIOtask2finish[i][" CONTROL _ID "]}" ) ; //查询还未发送给WMS但是任务状态已经是拆分完的状态的任务
dbo . ExceSQL ( sql . ToString ( ) ) ;
}
else {
@ -1421,7 +1422,7 @@ namespace WcfControlMonitorLib
}
}
sql . Clear ( ) ;
sql . Append ( "select * from IO_CONTROL WHERECONTROL_STATUS = 999 OR CONTROL_STATUS = 900 OR CONTROL_STATUS = 970 and CONTROL_TASK_TYP991" ) ; //直接删除回退任务
sql . Append ( "select * from IO_CONTROL WHERE CONTROL_STATUS = 999 OR CONTROL_STATUS = 900 OR CONTROL_STATUS = 970 and CONTROL_TASK_TYP991" ) ; //直接删除回退任务
DataView dataIOBacktaskfinish = dbo . ExceSQL ( sql . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
if ( dataIOBacktaskfinish . Count > 0 )
{