123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695 |
- using AutoMapper;
- using Cksoft.Data;
- using Cksoft.Data.Repository;
- using Cksoft.Unity;
- using Cksoft.Unity.Log4NetConfig;
- using DllEapCommon.NPOI;
- using DllEapDal.OFILM;
- using DllEapEntity;
- using DllEapEntity.Dtos;
- using DllEapEntity.OFILM;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Hosting;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace DllEapBll.OFILM
- {
- /// <summary>
- /// CMK
- /// </summary>
- [Route("eap/api/[controller]/[action]")]
- [ApiController]
- [Authorize]
- public class CmkController : ControllerBase
- {
- private readonly IHostingEnvironment _hostingEnvironment;
- private IMapper _mapper;
- public CmkController(IHostingEnvironment hostingEnvironment,IMapper mapper)
- {
- _hostingEnvironment = hostingEnvironment;
- _mapper = mapper;
- }
- /// <summary>
- /// cmk 报表查询
- /// </summary>
- /// <param name="filter"></param>
- /// <param name="pageIndex"></param>
- /// <param name="pageSize"></param>
- /// <param name="sortField"></param>
- /// <param name="sortOrder"></param>
- /// <returns></returns>
- [HttpGet]
- public LayuiModel<Ofilmcmk> Get(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "Classes", string sortOrder = "ascend")
- {
- if (sortOrder == "descend")
- {
- sortOrder = "desc";
- }
- else
- {
- sortOrder = "asc";
- }
- int start, end;
- start = (pageIndex - 1) * pageSize + 1;
- end = start + pageSize;
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- db.BeginTrans();
- var dal = new CmkDal(db);
- string errorinfo = string.Empty;
- var roles = dal.Get(start, pageSize, sortOrder, sortField, filter, errorinfo);
- var total = dal.GetCount(filter);
- string upLoadDir = AppConfigurtaionServices.Configuration["upload"];
- return new LayuiModel<Ofilmcmk>
- {
- code = 1,
- count = total,
- data = roles,
- msg = upLoadDir
- };
- }
- }
- [HttpPost]
- public async Task<IActionResult> Export(IDictionary<string, string> filterInfo)
- {
- string filter = string.Empty; int pageIndex = 1, pageSize = 100000; string sortField = "Classes", sortOrder = "ascend";
- if (filterInfo.ContainsKey("filter"))
- {
- filter = filterInfo["filter"];
- }
- if (filterInfo.ContainsKey("sortField"))
- {
- sortField = filterInfo["sortField"];
- }
- if (filterInfo.ContainsKey("sortOrder"))
- {
- sortOrder = filterInfo["sortOrder"];
- }
- if (filterInfo.ContainsKey("pageSize") && !string.IsNullOrEmpty(filterInfo["pageSize"]))
- {
- pageSize = Convert.ToInt32(filterInfo["pageSize"]) > 0 ? Convert.ToInt32(filterInfo["pageSize"]) : pageSize;
- }
- if (filterInfo.ContainsKey("pageIndex") && !string.IsNullOrEmpty(filterInfo["pageIndex"]))
- {
- pageIndex = Convert.ToInt32(filterInfo["pageIndex"]) > 0 ? Convert.ToInt32(filterInfo["pageIndex"]) : pageIndex;
- }
- List<string> str = new List<string>() {"课别","楼层","客户","设备ID","位置","CMK","Y","T","P值","Y","T","附件","维护人","维护日期","下次取值日期" };
- List<int> index = new List<int>() { 5, 7, 8, 10 };
- var roles = Get(filter, pageIndex, pageSize, sortField, sortOrder).data;
- var list = _mapper.Map<IEnumerable<ExportOfilmcmk>>(roles).ToList();
- var book = DataExportHelper.EntityToExcel(list,str,index);
- MemoryStream ms = new MemoryStream();
- ms.Position = 0;
- book.Write(ms);
- ms.Dispose();
- ms.Close();
- await Task.CompletedTask;
- return File(ms.ToArray(), "application/octet-stream");
- }
- [HttpGet]
- public EapResponse GetSingle(int id)
- {
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var response = new EapResponse() { Code = 1, Msg = string.Empty };
- string upLoadDir = AppConfigurtaionServices.Configuration["upload"];
- var dal = new CmkDal(db);
- var model = dal.Get(id);
- if(model!=null)
- {
- // string errorinof = "";
- // Dictionary<string, string> dic = new Dictionary<string, string>();
- // dic.Add("filename", model.XCmkImg);
- //model.XCmkImgBase = HttpRequestHelper<string>.Get(upLoadDir + $@"/eap/api/Upload/Getfile", dic,ref errorinof,null);
- // dic = new Dictionary<string, string>();
- // dic.Add("filename", model.YCmkImg);
- // model.YCmkImgBase = HttpRequestHelper<string>.Get(upLoadDir + $@"/eap/api/Upload/Getfile", dic, ref errorinof, null);
- }
- response.Data = model;
- response.Msg = upLoadDir;
- return response;
- }
- }
- [HttpPost]
- public EapResponse Add([FromBody] Ofilmcmk programMst)
- {
- string usercode = Request.Headers["usercode"];
- using (IDatabase db = DbFactory.Base("eap"))
- {
- db.BeginTrans();
- var dal = new CmkDal(db);
- string errorinfo = string.Empty;
- var response = new EapResponse() { Code = 1, Msg = string.Empty };
- int id = -1;
- if (programMst.ID == 0)
- {
- id = dal.Add(programMst, usercode, ref errorinfo);
- }
- else
- {
- id = dal.Update(programMst, usercode, ref errorinfo);
- }
- if (id < 0)
- {
- db.Rollback();
- response.Code = -1;
- response.Msg = errorinfo;
- }
- else
- {
- db.Commit();
- if (programMst.ID == 0)
- {
- LogHelper<WorkingProcedure>.LogFatal("新增WorkProcedure-->" + Json.ToJson(programMst), "用户操作", usercode);
- }
- else
- LogHelper<WorkingProcedure>.LogFatal("修改WorkProcedure-->" + Json.ToJson(programMst), "用户操作", usercode);
- }
- response.Id = id;
- return response;
- }
- }
- [HttpPost]
- public EapResponse Delete([FromBody] int id)
- {
- IDatabase db = null;
- string errormsg = string.Empty;
- try
- {
- using (db = DbFactory.Base("eap"))
- {
- var dal = new CmkDal(db);
- var model = dal.getWorkingProcedure(id);
- var modelsec = dal.Get(id);
- //db.BeginTrans();
- var res = dal.Delete(id, ref errormsg);
- if (res < 0)
- {
- // db.Rollback();
- return new EapResponse()
- {
- Code = -1,
- Msg = errormsg
- };
- }
- //db.Commit();
- LogHelper<WorkingProcedure>.LogFatal("删除WorkProcedure-->:" + Json.ToJson(modelsec) + ";apappservermac" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]);
- return new EapResponse()
- {
- Code = 1,
- Msg = ""
- };
- }
-
- }
- catch (Exception e)
- {
- errormsg = e.Message;
- return new EapResponse
- {
- Code = -1,
- Msg = errormsg
- };
- }
- finally
- {
- if (db != null)
- db.Close();
- }
- }
- [HttpPost]
- public EapResponse DeleteAll([FromBody] dynamic filter)
- {
- IDatabase db = null;
- string errormsg = string.Empty;
- string ff = filter["filter"];
- try
- {
- using (db = DbFactory.Base("eap"))
- {
- var dal = new CmkDal(db);
- //var model = dal.getWorkingProcedure(id);
- //var modelsec = dal.Get(id);
- //db.BeginTrans();
- var res = dal.DeleteAll(ff, ref errormsg);
- if (res < 0)
- {
- // db.Rollback();
- return new EapResponse()
- {
- Code = -1,
- Msg = errormsg
- };
- }
- //db.Commit();
- //LogHelper<WorkingProcedure>.LogFatal("删除WorkProcedure-->:" + Json.ToJson(modelsec) + ";apappservermac" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]);
- return new EapResponse()
- {
- Code = 1,
- Msg = ""
- };
- }
-
- }
- catch (Exception e)
- {
- errormsg = e.Message;
- return new EapResponse
- {
- Code = -1,
- Msg = errormsg
- };
- }
- finally
- {
- if (db != null)
- db.Close();
- }
- }
- //[HttpPost]
- //public EapResponse Upload([FromBody] WorkingProcedureDto str)
- //{
- // string usercode = Request.Headers["usercode"];
- // List<WorkingProcedure> wps = new List<WorkingProcedure>();
- // foreach (List<string> it in str.Sheet1)
- // {
- // if (it.Count > 7 && it[0] != "园区")
- // {
- // WorkingProcedure workingProcedure = new WorkingProcedure();
- // workingProcedure.Park = it[0]?.Trim();
- // workingProcedure.Floor = it[1]?.Trim();
- // workingProcedure.MachineType = it[2]?.Trim();
- // workingProcedure.WorkshopSection = it[3]?.Trim();
- // workingProcedure.AssignmentContent = it[4]?.Trim();
- // workingProcedure.EquipmentName = it[5]?.Trim();
- // workingProcedure.EquipmentModel = it[6]?.Trim();
- // workingProcedure.EropTurnoverRate = it[7]?.Trim();
- // workingProcedure.UPH = it[8]?.Trim().Replace(",", "");
- // workingProcedure.RecCode = usercode;
- // workingProcedure.ModCode = usercode;
- // workingProcedure.RecTime = DateTime.Now;
- // workingProcedure.ModTime = DateTime.Now;
- // wps.Add(workingProcedure);
- // }
- // }
- // IDatabase db = null;
- // string errormsg = string.Empty;
- // Object er = null;
- // try
- // {
- // db = DbFactory.Base("eap");
- // var dal = new CmkDal(db);
- // db.BeginTrans();
- // int ck = dal.CheckSame(wps, ref er);
- // if (ck < 0)
- // {
- // db.Rollback();
- // return new EapResponse()
- // {
- // Code = -2,
- // //Msg = er,
- // Data = er
- // };
- // }
- // var res = dal.Adds(wps, usercode, ref errormsg); ;
- // if (res < 0)
- // {
- // db.Rollback();
- // return new EapResponse()
- // {
- // Code = -1,
- // Msg = errormsg
- // };
- // }
- // db.Commit();
- // //LogHelper<WorkingProcedure>.LogFatal("删除WorkProcedure-->:" + Json.ToJson(modelsec) + ";apappservermac" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]);
- // return new EapResponse()
- // {
- // Code = 1,
- // Msg = ""
- // };
- // }
- // catch (Exception e)
- // {
- // errormsg = e.Message;
- // return new EapResponse
- // {
- // Code = -1,
- // Msg = errormsg
- // };
- // }
- // finally
- // {
- // if (db != null)
- // db.Close();
- // }
- //}
- [HttpGet]
- public IEnumerable<Ofilmcmk> GetEquipmentnumberExprort(string filter, string sortField = "count", string sortOrder = "ascend", int take = 10)
- {
- if (sortOrder == "descend")
- {
- sortOrder = "desc";
- }
- else
- {
- sortOrder = "asc";
- }
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var dal = new CmkDal(db);
- var dtos = dal.GetWorkingProcedureExprort(filter, sortField, sortOrder, take);
- return dtos;
- }
- }
- /// <summary>
- /// 上传图片
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- public EapResponse Upload()
- {
- string upLoadDir = AppConfigurtaionServices.Configuration["upload"];
- CmkFile cmkFile = new CmkFile();
- var request = Request;
- var file = request.Form.Files["file"];
- var extension = this.GetFileAExtension(file.FileName);
- var fileNewName = "";
- fileNewName = file.FileName;
- cmkFile.Extension = extension;
- cmkFile.FileName = fileNewName;
- Stream stream = new MemoryStream();
- try
- {
- stream = file.OpenReadStream();
- byte[] bs = new byte[file.Length];
- stream.Read(bs, 0, bs.Length);
- cmkFile.Bt = bs;
- string json = JsonConvert.SerializeObject(cmkFile);
- var model = HttpRequestHelper<EapResponse>.HttpPost(upLoadDir + $@"/eap/api/Upload/Uploadfile", json);
- model.Msg = file.FileName + "," + upLoadDir;
- return model;
- }
- catch (Exception e)
- {
- return new EapResponse
- {
- Code = -1,
- Data = e.Message
- };
- }
- finally
- {
- stream.Close();
- stream.Dispose();
- }
- //**********************************************************
- #region
- //var request = Request;
- //var file = request.Form.Files["file"];
- //var dateNow = DateTime.Now;
- //var extension = this.GetFileAExtension(file.FileName);
- //var fileNewName = "";
- ////fileNewName = file.FileName;
- //if (file.FileName.Contains("xls") || file.FileName.Contains("xlsx"))
- //{
- // fileNewName = file.FileName;
- //}
- //else
- //{
- // fileNewName = Guid.NewGuid().ToString() + "." + extension;
- //}
- //Stream stream = new MemoryStream();
- //try
- //{
- // string path = $"/Upload/{dateNow.Year}/{dateNow.Month}/{dateNow.Day}/";
- // string phyicPath = _hostingEnvironment.WebRootPath + path;
- // string savedPath = phyicPath + fileNewName;
- // this.CreateDirectory(phyicPath);
- // stream = file.OpenReadStream();
- // byte[] bs = new byte[file.Length];
- // stream.Read(bs, 0, bs.Length);
- // using (FileStream fs = new FileStream(savedPath, FileMode.Create))
- // {
- // fs.Write(bs, 0, bs.Length);
- // return new EapResponse
- // {
- // Code = 1,
- // Data = path + fileNewName,
- // Msg = file.FileName + "," + upLoadDir
- // };
- // }
- //}
- //catch (Exception e)
- //{
- // return new EapResponse
- // {
- // Code = -1,
- // Data = e.Message
- // };
- //}
- //finally
- //{
- // stream.Close();
- // stream.Dispose();
- //}
- #endregion
- }
- [HttpPost]
- public EapResponse Uploadfile([FromBody] CmkFile json)
- {
- byte[] byteArray = json.Bt;
- string upLoadDir = AppConfigurtaionServices.Configuration["upload"];
- var dateNow = DateTime.Now;
- var fileNewName = "";
- if (json.Extension.Contains("xls") || json.Extension.Contains("xlsx"))
- {
- fileNewName = json.FileName + "." + json.Extension;
- }
- else
- {
- fileNewName = Guid.NewGuid().ToString() + "." + json.Extension;
- }
- Stream stream = new MemoryStream();
- try
- {
- string path = $"/Upload/{dateNow.Year}/{dateNow.Month}/{dateNow.Day}/";
- string phyicPath = _hostingEnvironment.WebRootPath + path;
- string savedPath = phyicPath + fileNewName;
- this.CreateDirectory(phyicPath);
- byte[] bs = byteArray;
- stream.Read(bs, 0, bs.Length);
- using (FileStream fs = new FileStream(savedPath, FileMode.Create))
- {
- fs.Write(bs, 0, bs.Length);
- return new EapResponse
- {
- Code = 1,
- Data = path + fileNewName,
- Msg = json.FileName + "," + upLoadDir
- };
- }
- }
- catch (Exception e)
- {
- return new EapResponse
- {
- Code = -1,
- Data = e.Message
- };
- }
- finally
- {
- stream.Close();
- stream.Dispose();
- }
- }
- /// <summary>
- /// 上传excel
- /// </summary>
- /// <param name="str"></param>
- /// <returns></returns>
- public EapResponse UploadXml([FromBody] List<List<string>> str)
- {
- string usercode = Request.Headers["usercode"];
- List<Ofilmcmk> wps = new List<Ofilmcmk>();
- foreach (List<string> it in str)
- {
- if (it.Count > 7 && it[0] != "课别")
- {
- Ofilmcmk workingProcedure = new Ofilmcmk();
- workingProcedure.Classes = it[0]?.Trim();
- workingProcedure.floor = it[1]?.Trim();
- workingProcedure.customer = it[2]?.Trim();
- workingProcedure.macID = it[3]?.Trim();
- workingProcedure.position = it[4]?.Trim();
- workingProcedure.XCmk = it[5]?.Trim();
- workingProcedure.YCmk = it[6]?.Trim();
- workingProcedure.TCmk = it[7]?.Trim();
- workingProcedure.XP = it[8]?.Trim();
- workingProcedure.YP = it[9]?.Trim();
- workingProcedure.TP = it[10]?.Trim();
- workingProcedure.NextTime = DateTime.Parse(it[11]);// Convert.ToDateTime(it[11].ToString());
- workingProcedure.ThisTime = Convert.ToDateTime(it[12].ToString());
- workingProcedure.RecCode = usercode;
- workingProcedure.ModCode = usercode;
- workingProcedure.RecTime = DateTime.Now;
- workingProcedure.ModTime = DateTime.Now;
- wps.Add(workingProcedure);
- }
- }
- IDatabase db = null;
- string errormsg = string.Empty;
- Object er = null;
- try
- {
- using (db = DbFactory.Base("eap"))
- {
- var dal = new CmkDal(db);
- db.BeginTrans();
- foreach (var item in wps)
- {
- var res = dal.Add(item, usercode, ref errormsg);
- if (res < 0)
- {
- db.Rollback();
- return new EapResponse()
- {
- Code = -1,
- Msg = errormsg
- };
- }
- }
- db.Commit();
- LogHelper<Ofilmcmk>.LogFatal("批量新增CMK-->:" + Json.ToJson(wps), "用户操作", Request.Headers["usercode"]);
- return new EapResponse()
- {
- Code = 1,
- Msg = ""
- };
- }
-
- }
- catch (Exception e)
- {
- errormsg = e.Message;
- return new EapResponse
- {
- Code = -1,
- Msg = errormsg
- };
- }
- finally
- {
- if (db != null)
- db.Close();
- }
- }
- private void CreateDirectory(string path)
- {
- if (!Directory.Exists(path))
- {
- Directory.CreateDirectory(path);
- }
- }
- private string GetFileAExtension(string fileName)
- {
- var arr = fileName.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
- if (arr == null || arr.Length <= 0)
- {
- return null;
- }
- return arr[arr.Length - 1];
- }
- public IEnumerable<SelectDto<string>> GetMultipleClassSelects(string filter)
- {
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var dal = new CmkDal(db);
- return dal.GetMultipleClassSelects(filter).OrderBy(c => c.Label);
- }
- }
- public IEnumerable<SelectDto<string>> GetMultipleFloorSelects(string filter)
- {
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var dal = new CmkDal(db);
- return dal.GetMultipleFloorSelects(filter).OrderBy(c => c.Label);
- }
- }
- public IEnumerable<SelectDto<string>> GetMultipleCustomerSelects(string filter)
- {
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var dal = new CmkDal(db);
- return dal.GetMultipleCustomerSelects(filter).OrderBy(c => c.Label);
- }
- }
- public IEnumerable<SelectDto<string>> GetMultipleMacIDSelects(string filter)
- {
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var dal = new CmkDal(db);
- return dal.GetMultipleMacIDSelects(filter).OrderBy(c => c.Label);
- }
- }
- public IEnumerable<SelectDto<string>> GetMultiplePositionSelects(string filter)
- {
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var dal = new CmkDal(db);
- return dal.GetMultiplePositionSelects(filter).OrderBy(c => c.Label);
- }
- }
- public IEnumerable<SelectDto<string>> GetMultipleRecCodeSelects(string filter)
- {
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var dal = new CmkDal(db);
- return dal.GetMultipleRecCodeSelects(filter).OrderBy(c => c.Label);
- }
- }
- }
- public class CmkFile
- {
- /// <summary>
- /// 文件
- /// </summary>
- public byte[] Bt { get; set; }
- /// <summary>
- /// 扩展名
- /// </summary>
- public string Extension { get; set; }
- /// <summary>
- /// 文件名
- /// </summary>
- public string FileName { get; set; }
- }
- }
|