1.出库界面展示当前正在进行出库的单据
2.后台退出了入库模式 通知前台扫码枪退出入库 3.对接盟讯公司登录Mes接口 4.接口记录增加本地日志排查问题
This commit is contained in:
@ -98,6 +98,12 @@ namespace WCS.BLL.DbModels
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public int RowNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 返回当前是否正在进行出库
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public bool IsOuting { get; set; } = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -291,6 +291,21 @@ namespace WCS.BLL.HardWare
|
||||
}
|
||||
//报警灯熄灭
|
||||
WarningLight.CloseLight(TcpCleint);
|
||||
//通知前台货架已结束入库
|
||||
Task.Run(() =>
|
||||
{
|
||||
var warningModel = new WebSocketMessageModel()
|
||||
{
|
||||
IsWarning = false,
|
||||
WarningType = WarningTypeEnum.通知前台结束入库,
|
||||
StoreId = 0,
|
||||
StoreCode = "",
|
||||
ShelfCode = ShelfCode,
|
||||
ShelfId = ShelfId,
|
||||
ClientIp = WebSocketIpAddress,
|
||||
};
|
||||
WarningManager.SendWarning(warningModel);
|
||||
});
|
||||
}
|
||||
|
||||
public void GoInOutstore(List<OutOrderMatDetail> MatDetails, OutOrder outOrder)
|
||||
|
@ -145,8 +145,8 @@ namespace WCS.BLL.Manager
|
||||
.ToList();
|
||||
foreach (var shelf in outStoreShelf)
|
||||
{
|
||||
Logs.Write($"【定时任务:定时退出模式】货架【{shelf.ShelfCode}】超时(5min)未退出出库模式,系统后台自动退出!出库单[{shelf.OrderNumber}]");
|
||||
shelf.GoOutOutstore();
|
||||
Logs.Write($"【定时任务:定时退出模式】货架【{shelf.ShelfCode}】超时(5min)未退出出库模式,系统后台自动退出!");
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -156,14 +156,14 @@ namespace WCS.BLL.Manager
|
||||
.ToList();
|
||||
foreach (var shelf in stockTakingShelf)
|
||||
{
|
||||
Logs.Write($"【定时任务:定时退出模式】货架【{shelf.ShelfCode}】超时(5min)未退出盘点模式,系统后台自动退出!盘点单[{shelf.OrderNumber}]");
|
||||
shelf.GoOutStocktaking();
|
||||
Logs.Write($"【定时任务:定时退出模式】货架【{shelf.ShelfCode}】超时(5min)未退出盘点模式,系统后台自动退出!");
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logs.Write("【定时任务:定时退出模式】" + e.Message,LogsType.Info);
|
||||
Logs.Write("【定时任务:定时退出模式】" + e.Message, LogsType.Info);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -286,7 +286,7 @@ namespace WCS.BLL.Manager
|
||||
Logs.Write($"【定时任务】:监测警示灯关灯机制,关【{shelf.ShelfCode}】灯发送指令成功!");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logs.Write($"【定时任务】:监测警示灯关灯机制,关【{shelf.ShelfCode}】灯发生异常" + ex.Message);
|
||||
}
|
||||
|
@ -474,23 +474,30 @@ namespace WCS.BLL.Services.Service
|
||||
var recordsQueryable = DbHelp.db.Queryable<OutOrder>()
|
||||
.Where(t => request.OrderExeStatus.Contains(t.OutOrderExeStatus))
|
||||
.WhereIF(request.IsMXPD != null, t => t.IsMXPD == request.IsMXPD)
|
||||
.WhereIF(LocalFile.Config.IsMx, t => t.CreateTime > DateTime.Now.AddDays(-3));
|
||||
.WhereIF(LocalFile.Config.IsMx, t => t.CreateTime > DateTime.Now.AddDays(-3))
|
||||
.WhereIF(!string.IsNullOrEmpty(LocalFile.Config.GroupName), t => t.GroupName == LocalFile.Config.GroupName);
|
||||
|
||||
var totalCount = await recordsQueryable.CountAsync();
|
||||
var records = await recordsQueryable
|
||||
.OrderByDescending(t => t.CreateTime)
|
||||
//.Take(request.PageSize)
|
||||
.ToListAsync();
|
||||
|
||||
//获取后台当前正在进行出库的订单 将出库状态反馈给前端
|
||||
var outingOrderNumbers = ShelfManager.Shelves
|
||||
.Where(t => t.CurrentMode == HardWare.Mode.出库模式).Select(t => t.OrderNumber)
|
||||
.ToList();
|
||||
foreach (var record in records)
|
||||
{
|
||||
if (outingOrderNumbers.Contains(record.OrderNumber))
|
||||
record.IsOuting = true;
|
||||
}
|
||||
|
||||
return new PageQueryResponse<OutOrder>()
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"success",
|
||||
Data = new PageQueryResponseData<OutOrder>()
|
||||
{
|
||||
//TotalCount = totalCount,
|
||||
//MaxPage = request.PageSize == 0 ? 0 : (int)Math.Ceiling((decimal)totalCount / request.PageSize),
|
||||
//Count = records.Count,
|
||||
Lists = records.ToList()
|
||||
}
|
||||
};
|
||||
|
@ -5,12 +5,16 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using TouchSocket.Core;
|
||||
using WCS.BLL.Config;
|
||||
using WCS.BLL.DbModels;
|
||||
using WCS.BLL.Manager;
|
||||
using WCS.BLL.Services.IService;
|
||||
using WCS.BLL.Tool;
|
||||
using WCS.DAL;
|
||||
using WCS.DAL.Db.AuthDb;
|
||||
using WCS.Model;
|
||||
using WCS.Model.ApiModel;
|
||||
using WCS.Model.ApiModel.MXBackgroundThread;
|
||||
using WCS.Model.ApiModel.User;
|
||||
|
||||
namespace WCS.BLL.Services.Service
|
||||
@ -394,15 +398,67 @@ namespace WCS.BLL.Services.Service
|
||||
}
|
||||
else//登录模式需要校验密码
|
||||
{
|
||||
user = await AuthDbHelp.db.Queryable<UserBase>()
|
||||
.Where(t => t.LoginName == request.UserName)
|
||||
.FirstAsync();
|
||||
#region 盟讯公司登录接入系统接口
|
||||
if (LocalFile.Config.IsMx)
|
||||
{
|
||||
#region 调用接口 接入盟讯公司登录
|
||||
try
|
||||
{
|
||||
var body = new
|
||||
{
|
||||
uername = request.UserName,
|
||||
password = request.PassWord,
|
||||
};
|
||||
var Result = ApiHelp.GetDataFromHttpShortTime<MXResponse>("http://192.168.2.23:9213/integrate/login/queryGenerLogin", body, "POST", true);
|
||||
//账号密码验证成功
|
||||
if (Result != null && Result.code == 200)
|
||||
{
|
||||
//判断系统中是否有对应用户
|
||||
user = await AuthDbHelp.db.Queryable<UserBase>()
|
||||
.Where(t => t.LoginName == request.UserName)
|
||||
.FirstAsync();
|
||||
//Mes登录成功后wcs这边也添加一个用户
|
||||
if (user == null)
|
||||
{
|
||||
user = new UserBase()
|
||||
{
|
||||
LoginName = request.UserName,
|
||||
Password = request.PassWord,
|
||||
RoleIds = new List<int>() { 2 },
|
||||
IsAdmin = false,
|
||||
Time = DateTime.Now,
|
||||
};
|
||||
await AuthDbHelp.db.Insertable(user).ExecuteCommandAsync();
|
||||
}
|
||||
else if (user.Password != request.PassWord)
|
||||
{
|
||||
user.Password = request.PassWord;
|
||||
await AuthDbHelp.db.Updateable(user).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
//账号密码验证失败
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
#endregion
|
||||
if (user == null)
|
||||
user = await AuthDbHelp.db.Queryable<UserBase>()
|
||||
.Where(t => t.LoginName == request.UserName)
|
||||
.FirstAsync();
|
||||
if (user == null)
|
||||
{
|
||||
return new ResponseCommon<UserBase>()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"登录失败:用户名[{request.UserName}]不存在!",
|
||||
Message = $"登录失败:用户名[{request.UserName}]不存在或密码输入错误!",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
|
@ -312,5 +312,47 @@ namespace WCS.BLL.Tool
|
||||
return default(T);
|
||||
}
|
||||
}
|
||||
|
||||
public static T GetDataFromHttpShortTime<T>(string url, object dataObj, string httpMethod, bool isSaveLog = false)
|
||||
{
|
||||
Guid guid = Guid.NewGuid();
|
||||
var data = dataObj == null ? string.Empty : JsonConvert.SerializeObject(dataObj);
|
||||
try
|
||||
{
|
||||
if (isSaveLog)
|
||||
Logs.Write($"【{guid}】开始请求调用接口 url:{url} 请求方式:{httpMethod} 数据:{data}", LogsType.Api);
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||||
request.Method = httpMethod;
|
||||
request.ContentType = "application/json";
|
||||
request.Timeout = 2000;
|
||||
|
||||
if (!string.IsNullOrEmpty(data))
|
||||
{
|
||||
string strContent = data; //参数data
|
||||
using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
|
||||
{
|
||||
dataStream.Write(strContent);
|
||||
dataStream.Close();
|
||||
}
|
||||
}
|
||||
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
string encoding = response.ContentEncoding;
|
||||
if (encoding == null || encoding.Length < 1)
|
||||
{
|
||||
encoding = "UTF-8"; //默认编码
|
||||
}
|
||||
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
|
||||
string retString = reader.ReadToEnd();
|
||||
if (isSaveLog)
|
||||
Logs.Write($"【{guid}】请求调用接口结束 返回数据为{retString}", LogsType.Api);
|
||||
return JsonConvert.DeserializeObject<T>(retString);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logs.Write($"【{guid}】请求调用遇到异常 异常信息为{ex.Message}");
|
||||
return default(T);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user