Files
T-DAS/Epost.BLL/OrderBLL.cs
帅凯 贾 c53719f69b
2023-04-17 10:59:39 +08:00

1023 lines
37 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Epost.Common;
using Epost.DAL;
using Epost.DAL.Enum;
using Epost.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using ComposerSDK;
using Epost.DAL.Cache;
using Epost.Model.resource;
using System.Threading;
using System.Configuration;
namespace Epost.BLL
{
public class OrderBLL
{
BoxPickBLL pickBLL = new BoxPickBLL();
OrdersDAL dal = new OrdersDAL();
OrdersQueueBLL queueBLL = new OrdersQueueBLL();
BoxQueueBLL queueboxBLL = new BoxQueueBLL();
CommandDAL comDAL = new CommandDAL();
CommandBLL comBLL = new CommandBLL();
AddressstorageBLL addrBLL = new AddressstorageBLL();
JobModelCacheDAL JobCache = new JobModelCacheDAL();
JobDownCacheDAL downCacheDAL = new JobDownCacheDAL();
LocationCacheDAL LocCacheDAL = new LocationCacheDAL();
UserModelCacheDAL UserCacheDAL = new UserModelCacheDAL();
private static object lockbox = new object();
#region
public void BindBoxCode()
{
lock (lockbox)
{
try
{
//查询待绑定的订单/设备
DataTable qudt = queueboxBLL.getQueuesbyState();
if (qudt != null && qudt.Rows.Count > 0)
{
foreach (DataRow item in qudt.Rows)
{
LabelParamModel model = new LabelParamModel();
string address = item["address"].ToString();
model.Address = address;
model.ControlIP = item["controlip"].ToString();
// model.Parameter = "0100000100030CQ请扫描箱号/托盘号\n\n\n\n\n\n门店编号" + item["shopid"].ToString() + "\n\n\n\n";
model.Parameter = comBLL.GETDISPLAYJOBPAR_CN("01", "001000", "0", "请扫描箱号/托盘号", "", "", "", "", "门店编号:" + item["shopid"].ToString(), "");
comBLL.DISPLAY_JOB_M(model, true, true);
queueboxBLL.UpdateQueueState(item["id"].ToString(), "1");
}
}
//点亮设备
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("绑定箱号异常:" + ex.Message);
}
}
}
#endregion
#region
public DataTable getControlList(int type = 0)
{
return dal.getControlList(type);
}
#endregion
#region
public DataTable getLabelList(string controlid)
{
return dal.getLabelList(controlid);
}
#endregion
#region
public DataTable getLabelList()
{
return dal.getLabelList();
}
#endregion
#region
public DataTable getLightList(string controlid)
{
return dal.getLightList(controlid);
}
#endregion
#region
public DataTable GetArea(string block, string area, string way)
{
return dal.GetArea(block, area, way);
}
#endregion
#region
public bool packOrder(ResultMessageModel data, List<JobModel> job, string block, string area, string type)
{
//将当前任务拆分成两条数据
bool isback = true;
//int truequantity = 0;
//int checkquantity = 0;
//string scanstr = data.Parameter;
//checkquantity = Convert.ToInt32(ConvertHexHelper.ConvertString(scanstr.Substring(scanstr.IndexOf("\n") + 1, 2), 16, 10));
//truequantity = Convert.ToInt32(ConvertHexHelper.ConvertString(scanstr.Substring(scanstr.IndexOf("\t") + 1, 5), 16, 10));
//if (job.Any())
//{
// List<JobModel> downlist = new List<JobModel>();
// JobModel model = job.FirstOrDefault();
// //调整数量出错
// if (truequantity > model.Quantity || checkquantity > model.CheckQuantity)
// {
// isback = false;
// }
// if (isback)
// {
// downlist.Add(model);
// //修改订单状态
// UpdateOrderState_Car(downlist, model, truequantity, checkquantity);
// //拆单
// List<OrdersModel> orlist = dal.getorders(model.BatchId);
// if (orlist.Any())
// {
// OrdersModel ormodel = orlist.FirstOrDefault();
// if (model.Quantity >= truequantity)
// {
// ormodel.quantity = model.Quantity - truequantity;
// }
// if (model.CheckQuantity >= checkquantity)
// {
// ormodel.checkquantity = model.CheckQuantity - checkquantity;
// }
// LogHelper.WriteLogInfo("拆单开始");
// //获取最大的batchid
// DataTable batDt = dal.getordersBatchid((ormodel.batchid).ToString());
// if (batDt != null && batDt.Rows.Count > 0)
// {
// int no = 1;
// string batchid = batDt.Rows[0]["batchid"].ToString();
// if (batchid.Contains("_"))
// {
// int start = batchid.IndexOf("_") + 1;
// int end = batchid.Length - start;
// no = Convert.ToInt32(batchid.Substring(start, end)) + 1;
// batchid = batchid.Substring(0, start - 1);
// }
// ormodel.batchid = batchid + "_" + no.ToString();
// ormodel.lotno = batchid;
// dal.InsertOrder(ormodel);
// }
// else
// {
// LogHelper.WriteLogInfo("查询唯一编号异常!");
// }
// }
// //////
// if (type == "1")//type 1换箱拆单 2缺货拆单
// {
// ChangeBoxModel cgmodel = new ChangeBoxModel();
// cgmodel.Shopid = model.ShopID;
// cgmodel.Address = data.Address;
// cgmodel.Controlip = data.IP;
// CgCache.UpdateBoxList(new List<ChangeBoxModel> { cgmodel }, EChangeboxCommend.Create);//将换箱门店信息存储
// }
// ///////
// }
//}
return isback;
}
#endregion
#region \ type:1 2
public bool ChangeBox(ResultMessageModel data, int type, string block = "", string area = "")
{
bool bo = false;
DataTable dt = queueboxBLL.getOrderqueueByAddr(data.Address, data.IP, "3");
if (type == 1)
{
dt = queueboxBLL.getOrderqueueByAddr(data.Address, data.IP);
}
if (dt != null && dt.Rows.Count > 0)
{
string shopcode = dt.Rows[0]["shopid"].ToString();
List<ResultMessageModel> dnList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Status == "2" && m.Command == "QUERY_SPECIAL_STATUS" && m.Parameter.Contains(shopcode));
string boxcode = string.Empty;//箱号
string traycode = string.Empty;//托盘号
if (dnList.Any())
{
foreach (ResultMessageModel item in dnList)
{
if (item.Parameter.Contains("C"))
{
boxcode = item.Parameter;
}
else if (item.Parameter.Contains("P"))
{
traycode = item.Parameter;
}
}
if (type == 1)
{
bo = queueboxBLL.UpdateBoxCode(dt.Rows[0]["id"].ToString(), boxcode, traycode);
}
string matchid = dt.Rows[0]["matchid"].ToString();
bo = dal.bindBox(boxcode, matchid, shopcode, traycode);
if (bo)
{
if (type == 2)
{
//当前区恢复作业,设备灯亮起
queueBLL.updateOrderQueue(block, area);
}
}
else
{
LogHelper.WriteLogInfo("绑定箱号执行失败!");
}
downCacheDAL.UpdateJobDownModelList(dnList, EdownCommend.Execute);
}
return bo;
}
else
{
return false;
}
}
#endregion
#region
public void REMOVE_JOB(string address, string ip, string no)
{
no = ConvertHexHelper.ConvertString(no, 10, 16).PadLeft(2, '0');
LabelParamModel lb = new LabelParamModel();
lb.Address = address;
lb.Parameter = no;
lb.ControlIP = ip;
comDAL.REMOVE_JOB(lb);
}
#endregion
#region M系列
/// <summary>
/// 标签显示器
/// </summary>
/// <param name="address">设备地址</param>
/// <param name="ip">控制器IP</param>
/// <param name="msg">显示信息</param>
/// <param name="islock">是否锁定1锁定2解锁</param>
/// <param name="color">颜色</param>
/// <param name="isHex">是否转16进制 true 转16进制</param>
/// <param name="isTwinkle">是否闪烁 true闪烁/param>
public void ShowMessage(string address, string ip, string msg, int islock, string color, bool isHex, bool isTwinkle)
{
try
{
string no = ConvertHexHelper.ConvertString("1", 10, 16).PadLeft(2, '0');
LabelParamModel lb = new LabelParamModel();
lb.Address = address;
lb.ControlIP = ip;
string qty = msg;
string lc = "030NQ\n";
if (isTwinkle)
{
lc = "030NQ\n";
}
if (isHex)
{
qty = ConvertHexHelper.ConvertString(msg, 10, 16);
}
lb.Parameter = no + color + lc + qty;
comDAL.DISPLAY_JOB(lb);
if (islock == 1)
{
lb.Parameter = "11111000";
comDAL.LOCK(lb);
}
else if (islock == 2)
{
lb.Parameter = "11111000";
comDAL.UNLOCK(lb);
}
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("点亮标签显示器异常:" + ex.Message);
}
}
#endregion
#region
public void UpdateOrderState(List<JobModel> downlist, JobModel model, int truequantity)
{
// string boxcode = scanList.FirstOrDefault().Parameter;
if (downlist.Count > 1)
{
int nowqty = truequantity;
if (truequantity != downlist.Sum(m => m.Quantity))
{
foreach (JobModel jobmo in downlist.ToArray())
{
if (nowqty > jobmo.Quantity)
{
nowqty = nowqty - jobmo.Quantity;
dal.UpdateWorkState(jobmo.OrderID, jobmo.Quantity, jobmo.Tolocation, jobmo.BatchId);
}
else
{
dal.UpdateWorkState(jobmo.OrderID, nowqty, jobmo.Tolocation, jobmo.BatchId);
nowqty = 0;
}
}
}
else
{
foreach (JobModel jobmo in downlist.ToArray())
{
dal.UpdateWorkState(jobmo.OrderID, jobmo.Quantity, jobmo.Tolocation, jobmo.BatchId);
}
}
}
else
{
dal.UpdateWorkState(model.OrderID, truequantity, model.Tolocation, model.BatchId);
}
}
#endregion
#region
public void UpdateOrderState_Car(List<JobModel> downlist, JobModel model, int truequantity, int checkquaantity = 0)
{
if (downlist.Count > 1)
{
int nowqty = truequantity;
if (truequantity != downlist.Sum(m => m.Quantity))
{
foreach (JobModel jobmo in downlist.ToArray())
{
if (nowqty > jobmo.Quantity)
{
nowqty = nowqty - jobmo.Quantity;
dal.UpdateWorkState_Car(jobmo.Matchid, jobmo.Quantity, jobmo.Sku, jobmo.ID, checkquaantity, model.UserCode);
}
else
{
dal.UpdateWorkState_Car(jobmo.Matchid, jobmo.Quantity, jobmo.Sku, jobmo.ID, checkquaantity, model.UserCode);
nowqty = 0;
}
}
}
else
{
foreach (JobModel jobmo in downlist.ToArray())
{
dal.UpdateWorkState_Car(jobmo.Matchid, jobmo.Quantity, jobmo.Sku, jobmo.ID, checkquaantity, model.UserCode);
}
}
}
else
{
dal.UpdateWorkState_Car(model.Matchid, truequantity, model.Sku, model.ID, checkquaantity, model.UserCode);
}
}
#endregion
#region
public void BindJobByLocation(ResultMessageModel data)
{
try
{
string scanStr = data.Parameter.Trim();
DataTable dt = dal.GetSkuList(scanStr);
List<OrderListModel> list = new List<OrderListModel>();
if (dt != null && dt.Rows.Count > 0)
{
foreach (DataRow item in dt.Rows)
{
OrderListModel model = new OrderListModel();
model.Goodsname = item["goodsname"].ToString();
model.Location = scanStr;
model.Sku = item["sku"].ToString();
model.State = 0;
list.Add(model);
}
LocCacheDAL.ClearScanList();
LocCacheDAL.UpdateLocModelList(list, ELCommend.Create);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
else
{
//无数据
}
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("绑定任务异常:" + ex.Message);
}
}
//换箱
#region
public void changeBox_ClearJOB(string sblock, string sarea, string address, string controlip)
{
//清除当前区任务缓存
string boxcode = string.Empty;
string traycode = string.Empty;
string shopid = string.Empty;
List<JobModel> jobList = JobCache.GetPlanJobList();
List<JobModel> clearlist = jobList.FindAll(m => m.Block == sblock && m.Area == sarea);
List<JobModel> shoplist = jobList.FindAll(m => m.Block == sblock && m.Area == sarea && m.Address == address && m.ControlIP == controlip);
if (shoplist.Any())
{
LogHelper.WriteLogInfo("=====huanxiang");
JobModel shopmodel = shoplist.FirstOrDefault();
boxcode = shopmodel.BoxCode;
traycode = shopmodel.TrayCode;
shopid = shopmodel.ShopID;
}
JobCache.UpdateJobModelList(clearlist, EcommendType.Complete);
//熄灭当前区所有设备
DataTable addt = addrBLL.getAddresslist(sblock, sarea, "1");
List<LabelParamModel> adlist = new List<LabelParamModel>();
if (addt != null && addt.Rows.Count > 0)
{
foreach (DataRow item in addt.Rows)
{
LabelParamModel admodel = new LabelParamModel();
admodel.Address = item["address"].ToString();
admodel.ControlIP = item["controlip"].ToString();
admodel.Parameter = "01";
admodel.Command = "REMOVE_JOB";
admodel.Timeout = "0.5";
adlist.Add(admodel);
}
comBLL.DISPLAY_JOBALL(adlist);
}
//点亮当前货位对应设备提示扫箱号
LabelParamModel model = new LabelParamModel();
model.Address = address;
model.ControlIP = controlip;
// model.Parameter = "0700000100330CQ请扫描箱号!\n\n\n\n\n\n\n\n\n\n";
model.Parameter = comBLL.GETDISPLAYJOBPAR_CN("07", "000100", "3", "请扫描箱号!", "", "", "", "", "门店号:" + shopid + "\r箱 号:" + boxcode + "\r托盘号:" + traycode, "");
comBLL.DISPLAY_JOB_M(model, true, true);
}
#endregion
#region
public void changeNumErr(string address, string controlip)
{
//点亮当前货位对应设备提示扫箱号
LabelParamModel model = new LabelParamModel();
model.Address = address;
model.ControlIP = controlip;
model.Parameter = comBLL.GETDISPLAYJOBPAR_CN("05", "000100", "3", "修改数量超出需求数量!", "", "", "", "", "", "");
comBLL.DISPLAY_JOB_M(model, true, false);
}
#endregion
#region
public void displayJob_err(string address, string controlip, JobModel job)
{
LabelParamModel lamodel = new LabelParamModel();
lamodel.Address = address;
lamodel.ControlIP = controlip;
lamodel.Command = "DISPLAY_JOB";
string qty = ConvertHexHelper.ConvertString(job.Quantity.ToString(), 10, 16); //拣货数量
string CheckQuantity = ConvertHexHelper.ConvertString(job.CheckQuantity.ToString(), 10, 16); //拣货数量
// lamodel.Parameter = "01" + EnumHelper.EMToDescriptionString(LightColor.Color.Green) + "030NQ" +item.Zone +"\n" + qty;
//lamodel.Parameter = "0100" + queueDT.Rows[0]["lightcolor"].ToString() + "030CQ" + item.GoodsName + "\n\n" + CheckQuantity + "\n" + item.WholeUnit + "\n" + qty + "\n" + item.Unit + "\n" + item.Sku + "\n\n\n\n";
lamodel.Parameter = comBLL.GETDISPLAYJOBPAR_CN("01", job.ColorCode, "0", job.GoodsName, CheckQuantity, job.WholeUnit, qty, job.Unit, job.Sku, job.UserCode);//item.UserCode
comBLL.DISPLAY_JOB_M(lamodel, true, false);
}
#endregion
public void BindJobListBySku(string sku)
{
try
{
List<OrderListModel> dnList = LocCacheDAL.GetLocationList().FindAll(m => m.State == 0 && m.Sku == sku);
if (dnList.Any())
{
OrderListModel data = dnList.FirstOrDefault();
string lockation = data.Location;
bool bo = bindOrder(lockation, sku);
if (bo)
{
LocCacheDAL.UpdateLocModelList(new List<OrderListModel> { data }, ELCommend.Update);
}
}
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("绑定任务异常:" + ex.Message);
}
}
public bool bindOrder(string sku, string block, string matchid = "", string usercode = "", string area = "", int sort = 0, string lightColor = "010000")
{
// 加入拣货队列
OrdersQueueModel unmodel = new OrdersQueueModel();
unmodel.Sku = sku;
unmodel.Location = "";
unmodel.Taskarea = area;
unmodel.Taskblock = block;
unmodel.State = 0;
unmodel.Matchid = matchid;
unmodel.UserCode = usercode;
unmodel.Sort = sort;
unmodel.Lightcolor = lightColor;
bool qubo = queueBLL.insertQueueOrders(unmodel);
return qubo;
}
public void bindShop(string shopcode, string usercode, List<ResultMessageModel> list, ResultMessageModel data)
{
// 加入拣货队列
OrdersQueueModel unmodel = new OrdersQueueModel();
unmodel.Shopid = shopcode;
unmodel.Taskarea = "1";
unmodel.Taskblock = "1";
unmodel.State = 0;
unmodel.UserCode = usercode;
bool qubo = queueBLL.insertQueueOrders(unmodel);
if (qubo)
{
if (!string.IsNullOrEmpty(usercode))
{//清除工号条码
LogHelper.WriteLogInfo("清除工号条码:" + usercode + "--------------------");
UserCacheDAL.ClearUserCodeList();
}
////任务缓存
//List<JobModel> joblist = GetOrderList(shopcode);
//修改箱条码状态
//data.Port = shopcode;
list.Add(data);
downCacheDAL.UpdateJobDownModelList(list, EdownCommend.Update);
//修改数据表箱条码状态
pickBLL.UpdateBoxPick(shopcode);
}
}
#endregion
#region
public string getOrderArea(string block, string sku)
{
return dal.getOrderArea(block, sku);
}
#endregion
#region
public DataTable getArea(string address, string ip)
{
return dal.getArea(address, ip);
}
#endregion
#region
public void ClearLight(string block)
{
DataTable addrDt = addrBLL.getAddressByBlock(block.PadLeft(2, '0'));
if (addrDt != null && addrDt.Rows.Count > 0)
{
foreach (DataRow dr in addrDt.Rows)
{
LabelParamModel labelModel = new LabelParamModel();
labelModel.ControlIP = dr["ControlIP"].ToString();
labelModel.Address = dr["Address"].ToString();
labelModel.Parameter = "01";
comDAL.REMOVE_JOB(labelModel);
}
}
}
#endregion
#region
public void HangupOrder(string block, ResultMessageModel data)
{
List<JobModel> jobList = JobCache.GetPlanJobList();
if (string.IsNullOrEmpty(block))
{
DataTable blockDt = addrBLL.getBlock(data.Address, "2", data.IP);
if (blockDt != null && blockDt.Rows.Count > 0)
{
block = blockDt.Rows[0]["Block"].ToString();
}
}
LogHelper.WriteLogInfo("取消作业-----------------------------------------------");
//取消当前作业订单
List<JobModel> canceljob = jobList.FindAll(m => m.State == 1 && m.Block == block);
#region
ClearLight(block);
#endregion
#region
if (canceljob != null && canceljob.Count > 0)
{
JobModel model = canceljob.FirstOrDefault();
List<JobModel> list = jobList.FindAll(m => m.OrderID == model.OrderID);
foreach (JobModel item in list)
{
LabelParamModel labelModel = new LabelParamModel();
labelModel.ControlIP = item.ControlIP;
labelModel.Address = item.Address;
labelModel.Parameter = "01";
comDAL.REMOVE_JOB(labelModel);
}
dal.UpOrderState(model.OrderID);
JobCache.UpdateJobModelList(list, EcommendType.Complete);
}
#endregion
}
#endregion
#region
public bool DelOrder(string orderid)
{
//bool t = dal.DelOrder(orderid);
//return t;
return true;
}
#endregion
#region
public bool UpOrderstate()
{
try
{
return dal.UpOrderstate();
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("修改订单为未开始" + ex.Message);
return false;
}
}
#endregion
#region
//public DataTable GetOrderList_Car(string sku)
//{
// return dal.GetOrderList_Car(sku);
//}
#endregion
#region
public List<JobModel> GetOrderList(string matchid, string block, string sku = "", string area = "", string UserCode = "")
{
try
{
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_Car(matchid, sku, area, block);
// isecho = true;
//}
if (OrderDt != null && OrderDt.Rows.Count > 0)
{
string usercode = string.Empty;
string lightcolor = string.Empty;
DataTable udt = dal.GetOrderUseerXCode(matchid, sku, area, block);
if (udt != null && udt.Rows.Count > 0)
{
usercode = udt.Rows[0]["usercode"].ToString();
lightcolor = udt.Rows[0]["lightcolor"].ToString();
}
if (string.IsNullOrEmpty(lightcolor))
{
lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
}
foreach (DataRow item in OrderDt.Rows)
{
#region
JobModel demodel = new JobModel();
demodel.OrderID = item["orderid"].ToString();
demodel.BatchId = item["BatchId"].ToString();
demodel.ID = item["ID"].ToString();
demodel.GoodsName = item["GoodsName"].ToString();
demodel.Quantity = Convert.ToInt32(item["Quantity"].ToString());
demodel.Sku = item["Sku"].ToString();
demodel.Tolocation = item["Tolocation"].ToString();
demodel.Matchid = item["Matchid"].ToString();
demodel.ShopID = item["shopid"].ToString();
demodel.Discount = item["Discount"].ToString();
demodel.Unit = item["Unit"].ToString();
//demodel.TrayCode = item["bkbarcode"].ToString();
#region
demodel.Block = item["Block"].ToString();
demodel.Area = item["Area"].ToString();
demodel.Address = item["address"].ToString();
demodel.UserCode = usercode;
demodel.ColorCode = lightcolor;
demodel.Bkaddress = "0";
demodel.Addresstype = "1";
demodel.ControlID = "";
demodel.ControlIP = item["ControlIP"].ToString();
//demodel.Layer = item["Layer"].ToString();
//demodel.Slist = item["Slist"].ToString();
//demodel.Zone = item["zone"].ToString();
//demodel.TaskType =Convert.ToInt32(item["tasktype"].ToString());
#endregion
demodel.State = 0;
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);
//}
list.Add(demodel);
if (!isecho) {
//修改数据为已读
dal.UpOrder_Car(item["Matchid"].ToString(), item["sku"].ToString(), item["id"].ToString());
}
#endregion
}
}
else
{
LogHelper.WriteLogInfo("查询无任务================");
OrdersQueueModel qmodel = new OrdersQueueModel();
qmodel.Sku = sku;
qmodel.Matchid = matchid;
qmodel.UserCode = UserCode;
qmodel.Taskblock = block;
qmodel.Taskarea = area;
qmodel.State = 3;
queueBLL.UpdateQueueTaskArea_Car(qmodel);
}
#region
JobCache.UpdateJobModelList(list, EcommendType.Create);
#endregion
return list;
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("获取订单信息:" + ex.Message);
return null;
}
}
#endregion
#region
public List<LocationModel> GetLocationInfo(string shelves)
{
try
{
List<LocationModel> list = new List<LocationModel>();
DataTable dt = dal.GetLocationInfo(shelves);
if (dt != null && dt.Rows.Count > 0)
{
foreach (DataRow item in dt.Rows)
{
LocationModel model = new LocationModel();
model.Location = item["tolocation"].ToString();
model.Count = dt.Rows.Count;
model.Goodsname = item["Goodsname"].ToString();
list.Add(model);
}
}
return list;
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("获取拣货小车待拣货位信息:" + ex.Message);
return null;
}
}
#endregion
#region
public void Light_OFF(string block, string area, string way)
{
DataTable dtlist = GetArea(block, area, way);
if (dtlist != null && dtlist.Rows.Count > 0)
{
foreach (DataRow lig in dtlist.Rows)
{
string contrlIp = lig["controlIp"].ToString();
string addr = lig["address"].ToString();
string addresstype = ConvertHexHelper.ConvertString(lig["addresstype"].ToString(), 10, 16).PadLeft(2, '0');
if (!string.IsNullOrEmpty(addr))
{
LabelParamModel lb = new LabelParamModel();
lb.Address = addr;
lb.Parameter = addresstype + "0";
lb.ControlIP = contrlIp;
comDAL.DISPLAY_LIGHT(lb);
}
}
}
}
#endregion
#region
public bool UpdateOrderstate(string orderid)
{
return dal.UpdateOrderstate(orderid);
}
#endregion
#region
public bool getMatchWork(string matchid)
{
return dal.getMatchWork(matchid);
}
#endregion
#region
public bool Updatestate(string matchid,string readdate)
{
return dal.Updatestate(matchid,readdate);
}
#endregion
#region
public List<MatchModel> getMatchList(string strwhere)
{
return dal.getMatchList(strwhere);
}
#endregion
#region
public DataTable getShopBlockList(string matchid)
{
return dal.getShopBlockList(matchid);
}
#endregion
public DataTable GetMatchOrderList()
{
return dal.GetMatchOrderList();
}
public DataTable GetAreaByMatch(string matchid, string block)
{
return dal.GetAreaByMatch(matchid, block);
}
public DataTable GetMatchSumList(string matchid, string block)
{
return dal.GetMatchSumList(matchid, block);
}
public bool isTask(string block, string area)
{
return dal.isTask(block, area);
}
public string GetGoodsname(string sku)
{
return dal.GetGoodsname(sku);
}
public DataTable GetSumList(string matchid, string sku, string block = "", string area = "")
{
return dal.GetSumList(matchid, sku, block, area);
}
public DataTable GetSumList_Echo(string matchid, string sku, string block, string area = "")
{
return dal.GetSumList_Echo(matchid, sku, block, area);
}
//查询sku对应的所有任务
public DataTable getOrderListBysku(string block, string sku)
{
return dal.getOrderListBysku(block, sku);
}
public bool UpOrderStateBybat(string batchid)
{
return dal.UpOrderStateBybat(batchid);
}
public bool IsFinishWorkByCar(int endcount, string matchid, string block="")
{
return dal.IsFinishWorkByCar(endcount, matchid, block);
}
public bool UpdateStateByCar(string matchid, string block = "", string sku = "")
{
return dal.UpdateStateByCar(matchid, block, sku);
}
public bool IsFinishWork(int endcount, string block, string usercode = "", string area = "", string sku = "", string shopid = "", string matchid = "")
{
return dal.IsFinishWork(endcount, block, usercode, area, sku, shopid, matchid);
}
public DataTable GetMatchOrder()
{
return dal.GetMatchOrder();
}
#region
public DataTable GetOrderList_Car(string matchid, string sku, string sarea, string sblock)
{
return dal.GetOrderList_Car(matchid, sku, sarea, sblock);
}
#endregion
#region
public DataTable GetOrderList_echo(string matchid, string sku, string sarea, string sblock)
{
return dal.GetOrderList_echo(matchid, sku, sarea, sblock);
}
#endregion
}
}