This commit is contained in:
jl
2025-06-09 14:59:19 +08:00
parent 285bae186b
commit e923301596
7 changed files with 161 additions and 162 deletions

View File

@ -5,6 +5,7 @@ using Epost.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity.Core.Metadata.Edm;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@ -99,7 +100,7 @@ namespace Epost.BLL
{
case "QUERY_SPECIAL_STATUS":
BindJobList(data);
break;
break;
default:
break;
}
@ -128,53 +129,53 @@ namespace Epost.BLL
ResultModel res = new ResultModel();
res.result = "0";
try
{
string sblock = data.Block;
string scanStr = data.Parameter.Trim();
string sarea = data.Area;
string name = string.Empty;
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));//判断扫描首字母是否是数字
{
string sblock = data.Block;
string scanStr = data.Parameter.Trim();
string sarea = data.Area;
string name = string.Empty;
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));//判断扫描首字母是否是数字
if (!ulist.Any())
if (!ulist.Any())
{
//手动加波次信息
DataTable matdt = orderbll.GetMatchOrderList();
if (matdt != null && matdt.Rows.Count > 0)
{
//手动加波次信息
DataTable matdt = orderbll.GetMatchOrderList();
if (matdt != null && matdt.Rows.Count > 0)
{
UserCodeModel umodel = new UserCodeModel();
umodel.Matchid = matdt.Rows[0]["matchid"].ToString();
umodel.Block = sblock;
umodel.Area = sarea;
UserCacheDAL.UpdateUserCodeList(new List<UserCodeModel> { umodel }, EUserCommend.Create);
}
UserCodeModel umodel = new UserCodeModel();
umodel.Matchid = matdt.Rows[0]["matchid"].ToString();
umodel.Block = sblock;
umodel.Area = sarea;
UserCacheDAL.UpdateUserCodeList(new List<UserCodeModel> { umodel }, EUserCommend.Create);
}
ulist = UserCacheDAL.GetUserCodeList().FindAll(m => m.Block == sblock && m.Area == sarea);
if (ulist.Any())
{ matchid = ulist.FirstOrDefault().Matchid; }
}
ulist = UserCacheDAL.GetUserCodeList().FindAll(m => m.Block == sblock && m.Area == sarea);
if (ulist.Any())
{ matchid = ulist.FirstOrDefault().Matchid; }
#endregion
if (data.Type == "5")//中分扫描枪
{
#endregion
if (data.Type == "5")//中分扫描枪
{
zhongfenBind(ulist, scanStr, data);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
else if (data.Type == "6")//播种扫描枪
{
zhongfenBind(ulist, scanStr, data);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
else if (data.Type == "6")//播种扫描枪
{
xifenBind(ulist, scanStr, data, matchid, isnum);
xifenBind(ulist, scanStr, data, matchid, isnum);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
return res;
return res;
}
catch (Exception ex)
{
@ -211,7 +212,7 @@ namespace Epost.BLL
//}
//else {
if (scanStr.Substring(0, 1) == "U")
if (scanStr.Substring(0, 1) == "Y")
{
#region
if (ulist.Any())
@ -226,7 +227,7 @@ namespace Epost.BLL
show.Block = data.Block;
show.Area = data.Area;
show.Type = 2;
show.Islock = true;
show.Islock = false;
comBLL.ShowBoxMessage_M(show);
#endregion
}
@ -245,7 +246,7 @@ namespace Epost.BLL
// location = data.Parameter;// sinfodt.Rows[0]["tolocation"].ToString();
}
LogHelper.WriteLogInfo("中分" + data.Parameter + "===SKU" + scanStr);
List<AddressstorageModel> Arealist = addrBLL.GetAreaList();
List<AddressstorageModel> Arealist = addrBLL.GetAreaList(data.Block);
if (Arealist.Any())
{
foreach (AddressstorageModel item in Arealist)
@ -268,11 +269,8 @@ namespace Epost.BLL
// SumQuantity = SumQuantity % discount;
// }
//}
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = skudt.Rows[0]["sku_goodsname"].ToString();
show.Title = skudt.Rows[0]["goodsname"].ToString();
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Block = item.block;
show.Islock = true;
@ -329,97 +327,94 @@ namespace Epost.BLL
//else
//{
if (scanStr.Substring(0, 1) == "Y")
#region
List<ResultMessageModel> hangList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Parameter == "888888");
if (hangList.Any())
{
#region
if (ulist.Any())
#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)
{
UserCodeModel umodel = ulist.FirstOrDefault();
umodel.UserCode = scanStr;
#region
scanStr = qdt.Rows[0]["sku"].ToString();
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);
#endregion
comBLL.RemoveBoxMessage_M(show);
// data.Parameter = scanStr;
Hangup_SKU(scanStr, data.Block, data.Area, matchid);
//删除sku对应缓存
List<ResultMessageModel> sdown = downCacheDAL.GetPlanJobDownList().FindAll(p => p.Parameter == scanStr && p.Parameter == qdt.Rows[0]["sku"].ToString() && p.Block == data.Block && p.Area == data.Area);
downCacheDAL.UpdateJobDownModelList(sdown, EdownCommend.Execute);
}
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
downCacheDAL.UpdateJobDownModelList(hangList, EdownCommend.Execute);
#endregion
}
else
{
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);
#region
List<ResultMessageModel> hangList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Parameter == "888888");
if (hangList.Any())
{
#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();
ShowMessageModel_M show = new ShowMessageModel_M();
show.Block = data.Block;
show.Area = data.Area;
show.Type = 8;
comBLL.RemoveBoxMessage_M(show);
// data.Parameter = scanStr;
Hangup_SKU(scanStr, data.Block, data.Area,matchid);
//删除sku对应缓存
List<ResultMessageModel> sdown = downCacheDAL.GetPlanJobDownList().FindAll(p => p.Parameter == scanStr && p.Parameter == qdt.Rows[0]["sku"].ToString()&&p.Block == data.Block&&p.Area ==data.Area);
downCacheDAL.UpdateJobDownModelList(sdown, EdownCommend.Execute);
}
downCacheDAL.UpdateJobDownModelList(hangList, EdownCommend.Execute);
#endregion
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 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)
if (scanStr.Substring(0, 1) == "Y")
{
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);
#region
if (ulist.Any())
{
UserCodeModel umodel = ulist.FirstOrDefault();
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);
#endregion
}
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
#endregion
}
else
{
else if (isnum)//sku
{
#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 OrderDt = orderbll.GetOrderList_Car(matchid, scanStr, data.Area, data.Block);
if (OrderDt != null && OrderDt.Rows.Count > 0)
{
@ -438,8 +433,6 @@ namespace Epost.BLL
qmodel.Location = location;
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
queueBLL.insertQueueOrders(qmodel);
}
else
{
@ -466,7 +459,7 @@ namespace Epost.BLL
qmodel.Matchid = umodel.Matchid;
// qmodel.Location = location;
qmodel.Shopid = echoDt.Rows[0]["GoodsName"].ToString();
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Blue);
queueBLL.insertQueueOrders(qmodel);
@ -491,35 +484,31 @@ namespace Epost.BLL
show.Islock = false;
comBLL.ShowBoxMessage_M(show);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
}
#endregion
}
#endregion
}
#endregion
}
#endregion
}
#endregion
}
#endregion
#region SKU挂起/
public void Hangup_SKU(string sku, string block, string area,string matchid, ResultMessageModel data = null)
public void Hangup_SKU(string sku, string block, string area, string matchid, ResultMessageModel data = null)
{
List<LabelParamModel> list = new List<LabelParamModel>();
//查询当前通道sku是否有任务
DataTable dt = orderbll.getOrderListBysku(block, sku,area, matchid);
DataTable dt = orderbll.getOrderListBysku(block, sku, area, matchid);
//if (dt == null || dt.Rows.Count == 0)
//{
// dt = orderbll.getOrderHisListBysku(block, sku, area, matchid);
// //回显挂起
//}
if (dt != null && dt.Rows.Count > 0)
{
// 将当前通道所有sku正在亮的设备熄灭
@ -556,7 +545,7 @@ namespace Epost.BLL
//删除缓存中sku记录
List<JobModel> jobList = JobCache.GetPlanJobList();
List<JobModel> relist = jobList.FindAll(m => m.Sku == sku && m.Block == block&&m.Area==area);
List<JobModel> relist = jobList.FindAll(m => m.Sku == sku && m.Block == block && m.Area == area);
JobModel model = new JobModel();
if (relist.Any())
{