Commit 617684ee by 钟博

补充

parent 03eef406
......@@ -858,14 +858,14 @@ public ApiResponse CopyDropDown()
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("customheads")]
public ApiResponse CustomHeads([FromBody] CustomRequest request)
public ApiResponse CustomHeads([FromBody] CustomPagingRequest request)
{
if (string.IsNullOrEmpty(request.TableName))
return new ApiResponse(ResponseType.ParameterError, "表名为空");
var result = _configService.QueryHandsCustom(request.TableName);
var result = _configService.QueryHandsCustom(request);
if (result == null)
return new ApiResponse(ResponseType.ParameterError, "不符合规范");
return new ApiResponse(ResponseType.ParameterError, "表不符合规范,请补全注释或修改重复注释");
else
return new ApiResponse(ResponseType.OK, result);
}
......@@ -882,11 +882,7 @@ public ApiResponse GetCustomList([FromBody] CustomPagingRequest request)
if (allot == null)
return new ApiResponse(ResponseType.ParameterError, "AllotID错误");
var result = _configService.QueryCustom(request);
if (result.isNorm)
return new ApiResponse(ResponseType.OK, result);
else
return new ApiResponse(ResponseType.ParameterError, "不符合规范");
return _configService.QueryCustom(request);
}
/// <summary>
......@@ -904,11 +900,8 @@ public ApiResponse BatchSaveCustom([FromBody] SaveCustomData request)
else if (string.IsNullOrEmpty(request.TableName))
return new ApiResponse(ResponseType.ParameterError, "表名为空");
var result = _configService.SaveCustomTable(request);
if (result)
return new ApiResponse(ResponseType.OK);
else
return new ApiResponse(ResponseType.Error);
return _configService.SaveCustomTable(request);
}
}
}
\ No newline at end of file
......@@ -857,7 +857,7 @@
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.CustomHeads(Performance.DtoModels.CustomRequest)">
<member name="M:Performance.Api.Controllers.ConfigController.CustomHeads(Performance.DtoModels.CustomPagingRequest)">
<summary>
自定义表Heads表头
</summary>
......
......@@ -9,6 +9,8 @@ public class CustomRequest
public int AllotId { get; set; }
public string TableName { get; set; }
public string QuerySearch{ get; set; }
}
public class CustomPagingRequest : CustomRequest
......@@ -27,7 +29,6 @@ public class CustomResponse
{
public List<Heads> Heads { get; set; }
public CustonPagingData Datas { get; set; }
public bool isNorm { get; set; } = true;
}
public class Heads
......
......@@ -397,13 +397,25 @@ public List<dynamic> QueryCompute(int allotId, string viewName)
return DapperQuery<dynamic>(sql, new { allotId })?.ToList();
}
public CustonPagingData QueryCustom(CustomPagingRequest request)
public CustonPagingData QueryCustom(CustomPagingRequest request, bool IsHead)
{
var result = new CustonPagingData();
var sql = $@"SELECT * FROM {request.TableName} WHERE AllotId = @AllotId LIMIT {(request.PageIndex - 1) * request.PageSize},{request.PageSize} ";
result.DataList= DapperQuery<dynamic>(sql, new { request.AllotId })?.ToList();
string sql, Query;
sql = $@"SELECT COUNT(*) FROM {request.TableName} WHERE AllotId = @AllotId ";
if (string.IsNullOrEmpty(request.QuerySearch))
Query = " and 1=1 ";
else
Query = $@" and (AccountingUnit like '%{request.QuerySearch}%' or UnitType like '%{request.QuerySearch}%') ";
if (IsHead)
sql = $@"SELECT * FROM {request.TableName} WHERE AllotId = @AllotId ";
else
sql = $@"SELECT * FROM {request.TableName} WHERE AllotId = @AllotId {Query} order by UnitType,AccountingUnit LIMIT {(request.PageIndex - 1) * request.PageSize},{request.PageSize} ";
result.DataList = DapperQuery<dynamic>(sql, new { request.AllotId })?.ToList();
sql = $@"SELECT COUNT(*) FROM {request.TableName} WHERE AllotId = @AllotId {Query} ";
result.TotalCount = DapperQuery<int>(sql, new { request.AllotId })?.FirstOrDefault() ?? 0;
return result;
}
......@@ -412,8 +424,9 @@ public bool QueryIsAllotId(string tableName)
{
var database = context.Database.GetDbConnection().Database;
var sql = $@"SELECT column_name FROM information_schema.COLUMNS s
WHERE table_name = @table_name AND TABLE_SCHEMA = @database AND column_name='allotId';";
var isExist = DapperQuery<string>(sql, new { database = database, table_name = tableName })?.Count()>0;
WHERE table_name = @table_name AND TABLE_SCHEMA = @database AND (column_name='allotId' or column_name='AccountingUnit' or column_name='UnitType');";
var result = DapperQuery<string>(sql, new { database = database, table_name = tableName });
var isExist=result ?.Count() == 3;
return isExist;
......@@ -433,6 +446,8 @@ public bool CreatCustom(int AllotId, string tableName, List<dynamic> datas)
{
var sql = $@"DELETE FROM {tableName} WHERE allotId=@AllotId ";
Execute(sql, new { AllotId });
if (datas == null)
return true;
var database = context.Database.GetDbConnection().Database;
sql = $@"SELECT column_name FROM information_schema.COLUMNS s
......@@ -447,5 +462,14 @@ public bool CreatCustom(int AllotId, string tableName, List<dynamic> datas)
else
return false;
}
public List<dynamic> QueryType(string tableName)
{
var database = context.Database.GetDbConnection().Database;
var sql = $@"select column_name,data_type from information_schema.columns where table_name=@table_name and table_schema=@table_schema AND (data_type like '%int%' or data_type like '%decimal%' or data_type like '%date%') AND COLUMN_KEY <> 'PRI' ";
var result = DapperQuery<dynamic>(sql, new { table_schema = database, table_name = tableName })?.ToList();
return result;
}
}
}
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