This commit is contained in:
jl
2024-01-04 15:30:23 +08:00
parent 40557a235e
commit 36a20b88ce
10 changed files with 316 additions and 286 deletions

View File

@ -29,7 +29,7 @@ namespace Epost.BLL
ShowMesCacheDAL msgCache = new ShowMesCacheDAL();
LocationCacheDAL locCache = new LocationCacheDAL();
BoxCodeCacheDAL boxcache = new BoxCodeCacheDAL();
ErrorLogBLL logBLL = new ErrorLogBLL();
private static object lockobj = new object();
private static object lockJobDown = new object();
@ -55,7 +55,7 @@ namespace Epost.BLL
UserCacheDAL.ClearUserCodeList();
boxcache.ClearBoxList();
ResultModel resultModel = comBLL.Initialization_M();
// GetOrderQueue(); //加载任务显示器信息
// GetOrderQueue(); //加载任务显示器信息
@ -564,19 +564,27 @@ namespace Epost.BLL
{
#region
//先熄灭
comBLL.Ledonoff_dengdai("0", "");
//comBLL.Ledonoff_dengdai("0", "");
//Thread.Sleep(100);
//comBLL.display_dengdai(item.Tolocation, "2");
comBLL.LED_OFF_CLEAR(item.ControlIP);
Thread.Sleep(100);
comBLL.display_dengdai(item.Tolocation, "2");
LabelParamModel lamodel = new LabelParamModel();
lamodel.Address = item.Address;
lamodel.ControlIP = item.ControlIP;
lamodel.Parameter = "40000001";
comBLL.LED_ON_M(lamodel);
#endregion
item.State = 3;
item.DisplayTime = DateTime.Now;
#region
orderbll.UpdateOrderState_Car(item.Matchid, item.Tolocation, "3");
orderbll.UpdateOrderState_Car(item.Matchid, item.FromTolocation, "3");
model.State = 3;
bool allfinish = orderbll.IsFinishWorkByCar(1, item.Matchid);
if (allfinish)//判断整个波次是否已完成
{ //更新state状态为已完成
orderbll.UpdateStateByCar(item.Matchid);
// orderbll.UpdateStateByCar(item.Matchid);
// comBLL.Ledonoff_dengdai("0", "");
//删除波次信息
List<UserCodeModel> ulist = UserCacheDAL.GetUserCodeList();
UserCacheDAL.UpdateUserCodeList(ulist, EUserCommend.Execute);
@ -621,11 +629,11 @@ namespace Epost.BLL
string matchid = string.Empty;
#region
List<UserCodeModel> ulist = UserCacheDAL.GetUserCodeList().FindAll(m => m.Block == sblock && m.Area == sarea);//
bool isnum = ConvertHexHelper.IsNum(scanStr.Substring(0, 1));//判断扫描首字母是否是数字
bool isnum = true;//ConvertHexHelper.IsNum(scanStr.Substring(0, 1));//判断扫描首字母是否是数字
if (!ulist.Any())
{
if (scanStr.Substring(0, 1) == "S") //扫描分播墙号
if (scanStr.Substring(0, 1) == "S"&&scanStr.Length==3) //扫描分播墙号
{
UserCodeModel umodel = new UserCodeModel();
umodel.Matchid = data.Parameter;//分播墙号
@ -634,10 +642,12 @@ namespace Epost.BLL
umodel.Area = sarea;
UserCacheDAL.UpdateUserCodeList(new List<UserCodeModel> { umodel }, EUserCommend.Create);
LogHelper.WriteLogInfo("扫描播种墙号" + data.Parameter);
logBLL.SaveShowMesError("请扫描物料开始分播", "请扫描物料开始分播");
}
else
{
LogHelper.WriteLogInfo(scanStr + "请扫描正确的播种墙号");
logBLL.SaveShowMesError("请扫描正确的播种墙号", "请扫描正确的播种墙号");
}
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
@ -792,150 +802,99 @@ namespace Epost.BLL
#region
public void xifenBind(List<UserCodeModel> ulist, string scanStr, ResultMessageModel data, string matchid, bool isnum)
{
if (scanStr.Substring(0, 1) == "U")
if (ulist.Any())
{
#region
if (ulist.Any())
UserCodeModel umodel = ulist.FirstOrDefault();
if (scanStr.Substring(0, 1) == "U")
{
UserCodeModel umodel = ulist.FirstOrDefault();
#region
umodel.UserCode = scanStr;
#region
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = "请扫描sku开始作业";
show.Contents = "";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Block = data.Block;
show.Area = data.Area;
show.Type = 8;
show.Islock = true;
comBLL.ShowBoxMessage_M(show);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
#endregion
}
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
#endregion
}
else
{
#region
List<ResultMessageModel> hangList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Parameter == "888888");
if (hangList.Any())
else if (scanStr.Substring(0, 1) == "S" && scanStr.Length == 3) //扫描分播墙号
{
#region
LogHelper.WriteLogInfo("挂起" + data.Parameter + "-------通道" + data.Block);
LabelParamModel FORMATEModel = new LabelParamModel();
FORMATEModel.ControlIP = data.IP;
comBLL.FORMATE_JOB_DATA(FORMATEModel);
DataTable qdt = queueBLL.getQueuesOrderbyState(data.Block, data.Area, "1");
if (qdt != null && qdt.Rows.Count > 0)
{
scanStr = qdt.Rows[0]["sku"].ToString();
// data.Parameter = scanStr;
Hangup_SKU(scanStr, data.Block, data.Area);
//删除sku对应缓存
List<ResultMessageModel> sdown = downCacheDAL.GetPlanJobDownList().FindAll(p => p.Parameter == scanStr || p.Parameter == qdt.Rows[0]["location"].ToString());
downCacheDAL.UpdateJobDownModelList(sdown, EdownCommend.Execute);
}
downCacheDAL.UpdateJobDownModelList(hangList, EdownCommend.Execute);
//刷新波次
GetMatchOrder();
#endregion
umodel.Matchid = scanStr;
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
else if (isnum)//sku
else
{
#region SKU
//根据扫描商品内码获取商品码
data.ScanCode = data.Parameter;
//DataTable sinfodt = skuBLL.GetSkuInfoList(data.Parameter);
//string location = string.Empty;
//if (sinfodt != null && sinfodt.Rows.Count > 0)
//{
// scanStr = sinfodt.Rows[0]["sku"].ToString();
// location = data.Parameter;// sinfodt.Rows[0]["tolocation"].ToString();
//}
//data.Parameter = scanStr;
DataTable skudt = queueBLL.GetOrderQueue(data.Block, data.Area, "3");
List<ResultMessageModel> scanlist = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Address == data.Address && m.Parameter == scanStr && m.Parameter != "888888" && m.Block == data.Block && m.Area == data.Area);
if (scanlist.Count > 1 || (skudt != null && skudt.Rows.Count > 0))
{ //重复扫描
//ShowMessageModel_M show = new ShowMessageModel_M();
//show.Title = scanStr + "重复扫描/已拣配!";
//show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
//show.Block = sblock;
//show.Area = sarea;
//show.Type = 8;
//comBLL.ShowBoxMessage_M(show);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
else
#region
List<ResultMessageModel> hangList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Parameter == "888888");
if (hangList.Any())
{
DataTable OrderDt = orderbll.GetOrderList_Car(matchid, scanStr, data.Area, data.Block);
if (OrderDt != null && OrderDt.Rows.Count > 0)
#region
LogHelper.WriteLogInfo("挂起" + data.Parameter + "-------通道" + data.Block);
LabelParamModel FORMATEModel = new LabelParamModel();
FORMATEModel.ControlIP = data.IP;
comBLL.FORMATE_JOB_DATA(FORMATEModel);
DataTable qdt = queueBLL.getQueuesOrderbyState(data.Block, data.Area, "1");
if (qdt != null && qdt.Rows.Count > 0)
{
scanStr = qdt.Rows[0]["sku"].ToString();
if (ulist.Any())
{
UserCodeModel umodel = ulist.FirstOrDefault();
OrdersQueueModel qmodel = new OrdersQueueModel();
qmodel.Sku = scanStr;
qmodel.Taskblock = data.Block;
qmodel.Taskarea = data.Area;
qmodel.UserCode = umodel.UserCode;
qmodel.Matchid = umodel.Matchid;
qmodel.Location = scanStr;
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
queueBLL.insertQueueOrders(qmodel);
//提示需要拣货总量/商品名称
//showSummaryMes(scanStr, data.Block, data.Area, 1, data, "", OrderDt.Rows[0]["matchid"].ToString());
// data.Parameter = scanStr;
Hangup_SKU(scanStr, data.Block, data.Area);
//删除sku对应缓存
List<ResultMessageModel> sdown = downCacheDAL.GetPlanJobDownList().FindAll(p => p.Parameter == scanStr || p.Parameter == qdt.Rows[0]["location"].ToString());
downCacheDAL.UpdateJobDownModelList(sdown, EdownCommend.Execute);
}
downCacheDAL.UpdateJobDownModelList(hangList, EdownCommend.Execute);
//刷新波次
GetMatchOrder();
#endregion
}
else
{
LogHelper.WriteLogInfo("未扫描波次信息", LogHelper.Log_Type.ERROR);
}
}
else if (isnum)//sku
{
#region SKU
//根据扫描商品内码获取商品码
data.ScanCode = data.Parameter;
DataTable skudt = queueBLL.GetOrderQueue(data.Block, data.Area, "3");
List<ResultMessageModel> scanlist = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Address == data.Address && m.Parameter == scanStr && m.Parameter != "888888" && m.Block == data.Block && m.Area == data.Area);
if (scanlist.Count > 1 || (skudt != null && skudt.Rows.Count > 0))
{
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
else
{
//提示无任务
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = "商品:" + scanStr + "当前区无任务!";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Block = data.Block;
show.Area = data.Area;
show.Type = 8;
show.Islock = false;
comBLL.ShowBoxMessage_M(show);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
{
DataTable OrderDt = orderbll.GetOrderList_Car(matchid, scanStr, data.Area, data.Block);
if (OrderDt != null && OrderDt.Rows.Count > 0)
{
OrdersQueueModel qmodel = new OrdersQueueModel();
qmodel.Sku = scanStr;
qmodel.Taskblock = data.Block;
qmodel.Taskarea = data.Area;
qmodel.UserCode = umodel.UserCode;
qmodel.Matchid = umodel.Matchid;
qmodel.Location = scanStr;
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
queueBLL.insertQueueOrders(qmodel);
}
else
{
logBLL.SaveShowMesError("扫描:" + scanStr + "无任务!", "扫描:" + scanStr + "无任务!");
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
}
#endregion
}
#endregion
}
#endregion
}
}
#endregion