This commit is contained in:
@ -739,12 +739,12 @@ namespace Epost.BLL
|
||||
List<JobModel> list = new List<JobModel>();
|
||||
DataTable OrderDt = dal.GetOrderList_Car(matchid, sku, area, block);
|
||||
bool isecho = false;
|
||||
if (OrderDt == null || OrderDt.Rows.Count == 0)//回显
|
||||
{
|
||||
OrderDt = dal.GetOrderList_echo(matchid, sku, area, block);
|
||||
isecho = true;
|
||||
//if (OrderDt == null || OrderDt.Rows.Count == 0)//回显
|
||||
//{
|
||||
// OrderDt = dal.GetOrderList_Car(matchid, sku, area, block);
|
||||
// isecho = true;
|
||||
|
||||
}
|
||||
//}
|
||||
if (OrderDt != null && OrderDt.Rows.Count > 0)
|
||||
{
|
||||
string usercode = string.Empty;
|
||||
@ -767,21 +767,14 @@ namespace Epost.BLL
|
||||
demodel.BatchId = item["BatchId"].ToString();
|
||||
demodel.ID = item["ID"].ToString();
|
||||
demodel.GoodsName = item["GoodsName"].ToString();
|
||||
demodel.GoodsType = item["GoodsType"].ToString();
|
||||
demodel.Quantity = Convert.ToInt32(item["Quantity"].ToString());
|
||||
demodel.CheckQuantity = Convert.ToInt32(item["CheckQuantity"].ToString());
|
||||
demodel.Sku = item["Sku"].ToString();
|
||||
demodel.Tolocation = item["Tolocation"].ToString();
|
||||
demodel.Matchid = item["Matchid"].ToString();
|
||||
demodel.ShopID = item["shopid"].ToString();
|
||||
demodel.BoxCode = item["boxcode"].ToString();
|
||||
demodel.LotNo = item["LotNo"].ToString();
|
||||
demodel.Discount = item["Discount"].ToString();
|
||||
demodel.ProdArea = item["ProdArea"].ToString();
|
||||
demodel.ColorCode = item["corlorcode"].ToString();
|
||||
demodel.WholeUnit = item["WholeUnit"].ToString();
|
||||
demodel.Unit = item["Unit"].ToString();
|
||||
demodel.TrayCode = item["bkbarcode"].ToString();
|
||||
//demodel.TrayCode = item["bkbarcode"].ToString();
|
||||
#region 获取库位信息
|
||||
demodel.Block = item["Block"].ToString();
|
||||
demodel.Area = item["Area"].ToString();
|
||||
@ -802,11 +795,11 @@ namespace Epost.BLL
|
||||
demodel.TaskArea = Convert.ToInt32(item["area"].ToString());
|
||||
demodel.TaskBlock = Convert.ToInt32(item["block"].ToString());
|
||||
demodel.No = "01";
|
||||
if (isecho)
|
||||
{
|
||||
demodel.No = "04";
|
||||
demodel.ColorCode = EnumHelper.EMToDescriptionString(LightColor.Color.Blue);
|
||||
}
|
||||
//if (isecho)
|
||||
//{
|
||||
// demodel.No = "04";
|
||||
// demodel.ColorCode = EnumHelper.EMToDescriptionString(LightColor.Color.Blue);
|
||||
//}
|
||||
list.Add(demodel);
|
||||
if (!isecho) {
|
||||
//修改数据为已读
|
||||
|
@ -1,11 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.Entity.Infrastructure;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Epost.Common;
|
||||
using Epost.DAL;
|
||||
using Epost.DAL.Cache;
|
||||
using Epost.DAL.Enum;
|
||||
using Epost.Model;
|
||||
@ -13,8 +15,9 @@ using Epost.Model;
|
||||
namespace Epost.BLL
|
||||
{
|
||||
|
||||
public class OrderControlBLL
|
||||
public class OrderControlBLL
|
||||
{
|
||||
OrdersDAL dal = new OrdersDAL();
|
||||
OrderBLL orderbll = new OrderBLL();
|
||||
OrdersQueueBLL queueBLL = new OrdersQueueBLL();
|
||||
CommandBLL comBLL = new CommandBLL();
|
||||
@ -24,13 +27,13 @@ namespace Epost.BLL
|
||||
AddressstorageBLL addrBLL = new AddressstorageBLL();
|
||||
UserModelCacheDAL UserCacheDAL = new UserModelCacheDAL();
|
||||
BoxQueueBLL queueboxBLL = new BoxQueueBLL();
|
||||
SkuInfoBLL skuBLL = new SkuInfoBLL();
|
||||
SkuInfoBLL skuBLL = new SkuInfoBLL();
|
||||
ShowMesCacheDAL msgCache = new ShowMesCacheDAL();
|
||||
LocationCacheDAL locCache = new LocationCacheDAL();
|
||||
BoxCodeCacheDAL boxcache = new BoxCodeCacheDAL();
|
||||
|
||||
|
||||
private static object lockobj = new object();
|
||||
|
||||
private static object lockobj = new object();
|
||||
private static object lockJobDown = new object();
|
||||
private static object showmes = new object();
|
||||
public static bool OrisShow = false;
|
||||
@ -50,7 +53,7 @@ namespace Epost.BLL
|
||||
downCacheDAL.ClearJobDownList();
|
||||
locCache.ClearScanList();
|
||||
queueBLL.UpdateQueueState();
|
||||
// queueboxBLL.UpdateQueueState();
|
||||
// queueboxBLL.UpdateQueueState();
|
||||
orderbll.UpOrderstate();
|
||||
UserCacheDAL.ClearUserCodeList();
|
||||
boxcache.ClearBoxList();
|
||||
@ -58,10 +61,10 @@ namespace Epost.BLL
|
||||
GetOrderQueue(); //加载任务显示器信息
|
||||
|
||||
|
||||
|
||||
|
||||
LogHelper.WriteLogInfo("初始化@@@@@@@@@@@@!----V20200727-1---");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return resultModel;
|
||||
@ -189,7 +192,7 @@ namespace Epost.BLL
|
||||
{
|
||||
LogHelper.WriteLogInfo("结束作业!");
|
||||
OrisShow = false;
|
||||
|
||||
|
||||
Thread.Sleep(500);
|
||||
comBLL.CloseALL_M();
|
||||
|
||||
@ -236,7 +239,7 @@ namespace Epost.BLL
|
||||
#region 标签拍下
|
||||
public ResultModel Job_Down(string tblock)
|
||||
{
|
||||
|
||||
|
||||
lock (lockJobDown)
|
||||
{
|
||||
string[] nlist = tblock.Split('-');
|
||||
@ -306,7 +309,7 @@ namespace Epost.BLL
|
||||
}
|
||||
}
|
||||
//绑箱中
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 设备拍下处理
|
||||
@ -341,37 +344,55 @@ namespace Epost.BLL
|
||||
skulist = queueDT.Rows[0]["sku"].ToString();
|
||||
LogHelper.WriteLogInfo("=======" + qmodel.UserCode + "=====" + area + "区===sku=" + skulist);
|
||||
}
|
||||
|
||||
if (data.Loc == "check")//任意回显标签拍下 熄灭回显设备
|
||||
{
|
||||
List<JobModel> rejob = jobList.FindAll(m => m.Block == block && m.Area == area && m.State == 1 && m.Sku == queueDT.Rows[0]["sku"].ToString());
|
||||
if (rejob.Any())
|
||||
{
|
||||
JobModel model = rejob.FirstOrDefault();
|
||||
comBLL.ClearArea_M(rejob);
|
||||
//熄灭通道灯
|
||||
comBLL.DISPLAY_LIGHT_BLOCK(block, area, "0");
|
||||
// comBLL.UNLOCK_M(rejob);
|
||||
#region 修改任务队列状态
|
||||
OrdersQueueModel qumodel = new OrdersQueueModel();
|
||||
qumodel.State = 3;
|
||||
qumodel.Taskblock = block;
|
||||
qumodel.Taskarea = area;
|
||||
qumodel.Sku = model.Sku;
|
||||
qumodel.Matchid = model.Matchid;
|
||||
qumodel.UserCode = model.UserCode;
|
||||
queueBLL.UpdateQueueTaskArea_Car(qumodel);
|
||||
#region 任意回显标签拍下 熄灭回显设备
|
||||
//if (data.Loc == "check")//任意回显标签拍下 熄灭回显设备
|
||||
//{
|
||||
// List<JobModel> rejob = jobList.FindAll(m => m.Block == block && m.Area == area && m.State == 1 && m.Sku == queueDT.Rows[0]["sku"].ToString());
|
||||
// if (rejob.Any())
|
||||
// {
|
||||
// JobModel model = rejob.FirstOrDefault();
|
||||
// comBLL.ClearArea_M(rejob);
|
||||
// //熄灭通道灯
|
||||
// comBLL.DISPLAY_LIGHT_BLOCK(block, area, "0");
|
||||
// // comBLL.UNLOCK_M(rejob);
|
||||
// #region 修改任务队列状态
|
||||
// OrdersQueueModel qumodel = new OrdersQueueModel();
|
||||
// qumodel.State = 3;
|
||||
// qumodel.Taskblock = block;
|
||||
// qumodel.Taskarea = area;
|
||||
// qumodel.Sku = model.Sku;
|
||||
// qumodel.Matchid = model.Matchid;
|
||||
// qumodel.UserCode = model.UserCode;
|
||||
// queueBLL.UpdateQueueTaskArea_Car(qumodel);
|
||||
|
||||
#endregion
|
||||
}
|
||||
#region 清除当前区已做完的sku
|
||||
JobCache.UpdateJobModelList(rejob, EcommendType.Execute);
|
||||
#endregion
|
||||
}
|
||||
else if (data.Result == "4")//■按键拍下
|
||||
// #endregion
|
||||
// }
|
||||
// #region 清除当前区已做完的sku
|
||||
// JobCache.UpdateJobModelList(rejob, EcommendType.Execute);
|
||||
// #endregion
|
||||
//}
|
||||
#endregion
|
||||
if (data.Result == "4")//■按键拍下
|
||||
{
|
||||
data.Parameter = "0";
|
||||
jobdown_start(data, job, block, area, jobList);
|
||||
jobdown_start(data, job, block, area, jobList);
|
||||
}
|
||||
else if (type == "8")//波次完成拍下
|
||||
{
|
||||
List<UserCodeModel> ulist = UserCacheDAL.GetUserCodeList().FindAll(m => m.Block == data.Block);
|
||||
if (ulist.Any())
|
||||
{
|
||||
UserCodeModel umodel = ulist.FirstOrDefault();
|
||||
bool allfinish = dal.IsFinishWorkByCar(1, umodel.Matchid, data.Block);
|
||||
if (allfinish)
|
||||
{
|
||||
//判断整个波次是否已完成
|
||||
dal.UpdateStateByCar(umodel.Matchid);
|
||||
List<JobModel> rejob = job.FindAll(m => m.Block == data.Block && m.State == 3);
|
||||
if (rejob.Any()) { JobCache.UpdateJobModelList(rejob, EcommendType.Execute); }
|
||||
UserCacheDAL.UpdateUserCodeList(ulist, EUserCommend.Execute);//删除波次信息
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -382,58 +403,49 @@ namespace Epost.BLL
|
||||
}
|
||||
}
|
||||
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
|
||||
List<JobModel> rjob = job.FindAll(m => m.Block == data.Block && m.State == 3);
|
||||
JobCache.UpdateJobModelList(rjob, EcommendType.Execute);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 标签拍下
|
||||
|
||||
public void jobdown_start(ResultMessageModel data, List<JobModel> job, string block, string area, List<JobModel> jobList)
|
||||
{
|
||||
{
|
||||
var content = string.Empty;
|
||||
var color = EnumHelper.EMToDescriptionString(LightColor.Color.Green);
|
||||
int truequantity = 0;
|
||||
int checkquantity = 0;
|
||||
string scanstr = data.Parameter;
|
||||
string scanstr = data.Parameter;
|
||||
if (!string.IsNullOrEmpty(scanstr))
|
||||
{
|
||||
truequantity = Convert.ToInt32(scanstr);
|
||||
}
|
||||
|
||||
if (job.Any())
|
||||
{
|
||||
List<JobModel> downlist = new List<JobModel>();
|
||||
JobModel model = job.FirstOrDefault();
|
||||
|
||||
//List<JobModel> manyList = job.FindAll(m => m.ManyState == 1 && m.Tolocation == model.Tolocation);
|
||||
//if (manyList.Any())//合并显示数据
|
||||
//{
|
||||
|
||||
// downlist.AddRange(manyList);
|
||||
// LogHelper.WriteLogInfo("合并显示数据=========="+ manyList .Count+ "==================");
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
downlist.Add(model);
|
||||
// }
|
||||
//修改订单状态
|
||||
int endcount = 1;
|
||||
List<JobModel> manyList = job.FindAll(m => m.ManyState == 1 && m.Tolocation == model.Tolocation && m.Sku == model.Sku);
|
||||
if (manyList.Any())//合并显示数据
|
||||
{
|
||||
endcount = manyList.Count;
|
||||
downlist.AddRange(manyList);
|
||||
LogHelper.WriteLogInfo("合并显示数据" + endcount + "============================");
|
||||
}
|
||||
else
|
||||
{
|
||||
downlist.Add(model);
|
||||
}
|
||||
|
||||
orderbll.UpdateOrderState_Car(downlist, model, truequantity, checkquantity);
|
||||
LogHelper.WriteLogInfo(data.Address + "=========------------------" + data.Parameter);
|
||||
bool skuInish = orderbll.IsFinishWork(1, block, "", area, model.Sku);
|
||||
model.State = 3;
|
||||
LogHelper.WriteLogInfo("6------" + data.Address + "------" + model.Sku + "----" + model.State + "");
|
||||
bool skuInish = dal.IsFinishWork(1, block, "", area, model.Sku, "", model.Matchid);
|
||||
if (skuInish)
|
||||
{
|
||||
LogHelper.WriteLogInfo("区SKU拣选完成--------------");
|
||||
//删除sku缓存信息
|
||||
List<ResultMessageModel> scanlist = downCacheDAL.GetPlanJobDownList().FindAll(p => p.Parameter == model.Sku && p.Command == "QUERY_SPECIAL_STATUS" && p.Area == area);
|
||||
downCacheDAL.UpdateJobDownModelList(scanlist, EdownCommend.Execute);
|
||||
//熄灭通道灯
|
||||
comBLL.DISPLAY_LIGHT_BLOCK(block, area, "0");
|
||||
|
||||
#region 熄灭当前区显示屏
|
||||
List<JobModel> offList = jobList.FindAll(m => m.Block == block && m.Area == area && m.State == 3 && m.Sku == model.Sku);
|
||||
if (offList.Any())
|
||||
{
|
||||
comBLL.LED_OFF_CLEAR(offList);
|
||||
}
|
||||
#endregion
|
||||
|
||||
LogHelper.WriteLogInfo(data.Address + "=========------------------" + data.Parameter);
|
||||
#region 修改任务队列状态
|
||||
OrdersQueueModel qumodel = new OrdersQueueModel();
|
||||
qumodel.State = 3;
|
||||
@ -441,66 +453,52 @@ namespace Epost.BLL
|
||||
qumodel.Taskarea = area;
|
||||
qumodel.Sku = model.Sku;
|
||||
qumodel.Matchid = model.Matchid;
|
||||
qumodel.UserCode = model.UserCode;
|
||||
queueBLL.UpdateQueueTaskArea_Car(qumodel);
|
||||
#endregion
|
||||
|
||||
#region 刷新波次信息
|
||||
showSummaryMes(model.Sku, block, area, Convert.ToInt32(block), null, model.Tolocation, model.Matchid);
|
||||
#endregion
|
||||
|
||||
Thread.Sleep(30);
|
||||
#region 整条通道当前用户所有任务分播结束
|
||||
bool blockfinish = orderbll.IsFinishWorkByCar(1, model.Matchid, block);
|
||||
if (blockfinish)
|
||||
LogHelper.WriteLogInfo("区SKU拣选完成--------------");
|
||||
//删除sku缓存信息
|
||||
List<ResultMessageModel> scanlist = downCacheDAL.GetPlanJobDownList().FindAll(p => p.Parameter == model.Sku && p.Command == "QUERY_SCAN_STATUS" && p.Area == area);
|
||||
downCacheDAL.UpdateJobDownModelList(scanlist, EdownCommend.Execute);
|
||||
List<JobModel> rjob = jobList.FindAll(m => m.Block == data.Block && m.Sku == model.Sku);
|
||||
JobCache.UpdateJobModelList(rjob, EcommendType.Execute);
|
||||
|
||||
bool allfinish = dal.IsFinishWork_box("", 0, model.Matchid);
|
||||
if (allfinish)
|
||||
{
|
||||
#region 点亮显示器
|
||||
ShowMessageModel_M show = new ShowMessageModel_M();
|
||||
show.Title = "当前波次分播完成";
|
||||
show.Contents = "拍下熄灭所有设备\r请扫描继续作业";
|
||||
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Green);
|
||||
show.Qty = "0";
|
||||
show.Type = 8;
|
||||
show.Block = block;
|
||||
show.Islock = false;
|
||||
show.IsTwinkle = 1;
|
||||
show.No = "01";
|
||||
comBLL.ShowBoxMessage_M(show);
|
||||
#endregion
|
||||
|
||||
bool allfinish = orderbll.IsFinishWorkByCar(1, model.Matchid);
|
||||
if (allfinish)//判断整个波次是否已完成
|
||||
{ //更新state状态为已完成
|
||||
orderbll.UpdateStateByCar(model.Matchid);
|
||||
}
|
||||
//删除波次信息
|
||||
List<UserCodeModel> ulist = UserCacheDAL.GetUserCodeList().FindAll(m => m.Block == block);
|
||||
UserCacheDAL.UpdateUserCodeList(ulist, EUserCommend.Execute);
|
||||
//修改订单状态
|
||||
orderbll.UpdateOrderState_Car(downlist, model, 1, checkquantity);
|
||||
bool lbo = dal.UpdateLocation(block, area);
|
||||
dal.UpdateStateByCar(model.Matchid);
|
||||
content = "此运单号作业已完成\r\r";
|
||||
|
||||
ShowMessageModel_M showmodel = new ShowMessageModel_M();
|
||||
showmodel.Area = area;
|
||||
showmodel.Block = block;
|
||||
showmodel.Color = color;
|
||||
showmodel.Islock = true;
|
||||
showmodel.Title = model.Matchid;
|
||||
showmodel.No = "06";
|
||||
showmodel.IsTwinkle = 0;
|
||||
showmodel.Contents = content;
|
||||
showmodel.Type = 2;
|
||||
comBLL.ShowBoxMessage_M(showmodel);//点亮显示标签
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 区内sku播完回传
|
||||
// orderbll.UpdateStateByCar(model.Matchid, "", model.Sku);
|
||||
|
||||
#endregion
|
||||
|
||||
#region 清除当前区已做完的sku
|
||||
JobCache.UpdateJobModelList(offList, EcommendType.Execute);
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//删除已完成的拣选缓存信息
|
||||
List<JobModel> finjob = JobCache.GetPlanJobList().FindAll(m => m.Block == data.Block && m.Area == data.Area && m.State == 3);
|
||||
JobCache.UpdateJobModelList(finjob, EcommendType.Execute);
|
||||
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 标签控制M系列
|
||||
public void DisplayJob_M(string tblock)
|
||||
{
|
||||
|
||||
|
||||
|
||||
lock (lockobj)
|
||||
{
|
||||
@ -563,56 +561,39 @@ namespace Epost.BLL
|
||||
foreach (JobModel item in nowJoblist.ToArray())
|
||||
{
|
||||
|
||||
#region 回显设备锁定
|
||||
if (queueDT.Rows[0]["lightcolor"].ToString() == EnumHelper.EMToDescriptionString(LightColor.Color.Blue))
|
||||
{
|
||||
|
||||
LabelParamModel locklamodel = new LabelParamModel();
|
||||
locklamodel.Address = item.Address.ToString();
|
||||
locklamodel.ControlIP = item.ControlIP.ToString();
|
||||
locklamodel.Command = "LOCK";
|
||||
locklamodel.Parameter = "11111000";
|
||||
locklamodel.Type = "N";
|
||||
list.Add(locklamodel);
|
||||
|
||||
}
|
||||
#endregion
|
||||
// else
|
||||
//{
|
||||
|
||||
List<JobModel> manyJoblist = nowJoblist.FindAll(m => m.Tolocation == item.Tolocation);
|
||||
int quantity = item.Quantity;
|
||||
|
||||
#region 判断同一订单、同一货位多条数据 合并显示
|
||||
if (manyJoblist.Count > 1)//同一个货位的数据合并显示
|
||||
{
|
||||
quantity = 0;
|
||||
if (manyJoblist.FindAll(m => m.State == 0).Any())
|
||||
{
|
||||
foreach (JobModel mitem in manyJoblist)
|
||||
{
|
||||
quantity += mitem.Quantity;
|
||||
mitem.State = 1;
|
||||
mitem.ManyState = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
LabelParamModel lamodel = new LabelParamModel();
|
||||
|
||||
lamodel.Address = item.Address.ToString();
|
||||
string address = item.Address.ToString();
|
||||
lamodel.Address = address;
|
||||
lamodel.ControlIP = item.ControlIP.ToString();
|
||||
lamodel.Command = "DISPLAY_JOB";
|
||||
|
||||
#region 同一个货位的数据合并显示
|
||||
//if (manyJoblist.Count > 1)
|
||||
//{
|
||||
// if (manyJoblist.FindAll(m => m.State == 0).Any())
|
||||
// {
|
||||
// foreach (JobModel mitem in manyJoblist)
|
||||
// {
|
||||
// quantity += mitem.Quantity;
|
||||
// mitem.State = 1;
|
||||
// mitem.ManyState = 1;
|
||||
// }
|
||||
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
lamodel.Uid = item.ID;
|
||||
lamodel.Type = "N";
|
||||
lamodel.Quantity = quantity.ToString();
|
||||
lamodel.Uid = item.ID;
|
||||
lamodel.Mode = queueDT.Rows[0]["lightcolor"].ToString() + "0";
|
||||
|
||||
|
||||
list.Add(lamodel);
|
||||
//}
|
||||
|
||||
item.State = 1;
|
||||
item.ColorCode = queueDT.Rows[0]["lightcolor"].ToString();
|
||||
@ -620,7 +601,7 @@ namespace Epost.BLL
|
||||
}
|
||||
#endregion
|
||||
#region 点亮通道灯
|
||||
comBLL.DISPLAY_LIGHT_BLOCK(model.Taskblock, model.Taskarea, "1");
|
||||
//comBLL.DISPLAY_LIGHT_BLOCK(model.Taskblock, model.Taskarea, "1");
|
||||
#endregion
|
||||
if (list != null && list.Count > 0)
|
||||
{
|
||||
@ -644,14 +625,15 @@ namespace Epost.BLL
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
LogHelper.WriteLogInfo("还有未完成任务" + isJobList.Count);
|
||||
foreach (JobModel item in isJobList)
|
||||
{
|
||||
LogHelper.WriteLogInfo("还有未完成任务"+item.Address+item.ID);
|
||||
}
|
||||
}
|
||||
//else
|
||||
//{
|
||||
|
||||
// LogHelper.WriteLogInfo("还有未完成任务" + isJobList.Count);
|
||||
// foreach (JobModel item in isJobList)
|
||||
// {
|
||||
// LogHelper.WriteLogInfo("还有未完成任务" + item.Address + item.ID);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -698,7 +680,158 @@ namespace Epost.BLL
|
||||
else if (data.Type == "6")//播种扫描枪
|
||||
{
|
||||
|
||||
xifenBind(ulist, scanStr, data, matchid, isnum);
|
||||
var color = EnumHelper.EMToDescriptionString(LightColor.Color.Black);
|
||||
var i = 0;
|
||||
var content = string.Empty;
|
||||
var d = false;
|
||||
if (scanStr == "Finish")
|
||||
{
|
||||
DataTable Mdt = dal.GetOrderMatchidInfo(data.Block, data.Area);
|
||||
if (Mdt != null && Mdt.Rows.Count > 0)
|
||||
{
|
||||
LogHelper.WriteLogInfo("----开始强制结束----运单号:" + Mdt.Rows[0]["matchid"].ToString() + "");
|
||||
dal.UpOrdersMatchid(data.Block, data.Area, Mdt.Rows[0]["matchid"].ToString());
|
||||
dal.UpBkAddresss(data.Block, data.Area);
|
||||
dal.UpOrdersqueue(data.Block, data.Area, Mdt.Rows[0]["matchid"].ToString());
|
||||
LabelParamModel model = new LabelParamModel();
|
||||
model.Address = "9999";
|
||||
model.ControlIP = Mdt.Rows[0]["ControlIP"].ToString();
|
||||
model.Parameter = "01";
|
||||
comBLL.REMOVE_JOB(model);
|
||||
comBLL.LED_OFF_CLEAR(Mdt.Rows[0]["ControlIP"].ToString());
|
||||
|
||||
color = EnumHelper.EMToDescriptionString(LightColor.Color.Green);
|
||||
scanStr = "强制结束成功";
|
||||
content = "运单号:" + Mdt.Rows[0]["matchid"].ToString() + "\r\r";
|
||||
}
|
||||
else
|
||||
{
|
||||
LogHelper.WriteLogInfo("----开始强制结束----无任务");
|
||||
scanStr = "当前无任务";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DataTable ifdt = dal.GetOrdersMatchidIf(scanStr);//判断扫描的是否为运单号
|
||||
if (ifdt != null && ifdt.Rows.Count > 0)
|
||||
{
|
||||
DataTable bindt = dal.GetOrderMatchidBin(scanStr);
|
||||
if (bindt == null || bindt.Rows.Count <= 0)
|
||||
{
|
||||
DataTable IFmatchid = dal.GetOrderMatchidLocation(data.Block, data.Area);
|
||||
if (IFmatchid != null && IFmatchid.Rows.Count > 0)
|
||||
{
|
||||
LogHelper.WriteLogInfo("----------该运单号正在作业:" + IFmatchid.Rows[0]["matchid"].ToString() + "");
|
||||
scanStr = "当前运单:" + scanStr + "";
|
||||
content = "当前线路正在作业请勿扫描\r\r";
|
||||
}
|
||||
else
|
||||
{
|
||||
//循环为运单号分配货位
|
||||
DataTable noadddt = dal.GetAddressNolocation(data.Block, data.Area);
|
||||
foreach (DataRow item in ifdt.Rows)
|
||||
{
|
||||
d = dal.UpOrderstolocation(item["shopid"].ToString(), noadddt.Rows[i]["location"].ToString(), scanStr);
|
||||
i++;
|
||||
}
|
||||
if (d == true)
|
||||
{
|
||||
DataTable dtmt = dal.GetOrderinfoNumber(scanStr);
|
||||
|
||||
content = "车牌:" + dtmt.Rows[0]["clientname"].ToString() + "\r门店数:" + dtmt.Rows[0]["shopcount"].ToString() + "\r商品总数:" + dtmt.Rows[0]["qty"].ToString() + "";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LogHelper.WriteLogInfo("----------该运单号已绑定:" + scanStr + "");
|
||||
scanStr = "当前运单:" + scanStr + "";
|
||||
content = "该运单已绑定请勿重复扫描\r\r";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DataTable skutb = dal.GetSku(scanStr);
|
||||
DataTable OrderDt = dal.GetOrderList_Car("", scanStr, data.Area, data.Block);
|
||||
if (OrderDt != null && OrderDt.Rows.Count > 0)
|
||||
{
|
||||
DataTable dd = dal.getQueueState(data.Block, data.Area, "3");
|
||||
|
||||
if (dd != null && dd.Rows.Count > 0)
|
||||
{
|
||||
content = "商品条码:" + skutb.Rows[0]["sku"].ToString() + "\r名称:" + skutb.Rows[0]["name"].ToString() + "\r";
|
||||
scanStr = "该商品正在作业" + dd.Rows[0]["Sku"].ToString() + ",请勿扫描";
|
||||
LogHelper.WriteLogInfo("该商品正在作业---sku:" + dd.Rows[0]["Sku"].ToString() + "");
|
||||
}
|
||||
else
|
||||
{
|
||||
comBLL.LED_OFF_CLEAR(OrderDt.Rows[0]["controlip"].ToString());
|
||||
|
||||
OrdersQueueModel qmodel = new OrdersQueueModel();
|
||||
qmodel.Taskblock = data.Block;
|
||||
qmodel.Taskarea = data.Area;
|
||||
qmodel.Matchid = OrderDt.Rows[0]["Matchid"].ToString();
|
||||
qmodel.Sku = scanStr;
|
||||
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Green);
|
||||
queueBLL.insertQueueOrders(qmodel);
|
||||
|
||||
#region 扫描sku点亮显示标签
|
||||
DataTable dt = dal.GetSkuQuantity(scanStr, OrderDt.Rows[0]["Matchid"].ToString());
|
||||
var sumqty = dt.Rows[0]["sumqty"].ToString();
|
||||
|
||||
string sizeinfo = string.Empty;
|
||||
if (skutb != null)
|
||||
{
|
||||
double bigqty = 0, midqty = 0, lastqty = 0;
|
||||
double bigsize = 0, midsize = 0;
|
||||
if (skutb.Rows.Count > 0)
|
||||
{
|
||||
bigsize = Convert.ToDouble(skutb.Rows[0]["plumn"].ToString());// 6
|
||||
midsize = Convert.ToDouble(skutb.Rows[0]["spec"].ToString());// 1
|
||||
if (bigsize != 0)
|
||||
{
|
||||
bigqty = (int)Math.Floor(Convert.ToDouble(sumqty) / bigsize);
|
||||
sumqty = (Convert.ToDouble(sumqty) - (bigqty * bigsize)).ToString();
|
||||
}
|
||||
if (midsize != 0)
|
||||
{
|
||||
midqty = (int)Math.Floor(Convert.ToDouble(sumqty) / midsize);
|
||||
sumqty = (Convert.ToDouble(sumqty) - (midqty * midsize)).ToString();
|
||||
}
|
||||
sizeinfo = "筐数:" + bigqty + "包数:" + midqty;
|
||||
}
|
||||
else
|
||||
{
|
||||
sizeinfo = "总数:" + sumqty;
|
||||
}
|
||||
content = "名称:" + skutb.Rows[0]["name"].ToString() + "\r " + sizeinfo + " \r";
|
||||
}
|
||||
#endregion
|
||||
scanStr = "当前商品:" + scanStr + "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (skutb != null && skutb.Rows.Count > 0)
|
||||
{
|
||||
content = "名称:" + skutb.Rows[0]["name"].ToString() + "\r\r";
|
||||
}
|
||||
|
||||
scanStr = "条码:" + scanStr + ",无任务";
|
||||
LogHelper.WriteLogInfo("该条码无任务---条码:" + scanStr + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
ShowMessageModel_M showmodel = new ShowMessageModel_M();
|
||||
showmodel.Area = data.Area;
|
||||
showmodel.Block = data.Block;
|
||||
showmodel.Color = color;
|
||||
showmodel.Islock = true;
|
||||
showmodel.Title = scanStr;
|
||||
showmodel.IsTwinkle = 0;
|
||||
showmodel.Contents = content;
|
||||
showmodel.Type = 2;
|
||||
comBLL.ShowBoxMessage_M(showmodel);//点亮显示标签
|
||||
|
||||
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
|
||||
}
|
||||
@ -781,7 +914,7 @@ namespace Epost.BLL
|
||||
{
|
||||
foreach (AddressstorageModel item in Arealist)
|
||||
{
|
||||
DataTable skudt = orderbll.GetSumList("", scanStr, item.block,item.area);
|
||||
DataTable skudt = orderbll.GetSumList("", scanStr, item.block, item.area);
|
||||
if (skudt != null && skudt.Rows.Count > 0)
|
||||
{
|
||||
//规格
|
||||
@ -828,7 +961,7 @@ namespace Epost.BLL
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@ -876,7 +1009,7 @@ namespace Epost.BLL
|
||||
show.Area = data.Area;
|
||||
show.Type = 8;
|
||||
show.Islock = true;
|
||||
|
||||
|
||||
comBLL.ShowBoxMessage_M(show);
|
||||
#endregion
|
||||
}
|
||||
@ -1087,8 +1220,8 @@ namespace Epost.BLL
|
||||
}
|
||||
if (data != null)
|
||||
{
|
||||
|
||||
show.Contents = data.ScanCode + "(" + scanStr + ")" + "\r"+ mes;
|
||||
|
||||
show.Contents = data.ScanCode + "(" + scanStr + ")" + "\r" + mes;
|
||||
sku = data.Parameter;
|
||||
}
|
||||
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Blue);
|
||||
@ -1245,7 +1378,7 @@ namespace Epost.BLL
|
||||
int discount = Convert.ToInt32(sudt.Rows[0]["discount"].ToString());
|
||||
//整件总数
|
||||
int SumCkQuantity = 0; //Convert.ToInt32(sudt.Rows[0]["SumCkQuantity"].ToString());
|
||||
//散件总数
|
||||
//散件总数
|
||||
int SumQuantity = Convert.ToInt32(sudt.Rows[0]["SumQuantity"].ToString());
|
||||
//if (discount != 1)
|
||||
//{
|
||||
@ -1262,11 +1395,11 @@ namespace Epost.BLL
|
||||
|
||||
if (qdt != null && qdt.Rows.Count > 0)
|
||||
{
|
||||
show.Contents = qdt.Rows[0]["location"].ToString() + "(" + scanStr + ")" + "\r"+ mes;//sudt.Rows[0]["goodscode"].ToString().Replace(';','\r');
|
||||
show.Contents = qdt.Rows[0]["location"].ToString() + "(" + scanStr + ")" + "\r" + mes;//sudt.Rows[0]["goodscode"].ToString().Replace(';','\r');
|
||||
}
|
||||
if (data != null)
|
||||
{
|
||||
show.Contents = data.ScanCode + "(" + scanStr + ")" + "\r"+ mes;// sudt.Rows[0]["goodscode"].ToString().Replace(';', '\r');
|
||||
show.Contents = data.ScanCode + "(" + scanStr + ")" + "\r" + mes;// sudt.Rows[0]["goodscode"].ToString().Replace(';', '\r');
|
||||
sku = data.Parameter;
|
||||
}
|
||||
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Green);
|
||||
|
Reference in New Issue
Block a user