Commit 617684ee by 钟博

补充

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