Browse Source

修改调用LCS接口相关代码

master
志铭 吕 2 months ago
parent
commit
b895b34c32
  1. 9
      WcfControlMonitorHost/app.config
  2. 41
      WcfControlMonitorLib/CCallService.cs
  3. 2
      WcfControlMonitorLib/CStaticClass.cs

9
WcfControlMonitorHost/app.config

@ -103,11 +103,14 @@
<!--立库到化成B倒箔间任务每个巷道最多两个-->
<add key="HCBLanewayOutDB" value="2" />
<!--WMS服务地址1任务状态-->
<add key="ManageServiceAddress" value="http://192.168.0.213:18285/api/v1/result" />
<add key="ManageServiceAddress" value="http://localhost:5252/lcs/thirdParty/taskStatusReport" />
<!--WMS服务地址2任务删除-->
<add key="ManageServiceAddressTwo" value="http://192.168.0.213:18285/api/v1/cancel" />
<add key="ManageServiceAddressTwo" value="http://localhost:5252/lcs/thirdParty/inboundApply" />
<!--WMS服务地址3设备状态-->
<add key="ManageServiceAddressThree" value="http://192.168.0.213:18285/api/v1/state" />
<add key="ManageServiceAddressThree" value="http://localhost:5252/lcs/thirdParty/wcsTaskInfo" />
<add key="ManageServiceAddressFour" value="http://localhost:5252/api/lcs/thirdParty/requestRescore" />
<add key="ManageServiceAddressFive" value="http://localhost:5252/api/lcs/thirdParty/autoMoveOut" />
<!--调度系统显示的名称-->
<add key="SystemName" value="WCS服务端" />
<add key="StockCodeCheck" value="^[B|D|G|P][A-Z][0-9]{4}$" />

41
WcfControlMonitorLib/CCallService.cs

@ -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_WAREHOUSE_CODE"].ToString();
upd.endSpaceCode = data[0]["END_DEVICE_CODE"].ToString();
}
else if (Convert.ToInt32(data[0]["CONTROL_TASK_TYPE"]) == 2) {
upd.startSpaceCode = data[0]["START_WAREHOUSE_CODE"].ToString();
upd.startSpaceCode = data[0]["START_DEVICE_CODE"].ToString();
}
else if (Convert.ToInt32(data[0]["CONTROL_TASK_TYPE"]) == 3) {
upd.startSpaceCode = data[0]["START_WAREHOUSE_CODE"].ToString();
upd.endSpaceCode = data[0]["END_WAREHOUSE_CODE"].ToString();
upd.startSpaceCode = data[0]["START_DEVICE_CODE"].ToString();
upd.endSpaceCode = data[0]["END_DEVICE_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)
{

2
WcfControlMonitorLib/CStaticClass.cs

@ -114,7 +114,7 @@ namespace WcfControlMonitorLib
//20091107
static string _ManageServiceAddress = "http://localhost:525/lcs/thirdParty/taskStatusReport";//WCS 任务执行过程,将任务执行的状态回传给 LCS 系统。
static string _ManageServiceAddress = "http://localhost:5252/lcs/thirdParty/taskStatusReport";//WCS 任务执行过程,将任务执行的状态回传给 LCS 系统。
static string _ManageServiceAddress2 = "http://localhost:5252/lcs/thirdParty/inboundApply";//当入库的作业需要经过外部扫码设备触发分配库位或校验是否能入库时,WCS 通过此 接口向 LCS 申请。
static string _ManageServiceAddress3 = "http://localhost:5252/lcs/thirdParty/wcsTaskInfo";//WCS 通知 LCS 调用 AGV 取货
static string _ManageServiceAddress4 = "http://localhost:5252/api/lcs/thirdParty/requestRescore";//WCS 通过该接口请求 LCS 对目标库位进行重新分配。

Loading…
Cancel
Save