This commit is contained in:
@ -28,218 +28,224 @@ namespace Epost.DPS.WebService
|
||||
OrderBLL bll = new OrderBLL();
|
||||
OrdersQueueBLL queueBLL = new OrdersQueueBLL();
|
||||
CommandDAL dal = new CommandDAL();
|
||||
private object obj = new object();
|
||||
|
||||
JobModelCacheDAL JobCache = new JobModelCacheDAL();
|
||||
|
||||
[WebMethod]
|
||||
public string ReceiveDataInfo_XML(string action, string messages)
|
||||
{
|
||||
LogHelper.WriteLogInfo("WebService请求报文:");
|
||||
LogHelper.WriteLogInfo("action:" + action + "");
|
||||
LogHelper.WriteLogInfo("messages:" + messages + "");
|
||||
|
||||
main main = new main();
|
||||
msg msg = new msg();
|
||||
var resultxml = string.Empty;
|
||||
try
|
||||
lock (obj)
|
||||
{
|
||||
//DataTable queuedt = queueBLL.getQueuesbyState();
|
||||
//if (queuedt == null || queuedt.Rows.Count <= 0)
|
||||
//{
|
||||
if (!string.IsNullOrEmpty(messages))
|
||||
LogHelper.WriteLogInfo("WebService请求报文:");
|
||||
LogHelper.WriteLogInfo("action:" + action + "");
|
||||
LogHelper.WriteLogInfo("messages:" + messages + "");
|
||||
|
||||
main main = new main();
|
||||
msg msg = new msg();
|
||||
var resultxml = string.Empty;
|
||||
try
|
||||
{
|
||||
bool flag = true;
|
||||
string mms = string.Empty;
|
||||
LogHelper.WriteLogInfo("======开始处理数据======");
|
||||
DataSet set = XmlHelper.GetDataSetStrXml(messages.Replace("&", "").Replace("#", ""));
|
||||
if (set != null && set.Tables.Count > 0 && set.Tables[0].Rows.Count > 0)
|
||||
//DataTable queuedt = queueBLL.getQueuesbyState();
|
||||
//if (queuedt == null || queuedt.Rows.Count <= 0)
|
||||
//{
|
||||
if (!string.IsNullOrEmpty(messages))
|
||||
{
|
||||
var ReturnDt = set.Tables["pick"];
|
||||
DataTable dtResult = ReturnDt.Clone();
|
||||
|
||||
foreach (DataRow item in ReturnDt.Rows)
|
||||
bool flag = true;
|
||||
string mms = string.Empty;
|
||||
LogHelper.WriteLogInfo("======开始处理数据======");
|
||||
DataSet set = XmlHelper.GetDataSetStrXml(messages.Replace("&", "").Replace("#", "").Replace("△", "").Replace("☆", "").Replace("=", "").Replace("】", "").Replace("【", "").Replace(" ","").Replace("\"", ""));
|
||||
if (set != null && set.Tables.Count > 0 && set.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(item["labelNo"].ToString()))
|
||||
var ReturnDt = set.Tables["pick"];
|
||||
DataTable dtResult = ReturnDt.Clone();
|
||||
|
||||
foreach (DataRow item in ReturnDt.Rows)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(item["labelIP"].ToString()))
|
||||
if (!string.IsNullOrEmpty(item["labelNo"].ToString()))
|
||||
{
|
||||
DataTable orderdt = bll.GetOrdersDT(item["labelIP"].ToString(), item["labelIP"].ToString());
|
||||
if (orderdt != null && orderdt.Rows.Count > 0)
|
||||
if (!string.IsNullOrEmpty(item["labelIP"].ToString()))
|
||||
{
|
||||
List<LabelParamModel> list = new List<LabelParamModel>();
|
||||
LabelParamModel model = new LabelParamModel();
|
||||
model.ControlIP = item["labelIP"].ToString();
|
||||
model.Address = item["labelNo"].ToString();
|
||||
model.Command = "REMOVE_JOB";
|
||||
model.Uid = orderdt.Rows[0]["id"].ToString();
|
||||
model.Type = "C";
|
||||
list.Add(model);
|
||||
dal.SendALL(list);
|
||||
DataTable orderdt = bll.GetOrdersDT(item["labelIP"].ToString(), item["labelIP"].ToString());
|
||||
if (orderdt != null && orderdt.Rows.Count > 0)
|
||||
{
|
||||
List<LabelParamModel> list = new List<LabelParamModel>();
|
||||
LabelParamModel model = new LabelParamModel();
|
||||
model.ControlIP = item["labelIP"].ToString();
|
||||
model.Address = item["labelNo"].ToString();
|
||||
model.Command = "REMOVE_JOB";
|
||||
model.Uid = orderdt.Rows[0]["id"].ToString();
|
||||
model.Type = "C";
|
||||
list.Add(model);
|
||||
dal.SendALL(list);
|
||||
|
||||
List<JobModel> jobList = JobCache.GetPlanJobList().FindAll(p => p.ID == orderdt.Rows[0]["id"].ToString());
|
||||
JobCache.UpdateJobModelList(jobList, EcommendType.Execute);
|
||||
List<JobModel> jobList = JobCache.GetPlanJobList().FindAll(p => p.ID == orderdt.Rows[0]["id"].ToString());
|
||||
JobCache.UpdateJobModelList(jobList, EcommendType.Execute);
|
||||
|
||||
flag = false;
|
||||
flag = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:当前标签未亮灯!";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("数据异常:当前标签未亮灯!");
|
||||
return resultxml;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:当前标签未亮灯!";
|
||||
msg.Message = "数据异常:标签对应控制器IP未传值,请检查数据后重试!";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("数据异常:当前标签未亮灯!");
|
||||
LogHelper.WriteLogInfo("数据异常:标签对应控制器IP未传值,请检查数据后重试!");
|
||||
return resultxml;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:标签对应控制器IP未传值,请检查数据后重试!";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("数据异常:标签对应控制器IP未传值,请检查数据后重试!");
|
||||
return resultxml;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
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)
|
||||
DataTable dt = bll.GetDataIfRepeat(item["transderMid"].ToString(), item["transderDid"].ToString());
|
||||
if (dt == null || dt.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["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();
|
||||
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);
|
||||
dtResult.Rows.Add(dataRow);
|
||||
}
|
||||
else
|
||||
{
|
||||
LogHelper.WriteLogInfo("" + item["areaId"].ToString() + ",该货位不存在");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LogHelper.WriteLogInfo("" + item["areaId"].ToString() + "该货位无对应关系");
|
||||
mms += "主键重复 (" + item["transderMid"].ToString() + "-" + item["transderDid"].ToString() + "),";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(mms))
|
||||
{
|
||||
mms = mms.Substring(0, mms.Length - 1);
|
||||
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:" + mms + "";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("数据异常:" + mms + "");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (flag)
|
||||
{
|
||||
Dictionary<string, string> diclist = new Dictionary<string, string>();
|
||||
diclist.Add("transderMid", "orderid");
|
||||
diclist.Add("transderDid", "transderDid");
|
||||
diclist.Add("drugCode", "sku");
|
||||
diclist.Add("drugCommName", "genericname");
|
||||
diclist.Add("drugName", "goodsname");
|
||||
diclist.Add("drugSpec", "Spec");
|
||||
diclist.Add("Unit", "unit");
|
||||
diclist.Add("manufactName", "manufactname");
|
||||
diclist.Add("batchNo", "batchno");
|
||||
diclist.Add("expire", "orderdate");
|
||||
diclist.Add("areaId", "tolocation");
|
||||
diclist.Add("pickQty", "quantity");
|
||||
diclist.Add("stock", "stockquantity");
|
||||
diclist.Add("drugStoreName", "shopname");
|
||||
diclist.Add("labelColor", "labelcolor");
|
||||
diclist.Add("lookListen", "looklisten");
|
||||
diclist.Add("labelIP", "labelIP");
|
||||
diclist.Add("labelNo", "labelno");
|
||||
|
||||
bool b = bll.ImportOrderinfo(dtResult, diclist);
|
||||
if (b)
|
||||
{
|
||||
msg.Status = "ok";
|
||||
msg.Message = "接收成功";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("接收成功");
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:数据接收失败,请检查货位和标签对应关系是否正确,请重试!";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.XmlSerialize(main);
|
||||
LogHelper.WriteLogInfo("数据异常:数据接收失败,请重试!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mms += "主键重复 (" + item["transderMid"].ToString() + "-" + item["transderDid"].ToString() + "),";
|
||||
msg.Status = "ok";
|
||||
msg.Message = "熄灭成功";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("熄灭成功");
|
||||
return resultxml;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(mms))
|
||||
{
|
||||
mms = mms.Substring(0, mms.Length - 1);
|
||||
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:" + mms + "";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("数据异常:" + mms + "");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (flag)
|
||||
{
|
||||
Dictionary<string, string> diclist = new Dictionary<string, string>();
|
||||
diclist.Add("transderMid", "orderid");
|
||||
diclist.Add("transderDid", "transderDid");
|
||||
diclist.Add("drugCode", "sku");
|
||||
diclist.Add("drugCommName", "genericname");
|
||||
diclist.Add("drugName", "goodsname");
|
||||
diclist.Add("drugSpec", "Spec");
|
||||
diclist.Add("manufactName", "manufactname");
|
||||
diclist.Add("batchNo", "batchno");
|
||||
diclist.Add("expire", "orderdate");
|
||||
diclist.Add("areaId", "tolocation");
|
||||
diclist.Add("pickQty", "quantity");
|
||||
diclist.Add("stock", "stockquantity");
|
||||
diclist.Add("drugStoreName", "shopname");
|
||||
diclist.Add("labelColor", "labelcolor");
|
||||
diclist.Add("lookListen", "looklisten");
|
||||
diclist.Add("labelIP", "labelIP");
|
||||
diclist.Add("labelNo", "labelno");
|
||||
|
||||
bool b = bll.ImportOrderinfo(dtResult, diclist);
|
||||
if (b)
|
||||
{
|
||||
msg.Status = "ok";
|
||||
msg.Message = "接收成功";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("接收成功");
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:数据接收失败,请重试!";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.XmlSerialize(main);
|
||||
LogHelper.WriteLogInfo("数据异常:数据接收失败,请重试!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Status = "ok";
|
||||
msg.Message = "熄灭成功";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("熄灭成功");
|
||||
return resultxml;
|
||||
}
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:解析XML失败,请检查XML格式后再进行推送!";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("数据异常:解析XML失败,请检查XML格式后再进行推送!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:解析XML失败,请检查XML格式后再进行推送!";
|
||||
msg.Message = "数据异常:未在XML内获取到数据,请检查后再进行推送!";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("数据异常:解析XML失败,请检查XML格式后再进行推送!");
|
||||
LogHelper.WriteLogInfo("数据异常:未在XML内获取到数据,请检查后再进行推送!");
|
||||
}
|
||||
return resultxml;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// msg.Status = "erro";
|
||||
// msg.Message = "数据异常/当前存在拣药任务";
|
||||
// main.msg = msg;
|
||||
// LogHelper.WriteLogInfo("数据异常/当前存在拣药任务");
|
||||
// return resultxml = XmlHelper.ModelToXml(main);
|
||||
//}
|
||||
}
|
||||
else
|
||||
catch (Exception ex)
|
||||
{
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:未在XML内获取到数据,请检查后再进行推送!";
|
||||
msg.Message = "数据异常:" + ex.Message + "";
|
||||
main.msg = msg;
|
||||
resultxml = XmlHelper.ModelToXml(main);
|
||||
LogHelper.WriteLogInfo("数据异常:未在XML内获取到数据,请检查后再进行推送!");
|
||||
LogHelper.WriteLogInfo("数据异常:" + ex.Message + "");
|
||||
return resultxml = XmlHelper.ModelToXml(main);
|
||||
}
|
||||
return resultxml;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// msg.Status = "erro";
|
||||
// msg.Message = "数据异常/当前存在拣药任务";
|
||||
// main.msg = msg;
|
||||
// LogHelper.WriteLogInfo("数据异常/当前存在拣药任务");
|
||||
// return resultxml = XmlHelper.ModelToXml(main);
|
||||
//}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
msg.Status = "erro";
|
||||
msg.Message = "数据异常:" + ex.Message + "";
|
||||
main.msg = msg;
|
||||
LogHelper.WriteLogInfo("数据异常:" + ex.Message + "");
|
||||
return resultxml = XmlHelper.ModelToXml(main);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user