|
@@ -25,11 +25,18 @@ using DW5S.App.Model;
|
|
|
using DW5S.Entity;
|
|
|
|
|
|
using DW5S.Repostory;
|
|
|
+using Microsoft.Extensions.Logging;
|
|
|
|
|
|
namespace DW5S.App.UserControl
|
|
|
{
|
|
|
public partial class CtrlCgRes : DevExpress.XtraEditors.XtraUserControl
|
|
|
{
|
|
|
+ [Autowired]
|
|
|
+ private readonly ILogger logger;
|
|
|
+
|
|
|
+ [Autowired]
|
|
|
+ private readonly UnitOfWork unitOfWork;
|
|
|
+
|
|
|
List<CgRes> list = new List<CgRes>();
|
|
|
public CtrlCgRes()
|
|
|
{
|
|
@@ -45,17 +52,16 @@ namespace DW5S.App.UserControl
|
|
|
try
|
|
|
{
|
|
|
List<TaskInfo> tskList = new List<TaskInfo>();
|
|
|
- using (RHDWContext db = new RHDWContext())
|
|
|
- {
|
|
|
- tskList = await db.TaskInfos.OrderByDescending(p => p.UpdateTime).ToListAsync();
|
|
|
- }
|
|
|
+ var repsTask = unitOfWork.Of<TaskInfo>();
|
|
|
+ tskList.AddRange(await repsTask.GetAllAsync(p => p.UpdateTime));
|
|
|
this.txtTask.UseDefault().SetData(tskList, nameof(TaskInfo.TaskName)).UseDoubleClickToSelectAll();
|
|
|
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- DW5S.Framework.LogHelper.Error("查询参估结果异常", ex);
|
|
|
- DxHelper.MsgBoxHelper.ShowError("查询参估结果异常");
|
|
|
+ string msg = "查询参估结果异常";
|
|
|
+ logger.LogError(ex, msg);
|
|
|
+ DxHelper.MsgBoxHelper.ShowError(msg);
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -64,26 +70,16 @@ namespace DW5S.App.UserControl
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- var groupItems = selectedRes.GroupBy(p => p.SigTime.ToString("yyyyMMdd"));
|
|
|
- foreach (var groupItem in groupItems)
|
|
|
- {
|
|
|
- var ids = groupItem.Select(m => m.ID).ToList();
|
|
|
- using (RHDWPartContext db = RHDWPartContext.GetContext(groupItem.First().SigTime))
|
|
|
- {
|
|
|
- if (db != null)
|
|
|
- {
|
|
|
- var list = await db.CgRes.Where(p => ids.Contains(p.ID)).ToListAsync();
|
|
|
- db.CgRes.RemoveRange(list);
|
|
|
- await db.SaveChangesAsync();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ var repsCg = unitOfWork.Of<CgRes>();
|
|
|
+ await repsCg.DeleteAsync(selectedRes);
|
|
|
+ await unitOfWork.SaveAsync();
|
|
|
return true;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- DW5S.Framework.LogHelper.Error("删除参估结果异常", ex);
|
|
|
- DxHelper.MsgBoxHelper.ShowError("删除参估结果异常");
|
|
|
+ string msg = "删除参估结果异常";
|
|
|
+ logger.LogError(ex, msg);
|
|
|
+ DxHelper.MsgBoxHelper.ShowError(msg);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -145,7 +141,7 @@ namespace DW5S.App.UserControl
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
-
|
|
|
+ var repsCg = unitOfWork.Of<CgRes>();
|
|
|
DateTime start = DateTime.MinValue;
|
|
|
DateTime end = DateTime.MinValue;
|
|
|
if (txtTimeCho.Text == "自定义")
|
|
@@ -155,70 +151,24 @@ namespace DW5S.App.UserControl
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DbPart");
|
|
|
- if (!Directory.Exists(dir)) return new List<CgRes>();
|
|
|
- var yearDirs = Directory.EnumerateDirectories(dir).OrderByDescending(p => Convert.ToInt32(new DirectoryInfo(p).Name));//年目录,倒叙排列
|
|
|
- foreach (var yearDir in yearDirs)
|
|
|
- {
|
|
|
- //每一天的db文件,倒序排列
|
|
|
- var dayFiles = Directory.EnumerateFiles(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, yearDir), "*.db").OrderByDescending(p => Convert.ToInt32(new DirectoryInfo(p).Name.Substring(0, 4)));
|
|
|
- foreach (var dayFile in dayFiles)
|
|
|
- {
|
|
|
- using (RHDWPartContext db = RHDWPartContext.GetContext(dayFile))
|
|
|
- {
|
|
|
- if (db == null) continue;
|
|
|
- if (db.CgRes.Any(p => p.TaskID == ((TaskInfo)txtTask.EditValue).ID))
|
|
|
- end = await db.CgRes.Where(p => p.TaskID == ((TaskInfo)txtTask.EditValue).ID).MaxAsync(p => p.SigTime);
|
|
|
- }
|
|
|
- if (end != DateTime.MinValue)
|
|
|
- {
|
|
|
- start = end.AddHours(-(int)txtTimeCho.EditValue);
|
|
|
- goto skip;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ var max = repsCg.MaxBy(p => p.SigTime, q => q.TaskID == ((TaskInfo)txtTask.EditValue).Id);
|
|
|
+ if (max == null) return new List<CgRes>();
|
|
|
+ end = max.SigTime;
|
|
|
+ start = end.AddHours(-(int)txtTimeCho.EditValue);
|
|
|
}
|
|
|
- skip:
|
|
|
if (end == DateTime.MinValue)
|
|
|
{
|
|
|
return new List<CgRes>();//没有数据不查询
|
|
|
}
|
|
|
-
|
|
|
- DateTime endDay = new DateTime(end.Year, end.Month, end.Day);
|
|
|
- DateTime startDay = new DateTime(start.Year, start.Month, start.Day);
|
|
|
- List<CgRes> list = new List<CgRes>();
|
|
|
- while (endDay >= startDay)
|
|
|
- {
|
|
|
- using (RHDWPartContext db = RHDWPartContext.GetContext(endDay))
|
|
|
- {
|
|
|
- if (db != null)
|
|
|
- {
|
|
|
- for (int i = 0; i < 2; i++)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var cgRes = await db.CgRes.Where(w => w.SigTime >= start && w.SigTime <= end && w.TaskID == ((TaskInfo)txtTask.EditValue).ID).OrderByDescending(o => o.SigTime).ToListAsync();
|
|
|
- list.AddRange(cgRes);
|
|
|
- break;
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- LogHelper.Error($"同步分区表结构异常,Time={endDay:yyyyMMdd}",ex).Wait(5000);
|
|
|
- db.SyncDb();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- endDay = endDay.AddDays(-1);
|
|
|
- }
|
|
|
- return list;
|
|
|
+ var cgRes = await repsCg.FindAsync(w => w.SigTime >= start && w.SigTime <= end && w.TaskID == ((TaskInfo)txtTask.EditValue).Id, p => p.SigTime, false);
|
|
|
+ return cgRes.ToList();
|
|
|
}
|
|
|
catch (TaskCanceledException) { }
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- DW5S.Framework.LogHelper.Error("参估结果查询异常", ex);
|
|
|
- MsgBoxHelper.ShowError("参估结果查询异常");
|
|
|
+ string msg = "参估结果查询异常";
|
|
|
+ logger.LogError(ex,msg);
|
|
|
+ MsgBoxHelper.ShowError(msg);
|
|
|
}
|
|
|
return new List<CgRes>();
|
|
|
}
|
|
@@ -250,7 +200,7 @@ namespace DW5S.App.UserControl
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- LogHelper.Error("参估绘图异常", ex).Wait(5000);
|
|
|
+ logger.LogError(ex, "参估绘图异常");
|
|
|
}
|
|
|
}
|
|
|
}
|