using HH.AutoBom.Core;
|
using HH.WMS.Common;
|
using HH.WMS.Entitys;
|
using HH.WMS.Utils.NPOI.HSSF.UserModel;
|
using HH.WMS.WebUI.Controllers;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Linq;
|
using System.Web;
|
using System.Web.Mvc;
|
using System.Xml;
|
|
|
namespace HH.WMS.WebUI.Areas.OutStock.Controllers
|
{
|
public class SortingController : BaseController
|
{
|
public ActionResult SortingList()
|
{
|
return View();
|
}
|
|
public ActionResult FilePathDownload(string opNo, string province,string fromNo)
|
{
|
var ss = HttpWMS_Get("api/Sorting/GetOrderSortingRelByOrderNo?opNo=" + opNo);
|
var obj = JObject.Parse(ss);
|
List<TN_WM_ORDER_SORTING_RELEntity> list = JsonConvert.DeserializeObject<List<TN_WM_ORDER_SORTING_RELEntity>>(obj["Data"].ToString());
|
|
XmlDocument xml = new XmlDocument();
|
|
//创建第一行描述信息
|
//版本 编码格式
|
XmlDeclaration theFirstRowOfXml = xml.CreateXmlDeclaration("1.0", "UTF-8", null);
|
xml.AppendChild(theFirstRowOfXml);
|
|
//保存之前要创建根节点,根节点的名字是Datalist
|
XmlElement Datalist = xml.CreateElement("Datalist");
|
Datalist.SetAttribute("corpName", "宁波三生生物科技有限公司");//添加属性
|
Datalist.SetAttribute("dataType", "wareHouseOut");
|
Datalist.SetAttribute("version", "1.1");
|
Datalist.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
|
Datalist.SetAttribute("xsi:noNamespaceSchemaLocation", "兽药产品出库数据1.1.xsd");
|
//再把创建的根节点加入到xml中
|
xml.AppendChild(Datalist);
|
//
|
XmlElement Product = xml.CreateElement("Product");
|
Datalist.AppendChild(Product);
|
//var loginer = FormsAuth.GetUserData<LoginerBase>();
|
XmlElement Batch = xml.CreateElement("Batch");
|
Batch.SetAttribute("operator", list[0].CN_S_CREATOR_BY);
|
Batch.SetAttribute("oprDate", DateTime.Now.ToString("yyyy/MM/dd"));
|
string toProvince = string.Empty, toUnit = string.Empty;
|
if (!string.IsNullOrEmpty(province) && province != "null")
|
{
|
if (province.EndsWith("省"))
|
{
|
toProvince = province;
|
toUnit = province.TrimEnd('省');
|
}else if (province.EndsWith("市"))
|
{
|
toProvince = province;
|
toUnit = province.TrimEnd('市');
|
}
|
|
}
|
Batch.SetAttribute("toProvince", toProvince);
|
Batch.SetAttribute("toUnit", toUnit);
|
Product.AppendChild(Batch);
|
|
foreach (TN_WM_ORDER_SORTING_RELEntity entity in list)
|
{
|
if (!string.IsNullOrEmpty(entity.CN_S_UNIQUE_CODE))
|
{
|
XmlElement Data = xml.CreateElement("Data");
|
Data.SetAttribute("code", entity.CN_S_UNIQUE_CODE);
|
Batch.AppendChild(Data);
|
}
|
}
|
//string dir = Server.MapPath("~/XmlTemplate");
|
//dir = dir + "\\"+DateTime.Now.ToString("yyyyMMddHHmmss")+".xml";
|
//xml.Save(dir);//保存
|
//var path = dir;
|
byte[] data;
|
//byte[] fileContents = Encoding.Default.GetBytes(sbHtml.ToString());
|
using (MemoryStream ms = new MemoryStream())
|
{
|
xml.Save(ms);
|
data = ms.ToArray();
|
}
|
|
var no = "";
|
if (!string.IsNullOrEmpty(fromNo)&&fromNo!="null")
|
{
|
no = fromNo;
|
}
|
else
|
{
|
no = opNo;
|
}
|
|
return File(data, "text/xml", "" + no + ".xml");
|
}
|
|
|
#region 分拣单列表
|
/// <summary>
|
/// 分拣单列表
|
/// </summary>
|
/// <param name="searchModel"></param>
|
/// <returns></returns>
|
public string GetSortingList(int pageIndex, int pageSize, string sortingNo)
|
{
|
var searchModel = new
|
{
|
PageIndex = pageIndex,
|
PageSize = pageSize,
|
SearchCondition = new
|
{
|
SortingNo = sortingNo
|
}
|
};
|
return HttpWMS_Post("api/Sorting/GetSortingList", JsonConvert.SerializeObject(searchModel));
|
}
|
#endregion
|
|
#region 分拣数据
|
/// <summary>
|
/// 分拣数据
|
/// </summary>
|
/// <param name="sortingNo"></param>
|
/// <returns></returns>
|
public string GetSortingDtl(string sortingNo)
|
{
|
return HttpWMS_Get("api/Sorting/GetSortingDtl?sortingNo=" + sortingNo);
|
}
|
#endregion
|
|
#region 分拣明细
|
/// <summary>
|
/// 分拣明细
|
/// </summary>
|
/// <param name="sortingNo"></param>
|
/// <returns></returns>
|
public string GetSortingLocation(string sortingNo)
|
{
|
return HttpWMS_Get("api/Sorting/GetCurrentSortingLocation?sortingNo=" + sortingNo);
|
}
|
#endregion
|
|
#region 分拣结果
|
/// <summary>
|
/// 分拣结果
|
/// </summary>
|
/// <param name="sortingNo"></param>
|
/// <returns></returns>
|
public string GetSortingResult(string sortingNo)
|
{
|
return HttpWMS_Get("api/Sorting/GetSortingResult?sortingNo=" + sortingNo);
|
}
|
#endregion
|
|
#region 分拣单实体
|
|
/// <summary>
|
/// 分拣单实体
|
/// </summary>
|
/// <param name="sortingNo"></param>
|
/// <returns></returns>
|
public string GetSortingModel(string sortingNo)
|
{
|
return HttpWMS_Get("api/Sorting/GetSortingModel?sortingNo=" + sortingNo);
|
}
|
#endregion
|
|
#region 导出xml文件
|
public string CreateXmlFile(string opNo, string province)
|
{
|
|
var result = "";
|
var ss = HttpWMS_Get("api/Sorting/GetOrderSortingRel?opNo=" + opNo);
|
var obj = JObject.Parse(ss);
|
List<TN_WM_ORDER_SORTING_RELEntity> list = JsonConvert.DeserializeObject<List<TN_WM_ORDER_SORTING_RELEntity>>(obj["Data"].ToString());
|
|
XmlDocument xml = new XmlDocument();
|
|
//创建第一行描述信息
|
//版本 编码格式
|
XmlDeclaration theFirstRowOfXml = xml.CreateXmlDeclaration("1.0", "UTF-8", null);
|
xml.AppendChild(theFirstRowOfXml);
|
|
//保存之前要创建根节点,根节点的名字是Datalist
|
XmlElement Datalist = xml.CreateElement("Datalist");
|
Datalist.SetAttribute("corpName", "宁波三生生物科技有限公司");//添加属性
|
Datalist.SetAttribute("dataType", "wareHouseOut");
|
Datalist.SetAttribute("version", "1.1");
|
Datalist.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
|
Datalist.SetAttribute("xsi:noNamespaceSchemaLocation", "兽药产品出库数据1.1.xsd");
|
//再把创建的根节点加入到xml中
|
xml.AppendChild(Datalist);
|
//
|
XmlElement Product = xml.CreateElement("Product");
|
Datalist.AppendChild(Product);
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
XmlElement Batch = xml.CreateElement("Batch");
|
Batch.SetAttribute("toUnit", province);
|
Batch.SetAttribute("toProvince", province);
|
Batch.SetAttribute("oprDate", DateTime.Now.ToString("yyyy-MM-dd"));
|
Batch.SetAttribute("operator", loginer.UserName);
|
Product.AppendChild(Batch);
|
|
foreach (TN_WM_ORDER_SORTING_RELEntity entity in list)
|
{
|
XmlElement Data = xml.CreateElement("Data");
|
Data.SetAttribute("code", entity.CN_S_UNIQUE_CODE);
|
Batch.AppendChild(Data);
|
}
|
try
|
{
|
this.Response.Clear();
|
this.Response.Buffer = true;
|
this.Response.ContentType = "text/xml";
|
this.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "sorting.xml");
|
this.Response.AppendHeader("base", "target=\"_blank\"");
|
|
this.Response.Write(xml);
|
//this.Response.End();
|
string dir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
|
dir = dir + "\\sorting.xml";
|
xml.Save(dir);
|
result = JsonConvert.SerializeObject(OperateResult.Succeed());
|
return result;
|
}
|
catch (Exception e)
|
{
|
return JsonConvert.SerializeObject(OperateResult.Error(e.Message));
|
//显示错误信息
|
//Console.WriteLine(e.Message);
|
}
|
//Console.ReadLine();
|
|
}
|
#endregion
|
|
|
#region 导出注释
|
//public void CreateXmlFile(string opNo)
|
//{
|
|
// XmlDocument xmlDoc = new XmlDocument();
|
// //创建类型声明节点
|
// XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "");
|
// xmlDoc.AppendChild(node);
|
|
|
// List<string> clist = new List<string>();
|
// int ii = clist.Count;
|
|
// //创建根节点
|
// XmlNode Datalist = xmlDoc.CreateElement("DataList");
|
// xmlDoc.AppendChild(Datalist);
|
|
// //var root = xmlDoc.DocumentElement;//取到根结点
|
// XmlElement Datalistnodes = (XmlElement)xmlDoc.SelectSingleNode("DataList");//获取节点添加属性
|
// //newNode.InnerText = "WPF"<a>WPF</a>
|
// Datalistnodes.SetAttribute("corpName", "宁波三生生物科技有限公司");//<a corpName=""></a>
|
// Datalistnodes.SetAttribute("dataType", "wareHouseOut");
|
// Datalistnodes.SetAttribute("version", "1.1");
|
// Datalistnodes.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
|
// Datalistnodes.SetAttribute("xsi:noNamespaceSchemaLocation", "兽药产品出库数据1.1.xsd");
|
|
// //添加下级节点
|
// XmlNode Product = xmlDoc.CreateNode(XmlNodeType.Element, "Product", null);
|
// Datalist.AppendChild(Product);
|
// //节点
|
// XmlNode Batch = xmlDoc.CreateNode(XmlNodeType.Element, "Batch", null);
|
// Product.AppendChild(Batch);
|
// XmlElement Batchnodes = (XmlElement)xmlDoc.SelectSingleNode("Batch");//获取节点添加属性
|
// Datalistnodes.SetAttribute("operator", "PDA管理员");
|
// Datalistnodes.SetAttribute("dataType", "2018/10/31");
|
// Datalistnodes.SetAttribute("toProvince", "江苏省");
|
// Datalistnodes.SetAttribute("toUnit", "江苏");
|
|
|
// for (int i = 0; i < ii; i++)
|
// {
|
// CreateNode(xmlDoc, Datalist, "Ids", "1");
|
// CreateNode(xmlDoc, Datalist, "Id", "2");
|
// CreateNode(xmlDoc, Datalist, "PC", "3");
|
// }
|
// try
|
// {
|
// xmlDoc.Save("c://sorting.xml");
|
// }
|
// catch (Exception e)
|
// {
|
// //显示错误信息
|
// Console.WriteLine(e.Message);
|
// }
|
// //Console.ReadLine();
|
|
//}
|
///// <summary>
|
///// 创建节点
|
///// </summary>
|
///// <param name="xmldoc"></param> xml文档
|
///// <param name="parentnode"></param>父节点
|
///// <param name="name"></param> 节点名
|
///// <param name="value"></param> 节点值
|
/////
|
//public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
|
//{
|
// XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
|
// node.InnerText = value;
|
// parentNode.AppendChild(node);
|
//}
|
#endregion
|
}
|
}
|