This commit is contained in:
帅凯 贾
2023-12-15 11:57:07 +08:00
parent a77604f299
commit 95aaa6d25c
3 changed files with 45 additions and 195 deletions

View File

@ -62,197 +62,47 @@ namespace Epost.DPS.WebService
foreach (DataRow item in ReturnDt.Rows)
{
#region /
//灭灯
if (item["TaskType"].ToString() == "Y")
DataTable dt = bll.GetDataIfRepeat(item["transderMid"].ToString(), item["transderDid"].ToString());
if (dt == null || dt.Rows.Count <= 0)
{
List<LabelParamModel> list = new List<LabelParamModel>();
//熄灭指定订单任务
if (item["Current"].ToString() == "Y")
DataTable locdt = bll.GetlocationInfo(item["areaId"].ToString());
if (locdt != null && locdt.Rows.Count > 0)
{
List<JobModel> jobWaitList = JobCache.GetPlanJobList().FindAll(p => p.OrderID == item["transderMid"].ToString() && p.State != 1);
LogHelper.WriteLogInfo("熄灭指定订单亮灯任务---一对多标签---修改等待亮灯的状态---订单号:" + item["transderMid"].ToString() + "---条数:" + jobWaitList.Count + "");
JobCache.UpdateJobModelList(jobWaitList, EcommendType.Execute);
DataRow dataRow = dtResult.NewRow();
dataRow["transderMid"] = item["transderMid"].ToString();
dataRow["transderDid"] = item["transderDid"].ToString();
dataRow["drugCode"] = item["drugCode"].ToString();
dataRow["drugCommName"] = item["drugCommName"].ToString();
dataRow["drugName"] = item["drugName"].ToString();
dataRow["drugSpec"] = item["drugSpec"].ToString();
dataRow["Unit"] = item["Unit"].ToString();
dataRow["manufactName"] = item["manufactName"].ToString();
dataRow["batchNo"] = item["batchNo"].ToString();
dataRow["expire"] = item["expire"].ToString();
dataRow["areaId"] = item["areaId"].ToString();
dataRow["pickQty"] = item["pickQty"].ToString();
dataRow["stock"] = item["stock"].ToString();
dataRow["drugStoreName"] = item["drugStoreName"].ToString();
dataRow["labelColor"] = item["labelColor"].ToString();
dataRow["lookListen"] = item["lookListen"].ToString();
dataRow["labelIP"] = item["labelIP"].ToString();
dataRow["labelNo"] = item["labelNo"].ToString();
bll.UpOrdersWaitState(item["transderMid"].ToString());
List<JobModel> jobList = JobCache.GetPlanJobList().FindAll(p => p.OrderID == item["transderMid"].ToString());
LogHelper.WriteLogInfo("熄灭指定订单亮灯任务---订单号:" + item["transderMid"].ToString() + "---条数:" + jobList.Count + "");
if (jobList != null && jobList.Count > 0)
{
foreach (var itemlist in jobList)
{
LabelParamModel model = new LabelParamModel();
model.ControlIP = itemlist.ControlIP.ToString();
model.Address = itemlist.Address.ToString();
model.Command = "REMOVE_JOB";
model.Uid = itemlist.ID.ToString();
model.Type = "C";
list.Add(model);
itemlist.State = 3;
List<JobModel> downlist = new List<JobModel>();
downlist.Add(itemlist);
bll.UpdateOrderState_Car(downlist, itemlist, itemlist.Quantity, 0);
List<JobModel> ExjobList = JobCache.GetPlanJobList().FindAll(p => p.Block == itemlist.Block && p.Area == itemlist.Area && p.State != 3);
if (!ExjobList.Any())
{
LogHelper.WriteLogInfo("熄灭指定订单任务-熄灭通道灯:" + itemlist.Block + "++++" + itemlist.Area + "");
combll.DISPLAY_LIGHT_BLOCK(itemlist.Block, itemlist.Area, "0");
bool skuInish = bll.IsFinishWork(1, itemlist.Block, "", itemlist.Area, "", "", "");
if (skuInish)
{
LogHelper.WriteLogInfo("通道拣货完成--------------");
#region
OrdersQueueModel qumodel = new OrdersQueueModel();
qumodel.State = 3;
qumodel.Taskblock = itemlist.Block;
qumodel.Taskarea = itemlist.Area;
queueBLL.UpdateQueueTaskArea_Car(qumodel);
#endregion
bool WorkArea = bll.IsFinishWorkArea("", "", "99", "", "", "");
if (WorkArea)
{
LogHelper.WriteLogInfo("阴凉区完成--------------");
if (WorkArea)
{
combll.DISPLAY_LIGHT_BLOCK_Out("", itemlist.Area, "0");
}
}
}
}
}
dal.SendALL(list);
bool b = bll.UpOrdersState(item["transderMid"].ToString());
JobCache.UpdateJobModelList(jobList, EcommendType.Execute);
flag = false;
}
else
{
msg.Status = "erro";
msg.Message = "标签熄灭失败:当前标签未亮灯!";
main.msg = msg;
resultxml = XmlHelper.ModelToXml(main);
LogHelper.WriteLogInfo("标签熄灭失败:当前标签未亮灯!");
return resultxml;
}
}
//熄灭全部
else if (item["Current"].ToString() == "N")
{
List<JobModel> jobList = JobCache.GetPlanJobList();
if (jobList != null && jobList.Count > 0)
{
DataTable dt = addbll.GetForcedendAddress();
foreach (DataRow additem in dt.Rows)
{
LabelParamModel model = new LabelParamModel();
model.ControlIP = additem["ControlIP"].ToString();
model.Address = "9999";
model.Command = "FORMAT_JOB_DATA";
model.Parameter = "50";
model.Timeout = "0.5";
list.Add(model);
model = new LabelParamModel();
model.ControlIP = additem["ControlIP"].ToString();
model.Address = "9999";
model.Parameter = "11111000";
model.Command = "UNLOCK";
model.Timeout = "0.5";
list.Add(model);
combll.LED_OFF_CLEAR(additem["ControlIP"].ToString());
}
dal.SendALL(list);
bool b = bll.UpOrdersState("");
//修改队列状态
queueBLL.updateOrderQueueState();
JobCache.UpdateJobModelList(jobList, EcommendType.CompleteAll);
flag = false;
}
else
{
msg.Status = "erro";
msg.Message = "标签熄灭失败:当前标签未亮灯!";
main.msg = msg;
resultxml = XmlHelper.ModelToXml(main);
LogHelper.WriteLogInfo("标签熄灭失败:当前标签未亮灯!");
return resultxml;
}
dtResult.Rows.Add(dataRow);
}
else
{
msg.Status = "erro";
msg.Message = "数据异常Current参数为空或参数不正确";
main.msg = msg;
resultxml = XmlHelper.ModelToXml(main);
LogHelper.WriteLogInfo("数据异常Current参数为空或参数不正确");
return resultxml;
}
}
else if (item["TaskType"].ToString() == "N")
{
DataTable dt = bll.GetDataIfRepeat(item["transderMid"].ToString(), item["transderDid"].ToString());
if (dt == null || dt.Rows.Count <= 0)
{
DataTable locdt = bll.GetlocationInfo(item["areaId"].ToString());
if (locdt != null && locdt.Rows.Count > 0)
{
DataRow dataRow = dtResult.NewRow();
dataRow["transderMid"] = item["transderMid"].ToString();
dataRow["transderDid"] = item["transderDid"].ToString();
dataRow["drugCode"] = item["drugCode"].ToString();
dataRow["drugCommName"] = item["drugCommName"].ToString();
dataRow["drugName"] = item["drugName"].ToString();
dataRow["drugSpec"] = item["drugSpec"].ToString();
dataRow["Unit"] = item["Unit"].ToString();
dataRow["manufactName"] = item["manufactName"].ToString();
dataRow["batchNo"] = item["batchNo"].ToString();
dataRow["expire"] = item["expire"].ToString();
dataRow["areaId"] = item["areaId"].ToString();
dataRow["pickQty"] = item["pickQty"].ToString();
dataRow["stock"] = item["stock"].ToString();
dataRow["drugStoreName"] = item["drugStoreName"].ToString();
dataRow["labelColor"] = item["labelColor"].ToString();
dataRow["lookListen"] = item["lookListen"].ToString();
dataRow["labelIP"] = item["labelIP"].ToString();
dataRow["labelNo"] = item["labelNo"].ToString();
dtResult.Rows.Add(dataRow);
}
else
{
LogHelper.WriteLogInfo("" + item["areaId"].ToString() + ",该货位不存在");
}
}
else
{
mms += "主键重复 (" + item["transderMid"].ToString() + "-" + item["transderDid"].ToString() + ")";
LogHelper.WriteLogInfo("" + item["areaId"].ToString() + ",该货位不存在");
}
}
else
{
msg.Status = "erro";
msg.Message = "数据异常TaskType参数为空或参数不正确";
main.msg = msg;
resultxml = XmlHelper.ModelToXml(main);
LogHelper.WriteLogInfo("数据异常TaskType参数为空或参数不正确");
mms += "主键重复 (" + item["transderMid"].ToString() + "-" + item["transderDid"].ToString() + ")";
}
#endregion
}
#region
if (!string.IsNullOrEmpty(mms))
{