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 获取列表
|
/// <summary>
|
/// 获取列表
|
/// </summary>
|
/// <param name="pageIndex">页码</param>
|
/// <param name="pageSize">页显示数</param>
|
/// <returns></returns>
|
public string GetXmlList(int pageIndex, int pageSize, string CN_S_CODE, string CN_S_ITEM_NAME)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
|
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<OperateResult>(dataStr, timeFormat);
|
return JsonConvert.SerializeObject(resultEntity, timeFormat);
|
}
|
#endregion
|
|
|
#region 解析XML
|
/// <summary>
|
/// 解析XML
|
/// </summary>
|
/// <param name="file">文件流</param>
|
/// <returns></returns>
|
public string UnscrambleXml(HttpPostedFileBase file)
|
{
|
List<TN_WM_B_UNIQUE_BARCODEEntity> uniqueEntityList = new List<TN_WM_B_UNIQUE_BARCODEEntity>();
|
|
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功能
|
/// <summary>
|
/// 导入XML功能
|
/// </summary>
|
/// <returns></returns>
|
public string ImportXmlData()
|
{
|
//XML文件流
|
var sr = new StreamReader(Request.InputStream);
|
var stream = sr.ReadToEnd();
|
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var TokenId = loginer.Extend1;//TokenId
|
|
var streamStr = new { streamStr = stream, tokenId = TokenId };
|
return HttpWMS_Post("api/XmlUp/ImportXmlDataString", streamStr);
|
}
|
|
#endregion
|
}
|
}
|