You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
379 lines
17 KiB
379 lines
17 KiB
3 years ago
|
using Dapper;
|
||
|
using learun.application;
|
||
|
using learun.util;
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Data;
|
||
|
using System.Text;
|
||
|
using System.Threading.Tasks;
|
||
|
using learun.iappdev;
|
||
|
|
||
|
namespace learun.appdev
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// EasyCode EC管理后台
|
||
|
/// Copyright (c) 2019-present EC管理有限公司
|
||
|
/// 创建人:tobin
|
||
|
/// 日 期: 2020-06-18 06:35:30
|
||
|
/// 描 述: 测试代码生成器 f_parent
|
||
|
/// </summary>
|
||
|
public class TestService : ServiceBase
|
||
|
{
|
||
|
#region 获取数据
|
||
|
/// <summary>
|
||
|
/// 获取主表f_parent的所有列表数据
|
||
|
/// </summary>
|
||
|
/// <param name="queryJson">查询参数,json字串</param>
|
||
|
/// <returns></returns>
|
||
|
public Task<IEnumerable<F_parentEntity>> GetList(string queryJson)
|
||
|
{
|
||
|
var strSql = new StringBuilder();
|
||
|
strSql.Append(@"SELECT
|
||
|
t.F_Id,t.F_text,t.F_textarea,t.F_edit,t.F_radio,t.F_checkbox,t.F_select,t.F_date,t.F_datev,t.F_code,t.F_company,t.F_department,t.F_user,t.F_file,t.F_date2,t.F_ccompany,t.F_cdepartment,t.F_cuser,t.F_cdate
|
||
|
FROM f_parent t
|
||
|
");
|
||
|
strSql.Append(" where 1 = 1");
|
||
|
var dp = new DynamicParameters(new { });
|
||
|
if(!string.IsNullOrEmpty(queryJson)){
|
||
|
var queryParam = queryJson.ToJObject();
|
||
|
// 文本
|
||
|
if (!queryParam["F_text"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_text", queryParam["F_text"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_text = @F_text ");
|
||
|
}
|
||
|
// 文本区域
|
||
|
if (!queryParam["F_textarea"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_textarea", queryParam["F_textarea"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_textarea = @F_textarea ");
|
||
|
}
|
||
|
// 编辑框
|
||
|
if (!queryParam["F_edit"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_edit", queryParam["F_edit"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_edit = @F_edit ");
|
||
|
}
|
||
|
// 单选
|
||
|
if (!queryParam["F_radio"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_radio", queryParam["F_radio"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_radio = @F_radio ");
|
||
|
}
|
||
|
// 多选
|
||
|
if (!queryParam["F_checkbox"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_checkbox", queryParam["F_checkbox"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_checkbox = @F_checkbox ");
|
||
|
}
|
||
|
// 选择框
|
||
|
if (!queryParam["F_select"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_select", queryParam["F_select"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_select = @F_select ");
|
||
|
}
|
||
|
// 日期
|
||
|
if (!queryParam["F_date_start"].IsEmpty() && !queryParam["F_date_end"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_date_start", queryParam["F_date_start"].ToDate() , DbType.DateTime);
|
||
|
dp.Add("F_date_end", queryParam["F_date_end"].ToDate() , DbType.DateTime);
|
||
|
strSql.Append(" AND( t.F_date >= @F_date_start AND t.F_date <= @F_date_end )");
|
||
|
}
|
||
|
// 日期差
|
||
|
if (!queryParam["F_datev"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_datev", queryParam["F_datev"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_datev = @F_datev ");
|
||
|
}
|
||
|
// 编码
|
||
|
if (!queryParam["F_code"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_code", queryParam["F_code"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_code = @F_code ");
|
||
|
}
|
||
|
// 公司
|
||
|
if (!queryParam["F_company"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_company", queryParam["F_company"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_company = @F_company ");
|
||
|
}
|
||
|
// 部门
|
||
|
if (!queryParam["F_department"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_department", queryParam["F_department"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_department = @F_department ");
|
||
|
}
|
||
|
// 用户
|
||
|
if (!queryParam["F_user"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_user", queryParam["F_user"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_user = @F_user ");
|
||
|
}
|
||
|
// 附件
|
||
|
if (!queryParam["F_file"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_file", queryParam["F_file"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_file = @F_file ");
|
||
|
}
|
||
|
// 时间2
|
||
|
if (!queryParam["F_date2_start"].IsEmpty() && !queryParam["F_date2_end"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_date2_start", queryParam["F_date2_start"].ToDate() , DbType.DateTime);
|
||
|
dp.Add("F_date2_end", queryParam["F_date2_end"].ToDate() , DbType.DateTime);
|
||
|
strSql.Append(" AND( t.F_date2 >= @F_date2_start AND t.F_date2 <= @F_date2_end )");
|
||
|
}
|
||
|
// 当前公司
|
||
|
if (!queryParam["F_ccompany"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_ccompany", queryParam["F_ccompany"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_ccompany = @F_ccompany ");
|
||
|
}
|
||
|
// 当前部门
|
||
|
if (!queryParam["F_cdepartment"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_cdepartment", queryParam["F_cdepartment"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_cdepartment = @F_cdepartment ");
|
||
|
}
|
||
|
// 当前用户
|
||
|
if (!queryParam["F_cuser"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_cuser", queryParam["F_cuser"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_cuser = @F_cuser ");
|
||
|
}
|
||
|
// 当前时间
|
||
|
if (!queryParam["F_cdate_start"].IsEmpty() && !queryParam["F_cdate_end"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_cdate_start", queryParam["F_cdate_start"].ToDate() , DbType.DateTime);
|
||
|
dp.Add("F_cdate_end", queryParam["F_cdate_end"].ToDate() , DbType.DateTime);
|
||
|
strSql.Append(" AND( t.F_cdate >= @F_cdate_start AND t.F_cdate <= @F_cdate_end )");
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
return this.BaseRepository().FindList<F_parentEntity>(strSql.ToString(), dp);
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取主表f_parent的分页列表数据
|
||
|
/// </summary>
|
||
|
/// <param name="pagination">分页参数</param>
|
||
|
/// <param name="queryJson">查询参数,json字串</param>
|
||
|
/// <returns></returns>
|
||
|
public Task<IEnumerable<F_parentEntity>> GetPageList(Pagination pagination, string queryJson)
|
||
|
{
|
||
|
var strSql = new StringBuilder();
|
||
|
strSql.Append(@"SELECT
|
||
|
t.F_Id,t.F_text,t.F_textarea,t.F_edit,t.F_radio,t.F_checkbox,t.F_select,t.F_date,t.F_datev,t.F_code,t.F_company,t.F_department,t.F_user,t.F_file,t.F_date2,t.F_ccompany,t.F_cdepartment,t.F_cuser,t.F_cdate
|
||
|
FROM f_parent t
|
||
|
");
|
||
|
strSql.Append(" where 1 = 1");
|
||
|
var dp = new DynamicParameters(new { });
|
||
|
if(!string.IsNullOrEmpty(queryJson)){
|
||
|
var queryParam = queryJson.ToJObject();
|
||
|
// 文本
|
||
|
if (!queryParam["F_text"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_text", queryParam["F_text"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_text = @F_text ");
|
||
|
}
|
||
|
// 文本区域
|
||
|
if (!queryParam["F_textarea"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_textarea", queryParam["F_textarea"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_textarea = @F_textarea ");
|
||
|
}
|
||
|
// 编辑框
|
||
|
if (!queryParam["F_edit"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_edit", queryParam["F_edit"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_edit = @F_edit ");
|
||
|
}
|
||
|
// 单选
|
||
|
if (!queryParam["F_radio"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_radio", queryParam["F_radio"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_radio = @F_radio ");
|
||
|
}
|
||
|
// 多选
|
||
|
if (!queryParam["F_checkbox"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_checkbox", queryParam["F_checkbox"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_checkbox = @F_checkbox ");
|
||
|
}
|
||
|
// 选择框
|
||
|
if (!queryParam["F_select"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_select", queryParam["F_select"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_select = @F_select ");
|
||
|
}
|
||
|
// 日期
|
||
|
if (!queryParam["F_date_start"].IsEmpty() && !queryParam["F_date_end"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_date_start", queryParam["F_date_start"].ToDate() , DbType.DateTime);
|
||
|
dp.Add("F_date_end", queryParam["F_date_end"].ToDate() , DbType.DateTime);
|
||
|
strSql.Append(" AND( t.F_date >= @F_date_start AND t.F_date <= @F_date_end )");
|
||
|
}
|
||
|
// 日期差
|
||
|
if (!queryParam["F_datev"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_datev", queryParam["F_datev"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_datev = @F_datev ");
|
||
|
}
|
||
|
// 编码
|
||
|
if (!queryParam["F_code"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_code", queryParam["F_code"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_code = @F_code ");
|
||
|
}
|
||
|
// 公司
|
||
|
if (!queryParam["F_company"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_company", queryParam["F_company"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_company = @F_company ");
|
||
|
}
|
||
|
// 部门
|
||
|
if (!queryParam["F_department"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_department", queryParam["F_department"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_department = @F_department ");
|
||
|
}
|
||
|
// 用户
|
||
|
if (!queryParam["F_user"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_user", queryParam["F_user"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_user = @F_user ");
|
||
|
}
|
||
|
// 附件
|
||
|
if (!queryParam["F_file"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_file", queryParam["F_file"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_file = @F_file ");
|
||
|
}
|
||
|
// 时间2
|
||
|
if (!queryParam["F_date2_start"].IsEmpty() && !queryParam["F_date2_end"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_date2_start", queryParam["F_date2_start"].ToDate() , DbType.DateTime);
|
||
|
dp.Add("F_date2_end", queryParam["F_date2_end"].ToDate() , DbType.DateTime);
|
||
|
strSql.Append(" AND( t.F_date2 >= @F_date2_start AND t.F_date2 <= @F_date2_end )");
|
||
|
}
|
||
|
// 当前公司
|
||
|
if (!queryParam["F_ccompany"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_ccompany", queryParam["F_ccompany"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_ccompany = @F_ccompany ");
|
||
|
}
|
||
|
// 当前部门
|
||
|
if (!queryParam["F_cdepartment"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_cdepartment", queryParam["F_cdepartment"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_cdepartment = @F_cdepartment ");
|
||
|
}
|
||
|
// 当前用户
|
||
|
if (!queryParam["F_cuser"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_cuser", queryParam["F_cuser"].ToString() , DbType.String);
|
||
|
strSql.Append(" AND t.F_cuser = @F_cuser ");
|
||
|
}
|
||
|
// 当前时间
|
||
|
if (!queryParam["F_cdate_start"].IsEmpty() && !queryParam["F_cdate_end"].IsEmpty())
|
||
|
{
|
||
|
dp.Add("F_cdate_start", queryParam["F_cdate_start"].ToDate() , DbType.DateTime);
|
||
|
dp.Add("F_cdate_end", queryParam["F_cdate_end"].ToDate() , DbType.DateTime);
|
||
|
strSql.Append(" AND( t.F_cdate >= @F_cdate_start AND t.F_cdate <= @F_cdate_end )");
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
return this.BaseRepository().FindList<F_parentEntity>(strSql.ToString(), dp, pagination);
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取f_children(f_children)的列表实体数据
|
||
|
/// </summary>
|
||
|
/// <param name="f_parentId">与表f_parent的关联字段</param>
|
||
|
/// <returns></returns>
|
||
|
public Task<IEnumerable<F_childrenEntity>> GetF_childrenList(string f_parentId)
|
||
|
{
|
||
|
return this.BaseRepository().FindList<F_childrenEntity>(new { F_parentId=f_parentId });
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取主表f_parent的实体
|
||
|
/// </summary>
|
||
|
/// <param name="keyValue">主键</param>
|
||
|
/// <returns></returns>
|
||
|
public Task<F_parentEntity> GetEntity(string keyValue)
|
||
|
{
|
||
|
return this.BaseRepository().FindEntityByKey<F_parentEntity>(keyValue);
|
||
|
}
|
||
|
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region 提交数据
|
||
|
/// <summary>
|
||
|
/// 删除
|
||
|
/// </summary>
|
||
|
/// <param name="keyValue">主表主键</param>
|
||
|
public async Task Delete(string keyValue)
|
||
|
{
|
||
|
var f_parentEntity = await this.BaseRepository().FindEntityByKey<F_parentEntity>(keyValue);
|
||
|
var db = this.BaseRepository().BeginTrans();
|
||
|
try
|
||
|
{
|
||
|
await db.DeleteAny<F_parentEntity>(new { F_Id = keyValue });
|
||
|
await db.DeleteAny<F_childrenEntity>(new { F_parentId = f_parentEntity.F_Id });
|
||
|
db.Commit();
|
||
|
}
|
||
|
catch (Exception)
|
||
|
{
|
||
|
db.Rollback();
|
||
|
throw;
|
||
|
}
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 新增,更新
|
||
|
/// </summary>
|
||
|
/// <param name="keyValue">主键值</param>
|
||
|
/// <param name="f_parentEntity">f_parent实体数据</param>
|
||
|
/// <param name="f_childrenList">f_children实体数据列表</param>
|
||
|
/// <returns></returns>
|
||
|
public async Task<string> SaveEntity(string keyValue ,F_parentEntity f_parentEntity,IEnumerable<F_childrenEntity> f_childrenList)
|
||
|
{
|
||
|
var db = this.BaseRepository().BeginTrans();
|
||
|
try
|
||
|
{
|
||
|
if (string.IsNullOrEmpty(keyValue))
|
||
|
{
|
||
|
if (string.IsNullOrEmpty(f_parentEntity.F_Id)) {
|
||
|
f_parentEntity.F_Id = Guid.NewGuid().ToString();
|
||
|
}
|
||
|
await db.Insert(f_parentEntity);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
f_parentEntity.F_Id = keyValue;
|
||
|
await db.Update(f_parentEntity);
|
||
|
var f_parentEntityOld = await db.FindEntityByKey<F_parentEntity>(keyValue);
|
||
|
await db.DeleteAny<F_childrenEntity>(new { F_parentId = f_parentEntityOld.F_Id });
|
||
|
}
|
||
|
foreach (var item in f_childrenList)
|
||
|
{
|
||
|
item.F_Id = Guid.NewGuid().ToString();
|
||
|
item.F_parentId = f_parentEntity.F_Id;
|
||
|
await db.Insert(item);
|
||
|
}
|
||
|
db.Commit();
|
||
|
return f_parentEntity.F_Id;
|
||
|
}
|
||
|
catch (Exception)
|
||
|
{
|
||
|
db.Rollback();
|
||
|
throw;
|
||
|
}
|
||
|
}
|
||
|
#endregion
|
||
|
}
|
||
|
}
|