173 lines
7.4 KiB
C#
173 lines
7.4 KiB
C#
using APT.BaseData.Domain.ApiModel;
|
|
using APT.BaseData.Domain.Entities;
|
|
using APT.BaseData.Domain.Entities.FM;
|
|
using APT.BaseData.Domain.Enums.PF;
|
|
using APT.BaseData.Domain.IServices;
|
|
using APT.BaseData.Domain.IServices.AE;
|
|
using APT.BaseData.Domain.IServices.FM;
|
|
using APT.Infrastructure.Core;
|
|
using APT.MS.Domain.Entities.HM;
|
|
using APT.MS.Domain.Entities.OH;
|
|
using APT.MS.Domain.Entities.PF;
|
|
using APT.MS.Domain.Entities.SC;
|
|
using APT.MS.Domain.Entities.TI;
|
|
using APT.MS.Domain.Enums;
|
|
using APT.Utility;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Linq.Expressions;
|
|
|
|
//namespace APT.BS.WebApi.Controllers.Api
|
|
namespace APT.SC.WebApi.Controllers.Api.OH
|
|
{
|
|
[Route("api/PF/OHHealthExamResult")]
|
|
public class PFHealthExamResultController : AuthorizeApiController<T_OH_HEALTH_EXAM_RESULT>
|
|
{
|
|
IFMFlowPermitService MFlowPermitService { get; set; }
|
|
IPFApproveCallBackService ApproveCallBackService { get; set; }
|
|
IAEAccidentEventReportService AccidentEventReportService { get; set; }
|
|
IFMNotificationTaskService NotificationTaskService { get; set; }
|
|
IFMUserService UserService { get; set; }
|
|
IFMDepartmentService DepartmentService { get; set; }
|
|
public PFHealthExamResultController(IFMFlowPermitService mFlowPermitService, IPFApproveCallBackService approveCallBackService, IAEAccidentEventReportService accidentEventReportService, IFMNotificationTaskService notificationTaskService, IFMUserService userService, IFMDepartmentService departmentService)
|
|
{
|
|
MFlowPermitService = mFlowPermitService;
|
|
ApproveCallBackService = approveCallBackService;
|
|
AccidentEventReportService = accidentEventReportService;
|
|
NotificationTaskService = notificationTaskService;
|
|
UserService = userService;
|
|
DepartmentService = departmentService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 显示批量导入数据
|
|
/// </summary>
|
|
/// <param name="filer"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("ImportShow")]
|
|
public PagedActionResult<T_OH_HEALTH_EXAM_RESULT> ImportShow(IFormCollection filer)
|
|
{
|
|
//[FromBody] KeywordPageFilter pageFilter
|
|
//return WitOrderPaged(null, pageFilter);
|
|
return SafeGetPagedData(delegate (PagedActionResult<T_OH_HEALTH_EXAM_RESULT> result)
|
|
{
|
|
var httpRequest = this.HttpContext.Request;
|
|
string orgIdStr = httpRequest.Form["OrgId"];// 获取 组织
|
|
Guid? orgId = null;
|
|
if (!string.IsNullOrEmpty(orgIdStr))
|
|
orgId = new Guid(orgIdStr);
|
|
else
|
|
{
|
|
result.Data = null;//dataTables.Tables[0]
|
|
result.TotalCount = 0;
|
|
}
|
|
|
|
var dic = Path.Combine(System.AppContext.BaseDirectory, "tempImportFiles");
|
|
if (!Directory.Exists(dic))
|
|
Directory.CreateDirectory(dic);
|
|
foreach (var key in httpRequest.Form.Files) // 文件键
|
|
{
|
|
var postedFile = key; // 获取文件键对应的文件对象
|
|
string filePath = Path.Combine(dic, DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss") + "_" + postedFile.FileName);
|
|
Byte[] fileData = new Byte[postedFile.Length];
|
|
Stream sr = postedFile.OpenReadStream();//创建数据流对象
|
|
sr.Read(fileData, 0, (int)postedFile.Length);
|
|
using (FileStream fs = new FileStream(filePath, FileMode.CreateNew))
|
|
{
|
|
fs.Write(fileData, 0, fileData.Length);
|
|
fs.Flush();
|
|
fs.Close();
|
|
}
|
|
|
|
//获取数据
|
|
Dictionary<int, int> startRowIndexs = new Dictionary<int, int>();
|
|
startRowIndexs.Add(0, 2);//根据Excel格式数据赋值
|
|
var dataTables = FileUtils.ReadExcelByOledb(filePath, startRowIndexs);
|
|
|
|
//bool isOK = InsertModel(dataTables.Tables[0], orgId.Value, ref Msg);
|
|
//try
|
|
//{
|
|
// System.IO.File.Delete(filePath);
|
|
//}
|
|
//catch { }
|
|
|
|
//result.Data = orderPageEntities.Data;//dataTables.Tables[0]
|
|
result.TotalCount = dataTables.Tables[0].Rows.Count;
|
|
|
|
|
|
}
|
|
|
|
//return result;
|
|
|
|
});
|
|
}
|
|
|
|
///// <summary>
|
|
///// 显示批量导入数据
|
|
///// </summary>
|
|
///// <param name="pageFilter"></param>
|
|
///// <returns></returns>
|
|
//[HttpPost, Route("ImportShow")]
|
|
//public PagedActionResult<T_OH_HEALTH_EXAM_RESULT> ImportShow([FromBody] KeywordPageFilter pageFilter)
|
|
//{
|
|
// //return WitOrderPaged(null, pageFilter);
|
|
// return SafeGetPagedData(delegate (PagedActionResult<T_OH_HEALTH_EXAM_RESULT> result)
|
|
// {
|
|
// var httpRequest = this.HttpContext.Request;
|
|
// string orgIdStr = httpRequest.Form["OrgId"];// 获取 组织
|
|
// Guid? orgId = null;
|
|
// if (!string.IsNullOrEmpty(orgIdStr))
|
|
// orgId = new Guid(orgIdStr);
|
|
// else
|
|
// {
|
|
// result.Data = null;//dataTables.Tables[0]
|
|
// result.TotalCount = 0;
|
|
// }
|
|
|
|
// var dic = Path.Combine(System.AppContext.BaseDirectory, "tempImportFiles");
|
|
// if (!Directory.Exists(dic))
|
|
// Directory.CreateDirectory(dic);
|
|
// foreach (var key in httpRequest.Form.Files) // 文件键
|
|
// {
|
|
// var postedFile = key; // 获取文件键对应的文件对象
|
|
// string filePath = Path.Combine(dic, DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss") + "_" + postedFile.FileName);
|
|
// Byte[] fileData = new Byte[postedFile.Length];
|
|
// Stream sr = postedFile.OpenReadStream();//创建数据流对象
|
|
// sr.Read(fileData, 0, (int)postedFile.Length);
|
|
// using (FileStream fs = new FileStream(filePath, FileMode.CreateNew))
|
|
// {
|
|
// fs.Write(fileData, 0, fileData.Length);
|
|
// fs.Flush();
|
|
// fs.Close();
|
|
// }
|
|
|
|
// //获取数据
|
|
// Dictionary<int, int> startRowIndexs = new Dictionary<int, int>();
|
|
// startRowIndexs.Add(0, 2);//根据Excel格式数据赋值
|
|
// var dataTables = FileUtils.ReadExcelByOledb(filePath, startRowIndexs);
|
|
|
|
// //bool isOK = InsertModel(dataTables.Tables[0], orgId.Value, ref Msg);
|
|
// //try
|
|
// //{
|
|
// // System.IO.File.Delete(filePath);
|
|
// //}
|
|
// //catch { }
|
|
|
|
// //result.Data = orderPageEntities.Data;//dataTables.Tables[0]
|
|
// result.TotalCount = dataTables.Tables[0].Rows.Count;
|
|
|
|
|
|
// }
|
|
|
|
// //return result;
|
|
|
|
// });
|
|
//}
|
|
|
|
|
|
}
|
|
} |