填充excel数据,开发中

parent 9ee68265
using System; using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Performance.DtoModels; using Performance.DtoModels;
using Performance.DtoModels.AppSettings; using Performance.DtoModels.AppSettings;
using Performance.EntityModels; using Performance.EntityModels;
using Performance.Infrastructure; using Performance.Infrastructure;
using Performance.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Performance.Api.Controllers namespace Performance.Api.Controllers
{ {
[Route("api/[controller]")] [Route("api/[controller]")]
public class TemplateController : Controller public class TemplateController : Controller
{ {
public TemplateController() private readonly TemplateService templateService;
{ }
public TemplateController(TemplateService templateService)
{
this.templateService = templateService;
}
public ApiResponse Download()
{
//templateService.Download();
return new ApiResponse(ResponseType.OK);
}
} }
} }
\ No newline at end of file
...@@ -65,10 +65,17 @@ public AutoMapperConfigs() ...@@ -65,10 +65,17 @@ public AutoMapperConfigs()
CreateMap<PerHeader, im_header>() CreateMap<PerHeader, im_header>()
.ForMember(dest => dest.IsMerge, opt => opt.MapFrom(src => src.IsMerge ? 1 : 2)); .ForMember(dest => dest.IsMerge, opt => opt.MapFrom(src => src.IsMerge ? 1 : 2));
CreateMap<PerData, im_data>() CreateMap<PerData, im_data>()
.ForMember(dest => dest.IsFactor, opt => opt.MapFrom(src => src.IsFactor ? 1 : 2)) .ForMember(dest => dest.IsFactor, opt => opt.MapFrom(src => src.IsFactor ? 1 : 2))
.ForMember(dest => dest.UnitType, opt => opt.MapFrom(src => src.UnitType == "医生组" ? 1 : (src.UnitType == "护理组" ? 2 : 0))); .ForMember(dest => dest.UnitType, opt => opt.MapFrom(src => src.UnitType == "医生组" ? 1 : (src.UnitType == "护理组" ? 2 : 0)));
CreateMap<im_header, PerHeader>()
.ForMember(dest => dest.IsMerge, opt => opt.MapFrom(src => src.IsMerge == 1 ? true : false));
CreateMap<im_data, PerData>()
.ForMember(dest => dest.IsFactor, opt => opt.MapFrom(src => src.IsFactor == 1 ? true : false))
.ForMember(dest => dest.UnitType, opt => opt.MapFrom(src => src.UnitType == 1 ? "医生组" : (src.UnitType == 2 ? "护理组" : "")));
CreateMap<PerDataEmployee, im_employee>(); CreateMap<PerDataEmployee, im_employee>();
CreateMap<im_employee, PerDataEmployee>(); CreateMap<im_employee, PerDataEmployee>();
......
...@@ -39,7 +39,7 @@ public class sys_hospitalconfig ...@@ -39,7 +39,7 @@ public class sys_hospitalconfig
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public Nullable<int> DbUser { get; set; } public string DbUser { get; set; }
/// <summary> /// <summary>
/// ///
......
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Text;
namespace Performance.Repository
{
/// <summary>
/// 创建连接
/// </summary>
public class ConnectionBuilder
{
/// <summary>
/// 创建连接
/// </summary>
/// <param name="type"></param>
/// <param name="connectionString"></param>
/// <returns></returns>
public static IDbConnection Create(DatabaseType type, string connectionString)
{
switch (type)
{
case DatabaseType.MySql:
return new MySqlConnection(connectionString);
case DatabaseType.SqlServer:
return new SqlConnection(connectionString);
default:
throw new Exception($"nonsupport {DatabaseType.MySql}");
}
}
/// <summary>
/// 创建连接字符串
/// </summary>
/// <param name="type"></param>
/// <param name="ip"></param>
/// <param name="database"></param>
/// <param name="uid"></param>
/// <param name="pwd"></param>
/// <returns></returns>
public static string GetConnectionString(DatabaseType type, string ip, string database, string uid, string pwd)
{
string connectionString = "";
switch (type)
{
case DatabaseType.MySql:
connectionString = $"Server={ip};Database={database};Uid={uid};Pwd={pwd};connection timeout=12000;pooling=true;charset=utf8;Convert Zero Datetime=True;port=3306;Allow User Variables=True;;";
break;
case DatabaseType.SqlServer:
connectionString = $"data source={ip};initial catalog={database};user id={uid};password={pwd};connection timeout=12000;";
break;
default:
throw new Exception($"nonsupport {DatabaseType.MySql}");
}
return connectionString;
}
/// <summary>
/// 创建连接
/// </summary>
/// <param name="type"></param>
/// <param name="ip"></param>
/// <param name="database"></param>
/// <param name="uid"></param>
/// <param name="pwd"></param>
/// <returns></returns>
public static IDbConnection Create(DatabaseType type, string ip, string database, string uid, string pwd)
{
string connectionString = GetConnectionString(type, ip, database, uid, pwd);
return Create(type, connectionString);
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.Repository
{
public enum DatabaseType
{
MySql,
SqlServer
}
}
//-----------------------------------------------------------------------
// <copyright file=" sys_extract.cs">
// * FileName: sys_extract.cs
// </copyright>
//-----------------------------------------------------------------------
using Dapper;
using Performance.EntityModels;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
namespace Performance.Repository
{
/// <summary>
/// sys_extract Repository
/// </summary>
public partial class PerforExtractRepository : PerforRepository<sys_extract>
{
public List<CustomExecute> ExecuteScript(IDbConnection connection, string sql, string param)
{
List<CustomExecute> result = new List<CustomExecute>();
using (connection)
{
var dataReader = connection.ExecuteReader(sql, param);
int row = 0;
while (dataReader.Read())
{
for (int i = 0; i < dataReader.FieldCount; i++)
{
var fileName = dataReader.GetName(i);
var @object = dataReader[fileName];
result.Add(new CustomExecute { RowNumber = row, ColumnName = fileName, Value = @object });
}
row++;
}
}
return result;
}
}
public class CustomExecute
{
public int RowNumber { get; set; }
public string ColumnName { get; set; }
public object Value { get; set; }
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment