/// <summary> /// 毛重回传 /// </summary> /// <param name="data"></param> private void UpdateDeliverStatus(string data) { WMSHelper.SaveLog("UpdateDeliverStatus", data, "调用方法", "info", "in"); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(data); if (xmlDocument == null) { result = ReturnXML("0001", "xml文档格式错误", "0", ""); WMSHelper.SaveLog("UpdateDeliverStatus", data, "xml文档格式错误", "error", "in"); return; } XmlNode xmlOrderList = xmlDocument.SelectSingleNode("xmldata/orderlist"); if (xmlOrderList == null) { result = ReturnXML("0001", "不包含订单信息", "0", ""); WMSHelper.SaveLog("UpdateDeliverStatus", data, "不包含订单信息", "error", "in"); return; } try { List <DeliverStatusInfo> list = new List <DeliverStatusInfo>(); foreach (XmlNode orderNode in xmlOrderList.SelectNodes("item")) { DeliverStatusInfo info = new DeliverStatusInfo(); info.OrderId = orderNode.SelectSingleNode("orderid").InnerText; info.OrderStatus = int.Parse(orderNode.SelectSingleNode("OrderStatus").InnerText); info.Describe = orderNode.SelectSingleNode("Describe").InnerText; info.Warehouse = orderNode.SelectSingleNode("Warehouse").InnerText; info.UpdateDate = Convert.ToDateTime(orderNode.SelectSingleNode("UpdateDate").InnerText); info.ShipOrderNumber = orderNode.SelectSingleNode("ShipOrderNumber").InnerText; ExpressCompanyInfo expressCompanyInfo = ExpressHelper.FindNodeByKuaidi100Code(orderNode.SelectSingleNode("ExpressCompanyName").InnerText); string getExpressCompanyName = ""; if (expressCompanyInfo != null) { getExpressCompanyName = expressCompanyInfo.Name; } info.ExpressCompanyName = getExpressCompanyName; list.Add(info); } bool flag = false; if (list.Count > 0) { List <ErrorDeliverStatusInfo> errorlist; flag = OrderHelper.AddDeliverStatus(list, out errorlist); if (flag && errorlist.Count == 0) { result = ReturnXML("0000", "操作成功", "1", ""); WMSHelper.SaveLog("UpdateDeliverStatus", data, "操作成功", "info", "in"); return; } else if (flag && errorlist.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (ErrorDeliverStatusInfo info in errorlist) { sb.Append("<resultInfo>"); sb.AppendFormat("<orderid>{0}</orderid>", info.OrderId); sb.AppendFormat("<OrderStatus>{0}</OrderStatus>", info.OrderStatus); sb.AppendFormat("<Describe>{0}</Describe>", info.Describe); sb.AppendFormat("<Warehouse>{0}</Warehouse>", info.Warehouse); sb.AppendFormat("<ShipOrderNumber>{0}</ShipOrderNumber>", info.ShipOrderNumber); sb.AppendFormat("<ExpressCompanyName>{0}</ExpressCompanyName>", info.ExpressCompanyName); //sb.AppendFormat("<UpdateDate>{0}</UpdateDate>", info.UpdateDate.ToString("YYYY-MM-DD HH:MM:SS")); sb.AppendFormat("<errorcode>{0}</errorcode>", info.errorcode); sb.AppendFormat("<errordescr>{0}</errordescr>", info.errordescr); sb.Append("</resultInfo>"); } result = ReturnXML("0001", "部分操作成功", "2", sb.ToString()); WMSHelper.SaveLog("UpdateDeliverStatus", data, "部分操作成功:" + sb.ToString(), "info", "in"); return; } else { result = ReturnXML("0001", "数据库操作异常", "0", ""); WMSHelper.SaveLog("UpdateDeliverStatus", data, "数据库操作异常", "error", "in"); return; } } else { result = ReturnXML("0001", "不包含订单信息", "0", ""); WMSHelper.SaveLog("UpdateDeliverStatus", data, "不包含订单信息", "error", "in"); return; } } catch (Exception ex) { result = ReturnXML("0001", ex.ToString(), "0", ""); WMSHelper.SaveLog("UpdateDeliverStatus", data, ex.ToString(), "error", "in"); return; } }