using HH.WCS.Mobox3.HD.device;
using HH.WCS.Mobox3.HD.process;
using HH.WCS.Mobox3.HD.util;
using HH.WCS.Mobox3.HD.wms;
using Newtonsoft.Json;
using System;
using System.Web.Http;
using static HH.WCS.Mobox3.HD.api.ApiHelper;
using static HH.WCS.Mobox3.HD.api.ApiModel;
using static HH.WCS.Mobox3.HD.api.OtherModel;
using static HH.WCS.Mobox3.HD.core.MQTTCore;
using static HH.WCS.Mobox3.HD.device.S7Helper;
using SqlSugar;
using System.Reflection;
namespace HH.WCS.Mobox3.HD.api {
///
/// 测试用,如果项目中要和设备对接,前期设备无法测试,用接口模拟
///
[RoutePrefix("api")]
public class DebugController : System.Web.Http.ApiController {
[HttpPost]
[Route("s7SetInt")]
public SimpleResult s7SetInt(DBWModel model) {
S7Helper.s7SetInt(model);
return new SimpleResult();
}
[HttpPost]
[Route("s7SetDint")]
public SimpleResult s7SetDint(DBWModel model)
{
S7Helper.s7SetDint(model);
return new SimpleResult();
}
[HttpPost]
[Route("s7SetBit")]
public SimpleResult s7SetBit(DBXModel model) {
S7Helper.s7SetBit(model);
return new SimpleResult();
}
[HttpPost]
[Route("s7SetString")]
public SimpleResult s7SetString(DBBModel model) {
S7Helper.s7SetStr(model);
return new SimpleResult();
}
[HttpPost]
[Route("mqttsTest")]
public SimpleResult mqttsTest(string locCode)
{
try
{
Location loc = LocationHelper.GetLoc(locCode);
MqttClientService mqttClientService = new MqttClientService();
LogHelper.Info("获取MQTT服务......", "MQTTS");
mqqtClients.TryGetValue("数字孪生", out mqttClientService);
LogHelper.Info("mqtts开始推送消息", "MQTTS");
mqttClientService.Publish("locationChange", JsonConvert.SerializeObject(new AreaLocStatusData()
{
areaCode = loc.S_AREA_CODE,
locCode = locCode,
status = 1
}));
LogHelper.Info("mqtts推送消息完成", "MQTTS");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
LogHelper.Info("mqtts测试错误,错误原因:" + e.Message,"MQTTS");
}
return new SimpleResult();
}
[HttpPost]
[Route("ddjTaskTest")]
public SimpleResult ddjTaskTest(TaskParam model)
{
var startLoc = LocationHelper.GetLoc(model.startLoc);
var endLoc = LocationHelper.GetLoc(model.endLoc);
WCSTask wcsTask = new WCSTask
{
S_CODE = WCSHelper.GenerateTaskNo(),
S_TYPE = "堆垛机"+ model.taskType + "测试任务",
S_START_LOC = startLoc.S_CODE,
S_START_AREA = startLoc.S_AREA_CODE,
S_END_LOC = endLoc.S_CODE,
S_END_AREA = endLoc.S_AREA_CODE,
S_CNTR_CODE = model.trayCode,
N_CNTR_COUNT = 1,
S_SCHEDULE_TYPE = "RB",
S_EQ_NO = model.eqCode,
};
if (WCSHelper.CreateTask(wcsTask))
{
// 对开始货位、接驳货位、终点货位进行加锁
LocationHelper.LockLoc(startLoc.S_CODE, 2);
LocationHelper.LockLoc(endLoc.S_CODE, 1);
}
return new SimpleResult();
}
[HttpPost]
[Route("Test1")]
public SimpleResult Test1() {
var db = new SqlHelper