using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.AssetManagementSystem;
using System.Web.Mvc;
using System.Collections.Generic;
using ZipOneCode.ZipProvider;
using System.Linq;
using System.Drawing;
using System.IO;
using System;
namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2019-03-29 11:27
/// 描 述:在册登记明细
///
public class Ass_AssetsInfoItemController : MvcControllerBase
{
private Ass_AssetsInfoItemIBLL ass_AssetsInfoItemIBLL = new Ass_AssetsInfoItemBLL();
#region 视图功能
///
/// 主页面
///
///
[HttpGet]
public ActionResult Index()
{
return View();
}
///
/// 主页面
///
///
[HttpGet]
public ActionResult IndexTwo()
{
return View();
}
[HttpGet]
public ActionResult IndexOfMy()
{
return View();
}
///
/// 表单页
///
///
[HttpGet]
public ActionResult Form()
{
ViewBag.NewCode = CommonHelper.CreateNo();
return View();
}
[HttpGet]
public ActionResult FormView()
{
return View();
}
[HttpGet]
public ActionResult IndexScrap()
{
return View();
}
[HttpGet]
public ActionResult QRPrint(string keyValue)
{
var lists = new List();
if (!string.IsNullOrEmpty(keyValue))
{
foreach (var item in keyValue.Split(','))
{
var entity = ass_AssetsInfoItemIBLL.GetAss_AssetsInfoItemEntity(item);
if (entity != null)
{
lists.Add(entity);
//读图片
var d = QRCodeHelper.ProcessRequest(entity.AIId, @"~\Content\images\img1.png", "在册登记明细", entity.AIASSName + entity.AICode);
FileStream fs = new FileStream(d.resultImgPath, FileMode.Open, FileAccess.Read);
int length = (int)fs.Length;
byte[] image = new byte[length];
fs.Read(image, 0, length);
var src = "data:image/jepg;base64," + Convert.ToBase64String(image);
entity.ImgBase64String = src;
fs.Close();
}
}
}
ViewBag.Lists = lists;
return View();
}
#endregion
#region 获取数据
///
/// 获取页面显示列表数据
///
/// 查询参数
///
[HttpGet]
[AjaxOnly]
public ActionResult GetPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject();
var data = ass_AssetsInfoItemIBLL.GetPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
///
/// 获取左侧树形数据
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetTree()
{
var data = ass_AssetsInfoItemIBLL.GetTree();
return Success(data);
}
///
/// 获取资产类别树
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetTypeTree()
{
var data = ass_AssetsInfoItemIBLL.GetAssTypeTree();
return Success(data);
}
///
/// 获取列表不带分页
///
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetList(string queryJson)
{
var data = ass_AssetsInfoItemIBLL.GetList(queryJson);
return Success(data);
}
///
/// 获取表单数据
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var Ass_AssetsInfoItemData = ass_AssetsInfoItemIBLL.GetAss_AssetsInfoItemEntity(keyValue);
var jsonData = new
{
Ass_AssetsInfoItem = Ass_AssetsInfoItemData,
};
return Success(jsonData);
}
///
/// 获取表单数据
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetData(string keyValue)
{
var result = ass_AssetsInfoItemIBLL.GetAss_AssetsInfoByAIId(keyValue);
return Success(result);
}
///
/// 获取表单数据
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetDatas(string keyValue)
{
var result = ass_AssetsInfoItemIBLL.GetDatas(keyValue);
List list = new List();
foreach (var item in result)
{
var entity = new Ass_ScrapItemEntity();
entity.AAIAId = item.AIId;
entity.AAICode = item.AICode;
entity.AAIName = item.AIASSName;
entity.AAIStorage = item.AIIStorageId;
entity.AAILocation = item.AIIStoragePosition;
entity.AAITId = item.AIASSClass;
entity.AAIModel = item.AISpecificationtype;
entity.AAIManufacturer = item.AIBrand;
entity.AAIContent = item.AIAssValue.ToString();
list.Add(entity);
}
return Success(list);
}
#endregion
#region 提交数据
///
/// 删除实体数据
/// 主键
///
///
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
ass_AssetsInfoItemIBLL.DeleteEntity(keyValue);
return Success("删除成功!");
}
[HttpPost]
[AjaxOnly]
public ActionResult ScrapForm(string keyValue)
{
ass_AssetsInfoItemIBLL.ScrapEntity(keyValue);
return Success("报废成功!");
}
[HttpPost]
[AjaxOnly]
public ActionResult UnScrapForm(string keyValue)
{
ass_AssetsInfoItemIBLL.UnScrap(keyValue);
return Success("报废成功!");
}
///
/// 保存实体数据(新增、修改)
/// 主键
///
///
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, string strEntity)
{
Ass_AssetsInfoItemEntity entity = strEntity.ToObject();
ass_AssetsInfoItemIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!");
}
///
/// 批量生成二维码
///
///
[HttpPost]
[AjaxOnly]
public ActionResult GetQRCode(string keyValue,Pagination pagination)
{
//TODO:文件夹压缩成zip
//var a = @"D:\Job\test\zip";
//var aa = string.Format(@"{0}.zip", a);
//ZipHelper.CreateZip(a, aa);
//TODO:生成带logo二维码
//var resultImgPath = QRCodeHelper.ProcessRequest("demo", @"~\Content\images\img1.png");
//TODO:生成二维码,并打包
//var dArr = new List();
//for (int i = 0; i < 5; i++)
//{
// var d = QRCodeHelper.ProcessRequest("demo" + i, @"~\Content\images\img1.png", "demo" + i);
// if (dArr.IndexOf(d) == -1)
// {
// dArr.Add(d);
// }
//}
//foreach (var item in dArr)
//{
// ZipHelper.CreateZip(item, item + ".zip");
//}
//图片保存文件夹地址
var dArr = new List();
//明细数据
var lists = new List();
if (!string.IsNullOrEmpty(keyValue))
{
foreach (var item in keyValue.Split(','))
{
var entity = ass_AssetsInfoItemIBLL.GetAss_AssetsInfoItemEntity(item);
if (entity != null)
{
lists.Add(entity);
}
}
}
else
{
var data = ass_AssetsInfoItemIBLL.GetPageList(pagination, "{}");
lists = data.ToList();
}
foreach (var item in lists)
{
var d = QRCodeHelper.ProcessRequest(item.AIId, @"~\Content\images\img1.png", "在册登记明细", item.AIASSName + item.AICode);
if (dArr.IndexOf(d.resultImgDirectoryPath) == -1)
{
dArr.Add(d.resultImgDirectoryPath);
}
}
foreach (var item in dArr)
{
ZipHelper.CreateZip(item, item + ".zip");
}
return Success("操作成功!",dArr);
}
///
/// 批量生成二维码下载
///
///
[HttpPost]
public void DownFile(string path)
{
path = string.Format(@"{0}{1}", path, ".zip");
if (FileDownHelper.FileExists(path))
{
FileDownHelper.DownLoadold(path, path.Substring(path.LastIndexOf(@"\") + 1));
}
}
#endregion
}
}