using AutoMapper; using Cksoft.Data; using Cksoft.Data.Repository; using Cksoft.Unity; using DllEapCommon.NPOI; using DllEapDal.OFILM; using DllEapDal.OFILM.MES; using DllEapEntity; using DllEapEntity.Dtos; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Threading.Tasks; using System.Linq; namespace DllEapBll.OFILM { [Route("eap/api/[controller]/[action]")] [ApiController] [Authorize] public class OfTrackController : ControllerBase { private IMapper _mapper; public OfTrackController(IMapper mapper) { _mapper = mapper; } [HttpGet] public LayuiModel GetTrackMsts(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ID", string sortOrder = "descend") { if (sortOrder == "descend") { sortOrder = "desc"; } else { sortOrder = "asc"; } using (IDatabase db = DbFactory.Base("eapslave")) { db.BeginTrans(); var dal = new OfTrackMstDal(db); string errorinfo = string.Empty; var total = 0; var roles = dal.GetTrackMst(new PagedQuery { Filter = filter, PageIndex = pageIndex, PageSize = pageSize, SortField = sortField, SortOrder = sortOrder }, out total); return new LayuiModel { code = 1, count = total, data = roles, msg = "" }; } } /// /// 载板过站导出 /// /// /// [HttpPost] public async Task ExportTrackMsts(IDictionary filterInfo) { string filter = string.Empty; int pageIndex = 1, pageSize = 100000; string sortField = "ID"; string sortOrder = "descend"; 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; } var roles = GetTrackMsts(filter, pageIndex, pageSize, sortField, sortOrder).data; var list = _mapper.Map>(roles).ToList(); var book = DataExportHelper.EntityToExcel(list); 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 LayuiModel GetTrackDetails(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ID", string sortOrder = "descend") { if (sortOrder == "descend") { sortOrder = "desc"; } else { sortOrder = "asc"; } using (IDatabase db = DbFactory.Base("eapslave")) { db.BeginTrans(); var dal = new OfTrackMstDal(db); string errorinfo = string.Empty; var total = 0; var roles = dal.GetTrackDetail(new PagedQuery { Filter = filter, PageIndex = pageIndex, PageSize = pageSize, SortField = sortField, SortOrder = sortOrder }, out total); return new LayuiModel { code = 1, count = total, data = roles, msg = "" }; } } [HttpPost] public EapResponse TrackIn([FromBody] OfTrackDetail trackDetail) { var userCode = Request.Headers["usercode"]; string errorinfo = string.Empty; using (IDatabase db = DbFactory.Base("eap")) { var dal = new OfTrackMstDal(db); db.BeginTrans(); if (dal.TrackIn(trackDetail, userCode, ref errorinfo) < 0) { db.Rollback(); return new EapResponse { Code = -1, Msg = errorinfo }; } db.Commit(); return new EapResponse { Code = 1 }; } } [HttpPost] public EapResponse TrackOut([FromBody] OfTrackDetail trackDetail) { var userCode = Request.Headers["usercode"]; string errorinfo = string.Empty; using (IDatabase db = DbFactory.Base("eap")) { var dal = new OfTrackMstDal(db); db.BeginTrans(); if (dal.TrackOut(trackDetail, userCode, ref errorinfo) < 0) { db.Rollback(); return new EapResponse { Code = -1, Msg = errorinfo }; } db.Commit(); return new EapResponse { Code = 1 }; } } /// /// 获取当前Strip的状态 /// /// /// [HttpGet] public EapResponse GetStripInfo(string stripId, int processId) { using (IDatabase db = DbFactory.Base("eap")) { var dal = new OfTrackMstDal(db); var data = dal.Get(stripId, processId); return new EapResponse { Code = 1, Data = data }; } } //public EapResponse TrackInOut(string stripId, string macCode) //{ // string errorinfo = string.Empty; // string usercode = Request.Headers["usercode"]; // using (IDatabase db = DbFactory.Base("eap")) // { // db.BeginTrans(); // var dal = new OfTrackMstDal(db); // if (dal.TrackInOut(macCode, stripId, usercode, ref errorinfo) < 0) // { // db.Rollback(); // return new EapResponse { Code = -1 }; // } // db.Commit(); // return new EapResponse { Code = 1 }; // } //} } }