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
}
}