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 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 downlist = new List(); // 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 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 { 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 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系列 /// /// 标签显示器 /// /// 设备地址 /// 控制器IP /// 显示信息 /// 是否锁定1锁定2解锁 /// 颜色 /// 是否转16进制 true 转16进制 /// 是否闪烁 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 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 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.OrderID, jobmo.Quantity, jobmo.Sku, jobmo.ID, checkquaantity, model.UserCode); } else { dal.UpdateWorkState_Car(jobmo.OrderID, jobmo.Quantity, jobmo.Sku, jobmo.ID, checkquaantity, model.UserCode); nowqty = 0; } } } else { foreach (JobModel jobmo in downlist.ToArray()) { dal.UpdateWorkState_Car(jobmo.OrderID, jobmo.Quantity, jobmo.Sku, jobmo.ID, checkquaantity, model.UserCode); } } } else { dal.UpdateWorkState(model.OrderID, 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 list = new List(); 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 { 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 jobList = JobCache.GetPlanJobList(); List clearlist = jobList.FindAll(m => m.Block == sblock && m.Area == sarea); List 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 adlist = new List(); 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 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 { 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 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 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 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 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 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 GetOrderList(string orderid, string block, string sku = "", string area = "", string UserCode = "") { try { List list = new List(); DataTable OrderDt = dal.GetOrderList_Car(orderid, 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 = item["labelcolor"].ToString(); demodel.looklisten = item["looklisten"].ToString(); demodel.labelIP = item["labelIP"].ToString(); demodel.labelno = item["labelno"].ToString(); demodel.genericname = item["genericname"].ToString(); demodel.manufactname = item["manufactname"].ToString(); demodel.batchno = item["batchno"].ToString(); demodel.Spec = item["Spec"].ToString(); 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["orderid"].ToString(), item["sku"].ToString(), item["id"].ToString()); } #endregion } } else { LogHelper.WriteLogInfo("查询无任务================"); OrdersQueueModel qmodel = new OrdersQueueModel(); qmodel.Orderid = orderid; 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; } } public DataTable GetOrderList(string Orderid, string area, string block) { return dal.GetOrderList(Orderid, area, block); } #endregion #region 获取拣货小车待拣货位信息 public List GetLocationInfo(string shelves) { try { List list = new List(); 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 getMatchList(string strwhere) { return dal.getMatchList(strwhere); } #endregion #region 查询波次通道列表 public DataTable getShopBlockList(string matchid) { return dal.getShopBlockList(matchid); } #endregion #region public bool ImportOrderinfo(DataTable ds, Dictionary diclist) { bool bo = false; if (ds != null && ds.Rows.Count > 0) { bo = dal.ImportOrderinfo(ds, diclist); } return bo; } 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(); } #endregion #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 public DataTable GetDataIfRepeat(string transderMid, string transderDid) { return dal.GetDataIfRepeat(transderMid, transderDid); } public bool UpOrdersState(string orderid) { return dal.UpOrdersState(orderid); } #region 校验货位 public DataTable GetlocationInfo(string location) { return dal.GetlocationInfo(location); } #endregion public bool UpOrdersState(string Area,string block) { return dal.UpdateState(Area, block); } public bool IsFinishWorkArea(string block, string usercode = "", string area = "", string sku = "", string shopid = "", string orderid = "") { return dal.IsFinishWorkArea(block,usercode,area,sku,shopid,orderid); } } }