|
@@ -60,7 +60,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
return jw;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 获取模板信息
|
|
|
/// </summary>
|
|
@@ -90,11 +89,41 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
return tempInfos;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 获取模板信息
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="tempId">模板编号,默认 1404</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<GrpOrderPreItemMobileView[]> TempMobileInfoById(int tempId = 1404)
|
|
|
+ {
|
|
|
+ var tempInfos = await _sqlSugar.Queryable<Sys_FormTemp, Sys_SetData, Sys_SetData>((ft, sd1, sd2) =>
|
|
|
+ new JoinQueryInfos(
|
|
|
+ JoinType.Left, ft.FieldNameId == sd1.Id,
|
|
|
+ JoinType.Left, ft.FieldTypeId == sd2.Id
|
|
|
+ ))
|
|
|
+ .Where((ft, sd1, sd2) => ft.IsDel == 0 && ft.TempId == tempId)
|
|
|
+ .OrderBy((ft, sd1, sd2) => ft.Index)
|
|
|
+ .Select((ft, sd1, sd2) => new GrpOrderPreItemMobileView()
|
|
|
+ {
|
|
|
+ FieldTempId = ft.Id,
|
|
|
+ FieldName = sd1.Name,
|
|
|
+ OriginVal = "-",
|
|
|
+ // FieldTypeName = !string.IsNullOrEmpty(ft.Remark) ? sd2.Name +"-"+ ft.Remark : sd2.Name,
|
|
|
+ FieldTypeName = sd2.Name,
|
|
|
+ IsRequired = ft.IsRequired,
|
|
|
+ IsRemark = ft.IsRemark,
|
|
|
+ Index = ft.Index
|
|
|
+ })
|
|
|
+ .ToArrayAsync();
|
|
|
+ return tempInfos;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取团组下单前信息
|
|
|
/// </summary>
|
|
|
/// <param name="id">下单前信息Id</param>
|
|
|
/// <param name="tempId">模板编号,默认 1404</param>
|
|
|
+ /// <param name="portType">端口号</param>
|
|
|
/// <returns></returns>
|
|
|
public async Task<JsonView> InfoAsync(int id, int tempId = 1404)
|
|
|
{
|
|
@@ -106,7 +135,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
var temps = await TempInfoById(tempId);
|
|
|
if (info == null)
|
|
|
{
|
|
|
- view.Items = temps;
|
|
|
+ view.Items = temps;
|
|
|
jw.Data = view;
|
|
|
return jw;
|
|
|
}
|
|
@@ -159,6 +188,76 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
return jw;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 获取团组下单前信息
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="id">下单前信息Id</param>
|
|
|
+ /// <param name="tempId">模板编号,默认 1404</param>
|
|
|
+ /// <param name="portType">端口号</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<JsonView> MobileInfoAsync(int id, int tempId = 1404)
|
|
|
+ {
|
|
|
+ var jw = new JsonView() { Code = StatusCodes.Status200OK, Msg = "操作成功!" };
|
|
|
+ var view = new GrpOrderPreInfoMobileView();
|
|
|
+ var info = await _sqlSugar.Queryable<Grp_OrderPreInfo>()
|
|
|
+ .FirstAsync(x => x.IsDel == 0 && x.Id == id);
|
|
|
+
|
|
|
+ var temps = await TempMobileInfoById(tempId);
|
|
|
+ if (info == null)
|
|
|
+ {
|
|
|
+ view.Items = temps;
|
|
|
+ jw.Data = view;
|
|
|
+ return jw;
|
|
|
+ }
|
|
|
+
|
|
|
+ view.Id = id;
|
|
|
+ view.Name = info.Name;
|
|
|
+ view.GroupId = info.GroupId;
|
|
|
+ var items = await _sqlSugar.Queryable<Sys_FormTemp, Grp_OrderPreItem, Sys_SetData, Sys_SetData>((ft, opi, sd1, sd2) =>
|
|
|
+ new JoinQueryInfos(
|
|
|
+ JoinType.Inner, ft.Id == opi.FormTempId,
|
|
|
+ JoinType.Left, ft.FieldNameId == sd1.Id,
|
|
|
+ JoinType.Left, ft.FieldTypeId == sd2.Id
|
|
|
+ ))
|
|
|
+ .Where((ft, opi, sd1, sd2) => ft.IsDel == 0 && opi.IsDel == 0 && opi.ParentId == id && ft.TempId == tempId)
|
|
|
+ .OrderBy((ft, opi, sd1, sd2) => ft.Index)
|
|
|
+ .Select((ft, opi, sd1, sd2) => new GrpOrderPreItemMobileView()
|
|
|
+ {
|
|
|
+ Id = opi.Id,
|
|
|
+ ParentId = opi.ParentId,
|
|
|
+ FieldTempId = ft.Id,
|
|
|
+ FieldName = sd1.Name,
|
|
|
+ FieldTypeName = sd2.Name,
|
|
|
+ OriginVal = opi.Value,
|
|
|
+ Remark = opi.Remark,
|
|
|
+ IsRequired = ft.IsRequired,
|
|
|
+ IsRemark = ft.IsRemark,
|
|
|
+ Index = ft.Index
|
|
|
+ })
|
|
|
+ .ToArrayAsync();
|
|
|
+
|
|
|
+ // 如果原始数据不存在或者数量不匹配,则补充模板中缺失的字段
|
|
|
+ if (!items.Any())
|
|
|
+ {
|
|
|
+ view.Items = temps;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var itemsList = items.ToList();
|
|
|
+ foreach (var temp in temps)
|
|
|
+ {
|
|
|
+ if (!itemsList.Any(x => x.FieldName.Equals(temp.FieldName)))
|
|
|
+ {
|
|
|
+ itemsList.Add(temp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ view.Items = itemsList.OrderBy(x => x.Index).ToArray();
|
|
|
+ }
|
|
|
+
|
|
|
+ jw.Data = view;
|
|
|
+ return jw;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取团组下单前信息 op
|
|
|
/// </summary>
|