27 Commits

Author SHA1 Message Date
jl
6877cd31ea 2025-06-27 10:19:12 +08:00
jl
60517d6f9b 2025-06-26 16:33:20 +08:00
jl
7a359923d9 2025-06-26 10:21:15 +08:00
jl
7ef2bbeb19 2025-06-24 15:46:02 +08:00
jl
618028296e 2025-06-24 10:22:38 +08:00
jl
ede9a6bedc 2025-06-23 17:00:09 +08:00
jl
7d4c441da4 2025-06-20 11:06:30 +08:00
jl
0d861d7161 2025-06-19 16:50:57 +08:00
jl
67ec46d1da 2025-06-16 10:32:02 +08:00
jl
efe75a69d2 2025-06-10 14:07:58 +08:00
jl
e923301596 2025-06-09 14:59:19 +08:00
jl
285bae186b 2025-06-03 16:27:19 +08:00
jl
af5cde8e46 2025-01-16 16:23:04 +08:00
jl
adab2c3392 2024-12-21 18:38:51 +08:00
jl
bad533bcc1 2024-12-12 10:34:24 +08:00
jl
af2bdf2adc 2024-12-09 15:51:03 +08:00
jl
8f5d9ffbd3 2024-12-09 13:16:59 +08:00
jl
122c2cb3bc 2024-12-06 14:13:52 +08:00
jl
102cc71af5 2024-12-04 09:58:23 +08:00
jl
f4b525c564 2024-11-29 11:19:47 +08:00
jl
0f7cc10d25 2024-11-28 10:51:15 +08:00
jl
5ac2c1b77c 2024-11-27 15:44:15 +08:00
jl
a934f48c74 2024-11-25 11:00:16 +08:00
jl
7f5e4fcc3f 2024-11-20 14:49:56 +08:00
jl
2219cae500 2024-11-08 11:54:40 +08:00
jl
7c1ab8ce69 2024-09-05 13:36:12 +08:00
jl
d5e45f63b4 2024-09-02 16:42:28 +08:00
26 changed files with 1115 additions and 795 deletions

View File

@ -146,13 +146,16 @@ namespace Epost.BLL
#endregion #endregion
#region #region
public DataTable getLabelList(string controlid,string batchno)
{
return dal.getLabelList(controlid, batchno);
}
public DataTable getLabelList(string controlid) public DataTable getLabelList(string controlid)
{ {
return dal.getLabelList(controlid); return dal.getLabelList(controlid);
} }
#endregion #endregion
#region #region
public DataTable getAddressList() public DataTable getAddressList()
{ {

View File

@ -27,7 +27,7 @@ namespace Epost.BLL
string IP = ConfigurationManager.AppSettings["WebAPIUrl"]; string IP = ConfigurationManager.AppSettings["WebAPIUrl"];
#region #region
public ResultModel Initialization_M(bool isback = true) public ResultModel Initialization_T(bool isback = true)
{ {
ResultModel resultModel = new ResultModel(); ResultModel resultModel = new ResultModel();
List<LabelParamModel> list = new List<LabelParamModel>(); List<LabelParamModel> list = new List<LabelParamModel>();
@ -60,6 +60,12 @@ namespace Epost.BLL
model.Command = "UNLOCK"; model.Command = "UNLOCK";
model.Timeout = "0.5"; model.Timeout = "0.5";
list.Add(model); list.Add(model);
model = new LabelParamModel();
model.ControlIP = item["ControlIP"].ToString();
model.Address = "9999";
model.Command = "LED_OFF";
model.Timeout = "0.5";
list.Add(model);
} }
if (list.Any()) if (list.Any())
@ -84,7 +90,7 @@ namespace Epost.BLL
#endregion #endregion
#region #region
public ResultModel GetAllLabelList_M() public ResultModel GetAllLabelList_M(string batchno)
{ {
ResultModel model = new ResultModel(); ResultModel model = new ResultModel();
try try
@ -96,11 +102,13 @@ namespace Epost.BLL
{ {
foreach (DataRow item in dt.Rows) foreach (DataRow item in dt.Rows)
{ {
DataTable lableDt = addrBLL.getLabelList(item["id"].ToString()); DataTable lableDt = addrBLL.getLabelList(item["id"].ToString(), batchno);
// DataTable lableDt = addrBLL.getLabelList(item["id"].ToString());
if (lableDt != null && lableDt.Rows.Count > 0) if (lableDt != null && lableDt.Rows.Count > 0)
{ {
foreach (DataRow labelItem in lableDt.Rows) foreach (DataRow labelItem in lableDt.Rows)
{ {
string shopid = labelItem["address"].ToString();
if (labelItem["addresstype"].ToString() == "2") if (labelItem["addresstype"].ToString() == "2")
{ {
LabelParamModel CNlablemodel = new LabelParamModel(); LabelParamModel CNlablemodel = new LabelParamModel();
@ -116,13 +124,26 @@ namespace Epost.BLL
else else
{ {
LabelParamModel lablemodel = new LabelParamModel(); LabelParamModel lablemodel = new LabelParamModel();
if (!string.IsNullOrEmpty(labelItem["shopid"].ToString()))
{
shopid = labelItem["shopid"].ToString();
if (shopid.Length > 3)
{
shopid = shopid.Substring(shopid.Length - 3, 3);
lablemodel.Quantity = shopid;
lablemodel.Mode = "50";
}
}
else {
lablemodel.Quantity = shopid;
lablemodel.Mode = "10";
}
lablemodel.Address = labelItem["address"].ToString(); lablemodel.Address = labelItem["address"].ToString();
lablemodel.ControlIP = item["ControlIP"].ToString(); lablemodel.ControlIP = item["ControlIP"].ToString();
lablemodel.Command = "DISPLAY_JOB"; lablemodel.Command = "DISPLAY_JOB";
lablemodel.Type = "N"; lablemodel.Type = "N";
lablemodel.Quantity = labelItem["address"].ToString(); lablemodel.Uid = labelItem["address"].ToString();
lablemodel.Uid = labelItem["address"].ToString();
lablemodel.Mode = "10";
list.Add(lablemodel); list.Add(lablemodel);
} }
@ -179,6 +200,12 @@ namespace Epost.BLL
} }
#endregion #endregion
#region
public bool FORMAT_DEVICE(LabelParamModel model)
{
return dal.FORMAT_DEVICE(model);
}
#endregion
#region #region
public bool CONNECT(LabelParamModel model) public bool CONNECT(LabelParamModel model)
{ {
@ -232,7 +259,7 @@ namespace Epost.BLL
LabelParamModel lockModel = new LabelParamModel(); LabelParamModel lockModel = new LabelParamModel();
lockModel.Address = model.Address; lockModel.Address = model.Address;
lockModel.ControlIP = model.ControlIP; lockModel.ControlIP = model.ControlIP;
lockModel.Parameter = "11101000"; lockModel.Parameter = "11111000";
lockModel.Command = "LOCK"; lockModel.Command = "LOCK";
lockModel.Timeout = "0.5"; lockModel.Timeout = "0.5";
lockModel.Type = model.Type; lockModel.Type = model.Type;
@ -244,7 +271,7 @@ namespace Epost.BLL
LabelParamModel lockModel = new LabelParamModel(); LabelParamModel lockModel = new LabelParamModel();
lockModel.Address = model.Address; lockModel.Address = model.Address;
lockModel.ControlIP = model.ControlIP; lockModel.ControlIP = model.ControlIP;
lockModel.Parameter = "00011000"; lockModel.Parameter = "11111000";
lockModel.Command = "UNLOCK"; lockModel.Command = "UNLOCK";
lockModel.Timeout = "0.5"; lockModel.Timeout = "0.5";
lockModel.Type = model.Type; lockModel.Type = model.Type;
@ -346,6 +373,8 @@ namespace Epost.BLL
clearModel.Parameter = "1"; clearModel.Parameter = "1";
clearModel.Command = "LED_OFF"; clearModel.Command = "LED_OFF";
clearModel.Timeout = "0.5"; clearModel.Timeout = "0.5";
clearModel.Uid = "C"+item.Address;
clearModel.Type = "N";
list.Add(clearModel); list.Add(clearModel);
} }
@ -432,6 +461,7 @@ namespace Epost.BLL
LabelParamModel model = new LabelParamModel(); LabelParamModel model = new LabelParamModel();
model.ControlIP = item["ControlIP"].ToString(); model.ControlIP = item["ControlIP"].ToString();
FORMATE_JOB_DATA(model); FORMATE_JOB_DATA(model);
LED_OFF_CLEAR(item["ControlIP"].ToString());
} }
@ -485,7 +515,7 @@ namespace Epost.BLL
model.ControlIP = item.ControlIP; model.ControlIP = item.ControlIP;
model.Address = item.Address; model.Address = item.Address;
model.Command = "REMOVE_JOB"; model.Command = "REMOVE_JOB";
model.Uid = item.ID; model.Uid = "U" + item.ID;
model.Type = "N"; model.Type = "N";
list.Add(model); list.Add(model);
LabelParamModel Unlockmodel = new LabelParamModel(); LabelParamModel Unlockmodel = new LabelParamModel();
@ -638,7 +668,15 @@ namespace Epost.BLL
LabelParamModel model = new LabelParamModel(); LabelParamModel model = new LabelParamModel();
model.Address = addritem["address"].ToString(); model.Address = addritem["address"].ToString();
model.ControlIP = addritem["controlip"].ToString(); model.ControlIP = addritem["controlip"].ToString();
model.Parameter =show.No; model.Parameter =show.No;
model.Uid = show.Uid;
if (string.IsNullOrEmpty(show.Uid))
{ model.Uid = addritem["address"].ToString(); }
model.Type = "N";
if (addritem["addresstype"].ToString() == "2")
{
model.Type = "C";
}
model.Command = "REMOVE_JOB"; model.Command = "REMOVE_JOB";
model.Timeout = "0.5"; model.Timeout = "0.5";
list.Add(model); list.Add(model);

View File

@ -117,6 +117,7 @@
<Compile Include="WmsTaskBLL.cs" /> <Compile Include="WmsTaskBLL.cs" />
<Compile Include="Work_DisplayJobThread.cs" /> <Compile Include="Work_DisplayJobThread.cs" />
<Compile Include="Work_JobDownThread.cs" /> <Compile Include="Work_JobDownThread.cs" />
<Compile Include="Work_ScanThread.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Common\Epost.Common.csproj"> <ProjectReference Include="..\Common\Epost.Common.csproj">

View File

@ -689,12 +689,12 @@ namespace Epost.BLL
{ {
string usercode = string.Empty; string usercode = string.Empty;
string lightcolor = string.Empty; string lightcolor = string.Empty;
DataTable udt = dal.GetOrderUseerXCode(matchid, sku, area, block); //DataTable udt = dal.GetOrderUseerXCode(matchid, sku, area, block);
if (udt != null && udt.Rows.Count > 0) //if (udt != null && udt.Rows.Count > 0)
{ //{
usercode = udt.Rows[0]["usercode"].ToString(); // usercode = udt.Rows[0]["usercode"].ToString();
lightcolor = udt.Rows[0]["lightcolor"].ToString(); // lightcolor = udt.Rows[0]["lightcolor"].ToString();
} //}
if (string.IsNullOrEmpty(lightcolor)) if (string.IsNullOrEmpty(lightcolor))
{ {
lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Red); lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
@ -707,7 +707,7 @@ namespace Epost.BLL
demodel.BatchId = item["BatchId"].ToString(); demodel.BatchId = item["BatchId"].ToString();
demodel.ID = item["ID"].ToString(); demodel.ID = item["ID"].ToString();
demodel.GoodsName = item["GoodsName"].ToString(); demodel.GoodsName = item["GoodsName"].ToString();
demodel.GoodsType = item["GoodsType"].ToString();
demodel.Quantity = Convert.ToInt32(item["Quantity"].ToString()); demodel.Quantity = Convert.ToInt32(item["Quantity"].ToString());
demodel.CheckQuantity = Convert.ToInt32(item["CheckQuantity"].ToString()); demodel.CheckQuantity = Convert.ToInt32(item["CheckQuantity"].ToString());
demodel.Sku = item["Sku"].ToString(); demodel.Sku = item["Sku"].ToString();
@ -715,13 +715,11 @@ namespace Epost.BLL
demodel.Matchid = item["Matchid"].ToString(); demodel.Matchid = item["Matchid"].ToString();
demodel.ShopID = item["shopid"].ToString(); demodel.ShopID = item["shopid"].ToString();
demodel.BoxCode = item["boxcode"].ToString(); demodel.BoxCode = item["boxcode"].ToString();
demodel.LotNo = item["LotNo"].ToString();
demodel.Discount = item["Discount"].ToString(); demodel.Discount = item["Discount"].ToString();
demodel.ProdArea = item["ProdArea"].ToString();
demodel.ColorCode = item["corlorcode"].ToString();
demodel.WholeUnit = item["WholeUnit"].ToString(); demodel.WholeUnit = item["WholeUnit"].ToString();
demodel.Unit = item["Unit"].ToString(); demodel.Unit = item["Unit"].ToString();
demodel.TrayCode = item["bkbarcode"].ToString(); demodel.Readtime = item["readtime"].ToString();
#region #region
demodel.Block = item["Block"].ToString(); demodel.Block = item["Block"].ToString();
demodel.Area = item["Area"].ToString(); demodel.Area = item["Area"].ToString();
@ -914,39 +912,51 @@ namespace Epost.BLL
{ {
return dal.GetSumList(matchid, sku, block, area); return dal.GetSumList(matchid, sku, block, area);
} }
public DataTable GetSumList_Echo(string matchid, string sku, string block, string area = "") public DataTable GetSumList_Echo(string matchid, string sku, string block, string area = "")
{ {
return dal.GetSumList_Echo(matchid, sku, block, area); return dal.GetSumList_Echo(matchid, sku, block, area);
} }
//查询sku对应的所有任务 //查询sku对应的所有任务
public DataTable getOrderListBysku(string block, string sku) public DataTable getOrderListBysku(string block, string sku,string area, string matchid)
{ {
return dal.getOrderListBysku(block, sku); return dal.getOrderListBysku(block, sku,area,matchid);
} }
public DataTable getOrderHisListBysku(string block, string sku, string area,string matchid)
public bool UpOrderStateBybat(string batchid)
{ {
return dal.UpOrderStateBybat(batchid); return dal.getOrderHisListBysku(block, sku, area, matchid);
} }
public bool UpOrderStateBybat(string id)
{
return dal.UpOrderStateBybat(id);
}
public bool UpdateStateBymatchid(string matchid)
{
return dal.UpdateStateBymatchid(matchid);
}
public bool IsFinishWorkByCar(int endcount, string matchid, string block="") public bool IsFinishWorkByCar(int endcount, string matchid, string block="")
{ {
return dal.IsFinishWorkByCar(endcount, matchid, block); return dal.IsFinishWorkByCar(endcount, matchid, block);
} }
public bool UpdateStateByCar(string matchid, string block = "", string sku = "") public bool UpdateStateByCar(string matchid, string sku = "")
{ {
return dal.UpdateStateByCar(matchid, block, sku); return dal.UpdateStateByCar(matchid, sku);
} }
public bool IsFinishWork(int endcount, string block, string usercode = "", string area = "", string sku = "", string shopid = "", string matchid = "") 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); return dal.IsFinishWork(endcount, block, usercode, area, sku, shopid, matchid);
} }
public bool IsSkuFinishWork(string sku, string matchid)
{
return dal.IsSkuFinishWork(sku, matchid);
}
public DataTable GetMatchOrder() public DataTable GetMatchOrder()
{ {
return dal.GetMatchOrder(); return dal.GetMatchOrder();

View File

@ -48,8 +48,8 @@ namespace Epost.BLL
orderbll.UpOrderstate(); orderbll.UpOrderstate();
UserCacheDAL.ClearUserCodeList(); UserCacheDAL.ClearUserCodeList();
boxcache.ClearBoxList(); boxcache.ClearBoxList();
ResultModel resultModel = comBLL.Initialization_M(); ResultModel resultModel = comBLL.Initialization_T();
GetOrderQueue(); //加载任务显示器信息 // GetOrderQueue(); //加载任务显示器信息
return resultModel; return resultModel;
} }
@ -81,6 +81,8 @@ namespace Epost.BLL
downthread.tblock = "01|01"; downthread.tblock = "01|01";
Work_DisplayJobThread jobthread = new Work_DisplayJobThread(); Work_DisplayJobThread jobthread = new Work_DisplayJobThread();
jobthread.tblock = "01|01"; jobthread.tblock = "01|01";
Work_ScanThread scantherad = new Work_ScanThread();
scantherad.tblock = "01|01";
foreach (AddressstorageModel item in Arealist) foreach (AddressstorageModel item in Arealist)
{ {
string block = item.block + "|" + item.shelfid; string block = item.block + "|" + item.shelfid;
@ -98,6 +100,13 @@ namespace Epost.BLL
downthread.OrisShow = OrisShow; downthread.OrisShow = OrisShow;
Thread thread = new Thread(new ThreadStart(downthread.Work)); Thread thread = new Thread(new ThreadStart(downthread.Work));
thread.Start(); thread.Start();
scantherad = new Work_ScanThread();
scantherad.id = block;
scantherad.tblock = block;
scantherad.OrisShow = OrisShow;
Thread scanthread = new Thread(new ThreadStart(scantherad.ScanList));
scanthread.Start();
} }
} }
} }
@ -110,10 +119,10 @@ namespace Epost.BLL
#region #region
public ResultModel TestStart() public ResultModel TestStart(string batchno)
{ {
ResultModel result = comBLL.GetAllLabelList_M(); ResultModel result = comBLL.GetAllLabelList_M(batchno);
return result; return result;
} }
@ -157,125 +166,125 @@ namespace Epost.BLL
#endregion #endregion
#region #region
public void GetOrderQueue() //public void GetOrderQueue()
{ //{
DataTable dt = queueBLL.getQueueOrderStateList(); // DataTable dt = queueBLL.getQueueOrderStateList();
if (dt != null && dt.Rows.Count > 0) // if (dt != null && dt.Rows.Count > 0)
{ // {
foreach (DataRow item in dt.Rows) // foreach (DataRow item in dt.Rows)
{ // {
if (item["lightcolor"].ToString() == EnumHelper.EMToDescriptionString(LightColor.Color.Blue)) // if (item["lightcolor"].ToString() == EnumHelper.EMToDescriptionString(LightColor.Color.Blue))
{ // {
Mes_Echo(item["sku"].ToString(), item["taskblock"].ToString(), item["taskarea"].ToString(), 1, null, "", item["matchid"].ToString()); // Mes_Echo(item["sku"].ToString(), item["taskblock"].ToString(), item["taskarea"].ToString(), 1, null, "", item["matchid"].ToString());
} // }
else // else
{ // {
showSummaryMes(item["sku"].ToString(), item["taskblock"].ToString(), item["taskarea"].ToString(), 1, null, "", item["matchid"].ToString()); // showSummaryMes(item["sku"].ToString(), item["taskblock"].ToString(), item["taskarea"].ToString(), 1, null, "", item["matchid"].ToString());
} // }
} // }
} // }
} //}
#endregion #endregion
#region //#region 复核显
public void Mes_Echo(string scanStr, string sblock, string sarea, int type, ResultMessageModel data = null, string location = "", string matchid = "", bool islock = true) //public void Mes_Echo(string scanStr, string sblock, string sarea, int type, ResultMessageModel data = null, string location = "", string matchid = "", bool islock = true)
{ //{
DataTable sudt = orderbll.GetSumList_Echo("", scanStr, sblock); // DataTable sudt = orderbll.GetSumList_Echo("", scanStr, sblock);
if (type == 2) // if (type == 2)
{ // {
sudt = orderbll.GetSumList_Echo("", scanStr, sblock, sarea); // sudt = orderbll.GetSumList_Echo("", scanStr, sblock, sarea);
} // }
//查询当前区任务队列 // //查询当前区任务队列
DataTable qdt = queueBLL.getQueuesOrderbyState(sblock, sarea, "1"); // DataTable qdt = queueBLL.getQueuesOrderbyState(sblock, sarea, "1");
if (sudt != null && sudt.Rows.Count > 0) // if (sudt != null && sudt.Rows.Count > 0)
{ // {
matchid = sudt.Rows[0]["matchid"].ToString(); // matchid = sudt.Rows[0]["matchid"].ToString();
string sku = string.Empty; // string sku = string.Empty;
string qty = string.Empty; // string qty = string.Empty;
string color = string.Empty; // string color = string.Empty;
if (qdt != null && qdt.Rows.Count > 0) // if (qdt != null && qdt.Rows.Count > 0)
{ // {
sku = qdt.Rows[0]["sku"].ToString(); // sku = qdt.Rows[0]["sku"].ToString();
qty = sudt.Rows[0]["SumQuantity"].ToString(); // qty = sudt.Rows[0]["SumQuantity"].ToString();
color = qdt.Rows[0]["LightColor"].ToString(); // color = qdt.Rows[0]["LightColor"].ToString();
} // }
//规格 // //规格
// int discount = Convert.ToInt32(sudt.Rows[0]["discount"].ToString()); // // int discount = Convert.ToInt32(sudt.Rows[0]["discount"].ToString());
//整件总数 // //整件总数
int SumCkQuantity = 0;// Convert.ToInt32(sudt.Rows[0]["SumCkQuantity"].ToString()); // int SumCkQuantity = 0;// Convert.ToInt32(sudt.Rows[0]["SumCkQuantity"].ToString());
//散件总数 // //散件总数
int SumQuantity = Convert.ToInt32(sudt.Rows[0]["SumQuantity"].ToString()); // int SumQuantity = Convert.ToInt32(sudt.Rows[0]["SumQuantity"].ToString());
//if (discount != 1) // //if (discount != 1)
//{ // //{
// if (SumQuantity >= discount) // // if (SumQuantity >= discount)
// { // // {
// SumCkQuantity = SumQuantity / discount; // // SumCkQuantity = SumQuantity / discount;
// SumQuantity = SumQuantity % discount; // // SumQuantity = SumQuantity % discount;
// } // // }
//} // //}
ShowMessageModel_M show = new ShowMessageModel_M(); // ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = sudt.Rows[0]["goodsname"].ToString(); // show.Title = sudt.Rows[0]["goodsname"].ToString();
string mes = "复核显示"; // string mes = "复核显示";
islock = false; // islock = false;
if (qdt != null && qdt.Rows.Count > 0) // if (qdt != null && qdt.Rows.Count > 0)
{ // {
show.Contents = qdt.Rows[0]["location"].ToString() + "(" + scanStr + ")" + "\r" + mes; // show.Contents = qdt.Rows[0]["location"].ToString() + "(" + scanStr + ")" + "\r" + mes;
} // }
if (data != null) // if (data != null)
{ // {
show.Contents = data.ScanCode + "(" + scanStr + ")" + "\r"+ mes; // show.Contents = data.ScanCode + "(" + scanStr + ")" + "\r"+ mes;
sku = data.Parameter; // sku = data.Parameter;
} // }
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Blue); // show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Blue);
show.Qty = SumQuantity.ToString(); // show.Qty = SumQuantity.ToString();
show.Wholeqty = SumCkQuantity; // show.Wholeqty = SumCkQuantity;
show.Unit = "件"; // show.Unit = "件";
show.Type = 8; // show.Type = 8;
show.Wholeunit = "箱"; // show.Wholeunit = "箱";
show.Block = sblock; // show.Block = sblock;
show.Area = sarea; // show.Area = sarea;
show.Islock = islock; // show.Islock = islock;
show.Location = "check"; // show.Location = "check";
comBLL.ShowBoxMessage_M(show); // comBLL.ShowBoxMessage_M(show);
if (data != null) // if (data != null)
{ // {
data.Status = "1"; // data.Status = "1";
} // }
} // }
else // else
{ // {
//查询当前区任务队列 // //查询当前区任务队列
DataTable finshqdt = queueBLL.getQueuesOrderbyState(sblock, sarea, "3"); // DataTable finshqdt = queueBLL.getQueuesOrderbyState(sblock, sarea, "3");
ShowMessageModel_M show = new ShowMessageModel_M(); // ShowMessageModel_M show = new ShowMessageModel_M();
//根据sku获取商品名称 // //根据sku获取商品名称
string goodsname = orderbll.GetGoodsname(location); // string goodsname = orderbll.GetGoodsname(location);
show.Title = goodsname + "分播完成"; // show.Title = goodsname + "分播完成";
show.Contents = scanStr + "\r请扫描继续作业"; // show.Contents = scanStr + "\r请扫描继续作业";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red); // show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Qty = "0"; // show.Qty = "0";
show.Type = 8; // show.Type = 8;
show.Block = sblock; // show.Block = sblock;
show.Area = sarea; // show.Area = sarea;
show.Islock = true; // show.Islock = true;
comBLL.ShowBoxMessage_M(show); // comBLL.ShowBoxMessage_M(show);
} // }
} //}
#endregion //#endregion
#region #region
/// <summary> /// <summary>
@ -293,12 +302,12 @@ namespace Epost.BLL
lock (showmes) lock (showmes)
{ {
bool bo = orderbll.isTask(sblock, sarea); // bool bo = orderbll.isTask(sblock, sarea);
string msg = string.Empty; string msg = string.Empty;
if (!bo) //if (!bo)
{ //{
msg = "当前商品无任务\r请送至下一区"; // msg = "当前商品无任务\r请送至下一区";
} //}
DataTable sudt = orderbll.GetSumList("", scanStr, sblock); DataTable sudt = orderbll.GetSumList("", scanStr, sblock);
if (type == 2) if (type == 2)
{ {

View File

@ -204,9 +204,9 @@ namespace Epost.BLL
#endregion #endregion
#region que #region que
public bool DelQueueOrder(string sku,string block) public bool DelQueueOrder(string sku,string block,string area)
{ {
return dal.DelQueueOrder(sku,block); return dal.DelQueueOrder(sku,block,area);
} }
#endregion #endregion

View File

@ -23,7 +23,8 @@ namespace Epost.BLL
sku = sku.Substring(2, 6); sku = sku.Substring(2, 6);
} }
} }
else { else
{
if (sku.Length >= 7) if (sku.Length >= 7)
{ {
sku = sku.Substring(1, 6); sku = sku.Substring(1, 6);
@ -31,13 +32,14 @@ namespace Epost.BLL
} }
return dal.GetSkuInfo(sku); return dal.GetSkuInfo(sku);
} }
else { else
{
return dal.GetSkuInfoList(sku); return dal.GetSkuInfoList(sku);
} }
} }
} }
} }

View File

@ -2,10 +2,12 @@
using Epost.DAL.Cache; using Epost.DAL.Cache;
using Epost.DAL.Enum; using Epost.DAL.Enum;
using Epost.Model; using Epost.Model;
using Epost.Model.resource;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Threading; using System.Threading;
@ -19,7 +21,7 @@ namespace Epost.BLL
OrdersQueueBLL queueBLL = new OrdersQueueBLL(); OrdersQueueBLL queueBLL = new OrdersQueueBLL();
CommandBLL comBLL = new CommandBLL(); CommandBLL comBLL = new CommandBLL();
JobModelCacheDAL JobCache = new JobModelCacheDAL(); JobModelCacheDAL JobCache = new JobModelCacheDAL();
private static object lockobj = new object();
AddressstorageBLL addrBLL = new AddressstorageBLL(); AddressstorageBLL addrBLL = new AddressstorageBLL();
WorkIngCacheDAL workbll = new WorkIngCacheDAL(); WorkIngCacheDAL workbll = new WorkIngCacheDAL();
public void Displayjob() public void Displayjob()
@ -31,8 +33,10 @@ namespace Epost.BLL
#region #region
private void GetWorkList(object block) private void GetWorkList(object block)
{ {
string cm = "";
lock (lockobj) cm = "lockdisJob" + block;
object c = (Object)cm;
lock (c)
{ {
while (OrisShow) while (OrisShow)
{ {
@ -91,6 +95,56 @@ namespace Epost.BLL
//当前区没有作业 //当前区没有作业
if (queueDT.Rows[0]["state"].ToString() == "0") if (queueDT.Rows[0]["state"].ToString() == "0")
{ {
#region
ShowMessageModel_M showmodel = new ShowMessageModel_M();
showmodel.Area = shelfid;
showmodel.Block = nblock;
showmodel.Color = queueDT.Rows[0]["lightcolor"].ToString();//EnumHelper.EMToDescriptionString(LightColor.Color.Red);
showmodel.Title = queueDT.Rows[0]["Shopid"].ToString();
showmodel.Islock = true;
showmodel.IsTwinkle = 0;
showmodel.Type = 8;
DataTable skudt = orderbll.GetSumList(queueDT.Rows[0]["matchid"].ToString(), queueDT.Rows[0]["sku"].ToString(), nblock, shelfid);
if (queueDT.Rows[0]["lightcolor"].ToString() == "1")
{
showmodel.Islock = false;
}
else if (queueDT.Rows[0]["lightcolor"].ToString() == EnumHelper.EMToDescriptionString(LightColor.Color.Blue))
{
//复核显示
skudt = orderbll.GetSumList_Echo(queueDT.Rows[0]["matchid"].ToString(), queueDT.Rows[0]["sku"].ToString(), nblock, shelfid);
showmodel.Title = "回显:"+queueDT.Rows[0]["Shopid"].ToString();
}
if (skudt != null && skudt.Rows.Count > 0)
{
showmodel.Qty = skudt.Rows[0]["SumQuantity"].ToString();
int discount = Convert.ToInt32(skudt.Rows[0]["discount"].ToString());
//整件总数
int SumCkQuantity = 0;//= Convert.ToInt32(skudt.Rows[0]["SumCkQuantity"].ToString());
//散件总数
int SumQuantity = Convert.ToInt32(skudt.Rows[0]["SumQuantity"].ToString());
int zcount = Convert.ToInt32(skudt.Rows[0]["SumQuantity"].ToString());
if (discount != 1)
{
if (SumQuantity >= discount)
{
SumCkQuantity = SumQuantity / discount;
SumQuantity = SumQuantity % discount;
}
}
//showmodel.Qty = SumQuantity.ToString();
//showmodel.Wholeqty = SumCkQuantity;
//showmodel.Unit = "件";
//showmodel.Wholeunit = "箱";
showmodel.Qty = "0";
showmodel.Contents = queueDT.Rows[0]["sku"].ToString() + "\r规格 " + discount + " \r总数量:" + zcount+"("+ SumCkQuantity + "箱"+ SumQuantity+"件)";
}
comBLL.ShowBoxMessage_M(showmodel);//点亮显示标签
#endregion
displayOrder(queueDT, nblock, item.area, model); displayOrder(queueDT, nblock, item.area, model);
} }
} }
@ -153,13 +207,10 @@ namespace Epost.BLL
List<JobModel> manyJoblist = nowJoblist.FindAll(m => m.Tolocation == item.Tolocation); List<JobModel> manyJoblist = nowJoblist.FindAll(m => m.Tolocation == item.Tolocation);
int quantity = item.Quantity; int quantity = item.Quantity;
LabelParamModel lamodel = new LabelParamModel(); LabelParamModel lamodel = new LabelParamModel();
lamodel.Address = item.Address.ToString(); lamodel.Address = item.Address.ToString();
lamodel.ControlIP = item.ControlIP.ToString(); lamodel.ControlIP = item.ControlIP.ToString();
lamodel.Command = "DISPLAY_JOB"; lamodel.Command = "DISPLAY_JOB";
#region #region
//if (manyJoblist.Count > 1) //if (manyJoblist.Count > 1)
//{ //{
@ -175,15 +226,12 @@ namespace Epost.BLL
// } // }
//} //}
#endregion #endregion
lamodel.Type = "N"; lamodel.Type = "N";
lamodel.Quantity = quantity.ToString(); lamodel.Quantity = quantity.ToString();
lamodel.Uid = "U" + item.ID; lamodel.Uid = "U" + item.ID;
lamodel.Mode = queueDT.Rows[0]["lightcolor"].ToString() + "0"; lamodel.Mode = queueDT.Rows[0]["lightcolor"].ToString() + "0";
list.Add(lamodel); list.Add(lamodel);
//} //}
item.State = 1; item.State = 1;
item.ColorCode = queueDT.Rows[0]["lightcolor"].ToString(); item.ColorCode = queueDT.Rows[0]["lightcolor"].ToString();
item.DisplayTime = DateTime.Now; item.DisplayTime = DateTime.Now;
@ -194,7 +242,7 @@ namespace Epost.BLL
#endregion #endregion
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
LogHelper.WriteLogInfo("添加到点亮的list————————————————————" + list.Count); LogHelper.WriteLogInfo("添加到点亮的list————————" + list.Count);
comBLL.DISPLAY_JOBALL(list); comBLL.DISPLAY_JOBALL(list);
} }
} }

View File

@ -37,10 +37,12 @@ namespace Epost.BLL
#region #region
private void BackWorkList(object block) private void BackWorkList(object block)
{ {
lock (lockJobDown)
{
string cm = "";
cm = "lockJobDown" + block;
object c = (Object)cm;
lock (c)
{
while (OrisShow) while (OrisShow)
{ {
try try
@ -75,13 +77,13 @@ namespace Epost.BLL
{ {
try try
{ {
string[] nlist = tblock.Split('-'); string[] nlist = tblock.Split('|');
string nblock = nlist[0]; string nblock = nlist[0];
string shelfid = nlist[1]; string shelfid = nlist[1];
List<AddressstorageModel> Arealist = addrBLL.GetAreaList(nblock, shelfid); List<AddressstorageModel> Arealist = addrBLL.GetAreaList(nblock, shelfid);
foreach (AddressstorageModel item in Arealist) foreach (AddressstorageModel item in Arealist)
{ {
List<ResultMessageModel> downList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Status == "0" && m.Block == nblock && m.Area == item.area); List<ResultMessageModel> downList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Status == "0" && m.Block == nblock && m.Area == item.area&&m.Command== "JOB_DONE");
List<JobModel> jobList = JobCache.GetPlanJobList().FindAll(p => p.Block == nblock && p.Area == item.area); List<JobModel> jobList = JobCache.GetPlanJobList().FindAll(p => p.Block == nblock && p.Area == item.area);
if (downList != null && downList.Count > 0) if (downList != null && downList.Count > 0)
@ -115,9 +117,7 @@ namespace Epost.BLL
switch (data.Command) switch (data.Command)
{ {
case "QUERY_SPECIAL_STATUS":
BindJobList(data);
break;
case "JOB_DONE": case "JOB_DONE":
JobDown_M(data, jobList); JobDown_M(data, jobList);
break; break;
@ -172,11 +172,14 @@ namespace Epost.BLL
LogHelper.WriteLogInfo("=======" + qmodel.UserCode + "=====" + area + "区===sku=" + skulist); LogHelper.WriteLogInfo("=======" + qmodel.UserCode + "=====" + area + "区===sku=" + skulist);
} }
if (data.Loc == "check")//任意回显标签拍下 熄灭回显设备 if (type == "8")// 订单显示器熄灭回显设备
{ {
List<JobModel> rejob = jobList.FindAll(m => m.Block == block && m.Area == area && m.State == 1 && m.Sku == queueDT.Rows[0]["sku"].ToString()); LogHelper.WriteLogInfo("显示器拍下");
List<JobModel> rejob = jobList.FindAll(m => m.Block == block && m.Area == area && m.State == 1 && m.Sku == queueDT.Rows[0]["sku"].ToString()&&m.ColorCode=="1");
if (rejob.Any()) if (rejob.Any())
{ {
LogHelper.WriteLogInfo("显示器拍下=="+rejob.Count);
JobModel model = rejob.FirstOrDefault(); JobModel model = rejob.FirstOrDefault();
comBLL.ClearArea_M(rejob); comBLL.ClearArea_M(rejob);
//熄灭通道灯 //熄灭通道灯
@ -245,7 +248,7 @@ namespace Epost.BLL
//修改订单状态 //修改订单状态
orderbll.UpdateOrderState_Car(downlist, model, truequantity, checkquantity); orderbll.UpdateOrderState_Car(downlist, model, truequantity, checkquantity);
LogHelper.WriteLogInfo(data.Address + "=========------------------" + data.Parameter); LogHelper.WriteLogInfo(data.Address + "=========------------------" + data.Parameter);
bool skuInish = orderbll.IsFinishWork(1, block, "", area, model.Sku); bool skuInish = orderbll.IsFinishWork(1, block, "", area, model.Sku,"", model.Matchid);
model.State = 3; model.State = 3;
if (skuInish) if (skuInish)
{ {
@ -262,6 +265,17 @@ namespace Epost.BLL
{ {
comBLL.LED_OFF_CLEAR(offList); comBLL.LED_OFF_CLEAR(offList);
} }
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = "分播完成";
show.Contents = "请扫描继续作业";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Green);
show.Type = 8;
show.Block = block;
show.Area = area;
show.Islock = false;
show.IsTwinkle = 1;
comBLL.ShowBoxMessage_M(show);
#endregion #endregion
#region #region
@ -275,44 +289,51 @@ namespace Epost.BLL
queueBLL.UpdateQueueTaskArea_Car(qumodel); queueBLL.UpdateQueueTaskArea_Car(qumodel);
#endregion #endregion
#region
showSummaryMes(model.Sku, block, area, Convert.ToInt32(block), null, model.Tolocation, model.Matchid);
#endregion
Thread.Sleep(30); Thread.Sleep(30);
#region #region
bool blockfinish = orderbll.IsFinishWorkByCar(1, model.Matchid, block); //bool blockfinish = orderbll.IsFinishWorkByCar(1, model.Matchid, block);
if (blockfinish) //if (blockfinish)
{ //{
#region // #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); // show.Title = "当前波次分播完成";
if (allfinish)//判断整个波次是否已完成 // show.Contents = "拍下熄灭所有设备\r请扫描继续作业";
{ //更新state状态为已完成 // show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Green);
orderbll.UpdateStateByCar(model.Matchid); // show.Qty = "0";
} // show.Type = 8;
//删除波次信息 // show.Block = block;
List<UserCodeModel> ulist = UserCacheDAL.GetUserCodeList().FindAll(m => m.Block == block); // show.Islock = false;
UserCacheDAL.UpdateUserCodeList(ulist, EUserCommend.Execute); // show.IsTwinkle = 1;
} // 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);
//}
#endregion #endregion
#region sku播完回传 #region sku播完回传
// orderbll.UpdateStateByCar(model.Matchid, "", model.Sku); bool skubo = orderbll.IsSkuFinishWork(model.Sku, model.Matchid);
if (skubo)
{
LogHelper.WriteLogInfo(model.Sku + "Sku播种完成" + model.Matchid);
// orderbll.UpdateStateByCar(model.Matchid, model.Sku);
bool matchbo= orderbll.IsSkuFinishWork("", model.Matchid);
if (matchbo) {
LogHelper.WriteLogInfo("波次播种完成" + model.Matchid);
orderbll.UpdateStateBymatchid(model.Matchid);
}
}
#endregion #endregion
#region sku #region sku
@ -328,68 +349,7 @@ namespace Epost.BLL
#endregion #endregion
#region
public ResultModel BindJobList(ResultMessageModel data)
{
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));//判断扫描首字母是否是数字
if (!ulist.Any())
{
//手动加波次信息
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);
}
}
ulist = UserCacheDAL.GetUserCodeList().FindAll(m => m.Block == sblock && m.Area == sarea);
if (ulist.Any())
{ matchid = ulist.FirstOrDefault().Matchid; }
#endregion
if (data.Type == "5")//中分扫描枪
{
zhongfenBind(ulist, scanStr, data);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
else if (data.Type == "6")//播种扫描枪
{
xifenBind(ulist, scanStr, data, matchid, isnum);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
return res;
}
catch (Exception ex)
{
res.result = "-1";
res.msg = "绑定任务异常";
LogHelper.WriteLogInfo("绑定任务异常:" + ex.Message);
return res;
}
}
#endregion
#region #region
@ -492,7 +452,7 @@ namespace Epost.BLL
else else
{ {
ShowMessageModel_M show = new ShowMessageModel_M(); ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = "SKU" + scanStr + "无任务"; show.Title = "SKU" + scanStr + "未完纳";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red); show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Block = item.block; show.Block = item.block;
show.Islock = true; show.Islock = true;
@ -510,308 +470,8 @@ namespace Epost.BLL
} }
#endregion #endregion
#region
public void xifenBind(List<UserCodeModel> ulist, string scanStr, ResultMessageModel data, string matchid, bool isnum)
{
//if (ulist.Any())
//{
// UserCodeModel usermodel = ulist.FirstOrDefault();
//if (string.IsNullOrEmpty(usermodel.UserCode) && scanStr.Substring(0, 1) != "U")//
//{
// #region 提示先扫描工号
// ShowMessageModel_M show = new ShowMessageModel_M();
// show.Title = "请先扫描工号!";
// show.Contents = "";
// show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
// show.Block = sblock;
// show.Area = sarea;
// show.Type = 8;
// show.Islock = true;
// comBLL.ShowBoxMessage_M(show);
// downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
// #endregion
//}
//else
//{
if (scanStr.Substring(0, 1) == "U")
{
#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
{
#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();
// 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 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 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
{
DataTable OrderDt = orderbll.GetOrderList_Car(matchid, scanStr, data.Area, data.Block);
if (OrderDt != null && OrderDt.Rows.Count > 0)
{
if (ulist.Any())
{
UserCodeModel umodel = ulist.FirstOrDefault();
data.Port = OrderDt.Rows[0]["matchid"].ToString();
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 = location;
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
queueBLL.insertQueueOrders(qmodel);
//提示需要拣货总量/商品名称
showSummaryMes(scanStr, data.Block, data.Area, 1, data, "", OrderDt.Rows[0]["matchid"].ToString());
}
else
{
LogHelper.WriteLogInfo("未扫描波次信息", LogHelper.Log_Type.ERROR);
}
}
else
{
#region
DataTable echoDt = orderbll.GetOrderList_echo(matchid, scanStr, data.Area, data.Block);
if (echoDt != null && echoDt.Rows.Count > 0)
{
if (ulist.Any())
{
UserCodeModel umodel = ulist.FirstOrDefault();
data.Port = echoDt.Rows[0]["matchid"].ToString();
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 = location;
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Blue);
queueBLL.insertQueueOrders(qmodel);
//提示需要拣货总量/商品名称
Mes_Echo(scanStr, data.Block, data.Area, 1, data, "", echoDt.Rows[0]["matchid"].ToString(), false);
}
else
{
LogHelper.WriteLogInfo("未扫描波次信息", LogHelper.Log_Type.ERROR);
}
}
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);
}
#endregion
}
}
#endregion
}
#endregion
}
}
#endregion
#region
public void Mes_Echo(string scanStr, string sblock, string sarea, int type, ResultMessageModel data = null, string location = "", string matchid = "", bool islock = true)
{
DataTable sudt = orderbll.GetSumList_Echo("", scanStr, sblock);
if (type == 2)
{
sudt = orderbll.GetSumList_Echo("", scanStr, sblock, sarea);
}
//查询当前区任务队列
DataTable qdt = queueBLL.getQueuesOrderbyState(sblock, sarea, "1");
if (sudt != null && sudt.Rows.Count > 0)
{
matchid = sudt.Rows[0]["matchid"].ToString();
string sku = string.Empty;
string qty = string.Empty;
string color = string.Empty;
if (qdt != null && qdt.Rows.Count > 0)
{
sku = qdt.Rows[0]["sku"].ToString();
qty = sudt.Rows[0]["SumQuantity"].ToString();
color = qdt.Rows[0]["LightColor"].ToString();
}
//规格
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)
//{
// if (SumQuantity >= discount)
// {
// SumCkQuantity = SumQuantity / discount;
// SumQuantity = SumQuantity % discount;
// }
//}
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = sudt.Rows[0]["goodsname"].ToString();
string mes = "复核显示";
islock = false;
if (qdt != null && qdt.Rows.Count > 0)
{
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;
sku = data.Parameter;
}
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Blue);
show.Qty = SumQuantity.ToString();
show.Wholeqty = SumCkQuantity;
show.Unit = "件";
show.Type = 8;
show.Wholeunit = "箱";
show.Block = sblock;
show.Area = sarea;
show.Islock = islock;
show.Location = "check";
//ShowMesModel megmodel = new ShowMesModel();
//megmodel.Qty = sudt.Rows[0]["SumQuantity"].ToString();
//megmodel.Sku = sku;
//megmodel.Area = sarea;
//megmodel.Block = sblock;
//megmodel.Matchid = matchid;
// msgCache.UpdateMsgModelList(new List<ShowMesModel> { megmodel }, EmsgCommend.Create);
comBLL.ShowBoxMessage_M(show);
if (data != null)
{
data.Status = "1";
}
}
else
{
//查询当前区任务队列
DataTable finshqdt = queueBLL.getQueuesOrderbyState(sblock, sarea, "3");
ShowMessageModel_M show = new ShowMessageModel_M();
//根据sku获取商品名称
string goodsname = orderbll.GetGoodsname(location);
show.Title = goodsname + "分播完成";
show.Contents = scanStr + "\r请扫描继续作业";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Qty = "0";
show.Type = 8;
show.Block = sblock;
show.Area = sarea;
show.Islock = true;
comBLL.ShowBoxMessage_M(show);
}
}
#endregion
#region #region
/// <summary> /// <summary>
@ -952,63 +612,7 @@ namespace Epost.BLL
} }
#endregion #endregion
#region SKU挂起/
public void Hangup_SKU(string sku, string block, string area, ResultMessageModel data = null)
{
List<LabelParamModel> list = new List<LabelParamModel>();
//查询当前通道sku是否有任务
DataTable dt = orderbll.getOrderListBysku(block, sku);
if (dt != null && dt.Rows.Count > 0)
{
// 将当前通道所有sku正在亮的设备熄灭
foreach (DataRow item in dt.Rows)
{
if (item["oprationstate"].ToString() == "1")
{
LabelParamModel lamodel = new LabelParamModel();
lamodel.Address = item["address"].ToString(); ;
lamodel.ControlIP = item["ControlIP"].ToString();
lamodel.Command = "REMOVE_JOB";
lamodel.Parameter = "01";
list.Add(lamodel);
orderbll.UpOrderStateBybat(item["batchid"].ToString());
}
}
if (list != null && list.Count > 0)
{
LogHelper.WriteLogInfo("挂起list——" + sku + "——————————————————:" + list.Count);
comBLL.DISPLAY_JOBALL(list);
}
}
//删除缓存中sku记录
List<JobModel> jobList = JobCache.GetPlanJobList();
List<JobModel> relist = jobList.FindAll(m => m.Sku == sku && m.Block == block);
JobModel model = new JobModel();
if (relist.Any())
{
model = relist.FirstOrDefault();
JobCache.UpdateJobModelList(relist, EcommendType.Complete);
//删除Orderqueue中sku的记录
bool bo = queueBLL.DelQueueOrder(sku, block);
LogHelper.WriteLogInfo("删除queue返回" + bo);
}
else
{
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = "挂起商品:" + sku + "错误!";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Block = block;
show.Area = area;
show.Type = 8;
show.Islock = true;
comBLL.ShowBoxMessage_M(show);
}
//downCacheDAL.GetPlanJobDownList().FindAll(p => p.Parameter == sku && p.Block == block);
}
#endregion
#region #region
public void GetMatchOrder() public void GetMatchOrder()

View File

@ -0,0 +1,576 @@
using Epost.Common;
using Epost.DAL.Cache;
using Epost.DAL.Enum;
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;
using System.Threading;
using System.Threading.Tasks;
namespace Epost.BLL
{
public class Work_ScanThread
{
public string tblock, id;
public bool OrisShow = false;
OrderBLL orderbll = new OrderBLL();
OrdersQueueBLL queueBLL = new OrdersQueueBLL();
CommandBLL comBLL = new CommandBLL();
JobDownCacheDAL downCacheDAL = new JobDownCacheDAL();
JobModelCacheDAL JobCache = new JobModelCacheDAL();
AddressstorageBLL addrBLL = new AddressstorageBLL();
private static object lockscanList = new object();
public static bool OrcheckisShow = false;
WorkIngCacheDAL workbll = new WorkIngCacheDAL();
SkuInfoBLL skuBLL = new SkuInfoBLL();
UserModelCacheDAL UserCacheDAL = new UserModelCacheDAL();
public void ScanList()
{
GetScanList(tblock);
}
#region
private void GetScanList(object block)
{
string job = "";
job = "lockScan" + block;
object cJob = (object)job;
lock (cJob)
{
while (OrisShow)
{
try
{
string workstate = workbll.GetWorkState();
if (!string.IsNullOrEmpty(workstate))
{
OrisShow = true;
JobScanList(block.ToString());
Thread.Sleep(50);
}
else
{
OrisShow = false;
}
}
catch (Exception ex)
{
LogHelper.WriteLogInfo(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "ScanList异常\r\n" + ex.Message);
}
}
}
}
#endregion
#region
public ResultModel JobScanList(string tblock)
{
lock (lockscanList)
{
string[] nlist = tblock.Split('|');
string nblock = nlist[0];
string shelfid = nlist[1];
ResultModel resmodel = new ResultModel();
resmodel.result = "0";
try
{
List<AddressstorageModel> Arealist = addrBLL.GetAreaList(nblock, shelfid);
foreach (AddressstorageModel item in Arealist)
{
List<ResultMessageModel> sacnList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Status == "0" && m.Block == item.block && m.Area == item.area && m.Command == "QUERY_SPECIAL_STATUS");
if (sacnList != null && sacnList.Count > 0)
{
foreach (ResultMessageModel data in sacnList.ToArray())
{
switch (data.Command)
{
case "QUERY_SPECIAL_STATUS":
BindJobList(data);
break;
default:
break;
}
}
}
}
return resmodel;
}
catch (Exception ex)
{
resmodel.result = "-1";
resmodel.msg = "扫描异常";
LogHelper.WriteLogInfo("扫描异常:" + ex.Message);
return resmodel;
}
}
}
#endregion
#region
public ResultModel BindJobList(ResultMessageModel data)
{
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));//判断扫描首字母是否是数字
if (!ulist.Any())
{
//手动加波次信息
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);
}
}
ulist = UserCacheDAL.GetUserCodeList().FindAll(m => m.Block == sblock && m.Area == sarea);
if (ulist.Any())
{ matchid = ulist.FirstOrDefault().Matchid; }
#endregion
if (data.Type == "5")//中分扫描枪
{
zhongfenBind(ulist, scanStr, data);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
else if (data.Type == "6")//播种扫描枪
{
xifenBind(ulist, scanStr, data, matchid, isnum);
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
}
return res;
}
catch (Exception ex)
{
res.result = "-1";
res.msg = "绑定任务异常";
LogHelper.WriteLogInfo("绑定任务异常:" + ex.Message);
return res;
}
}
#endregion
#region
public void zhongfenBind(List<UserCodeModel> ulist, string scanStr, ResultMessageModel data)
{
//if (ulist.Any())
//{
// UserCodeModel usermodel = ulist.FirstOrDefault();
//if (string.IsNullOrEmpty(usermodel.ZfCode) && scanStr.Substring(0, 1) != "U")//
//{
// #region 提示先扫描工号
// ShowMessageModel_M show = new ShowMessageModel_M();
// show.Title = "请先扫描工号!";
// show.Contents = "";
// show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
// show.Block = sblock;
// show.Type =2;
// show.Area = sarea;
// show.Islock = true;
// comBLL.ShowBoxMessage_M(show);
// downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
// #endregion
//}
//else {
if (scanStr.Substring(0, 1) == "Y")
{
#region
if (ulist.Any())
{
UserCodeModel umodel = ulist.FirstOrDefault();
umodel.ZfCode = 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 = 2;
show.Islock = false;
comBLL.ShowBoxMessage_M(show);
#endregion
}
downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
#endregion
}
else
{
#region sku
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();
}
LogHelper.WriteLogInfo("中分" + data.Parameter + "===SKU" + scanStr);
List<AddressstorageModel> Arealist = addrBLL.GetAreaList(data.Block);
if (Arealist.Any())
{
foreach (AddressstorageModel item in Arealist)
{
DataTable skudt = orderbll.GetSumList("", scanStr, item.block, item.area);
if (skudt != null && skudt.Rows.Count > 0)
{
//规格
int discount = Convert.ToInt32(skudt.Rows[0]["discount"].ToString());
//整件总数
int SumCkQuantity = 0;//= Convert.ToInt32(skudt.Rows[0]["SumCkQuantity"].ToString());
//散件总数
int SumQuantity = Convert.ToInt32(skudt.Rows[0]["SumQuantity"].ToString());
int zcount = Convert.ToInt32(skudt.Rows[0]["SumQuantity"].ToString());
if (discount != 1)
{
if (SumQuantity >= discount)
{
SumCkQuantity = SumQuantity / discount;
SumQuantity = SumQuantity % discount;
}
}
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = skudt.Rows[0]["goodsname"].ToString();
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Block = item.block;
show.Islock = true;
show.Contents = data.Parameter + "(" + scanStr + ")\r规格" + discount + " \r总数量:" + zcount + "(" + SumCkQuantity + "箱" + SumQuantity + "件)";
// show.Qty = SumQuantity.ToString();
//show.Wholeqty = SumCkQuantity;
// show.Unit = "件";
// show.Wholeunit = "箱";
show.Type = 2;
comBLL.ShowBoxMessage_M(show);
}
else
{
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = "SKU" + scanStr + "无任务!";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Block = item.block;
show.Islock = true;
show.Contents = "请扫描其他商品!";
show.Type = 2;
comBLL.ShowBoxMessage_M(show);
}
}
}
#endregion
}
}
#endregion
#region
public void xifenBind(List<UserCodeModel> ulist, string scanStr, ResultMessageModel data, string matchid, bool isnum)
{
//if (ulist.Any())
//{
// UserCodeModel usermodel = ulist.FirstOrDefault();
//if (string.IsNullOrEmpty(usermodel.UserCode) && scanStr.Substring(0, 1) != "U")//
//{
// #region 提示先扫描工号
// ShowMessageModel_M show = new ShowMessageModel_M();
// show.Title = "请先扫描工号!";
// show.Contents = "";
// show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
// show.Block = sblock;
// show.Area = sarea;
// show.Type = 8;
// show.Islock = true;
// comBLL.ShowBoxMessage_M(show);
// downCacheDAL.UpdateJobDownModelList(new List<ResultMessageModel> { data }, EdownCommend.Execute);
// #endregion
//}
//else
//{
#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
}
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);
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 (scanStr.Substring(0, 1) == "Y")
{
#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 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)
{
if (ulist.Any())
{
UserCodeModel umodel = ulist.FirstOrDefault();
data.Port = OrderDt.Rows[0]["matchid"].ToString();
OrdersQueueModel qmodel = new OrdersQueueModel();
qmodel.Sku = scanStr;
qmodel.Taskblock = data.Block;
qmodel.Taskarea = data.Area;
qmodel.UserCode = umodel.UserCode;
qmodel.Matchid = umodel.Matchid;
qmodel.Shopid = OrderDt.Rows[0]["GoodsName"].ToString();
qmodel.Location = location;
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
queueBLL.insertQueueOrders(qmodel);
}
else
{
LogHelper.WriteLogInfo("未扫描波次信息", LogHelper.Log_Type.ERROR);
}
}
else
{
#region
DataTable echoDt = orderbll.GetOrderList_echo(matchid, scanStr, data.Area, data.Block);
if (echoDt != null && echoDt.Rows.Count > 0)
{
if (ulist.Any())
{
UserCodeModel umodel = ulist.FirstOrDefault();
data.Port = echoDt.Rows[0]["matchid"].ToString();
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 = location;
qmodel.Shopid = echoDt.Rows[0]["GoodsName"].ToString();
qmodel.Lightcolor = EnumHelper.EMToDescriptionString(LightColor.Color.Blue);
queueBLL.insertQueueOrders(qmodel);
}
else
{
LogHelper.WriteLogInfo("未扫描波次信息", LogHelper.Log_Type.ERROR);
}
}
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);
}
#endregion
}
#endregion
}
}
}
#endregion
}
#endregion
#region SKU挂起/
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);
//if (dt == null || dt.Rows.Count == 0)
//{
// dt = orderbll.getOrderHisListBysku(block, sku, area, matchid);
// //回显挂起
//}
if (dt != null && dt.Rows.Count > 0)
{
// 将当前通道所有sku正在亮的设备熄灭
foreach (DataRow item in dt.Rows)
{
LabelParamModel lamodel = new LabelParamModel();
lamodel.Address = item["address"].ToString(); ;
lamodel.ControlIP = item["ControlIP"].ToString();
lamodel.Command = "REMOVE_JOB";
lamodel.Parameter = "";
lamodel.Uid = "U" + item["id"].ToString();
lamodel.Type = "N";
list.Add(lamodel);
LabelParamModel Unlockmodel = new LabelParamModel();
Unlockmodel.ControlIP = item["ControlIP"].ToString();
Unlockmodel.Address = item["address"].ToString();
Unlockmodel.Command = "UNLOCK";
Unlockmodel.Type = "N";
Unlockmodel.Parameter = "11111000";
list.Add(Unlockmodel);
if (item["oprationstate"].ToString() == "1")
{
orderbll.UpOrderStateBybat(item["id"].ToString());
}
}
if (list != null && list.Count > 0)
{
LogHelper.WriteLogInfo("挂起list——" + sku + "——————————————————:" + list.Count);
comBLL.DISPLAY_JOBALL(list);
}
}
//删除缓存中sku记录
List<JobModel> jobList = JobCache.GetPlanJobList();
List<JobModel> relist = jobList.FindAll(m => m.Sku == sku && m.Block == block && m.Area == area);
JobModel model = new JobModel();
if (relist.Any())
{
model = relist.FirstOrDefault();
JobCache.UpdateJobModelList(relist, EcommendType.Complete);
//删除Orderqueue中sku的记录
bool bo = queueBLL.DelQueueOrder(sku, block, area);
LogHelper.WriteLogInfo("删除queue返回" + bo);
}
else
{
ShowMessageModel_M show = new ShowMessageModel_M();
show.Title = "挂起商品:" + sku + "错误!";
show.Color = EnumHelper.EMToDescriptionString(LightColor.Color.Red);
show.Block = block;
show.Area = area;
show.Type = 8;
show.Islock = true;
comBLL.ShowBoxMessage_M(show);
}
//downCacheDAL.GetPlanJobDownList().FindAll(p => p.Parameter == sku && p.Block == block);
}
#endregion
}
}

View File

@ -133,6 +133,16 @@ namespace Epost.DAL
return dt; return dt;
} }
#endregion #endregion
#region
public DataTable getLabelList(string controlid,string batchno)
{
string sql = string.Format(" select distinct address, state, type, ControlID,addresstype,isnull(shopid,'') as shopid,name,batchno from v_storeaddress where type in (1, 2, 8) and Controlid = '{0}' and batchno='{1}' ",
controlid,batchno);
DataTable dt = db.GetsqlForDT(sql);
return dt;
}
#endregion
#region #region
public DataTable getAddressByBlock(string block) public DataTable getAddressByBlock(string block)
{ {

View File

@ -131,12 +131,12 @@ namespace Epost.DAL.Cache
//{ //{
// PlanJobList.Remove(planitem); // PlanJobList.Remove(planitem);
//} //}
List<JobModel> list = PlanJobList.FindAll(p => p.Block == JobParam.FirstOrDefault().Block); //List<JobModel> list = PlanJobList.FindAll(p => p.Block == JobParam.FirstOrDefault().Block);
foreach (JobModel item in list) //foreach (JobModel item in list)
{ //{
PlanJobList.Remove(item); // PlanJobList.Remove(item);
} //}
JobParam.ForEach(m => PlanJobList.Remove(m));//删除计划任务
} }

View File

@ -91,6 +91,18 @@ namespace Epost.DAL
} }
#endregion #endregion
#region
public bool FORMAT_DEVICE(LabelParamModel model)
{
model.Address = model.Address;
model.Command = "FORMAT_DEVICE";
model.Parameter = "";
model.Timeout = "0.5";
return Send(model);
}
#endregion
#region #region
public bool INPUT_ADDRESS_DATA() public bool INPUT_ADDRESS_DATA()
{ {
@ -578,7 +590,17 @@ namespace Epost.DAL
sendModel.Address = model.Address; sendModel.Address = model.Address;
sendModel.Command = model.Command; sendModel.Command = model.Command;
sendModel.Parameter = model.Parameter; sendModel.Parameter = model.Parameter;
sendModel.Timeout = model.Timeout; sendModel.Uid = model.Uid;
sendModel.Quantity = model.Quantity;
sendModel.Title = model.Title;
sendModel.Content = model.Content;
sendModel.Type = model.Type;
sendModel.Mode = model.Mode;
sendModel.Order = model.Order;
sendModel.Unit = model.Unit;
sendModel.W_unit = model.W_unit;
sendModel.W_quantity = model.W_quantity;
sendModel.Loc = model.Loc;
try try
{ {
string postStr = JsonHelper.SerializeObject(sendModel); string postStr = JsonHelper.SerializeObject(sendModel);

View File

@ -48,7 +48,7 @@ namespace Epost.DAL
string sql = string.Empty; string sql = string.Empty;
if (!string.IsNullOrEmpty(area)) if (!string.IsNullOrEmpty(area))
{ {
sql = string.Format("select id, ProdArea, LotNo, Matchid, orderid, barcode, BatchId, DownDate, Tolocation, Sku, GoodsName, Discount, Quantity, GoodsType, corlorcode, address, ControlIP,area, block,boxcode,bkbarcode,isnull(checkquantity,0) as checkquantity,wholeunit,unit,shopid,wmsboxcode from v_orders where state = 0 and oprationstate <>3 and sku = '{0}' and block = '{1}' and area='{2}' " + strwhere + "", sql = string.Format("select id, Matchid, orderid, barcode, BatchId, DownDate, Tolocation, Sku, GoodsName, Discount, Quantity, corlorcode, address, ControlIP,area, block,boxcode,isnull(checkquantity,0) as checkquantity,wholeunit,unit,shopid,wmsboxcode,shopname,readtime from v_orders where state = 0 and oprationstate <>3 and sku = '{0}' and block = '{1}' and area='{2}' " + strwhere + " order by layer,slist ",
sku, sku,
block, area); block, area);
@ -56,7 +56,7 @@ namespace Epost.DAL
} }
else else
{ {
sql = string.Format("select id,ProdArea, LotNo, Matchid, orderid, barcode, BatchId, DownDate, Tolocation, Sku, GoodsName, Discount, Quantity, GoodsType, corlorcode, address, ControlIP, area , block,boxcode,bkbarcode,isnull(checkquantity,0) as checkquantity,wholeunit,unit,shopid,wmsboxcode from v_orders where state = 0 and oprationstate <>3 and sku = '{0}' and block = '{1}' " + strwhere + "", sql = string.Format("select id, Matchid, orderid, barcode, BatchId, DownDate, Tolocation, Sku, GoodsName, Discount, Quantity, corlorcode, address, ControlIP, area , block,boxcode,isnull(checkquantity,0) as checkquantity,wholeunit,unit,shopid,wmsboxcode ,shopname,readtime from v_orders where state = 0 and oprationstate <>3 and sku = '{0}' and block = '{1}' " + strwhere + " order by layer,slist ",
sku, sku,
block); block);
@ -90,7 +90,7 @@ namespace Epost.DAL
string sql = string.Empty; string sql = string.Empty;
if (!string.IsNullOrEmpty(area)) if (!string.IsNullOrEmpty(area))
{ {
sql = string.Format("select id,ProdArea, LotNo, Matchid, orderid, barcode, BatchId, DownDate, Tolocation, Sku, GoodsName, Discount, Quantity, GoodsType, corlorcode, address, ControlIP,area, block,boxcode,bkbarcode,isnull(checkquantity,0) as checkquantity,wholeunit,unit,shopid,wmsboxcode from v_orders where state = 0 and sku = '{0}' and block = '{1}' and area='{2}' " + strwhere + "", sql = string.Format("select id, Matchid, orderid, barcode, BatchId, DownDate, Tolocation, Sku, GoodsName, Discount, Quantity, corlorcode, address, ControlIP,area, block,boxcode,isnull(checkquantity,0) as checkquantity,wholeunit,unit,shopid,wmsboxcode,shopname,readtime from v_orders where state = 0 and sku = '{0}' and block = '{1}' and area='{2}' " + strwhere + " order by layer,slist ",
sku, sku,
block, area); block, area);
@ -98,7 +98,7 @@ namespace Epost.DAL
} }
else else
{ {
sql = string.Format("select id,ProdArea, LotNo, Matchid, orderid, barcode, BatchId, DownDate, Tolocation, Sku, GoodsName, Discount, Quantity, GoodsType, corlorcode, address, ControlIP, area , block,boxcode,bkbarcode,isnull(checkquantity,0) as checkquantity,wholeunit,unit,shopid,wmsboxcode from v_orders where state = 0 and sku = '{0}' and block = '{1}' " + strwhere + "", sql = string.Format("select id, Matchid, orderid, barcode, BatchId, DownDate, Tolocation, Sku, GoodsName, Discount, Quantity, corlorcode, address, ControlIP, area , block,boxcode,isnull(checkquantity,0) as checkquantity,wholeunit,unit,shopid,wmsboxcode,shopname,readtime from v_orders where state = 0 and sku = '{0}' and block = '{1}' " + strwhere + " order by layer,slist ",
sku, sku,
block); block);
@ -106,7 +106,7 @@ namespace Epost.DAL
} }
LogHelper.WriteLogInfo("获取订单信息location-" + sql); LogHelper.WriteLogInfo("获取回显订单信息location-" + sql);
return db.GetsqlForDT(sql); return db.GetsqlForDT(sql);
} }
catch (Exception ex) catch (Exception ex)
@ -158,7 +158,7 @@ namespace Epost.DAL
strwhere += " and matchid = '" + matchid + "'"; strwhere += " and matchid = '" + matchid + "'";
} }
string sql = string.Format("select sum(Quantity) as SumQuantity, Sum(checkquantity) as SumCkQuantity,boxweight, Discount,unit,wholeunit,matchid ,goodscode,goodsname from v_orders where readtime= (select top 1 readtime from orders where state=0) and (oprationstate = 0 or oprationstate=1) and sku='{0}' and block='{1}' " + strwhere + " group by sku,boxweight, Discount,goodsname,unit,wholeunit,matchid ,goodscode", string sql = string.Format("select sum(Quantity) as SumQuantity, Sum(checkquantity) as SumCkQuantity, Discount,unit,wholeunit,matchid ,goodscode,goodsname from v_orders where sku='{0}' and oprationstate<>3 and block='{1}' " + strwhere + " group by sku, Discount,goodsname,unit,wholeunit,matchid ,goodscode",
sku, sku,
block); block);
LogHelper.WriteLogInfo("获取订单信息-中分" + sql); LogHelper.WriteLogInfo("获取订单信息-中分" + sql);
@ -189,17 +189,17 @@ namespace Epost.DAL
strwhere += " and matchid = '" + matchid + "'"; strwhere += " and matchid = '" + matchid + "'";
} }
string sql = string.Format("select sum(Quantity) as SumQuantity, Sum(checkquantity) as SumCkQuantity,boxweight, Discount,goodsname,unit,wholeunit,matchid ,goodscode,goodsname from v_orders where state = 0 and oprationstate =3 and sku='{0}' and block='{1}' " + strwhere + " group by sku ,boxweight, Discount,goodsname,unit,wholeunit,matchid ,goodscode,goodsname", string sql = string.Format("select sum(Quantity) as SumQuantity, Sum(checkquantity) as SumCkQuantity, Discount,unit,wholeunit,matchid ,goodscode,goodsname from v_orders where sku='{0}' and oprationstate<>3 and block='{1}' " + strwhere +" group by sku, Discount,goodsname,unit,wholeunit,matchid ,goodscode",
sku, sku,
block); block);
LogHelper.WriteLogInfo("获取订单信息-中分" + sql); LogHelper.WriteLogInfo("获取回显订单信息-中分" + sql);
return db.GetsqlForDT(sql); return db.GetsqlForDT(sql);
} }
catch (Exception ex) catch (Exception ex)
{ {
LogHelper.WriteLogInfo("获取订单信息-中分异常:" + ex.Message, LogHelper.Log_Type.ERROR); LogHelper.WriteLogInfo("获取回显订单信息-中分异常:" + ex.Message, LogHelper.Log_Type.ERROR);
return null; return null;
} }
} }
@ -529,12 +529,12 @@ namespace Epost.DAL
#endregion #endregion
#region --使 #region --使
public bool UpOrderStateBybat(string batchid) public bool UpOrderStateBybat(string id)
{ {
try try
{ {
string sql = string.Format(" update orders set oprationstate=0,oprationtime='' where batchid='{0}' and state<>3", string sql = string.Format(" update orders set oprationstate=0,oprationtime='' where id='{0}' and state<>3",
batchid); id);
long x = db.UpdateSql(sql); long x = db.UpdateSql(sql);
if (x > 0) if (x > 0)
return true; return true;
@ -646,7 +646,7 @@ namespace Epost.DAL
// } // }
// truequantity = trueqty + 1; // truequantity = trueqty + 1;
// } // }
string upsql = string.Format("update orders set oprationstate = '{3}' ,oprationtime='{0}',oprationcode='{5}',truequantity='{1}' where matchid='{2}' and id='{4}' ", string upsql = string.Format("update orders set oprationstate = '{3}' ,oprationtime='{0}',oprationcode='{5}',truequantity='{1}' where matchid='{2}' and id='{4}' ",
DateTime.Now.ToString(), DateTime.Now.ToString(),
truequantity, truequantity,
matchid, matchid,
@ -695,13 +695,14 @@ namespace Epost.DAL
#region #region
public bool UpdateStateByOrderID(string orderid) public bool UpdateStateBymatchid(string matchid)
{ {
try try
{ {
string upsql = string.Format("update orders set oprationstate=3,truequantity=quantity, state=3 where orderid='{0}'", string upsql = string.Format("update orders set state=3 where matchid='{0}' and state=0",
orderid); matchid);
long x = db.UpdateSql(upsql); long x = db.UpdateSql(upsql);
LogHelper.WriteLogInfo(x+"修改波次拣选完成"+upsql);
if (x > 0) if (x > 0)
return true; return true;
return false; return false;
@ -717,30 +718,32 @@ namespace Epost.DAL
#endregion #endregion
#region #region
public bool UpdateStateByCar(string matchid, string block = "", string sku = "") public bool UpdateStateByCar(string matchid, string sku = "")
{ {
try try
{ {
string strwhere = string.Empty; string strwhere = string.Empty;
if (!string.IsNullOrEmpty(block))
{
strwhere = " and workblock='" + block + "'";
}
if (!string.IsNullOrEmpty(sku)) if (!string.IsNullOrEmpty(sku))
{ {
strwhere += " and sku='" + sku + "'"; strwhere += " and sku='" + sku + "'";
} }
string upsql = string.Format("update orders set state=3 where matchid = '{0}'" + strwhere, string upsql = string.Format("insert into ordershis([id] ,[orderid] ,[sku],[matchid],[quantity],[tolocation],[batchid],[orderstate] ,[truequantity] ,[checkquantity] ,[downdate] ,[lighttime] ,[oprationtime] ,[oprationstate] ,[shopid] ,[classes] ,[oprationcode]\r\n ,[boxcode] ,[goodscode] ,[corlorcode] ,[discount] ,[barcode] ,[goodsname] ,[tasktype] ,[prino] ,[wmsboxcode] ,[orderway] ,[wmsorderid] ,[shopname] ,[state] ,[warehouseid] ,[workblock] ,[unit] ,[wholeunit] ) select [id],[orderid],[sku],[matchid],[quantity],[tolocation],[batchid],[orderstate],[truequantity],[checkquantity],[downdate],[lighttime],[oprationtime] ,[oprationstate],[shopid],[classes],[oprationcode],[boxcode],[goodscode],[corlorcode],[discount],[barcode],[goodsname],[tasktype] ,[prino],[wmsboxcode],[orderway],[wmsorderid],[shopname],[state],[warehouseid],[workblock],[unit],[wholeunit] from v_orders where matchid = '{0}'" + strwhere,
matchid); matchid);
LogHelper.WriteLogInfo("修改波次拣货状态" + upsql); LogHelper.WriteLogInfo("加入历史" + upsql);
long x = db.UpdateSql(upsql); long x = db.InsertSql(upsql);
if (x > 0) if (x > 0)
{
string sql = "update ordershis set state=3 where state=0";
db.UpdateSql(sql);
return true; return true;
return false; }
else { return false; }
} }
catch (Exception ex) catch (Exception ex)
{ {
LogHelper.WriteLogInfo("修改当前小车拣货状态" + ex.Message); LogHelper.WriteLogInfo("加入历史异常" + ex.Message);
return false; return false;
} }
@ -1082,6 +1085,38 @@ namespace Epost.DAL
} }
#endregion #endregion
#region sku是否为已完成
public bool IsSkuFinishWork( string sku , string matchid )
{
string strwheres = "";
if (!string.IsNullOrEmpty(matchid))
{
strwheres += " and matchid ='" + matchid + "'";
}
if (!string.IsNullOrEmpty(sku))
{
strwheres += " and sku ='" + sku + "'";
}
string sql = "select matchid, sku from V_orders where oprationstate <> 3 and state<>99 " + strwheres;
LogHelper.WriteLogInfo("判断sku是否为已完成" + sql);
DataTable dt = db.GetsqlForDT(sql);
if (dt == null || dt.Rows.Count == 0)
{
LogHelper.WriteLogInfo("判断sku是否为已完成true");
return true;
}
else
{
LogHelper.WriteLogInfo("判断sku是否为已完成false");
return false;
}
}
#endregion
#region #region
public int getOrderarea(string usercode, string block, string area) public int getOrderarea(string usercode, string block, string area)
{ {
@ -1245,15 +1280,28 @@ namespace Epost.DAL
#region sku对应的所有任务 #region sku对应的所有任务
public DataTable getOrderListBysku(string block, string sku) public DataTable getOrderListBysku(string block, string sku,string area, string matchid)
{ {
string sql = string.Format("select * from v_orders where block = '{0}' and sku ='{1}' ", string sql = string.Format("select * from v_orders where block = '{0}' and area='{1}' and sku ='{2}'and matchid ='{3}' order by layer,slist ",
block, block,area,
sku); sku,matchid);
LogHelper.WriteLogInfo("查询sku对应的所有任务:" + sql); LogHelper.WriteLogInfo("查询sku对应的所有任务:" + sql);
DataTable dt = db.GetsqlForDT(sql); DataTable dt = db.GetsqlForDT(sql);
return dt; return dt;
}
#endregion
#region sku对应的所有任务
public DataTable getOrderHisListBysku(string block, string sku, string area,string matchid)
{
string sql = string.Format("select * from v_ordershis where block = '{0}' and area='{1}' and sku ='{2}' and matchid ='{3}' order by layer,slist ",
block, area,
sku,matchid);
LogHelper.WriteLogInfo("查询sku对应的所有回显任务:" + sql);
DataTable dt = db.GetsqlForDT(sql);
return dt;
} }
#endregion #endregion
#region 退 #region 退

View File

@ -290,10 +290,10 @@ namespace Epost.DAL
{ {
strwhere += "and Taskarea='" + model.Taskarea + "'"; strwhere += "and Taskarea='" + model.Taskarea + "'";
} }
string sql = string.Format("update OrdersQueue set state='{0}' where state<>3 and sku = '{1}' and matchid='{2}' and usercode='{3}'"+ strwhere, string sql = string.Format("update OrdersQueue set state='{0}' where state<>3 and sku = '{1}' and matchid='{2}' "+ strwhere,
model.State model.State
,model.Sku, ,model.Sku,
model.Matchid,model.UserCode model.Matchid
); );
LogHelper.WriteLogInfo("修改作业区段"+sql); LogHelper.WriteLogInfo("修改作业区段"+sql);
@ -354,10 +354,10 @@ namespace Epost.DAL
#region queue #region queue
public bool DelQueueOrder(string sku,string block) public bool DelQueueOrder(string sku,string block,string area)
{ {
string sql = string.Format("delete from OrdersQueue where sku='{0}' and taskblock='{1}' and state<>3", string sql = string.Format("delete from OrdersQueue where sku='{0}' and taskblock='{1}' and taskarea='{2}' and state<>3",
sku,block); sku,block,area);
LogHelper.WriteLogInfo("删除queue"+sql); LogHelper.WriteLogInfo("删除queue"+sql);
long x = db.DeleteSql(sql); long x = db.DeleteSql(sql);
if (x > 0) if (x > 0)

View File

@ -29,8 +29,8 @@ namespace Epost.DAL
// sku); // sku);
//string sql = string.Format(" SELECT * FROM skuinfo WHERE (CHARINDEX('{0}',location)>0) or sku='{1}'", //string sql = string.Format(" SELECT * FROM skuinfo WHERE (CHARINDEX('{0}',location)>0) or sku='{1}'",
// sku, sku); // sku, sku);
string sql = string.Format(" SELECT * FROM skuinfo WHERE sku='{0}'", string sql = string.Format(" SELECT * FROM skuinfo WHERE (CHARINDEX('{0}',location)>0) or sku='{1}'",
sku); sku, sku);
return db.GetsqlForDT(sql); return db.GetsqlForDT(sql);
} }

View File

@ -48,6 +48,7 @@ namespace Epost.Model
private string _Unit = string.Empty;//小单位 private string _Unit = string.Empty;//小单位
private string _UserCode = string.Empty;//工号 private string _UserCode = string.Empty;//工号
private string _no = string.Empty;//任务序号 private string _no = string.Empty;//任务序号
private string _readtime = string.Empty;
public string BatchId public string BatchId
{ {
get get
@ -389,6 +390,7 @@ namespace Epost.Model
public string UserCode { get => _UserCode; set => _UserCode = value; } public string UserCode { get => _UserCode; set => _UserCode = value; }
public string No { get => _no; set => _no = value; } public string No { get => _no; set => _no = value; }
public string ID { get => _ID; set => _ID = value; } public string ID { get => _ID; set => _ID = value; }
public string Readtime { get => _readtime; set => _readtime = value; }
} }
} }

View File

@ -37,4 +37,10 @@ namespace Epost.Model
} }
} }
} }
public class BatchModel {
string _batchno = string.Empty;
public string batchno { get => _batchno; set => _batchno = value; }
}
} }

View File

@ -9,6 +9,7 @@ using Epost.Common;
using System.Web.Helpers; using System.Web.Helpers;
using System.Data; using System.Data;
using System.Configuration; using System.Configuration;
using System.Windows.Forms;
namespace Epost.TestToolsWeb.Tests.Controllers namespace Epost.TestToolsWeb.Tests.Controllers
{ {
@ -19,13 +20,16 @@ namespace Epost.TestToolsWeb.Tests.Controllers
[TestMethod] [TestMethod]
public void d() public void d()
{ {
string sku = "211100"; string sku = "2509267236248";
if (sku.Substring(0, 1) == "2" && sku.Substring(1, 1) != "5") if (sku.Substring(0, 1) == "2")
{ {
if (sku.Length >= 7)
if (sku.Length >= 8)
{ {
sku = sku.Substring(1, 6); sku = sku.Substring(0, 8);
} }
} }
} }
} }

View File

@ -46,92 +46,6 @@ namespace Epost.TestToolsWeb.Controllers
ViewBag.isWork = isWork; ViewBag.isWork = isWork;
return View(); return View();
} }
#region
public ActionResult ClearALL()
{
bool result = false;
isShow = true;
try
{
ResultModel resultModel = contrbll.ClearALL();
return Json(new { Success = resultModel.result, Message = resultModel.msg });
}
catch (Exception)
{
return Json(new { Success = result, Message = "失败" });
}
}
#endregion
#region
public ActionResult StartWork()
{
isShow = true;
contrbll.StartWork();
isWork = 1;
return Json(new { Success = true, Message = "成功" });
}
#endregion
#region
public ActionResult TestStart()
{
ResultModel result = contrbll.TestStart();
if (result.result == "1")
{
return Json(new { Success = result, Message = result.msg });
}
else
{
return Json(new { Success = result, Message = result.msg });
}
}
#endregion
#region
public ActionResult TestEnd()
{
contrbll.TestEnd();
return Json(new { Success = true, Message = "成功" });
}
#endregion
#region
public ActionResult EndWork()
{
try
{
isShow = false;
isWork = 0;
isClear = 0;
contrbll.EndWork();
return Json(new { Success = true, Message = "成功" });
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("结束作业异常" + ex.Message);
return Json(new { Success = false, Message = "失败" });
}
}
#endregion
} }
} }

View File

@ -104,21 +104,21 @@ namespace Epost.DPS.Controllers
#region #region
[Route("TestStart")] [Route("TestStart")]
[HttpPost] [HttpPost]
public ResultModel TestStart() public ResultModel TestStart(BatchModel model)
{ {
lock (lockinit) lock (lockinit)
{ {
ResultModel res = new ResultModel(); ResultModel res = new ResultModel();
try try
{ {
ResultModel result = contrbll.TestStart(); ResultModel result = contrbll.TestStart(model.batchno);
return result; return result;
} }
catch (Exception ex) catch (Exception ex)
{ {
LogHelper.WriteLogInfo("GetDataList异常" + ex.Message); LogHelper.WriteLogInfo("TestStart异常" + ex.Message);
res.msg = "请求异常!"; res.msg = "请求异常!";
res.result = "-1"; res.result = "-1";
return res; return res;

View File

@ -1,6 +1,7 @@
using ComposerSDK; using ComposerSDK;
using Epost.BLL; using Epost.BLL;
using Epost.Common; using Epost.Common;
using Epost.DAL;
using Epost.DAL.Cache; using Epost.DAL.Cache;
using Epost.DAL.Enum; using Epost.DAL.Enum;
using Epost.DPS.Controllers; using Epost.DPS.Controllers;
@ -9,6 +10,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Configuration; using System.Configuration;
using System.Data; using System.Data;
using System.Data.Entity.Core.Metadata.Edm;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
@ -34,6 +36,8 @@ namespace Epost.TestToolsWeb.Controllers
BoxQueueBLL quboxbll = new BoxQueueBLL(); BoxQueueBLL quboxbll = new BoxQueueBLL();
JobDownCacheDAL JobCache = new JobDownCacheDAL(); JobDownCacheDAL JobCache = new JobDownCacheDAL();
HttpHelper http = new HttpHelper(); HttpHelper http = new HttpHelper();
AddressstorageDAL addal = new AddressstorageDAL();
ErrorLogDAL errdal = new ErrorLogDAL();
[Route("ProcessingResult")] [Route("ProcessingResult")]
[HttpPost] [HttpPost]
public string ProcessingResult([FromBody]ResultMessageModel data) public string ProcessingResult([FromBody]ResultMessageModel data)
@ -79,7 +83,25 @@ namespace Epost.TestToolsWeb.Controllers
JobCache.UpdateJobDownModelList(new List<ResultMessageModel>() { data }, EdownCommend.Create); JobCache.UpdateJobDownModelList(new List<ResultMessageModel>() { data }, EdownCommend.Create);
} }
if (data.Command == "JOB_Fail")
{
LabelParamModel lbmodel = new LabelParamModel();
lbmodel.Address = data.Address;
lbmodel.Uid = data.Address;
string stype = "N";
if (data.Type == "2")
{ stype = "C"; }
lbmodel.Type = stype;
lbmodel.ControlIP = data.IP;
combll.FORMAT_DEVICE(lbmodel);
LogHelper.WriteLogInfo("设备报错:"+JsonHelper.SerializeObject(data), Log_Type.ERROR);
ErrorLogModel errmodel = new ErrorLogModel();
errmodel.Address = data.Address;
errmodel.ControlIP = data.IP;
addal.UpdateErrorState(data.Address, data.IP);
}
} }
catch (Exception ex) catch (Exception ex)

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<UseIISExpress>true</UseIISExpress> <UseIISExpress>true</UseIISExpress>
@ -10,8 +10,8 @@
<WebStackScaffolding_LayoutPageFile>~/Views/Shared/_EpostLayoutPage.cshtml</WebStackScaffolding_LayoutPageFile> <WebStackScaffolding_LayoutPageFile>~/Views/Shared/_EpostLayoutPage.cshtml</WebStackScaffolding_LayoutPageFile>
<WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected> <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth> <WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
<NameOfLastUsedPublishProfile>E:\WORK\代码管理\播种\T系列分支\Epost.TestToolsWeb\Properties\PublishProfiles\Toolsweb.pubxml</NameOfLastUsedPublishProfile> <NameOfLastUsedPublishProfile>E:\WORK\代码管理\T系列\播种\Epost.TestToolsWeb\Properties\PublishProfiles\Toolsweb.pubxml</NameOfLastUsedPublishProfile>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig> <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<Use64BitIISExpress /> <Use64BitIISExpress />
<IISExpressSSLPort /> <IISExpressSSLPort />
<IISExpressAnonymousAuthentication /> <IISExpressAnonymousAuthentication />
@ -19,7 +19,7 @@
<IISExpressUseClassicPipelineMode /> <IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile /> <UseGlobalApplicationHostFile />
<Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID> <Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Controller</Controller_SelectedScaffolderCategoryPath> <Controller_SelectedScaffolderCategoryPath>root/Common/Web API</Controller_SelectedScaffolderCategoryPath>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<VisualStudio> <VisualStudio>

View File

@ -9,13 +9,13 @@
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform> <LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish /> <SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> <LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data> <ExcludeApp_Data>false</ExcludeApp_Data>
<publishUrl>D:\驿传\T系列</publishUrl> <publishUrl>D:\驿传\Wuxidingshi_DAS</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles> <DeleteExistingFiles>true</DeleteExistingFiles>
<PrecompileBeforePublish>True</PrecompileBeforePublish> <PrecompileBeforePublish>true</PrecompileBeforePublish>
<EnableUpdateable>True</EnableUpdateable> <EnableUpdateable>true</EnableUpdateable>
<DebugSymbols>False</DebugSymbols> <DebugSymbols>false</DebugSymbols>
<WDPMergeOption>DonotMerge</WDPMergeOption> <WDPMergeOption>DonotMerge</WDPMergeOption>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -6,8 +6,9 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile /> <TimeStampOfAssociatedLegacyPublishXmlFile />
<_PublishTargetUrl>D:\驿传\T系列</_PublishTargetUrl> <_PublishTargetUrl>D:\驿传\Wuxidingshi_DAS</_PublishTargetUrl>
<History>True|2022-07-15T08:41:13.9750291Z;True|2022-07-14T14:02:20.7983427+08:00;True|2022-07-13T17:40:22.7531000+08:00;True|2022-07-13T17:34:22.9908701+08:00;True|2022-07-13T17:30:06.3588502+08:00;True|2022-07-11T10:32:06.9053981+08:00;True|2021-04-26T10:07:37.4889549+08:00;True|2021-04-09T10:32:51.9130162+08:00;True|2021-04-09T10:31:50.4974012+08:00;</History> <History>True|2025-06-26T13:19:18.0735602Z||;True|2025-06-26T21:12:51.6536773+08:00||;True|2025-06-26T21:06:38.5762552+08:00||;True|2025-06-26T20:56:58.9703670+08:00||;True|2025-06-26T20:51:55.6003060+08:00||;True|2025-06-26T16:32:01.0915594+08:00||;True|2025-06-24T21:33:51.6120305+08:00||;True|2025-06-24T15:40:47.6769336+08:00||;True|2025-06-24T10:20:08.6997539+08:00||;True|2025-06-23T16:45:32.2447039+08:00||;True|2025-06-19T17:51:13.7383312+08:00||;True|2025-06-19T16:33:25.6789576+08:00||;True|2025-06-19T16:31:35.8668377+08:00||;True|2025-06-17T17:16:38.1010406+08:00||;True|2025-06-15T11:14:12.6170562+08:00||;True|2025-06-15T10:42:25.1172247+08:00||;True|2025-06-14T13:26:43.2442778+08:00||;True|2025-06-10T13:21:34.1684919+08:00||;True|2025-06-09T11:40:40.2739751+08:00||;True|2025-06-08T16:20:45.8519262+08:00||;True|2025-01-16T15:37:40.8814043+08:00||;True|2024-12-19T15:11:44.2536385+08:00||;True|2024-12-10T19:10:26.6514077+08:00||;True|2024-12-10T18:30:34.7211512+08:00||;True|2024-12-09T14:06:46.4112259+08:00||;True|2024-12-03T14:23:26.2134334+08:00||;True|2024-11-27T18:53:48.7373661+08:00||;True|2024-11-27T14:27:33.0840789+08:00||;True|2024-11-27T14:08:15.6442660+08:00||;True|2024-11-27T12:10:03.9412549+08:00||;True|2024-11-27T11:45:31.3775097+08:00||;True|2024-11-27T11:32:00.8297320+08:00||;True|2024-11-23T20:50:04.5476409+08:00||;False|2024-11-04T17:48:25.2781696+08:00||;True|2024-11-01T16:04:56.3535724+08:00||;True|2024-09-01T10:13:37.1598955+08:00||;True|2024-08-31T17:27:57.5375469+08:00||;True|2022-07-15T16:41:13.9750291+08:00||;True|2022-07-14T14:02:20.7983427+08:00||;True|2022-07-13T17:40:22.7531000+08:00||;True|2022-07-13T17:34:22.9908701+08:00||;True|2022-07-13T17:30:06.3588502+08:00||;True|2022-07-11T10:32:06.9053981+08:00||;True|2021-04-26T10:07:37.4889549+08:00||;True|2021-04-09T10:32:51.9130162+08:00||;True|2021-04-09T10:31:50.4974012+08:00||;</History>
<LastFailureDetails />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<File Include="ApplicationInsights.config"> <File Include="ApplicationInsights.config">
@ -32,19 +33,19 @@
<publishTime>04/04/2018 15:45:12</publishTime> <publishTime>04/04/2018 15:45:12</publishTime>
</File> </File>
<File Include="bin/App_global.asax.compiled"> <File Include="bin/App_global.asax.compiled">
<publishTime>07/15/2022 16:57:09</publishTime> <publishTime>06/26/2025 21:19:16</publishTime>
</File> </File>
<File Include="bin/App_global.asax.dll"> <File Include="bin/App_global.asax.dll">
<publishTime>07/15/2022 16:57:09</publishTime> <publishTime>06/26/2025 21:19:16</publishTime>
</File> </File>
<File Include="bin/BouncyCastle.Crypto.dll"> <File Include="bin/BouncyCastle.Crypto.dll">
<publishTime>02/24/2020 15:29:24</publishTime> <publishTime>02/24/2020 15:29:24</publishTime>
</File> </File>
<File Include="bin/Common.dll"> <File Include="bin/Common.dll">
<publishTime>07/15/2022 16:40:17</publishTime> <publishTime>06/26/2025 20:51:31</publishTime>
</File> </File>
<File Include="bin/Common.pdb"> <File Include="bin/Common.pdb">
<publishTime>07/15/2022 16:40:17</publishTime> <publishTime>06/26/2025 20:51:31</publishTime>
</File> </File>
<File Include="bin/ComposerSDK.dll"> <File Include="bin/ComposerSDK.dll">
<publishTime>04/29/2020 16:50:14</publishTime> <publishTime>04/29/2020 16:50:14</publishTime>
@ -62,31 +63,31 @@
<publishTime>10/23/2017 13:15:20</publishTime> <publishTime>10/23/2017 13:15:20</publishTime>
</File> </File>
<File Include="bin/Epost.BLL.dll"> <File Include="bin/Epost.BLL.dll">
<publishTime>07/15/2022 16:56:59</publishTime> <publishTime>06/26/2025 21:19:04</publishTime>
</File> </File>
<File Include="bin/Epost.BLL.pdb"> <File Include="bin/Epost.BLL.pdb">
<publishTime>07/15/2022 16:56:59</publishTime> <publishTime>06/26/2025 21:19:04</publishTime>
</File> </File>
<File Include="bin/Epost.BLL.XmlSerializers.dll"> <File Include="bin/Epost.BLL.XmlSerializers.dll">
<publishTime>08/26/2020 18:09:48</publishTime> <publishTime>08/26/2020 18:09:48</publishTime>
</File> </File>
<File Include="bin/Epost.DAL.dll"> <File Include="bin/Epost.DAL.dll">
<publishTime>07/15/2022 16:40:18</publishTime> <publishTime>06/26/2025 20:51:32</publishTime>
</File> </File>
<File Include="bin/Epost.DAL.pdb"> <File Include="bin/Epost.DAL.pdb">
<publishTime>07/15/2022 16:40:18</publishTime> <publishTime>06/26/2025 20:51:32</publishTime>
</File> </File>
<File Include="bin/Epost.DPS.dll"> <File Include="bin/Epost.DPS.dll">
<publishTime>07/15/2022 16:57:02</publishTime> <publishTime>06/26/2025 21:19:08</publishTime>
</File> </File>
<File Include="bin/Epost.DPS.pdb"> <File Include="bin/Epost.DPS.pdb">
<publishTime>07/15/2022 16:57:02</publishTime> <publishTime>06/26/2025 21:19:08</publishTime>
</File> </File>
<File Include="bin/Epost.Model.dll"> <File Include="bin/Epost.Model.dll">
<publishTime>07/14/2022 16:43:42</publishTime> <publishTime>06/26/2025 20:51:29</publishTime>
</File> </File>
<File Include="bin/Epost.Model.pdb"> <File Include="bin/Epost.Model.pdb">
<publishTime>07/14/2022 16:43:42</publishTime> <publishTime>06/26/2025 20:51:29</publishTime>
</File> </File>
<File Include="bin/Epost.TestToolsWeb.dll"> <File Include="bin/Epost.TestToolsWeb.dll">
<publishTime>09/06/2018 11:57:11</publishTime> <publishTime>09/06/2018 11:57:11</publishTime>
@ -5651,7 +5652,7 @@
<publishTime>05/30/2022 16:58:47</publishTime> <publishTime>05/30/2022 16:58:47</publishTime>
</File> </File>
<File Include="PrecompiledApp.config"> <File Include="PrecompiledApp.config">
<publishTime>07/15/2022 16:57:03</publishTime> <publishTime>06/26/2025 21:19:09</publishTime>
</File> </File>
<File Include="Scripts/ai.0.22.9-build00167.js"> <File Include="Scripts/ai.0.22.9-build00167.js">
<publishTime>04/04/2018 15:45:12</publishTime> <publishTime>04/04/2018 15:45:12</publishTime>
@ -7571,7 +7572,7 @@
<publishTime>07/04/2022 14:22:38</publishTime> <publishTime>07/04/2022 14:22:38</publishTime>
</File> </File>
<File Include="Web.config"> <File Include="Web.config">
<publishTime>07/12/2022 15:10:39</publishTime> <publishTime>06/26/2025 20:51:38</publishTime>
</File> </File>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -11,7 +11,7 @@
</configSections> </configSections>
<connectionStrings> <connectionStrings>
<add name="weijie_dpsEntities" connectionString="metadata=res://*/WJDB.csdl|res://*/WJDB.ssdl|res://*/WJDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=weijie_dps;user id=sa;password=123456;min pool size=4;max pool size=4;packet size=3072;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> <add name="weijie_dpsEntities" connectionString="metadata=res://*/WJDB.csdl|res://*/WJDB.ssdl|res://*/WJDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=weijie_dps;user id=sa;password=123456;min pool size=4;max pool size=4;packet size=3072;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
<add name="SqlLocDPSConnection" connectionString="server=139.196.36.200;user id=EpostTest;password=antion;database=EpostTest_T;min pool size=512;max pool size=512;packet size=3072" providerName="System.Data.SqlClient" /> <add name="SqlLocDPSConnection" connectionString="server=139.196.36.200;user id=EpostTest;password=antion;database=WuXi_DingShi_DAS;min pool size=512;max pool size=512;packet size=3072" providerName="System.Data.SqlClient" />
<add name="MysqlLocDPSConnection" connectionString="Server=localhost;Port=3306;Database=world;User=root; Password=antion;SslMode=None;Pooling=true;Allow User Variables=True;" /> <add name="MysqlLocDPSConnection" connectionString="Server=localhost;Port=3306;Database=world;User=root; Password=antion;SslMode=None;Pooling=true;Allow User Variables=True;" />
<add name="WMSConnection" connectionString="data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=139.196.36.200)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=EpostDB)));user id=C##Test;password=test" /> <add name="WMSConnection" connectionString="data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=139.196.36.200)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=EpostDB)));user id=C##Test;password=test" />
@ -27,11 +27,11 @@
<add key="ControlXML" value="/App_Data/EpostController.xml" /> <add key="ControlXML" value="/App_Data/EpostController.xml" />
<add key="LabelXML" value="/App_Data/AddressStorage.xml" /> <add key="LabelXML" value="/App_Data/AddressStorage.xml" />
<add key="ResultsXML" value="/App_Data/Results.xml" /> <add key="ResultsXML" value="/App_Data/Results.xml" />
<add key="WebAPIUrl" value="http://192.168.3.65:8051/api/WebAPI/ProcessingResult"/> <add key="WebAPIUrl" value="http://192.168.0.20:8045/api/WebAPI/ProcessingResult"/>
<add key="ShowMode" value="1" /> <add key="ShowMode" value="1" />
<add key="SetupMode" value="\Epost_P\Epost.TestToolsWeb\App_Data\SetupMode.txt" /> <add key="SetupMode" value="\Epost_P\Epost.TestToolsWeb\App_Data\SetupMode.txt" />
<add key="CARID" value="HT01" /> <add key="CARID" value="HT01" />
<add key="ServerAPIURL" value="http://192.168.3.65:8051/api/WebAPI" /> <add key="ServerAPIURL" value="http://192.168.0.20:8045/api/WebAPI" />
<add key="SleepTime" value="1" /> <add key="SleepTime" value="1" />
</appSettings> </appSettings>
<!-- <!--