任务添加前后时相和shp文件信息

Insight
zhangbin 2024-11-22 17:03:02 +08:00
parent 1f1de9fcd7
commit 31cf7d235c
2 changed files with 50 additions and 12 deletions

View File

@ -170,7 +170,7 @@ namespace OpenAuth.App.ServiceApp
RefAsync<int> totalCount = 0;
var tsakList = await db.InsTask.AsQueryable()
.LeftJoin<InsAishp>((a, b) => a.ShpId == b.Id)
.WhereIF(!string.IsNullOrEmpty(taskName), (a,b) => a.TaskName.Contains(taskName))
.WhereIF(!string.IsNullOrEmpty(taskName), (a, b) => a.TaskName.Contains(taskName))
.Select((a, b) => new InsTaskForAdminResp()
{
Id = a.Id.SelectAll(),
@ -180,7 +180,7 @@ namespace OpenAuth.App.ServiceApp
),
NoReceiveShpCount = SqlFunc.Subqueryable<InsTaskgroup>().Where(r => r.TaskId == a.Id && string.IsNullOrEmpty(r.ReciveUserId)).Sum(r =>
(r.EndNum - r.BeginNum + 1)),
}).OrderByDescending((a)=>a.CreateTime).ToPageListAsync(page, limit, totalCount);
}).OrderByDescending((a) => a.CreateTime).ToPageListAsync(page, limit, totalCount);
return new Response<PageInfo<List<InsTaskForAdminResp>>>
{
@ -391,23 +391,46 @@ namespace OpenAuth.App.ServiceApp
{
using (var db = base.UnitWork.CreateContext())
{
// 获取任务信息
var taskInfo = await db.InsTask.GetFirstAsync(r => r.Id == id);
//判断是否存在或者是否已被领取
if (taskInfo == null)
throw new Exception("获取数据失败");
InsTaskReq insTaskReq = new InsTaskReq();
insTaskReq.Id = taskInfo.Id;
insTaskReq.TaskName = taskInfo.TaskName;
insTaskReq.ShpId = taskInfo.ShpId;
insTaskReq.Remark = taskInfo.Remark;
insTaskReq.PreviousPhase = db.InsTasktif.AsQueryable().Where(r => r.TaskId == taskInfo.Id && r.TifType == 0).Select(r => r.TifId).ToList();
insTaskReq.LaterPhase = db.InsTasktif.AsQueryable().Where(r => r.TaskId == taskInfo.Id && r.TifType == 1).Select(r => r.TifId).ToList();
// 初始化结果对象
var insTaskReq = new InsTaskReq
{
Id = taskInfo.Id,
TaskName = taskInfo.TaskName,
ShpId = taskInfo.ShpId,
Remark = taskInfo.Remark
};
insTaskReq.ShpInfo = await db.InsAishp.GetFirstAsync(r => r.Id == taskInfo.ShpId);
// 查询任务的前时相和后时相信息
var taskTifs = await db.InsTasktif.AsQueryable()
.Where(r => r.TaskId == taskInfo.Id)
.ToListAsync();
var previousPhaseTifs = taskTifs.Where(r => r.TifType == 0).ToList();
var laterPhaseTifs = taskTifs.Where(r => r.TifType == 1).ToList();
insTaskReq.PreviousPhase = previousPhaseTifs.Select(r => r.TifId).ToList();
insTaskReq.LaterPhase = laterPhaseTifs.Select(r => r.TifId).ToList();
// 获取对应的 Tif 信息
var tifIds = taskTifs.Select(r => r.TifId).Distinct().ToList();
var tifInfos = await db.InsTif.AsQueryable()
.Where(t => tifIds.Contains(t.Id))
.ToListAsync();
insTaskReq.PreviousPhaseInfo = tifInfos.Where(t => insTaskReq.PreviousPhase.Contains(t.Id)).ToList();
insTaskReq.LaterPhaseInfo = tifInfos.Where(t => insTaskReq.LaterPhase.Contains(t.Id)).ToList();
// 返回结果
return new Response<InsTaskReq>
{
Result = insTaskReq,
Message = "获取数据成功"
};
}
}
/// <summary>

View File

@ -1,4 +1,5 @@
using SqlSugar;
using OpenAuth.Repository.Domain;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
@ -31,6 +32,12 @@ namespace OpenAuth.App.ServiceApp.Request
/// Nullable:False
/// </summary>
public string ShpId { get; set; }
/// <summary>
/// Desc:ai 解析shp
/// Default:
/// Nullable:False
/// </summary>
public InsAishp ShpInfo { get; set; }
/// <summary>
/// Desc:备注
@ -46,5 +53,13 @@ namespace OpenAuth.App.ServiceApp.Request
/// 后时相
/// </summary>
public List<string> LaterPhase { get; set; }
/// <summary>
/// 前时相数据
/// </summary>
public List<InsTif> PreviousPhaseInfo { get; set; }
/// <summary>
/// 后时相数据
/// </summary>
public List<InsTif> LaterPhaseInfo { get; set; }
}
}