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;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        //    });
							 | 
						|||
| 
								 | 
							
								        //}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |