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