This commit is contained in:
帅凯 贾
2023-08-14 14:57:24 +08:00
parent b4fd2d4e05
commit 07985264fa
10 changed files with 289 additions and 80 deletions

View File

@ -1,5 +1,7 @@
using Epost.BLL;
using Epost.Common;
using Epost.DAL;
using Epost.DAL.Cache;
using Epost.Model;
using System;
using System.Collections.Generic;
@ -7,6 +9,8 @@ using System.Data;
using System.Linq;
using System.Security.Policy;
using System.Web;
using System.Web.Helpers;
using System.Web.Razor.Tokenizer.Symbols;
using System.Web.Services;
namespace Epost.DPS.WebService
@ -23,6 +27,9 @@ namespace Epost.DPS.WebService
{
OrderBLL bll = new OrderBLL();
OrdersQueueBLL queueBLL = new OrdersQueueBLL();
CommandDAL dal = new CommandDAL();
JobModelCacheDAL JobCache = new JobModelCacheDAL();
[WebMethod]
public string ReceiveDataInfo_XML(string action, string messages)
@ -41,9 +48,10 @@ namespace Epost.DPS.WebService
//{
if (!string.IsNullOrEmpty(messages))
{
bool flag = true;
string mms = string.Empty;
LogHelper.WriteLogInfo("======开始处理数据======");
DataSet set = XmlHelper.GetDataSetStrXml(messages);
DataSet set = XmlHelper.GetDataSetStrXml(messages.Replace("&", "").Replace("#", ""));
if (set != null && set.Tables.Count > 0 && set.Tables[0].Rows.Count > 0)
{
var ReturnDt = set.Tables["pick"];
@ -51,40 +59,93 @@ namespace Epost.DPS.WebService
foreach (DataRow item in ReturnDt.Rows)
{
DataTable dt = bll.GetDataIfRepeat(item["transderMid"].ToString(), item["transderDid"].ToString());
if (dt == null || dt.Rows.Count <= 0)
if (!string.IsNullOrEmpty(item["labelNo"].ToString()))
{
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();
if (!string.IsNullOrEmpty(item["labelIP"].ToString()))
{
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);
dtResult.Rows.Add(dataRow);
List<JobModel> jobList = JobCache.GetPlanJobList().FindAll(p => p.ID == orderdt.Rows[0]["id"].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
{
msg.Status = "erro";
msg.Message = "数据异常标签对应控制器IP未传值请检查数据后重试";
main.msg = msg;
resultxml = XmlHelper.ModelToXml(main);
LogHelper.WriteLogInfo("数据异常标签对应控制器IP未传值请检查数据后重试");
return resultxml;
}
}
else
{
mms += "主键重复 (" + item["transderMid"].ToString() + "-" + item["transderDid"].ToString() + ")";
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["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() + ")";
}
}
}
if (!string.IsNullOrEmpty(mms))
{
mms = mms.Substring(mms.Length - 1, 1);
mms = mms.Substring(0, mms.Length - 1);
msg.Status = "erro";
msg.Message = "数据异常:" + mms + "";
@ -94,43 +155,53 @@ namespace Epost.DPS.WebService
}
else
{
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)
if (flag)
{
msg.Status = "ok";
msg.Message = "接收成功";
main.msg = msg;
resultxml = XmlHelper.ModelToXml(main);
LogHelper.WriteLogInfo("接收成功");
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 = "erro";
msg.Message = "数据异常:数据接收失败,请重试!";
msg.Status = "ok";
msg.Message = "熄灭成功";
main.msg = msg;
resultxml = XmlHelper.XmlSerialize(main);
LogHelper.WriteLogInfo("数据异常:数据接收失败,请重试!");
resultxml = XmlHelper.ModelToXml(main);
LogHelper.WriteLogInfo("熄灭成功");
return resultxml;
}
}
}