v3.4.6
This commit is contained in:
@@ -209,7 +209,7 @@ public class PrintDevService : IDynamicApiController, ITransient
|
||||
|
||||
var fieldModel = new PrintDevFieldModel()
|
||||
{
|
||||
id = index == 0 ? "headTable" : "childrenDataTable" + (index-1),
|
||||
id = index == 0 ? "headTable" : "childrenDataTable" + (index - 1),
|
||||
parentId = "struct",
|
||||
fullName = index == 0 ? "主表" : "子表" + (index - 1),
|
||||
};
|
||||
@@ -228,51 +228,37 @@ public class PrintDevService : IDynamicApiController, ITransient
|
||||
[HttpGet("Data")]
|
||||
public async Task<dynamic> GetData([FromQuery] PrintDevSqlDataQuery input)
|
||||
{
|
||||
var output = new PrintDevDataOutput();
|
||||
var entity = await GetInfo(input.id);
|
||||
if (entity == null)
|
||||
throw Oops.Oh(ErrorCode.COM1005);
|
||||
var link = await _dbLinkService.GetInfo(entity.DbLinkId);
|
||||
var tenantLink = link ?? _dataBaseManager.GetTenantDbLink(_userManager.TenantId, _userManager.TenantDbName);
|
||||
var parameter = new List<SugarParameter>()
|
||||
{
|
||||
new SugarParameter("@formId", input.formId)
|
||||
};
|
||||
var sqlList = entity.SqlTemplate.ToList<PrintDevSqlModel>();
|
||||
var dataTable = _dataBaseManager.GetInterFaceData(tenantLink, sqlList.FirstOrDefault().sql, parameter.ToArray());
|
||||
var dic = DateConver(DataTableToDicList(dataTable)).FirstOrDefault();
|
||||
for (int i = 1; i < sqlList.Count; i++)
|
||||
{
|
||||
if (sqlList[i].sql.IsNullOrEmpty())
|
||||
throw Oops.Oh(ErrorCode.COM1005);
|
||||
var childDataTable = _dataBaseManager.GetInterFaceData(tenantLink, sqlList[i].sql, parameter.ToArray());
|
||||
if (childDataTable.Rows.Count > 0)
|
||||
dic.Add("childrenDataTable" + (i - 1), DateConver(DataTableToDicList(childDataTable)));
|
||||
}
|
||||
|
||||
output.printData = dic;
|
||||
output.printTemplate = entity.PrintTemplate;
|
||||
output.operatorRecordList = await _repository.AsSugarClient().Queryable<FlowTaskOperatorRecordEntity>()
|
||||
.Where(a => a.TaskId == input.formId)
|
||||
.Select(a => new PrintDevDataModel()
|
||||
{
|
||||
id = a.Id,
|
||||
handleId = a.HandleId,
|
||||
handleOpinion = a.HandleOpinion,
|
||||
handleStatus = a.HandleStatus,
|
||||
nodeCode = a.NodeCode,
|
||||
handleTime = a.HandleTime,
|
||||
nodeName = a.NodeName,
|
||||
signImg = a.SignImg,
|
||||
taskId = a.TaskId,
|
||||
operatorId = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == a.OperatorId).Select(u => SqlFunc.MergeString(u.RealName, "/", u.Account)),
|
||||
userName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == a.HandleId).Select(u => SqlFunc.MergeString(u.RealName, "/", u.Account)),
|
||||
status = a.Status,
|
||||
taskNodeId = a.TaskNodeId,
|
||||
taskOperatorId = a.TaskOperatorId,
|
||||
}).ToListAsync();
|
||||
var output = await GetPrintDevDataOutput(input.id, input.formId);
|
||||
return output;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 模板数据.
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("BatchData")]
|
||||
public async Task<dynamic> GetBatchData([FromQuery] PrintDevSqlDataQuery input)
|
||||
{
|
||||
var output = new List<PrintDevDataOutput>();
|
||||
foreach (var formId in input.formId.Split(','))
|
||||
{
|
||||
var data = await GetPrintDevDataOutput(input.id, formId);
|
||||
output.Add(data);
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 模板列表.
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("getListOptions")]
|
||||
public async Task<dynamic> GetListOptions([FromBody] PrintDevSqlDataQuery input)
|
||||
{
|
||||
return _repository.GetList(x => input.ids.Contains(x.Id)).Select(x => new { id = x.Id, fullName = x.FullName }).ToList();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Post
|
||||
@@ -362,6 +348,8 @@ public class PrintDevService : IDynamicApiController, ITransient
|
||||
entity.FullName = entity.FullName + "副本" + random;
|
||||
entity.EnabledMark = 0;
|
||||
entity.EnCode += random;
|
||||
entity.LastModifyTime = null;
|
||||
entity.LastModifyUserId = null;
|
||||
if (entity.FullName.Length >= 50 || entity.EnCode.Length >= 50)
|
||||
throw Oops.Oh(ErrorCode.COM1009);
|
||||
var isOk = await _repository.AsInsertable(entity).IgnoreColumns(ignoreNullColumn: true).CallEntityMethod(m => m.Creator()).ExecuteCommandAsync();
|
||||
@@ -407,6 +395,60 @@ public class PrintDevService : IDynamicApiController, ITransient
|
||||
|
||||
#region PrivateMethod
|
||||
|
||||
/// <summary>
|
||||
/// 模板数据.
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="formId"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<PrintDevDataOutput> GetPrintDevDataOutput(string id, string formId)
|
||||
{
|
||||
var output = new PrintDevDataOutput();
|
||||
var entity = await GetInfo(id);
|
||||
if (entity == null)
|
||||
throw Oops.Oh(ErrorCode.D9010);
|
||||
var link = await _dbLinkService.GetInfo(entity.DbLinkId);
|
||||
var tenantLink = link ?? _dataBaseManager.GetTenantDbLink(_userManager.TenantId, _userManager.TenantDbName);
|
||||
var parameter = new List<SugarParameter>()
|
||||
{
|
||||
new SugarParameter("@formId", formId)
|
||||
};
|
||||
var sqlList = entity.SqlTemplate.ToList<PrintDevSqlModel>();
|
||||
var dataTable = _dataBaseManager.GetInterFaceData(tenantLink, sqlList.FirstOrDefault().sql, parameter.ToArray());
|
||||
var dic = DateConver(DataTableToDicList(dataTable)).FirstOrDefault();
|
||||
for (int i = 1; i < sqlList.Count; i++)
|
||||
{
|
||||
if (sqlList[i].sql.IsNullOrEmpty())
|
||||
throw Oops.Oh(ErrorCode.COM1005);
|
||||
var childDataTable = _dataBaseManager.GetInterFaceData(tenantLink, sqlList[i].sql, parameter.ToArray());
|
||||
if (childDataTable.Rows.Count > 0)
|
||||
dic.Add("childrenDataTable" + (i - 1), DateConver(DataTableToDicList(childDataTable)));
|
||||
}
|
||||
|
||||
output.printData = dic;
|
||||
output.printTemplate = entity.PrintTemplate;
|
||||
output.operatorRecordList = await _repository.AsSugarClient().Queryable<FlowTaskOperatorRecordEntity>()
|
||||
.Where(a => a.TaskId == formId)
|
||||
.Select(a => new PrintDevDataModel()
|
||||
{
|
||||
id = a.Id,
|
||||
handleId = a.HandleId,
|
||||
handleOpinion = a.HandleOpinion,
|
||||
handleStatus = a.HandleStatus,
|
||||
nodeCode = a.NodeCode,
|
||||
handleTime = a.HandleTime,
|
||||
nodeName = a.NodeName,
|
||||
signImg = a.SignImg,
|
||||
taskId = a.TaskId,
|
||||
operatorId = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == a.OperatorId).Select(u => SqlFunc.MergeString(u.RealName, "/", u.Account)),
|
||||
userName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == a.HandleId).Select(u => SqlFunc.MergeString(u.RealName, "/", u.Account)),
|
||||
status = a.Status,
|
||||
taskNodeId = a.TaskNodeId,
|
||||
taskOperatorId = a.TaskOperatorId,
|
||||
}).ToListAsync();
|
||||
return output;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取字段模型.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user