using HH.AutoBom.Core; using HH.WMS.Common; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using HH.WMS.WebUI.Controllers; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.Mvc; using System.Xml; using System.Xml.Linq; namespace HH.WMS.WebUI.Areas.Instock.Controllers { public class XmlUpController : BaseController { // // GET: /Instock/XmlUp/ public ActionResult Index() { return View(); } #region 获取列表 /// /// 获取列表 /// /// 页码 /// 页显示数 /// public string GetXmlList(int pageIndex, int pageSize, string CN_S_CODE, string CN_S_ITEM_NAME) { var loginer = FormsAuth.GetUserData(); var TokenId = loginer.Extend1;//TokenId //查询条件 var SearchCondition = new { CN_S_CODE = CN_S_CODE, CN_S_ITEM_NAME = CN_S_ITEM_NAME }; var searchModel = new { pageIndex = pageIndex, pageSize = pageSize, tokenId = TokenId, SearchCondition = SearchCondition }; var dataStr = HttpWMS_Post("api/XmlUp/GetXmlList", JsonConvert.SerializeObject(searchModel)); IsoDateTimeConverter timeFormat = new IsoDateTimeConverter(); timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; var resultEntity = JsonConvert.DeserializeObject(dataStr, timeFormat); return JsonConvert.SerializeObject(resultEntity, timeFormat); } #endregion #region 解析XML /// /// 解析XML /// /// 文件流 /// public string UnscrambleXml(HttpPostedFileBase file) { List uniqueEntityList = new List(); try { XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(file.InputStream); XmlNodeList listNode = xmldoc.SelectSingleNode("DataList").ChildNodes; //获取Product节点下的所有节点列表 //到Product一级 foreach (XmlNode node in listNode) { XmlElement xe = (XmlElement)node; var productName = xe.GetAttribute("productName"); //产品名称 var pzwh = xe.GetAttribute("pzwh"); //批准文号 XmlNodeList xnfChild = xe.ChildNodes; //到Batch一级 foreach (XmlNode child in xnfChild) { XmlElement xmlchild = (XmlElement)child; var batchNo = xmlchild.GetAttribute("batchNo"); //批次编码 var specification = xmlchild.GetAttribute("specification"); //包装规格 var minPackUnit = xmlchild.GetAttribute("minPackUnit"); // var minTagUnit = xmlchild.GetAttribute("minTagUnit"); // var tagPackRatio = xmlchild.GetAttribute("tagPackRatio"); // var produceDate = xmlchild.GetAttribute("produceDate"); // var operatorName = xmlchild.GetAttribute("operator"); // var oprDate = xmlchild.GetAttribute("oprDate"); // var count = xmlchild.GetAttribute("count"); // var countUnit = xmlchild.GetAttribute("countUnit"); // var tagRatio = xmlchild.GetAttribute("tagRatio"); // var returnShort = new { productName = productName, pzwh = pzwh, batchNo = batchNo, specification = specification, minPackUnit = minPackUnit, minTagUnit = minTagUnit, tagPackRatio = tagPackRatio, produceDate = produceDate, operatorName = operatorName, oprDate = oprDate, count = count, countUnit = countUnit, tagRatio = tagRatio, }; return JsonConvert.SerializeObject(OperateResult.Succeed("", new { ImportShort = returnShort, ImportData = xmldoc.InnerXml })); } } return ""; } catch (Exception ex) { return ""; } } #endregion #region 导入XML功能 /// /// 导入XML功能 /// /// public string ImportXmlData() { //XML文件流 var sr = new StreamReader(Request.InputStream); var stream = sr.ReadToEnd(); var loginer = FormsAuth.GetUserData(); var TokenId = loginer.Extend1;//TokenId var streamStr = new { streamStr = stream, tokenId = TokenId }; return HttpWMS_Post("api/XmlUp/ImportXmlDataString", streamStr); } #endregion } }