煤科院调试进行的修改提交

This commit is contained in:
hehaibing-1996
2025-04-08 16:48:44 +08:00
parent 6b8f55776a
commit 710eaec35d
4 changed files with 81 additions and 3 deletions

View File

@ -41,6 +41,11 @@ namespace WCS.BLL.Config
public bool IsResetDBOrTable { get; set; }
public int InstoreTimeOut { get; set; } = 5000;
//是否是钻探分院
public bool IsZuantan { get; set; }
#region
public bool IsMx { get; set; }
/// <summary>

View File

@ -50,7 +50,7 @@ namespace WCS.BLL.HardWare
IsEnable = module.IsEnable,
CurrentMode = TaskModeEnum.,
IsNeedRefresh = false,
});
}
ModulesStr = string.Join(";", MXL4Modules.Select(t => t.ModuleCode));

View File

@ -5,6 +5,7 @@ using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using TouchSocket.Core;
using WCS.BLL.Config;
using WCS.BLL.Manager;
using WCS.BLL.Services.IService;
using WCS.BLL.Tool;
@ -63,10 +64,14 @@ namespace WCS.BLL.Services.Service
}
//瓦斯分院库位数与灯不匹配所以进行如下操作
//处理传入的库位
if(!LocalFile.Config.IsZuantan)
{
for (int i = 0; i < request.StoreCodes.Count; i++)
{
request.StoreCodes[i] = ExtractUntilSecondDashCorrect(request.StoreCodes[i]);
}
}
//库位编码去重
var storeCodes = request.StoreCodes.Distinct()

View File

@ -585,6 +585,74 @@ namespace WCS.WebApi.Controllers
}
}
[Route("testLight")]
[HttpPost(Name = "testLight")]
public async Task<ResponseBase> testLight(SetBoardIdRequest request)
{
try
{
//获取TCP
var client = TCPClientManager.TCPClients
.Where(t => t.RemoteIPHost == request.IPPort)
.First();
if (client == null)
{
return new ResponseBase<object>()
{
Code = 300,
Message = "未获取到对应连接,请检查地址",
Data = null
};
}
var boardId = request.StartId;
for (;boardId <= 224;boardId++)
{
var boardIdData = BitConverter.GetBytes(unchecked((short)boardId));
// 检查是否需要交换字节
if (BitConverter.IsLittleEndian)
{
// 如果是小端序系统,则交换字节
byte temp = boardIdData[0];
boardIdData[0] = boardIdData[1];
boardIdData[1] = temp;
}
//发送入库亮灯
byte[] data1 = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xA1, 0x01, 0x02, 0x02, 0x0A, 0x00, 0x00, 0x00 };
data1[7] = boardIdData[0];
data1[8] = boardIdData[1];
client.Send(data1);
Thread.Sleep(490);
//发送退出入库
byte[] data2 = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xA1, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
data2[7] = boardIdData[0];
data2[8] = boardIdData[1];
client.Send(data2);
Thread.Sleep(10);
}
return new ResponseBase<object>()
{
Code = 200,
Message = "指令发送成功",
Data = null
};
}
catch (Exception ex)
{
return new ResponseBase<object>()
{
Code = 300,
Message = "指令发送失败" + ex.Message,
Data = null
};
}
}
[Route("resetByTCP")]
[HttpPost(Name = "resetByTCP")]
public async Task<ResponseBase> resetByTCP(SetBoardIdRequest request)