|
@@ -24,6 +24,8 @@ using Microsoft.AspNetCore.Hosting;
|
|
|
using System.Data;
|
|
|
using ZhonTai.Admin.Domain.ProjectLink;
|
|
|
using ZhonTai.Common.Extensions;
|
|
|
+using ZhonTai.Admin.Repositories.Project;
|
|
|
+using ZhonTai.Admin.Services.Project.Dto;
|
|
|
|
|
|
namespace ZhonTai.Admin.Services.ProjectStat
|
|
|
{
|
|
@@ -61,7 +63,7 @@ namespace ZhonTai.Admin.Services.ProjectStat
|
|
|
var list = _projectStatRepository.Select.DisableGlobalFilter(FilterNames.Tenant)
|
|
|
.WhereIf(ProjectId.HasValue && ProjectId.Value > 0, a => a.ProjectId == ProjectId)
|
|
|
.WhereIf(TenantId.HasValue && TenantId.Value > 0, a => a.TenantId == TenantId)
|
|
|
- .WhereIf(IsSettele.HasValue, a => a.IsSettle == IsSettele)
|
|
|
+ .WhereIf(IsSettele.HasValue && IsSettele.Value >= 0, a => a.IsSettle == IsSettele)
|
|
|
.WhereIf(EffectDate.HasValue, a => a.EffectDate == EffectDate)
|
|
|
.GroupBy(m => new { m.ProjectId, m.TenantId, m.EffectDate })
|
|
|
.Count(out var total)
|
|
@@ -211,8 +213,13 @@ namespace ZhonTai.Admin.Services.ProjectStat
|
|
|
var listFuGai = await _projectStatRepository.Select.DisableGlobalFilter(FilterNames.Tenant).Where(m => m.ProjectId == ProjectId && listDateInt.Contains(m.EffectDateNum) && m.IsSettle == 0).ToListAsync(m=>m.EffectDateNum);
|
|
|
if (listFuGai.Count() > 0)
|
|
|
{
|
|
|
- listFuGai = listFuGai.Distinct().ToList();
|
|
|
- await _projectStatRepository.UpdateDiy.Set(m=>m.IsDeleted,true).Where(m => listFuGai.Contains(m.EffectDateNum)).ExecuteUpdatedAsync();
|
|
|
+ listFuGai = listFuGai.Distinct().ToList();
|
|
|
+
|
|
|
+ await _projectStatRepository.Orm.Delete<ProjectStatEntity>().DisableGlobalFilter(FilterNames.Tenant).Where(m => listFuGai.Contains(m.EffectDateNum)).ExecuteAffrowsAsync();
|
|
|
+ //await _projectStatRepository.Select.DisableGlobalFilter(FilterNames.Tenant).Where(m => listFuGai.Contains(m.EffectDateNum)).ToDelete().ExecuteAffrowsAsync();
|
|
|
+ //await _projectStatRepository.DisableGlobalFilter(FilterNames.Tenant).SetSource(new ProjectStatEntity() {
|
|
|
+ // IsDeleted=true
|
|
|
+ //}).UpdateColumns(m =>new { m.IsDeleted}).Where(m => listFuGai.Contains(m.EffectDateNum)).ExecuteUpdatedAsync();
|
|
|
}
|
|
|
List<ProjectStatEntity> list = new List<ProjectStatEntity>();
|
|
|
foreach (DataRow row in datatable.Rows)
|
|
@@ -236,6 +243,7 @@ namespace ZhonTai.Admin.Services.ProjectStat
|
|
|
CommissionPrice = 0,
|
|
|
IsSettle = 0,
|
|
|
TenantId = link?.TenantId,
|
|
|
+ UsedUserId=link?.UsedUserId
|
|
|
};
|
|
|
list.Add(model);
|
|
|
}
|
|
@@ -272,5 +280,30 @@ namespace ZhonTai.Admin.Services.ProjectStat
|
|
|
|
|
|
return linkUrl;
|
|
|
}
|
|
|
+ /// <summary>
|
|
|
+ /// 确认结算
|
|
|
+ /// </summary>
|
|
|
+ ///<param name="ProjectId">项目Id</param>
|
|
|
+ ///<param name="EffecDate">状态 2上架 3下架 4暂停</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet]
|
|
|
+ public async Task UpdateSettleAsync(long ProjectId,int EffecDate)
|
|
|
+ {
|
|
|
+ var count = await _projectStatRepository.Select.DisableGlobalFilter(FilterNames.Tenant).Where(m => m.ProjectId==ProjectId&&m.EffectDateNum== EffecDate&&m.IsSettle==0).CountAsync();
|
|
|
+ if (count <= 0)
|
|
|
+ {
|
|
|
+ throw ResultOutput.Exception("无可结算数据");
|
|
|
+ }
|
|
|
+ //更新项目
|
|
|
+ await _projectStatRepository.UpdateDiy.SetSource(
|
|
|
+ new ProjectStatEntity()
|
|
|
+ {
|
|
|
+ IsSettle=1,
|
|
|
+ SettleTime=DateTime.Now
|
|
|
+ })
|
|
|
+ .UpdateColumns(a => new { a.IsSettle,a.SettleTime })
|
|
|
+ .Where(m => m.ProjectId == ProjectId && m.EffectDateNum == EffecDate && m.IsSettle == 0)
|
|
|
+ .DisableGlobalFilter(FilterNames.Tenant).ExecuteAffrowsAsync();
|
|
|
+ }
|
|
|
}
|
|
|
}
|