移动系统liao
2024-05-29 71e821ab5e6b3014fac9b691d6957bcc09704b70
CoreCms.Net.Repository/Distribution/CoreCmsDistributionRepository.cs
@@ -1,10 +1,10 @@
/***********************************************************************
 *            Project: CoreCms
 *        ProjectName: 核心内容管理系统
 *                Web: https://www.corecms.net
 *             Author: 大灰灰
 *              Email: jianweie@163.com
 *         CreateTime: 2021/1/31 21:45:10
 *            Project: baifenBinfa
 *        ProjectName: 百分兵法管理系统
 *                Web: http://chuanyin.com
 *             Author:
 *              Email:
 *         CreateTime: 202403/02
 *        Description: 暂无
 ***********************************************************************/
@@ -19,11 +19,12 @@
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.DTO.Distribution;
using SqlSugar;
using CoreCms.Net.Model.Entities.Distribution;
namespace CoreCms.Net.Repository
{
    /// <summary>
    /// 分销商表 接口实现
    /// 经销商表 接口实现
    /// </summary>
    public class CoreCmsDistributionRepository : BaseRepository<CoreCmsDistribution>, ICoreCmsDistributionRepository
    {
@@ -155,7 +156,24 @@
                    updateTime = p.updateTime,
                    verifyTime = p.verifyTime,
                    isDelete = p.isDelete,
                    UserGradeId = SqlFunc.Subqueryable<CoreCmsUser>().Where(o => o.id == p.userId).Select(o => o.grade)
                     idCradNumber = p.idCradNumber,
                      schoolName = p.schoolName,
                    storeCoordinate = p.storeCoordinate,
                    UserGradeId = SqlFunc.Subqueryable<CoreCmsUser>().Where(o => o.id == p.userId).Select(o => o.grade),
                    DistributionAchievementTotals = SqlFunc.Subqueryable<DistributionAchievement>()
                     .Where(da => da.userID == p.userId && da.isdelete == false)
                     .Sum(da => da.achievementTotals),
                    DistributionYingLingTotals = SqlFunc.Subqueryable<CoreCmsDistributionOrder>().Where(x=>x.isSettlement==(int )GlobalEnumVars.DistributionOrderSettlementStatus.SettlementNo
                    &&x.userId==p.userId
                    && SqlFunc.Subqueryable<CoreCmsOrder>().Where(z => z.orderId == x.orderId).Select(z => z.confirmStatus) == (int)GlobalEnumVars.OrderConfirmStatus.ReceiptNotConfirmed).Sum(x => x.amount),
                    DistributionKeLingTotals  = SqlFunc.Subqueryable<CoreCmsDistributionOrder>()
                    .Where(x => x.isSettlement == (int)GlobalEnumVars.DistributionOrderSettlementStatus.SettlementNo
                    && x.userId == p.userId&&SqlFunc.Subqueryable<CoreCmsOrder>().Where(z=>z.orderId==x.orderId).Select(z=>z.confirmStatus)==(int )GlobalEnumVars.OrderConfirmStatus.ConfirmReceipt)
                    .Sum(x => x.amount),
                    DistributionYiJieSuanTotals = SqlFunc.Subqueryable<CoreCmsDistributionOrder>()
                    .Where(x => x.isSettlement == (int)GlobalEnumVars.DistributionOrderSettlementStatus.SettlementYes && x.userId == p.userId)
                    .Sum(x => x.amount),
                })
                .MergeTable()
@@ -184,7 +202,28 @@
                    updateTime = p.updateTime,
                    verifyTime = p.verifyTime,
                    isDelete = p.isDelete,
                    UserGradeId = SqlFunc.Subqueryable<CoreCmsUser>().Where(o => o.id == p.userId).Select(o => o.grade)
                     address = p.address,
                      areaCode = p.areaCode,
                    profession = p.profession,
                     sales=p.sales,
                    storeCoordinate = p.storeCoordinate,
                    idCradNumber = p.idCradNumber,
                    schoolName = p.schoolName,
                    UserGradeId = SqlFunc.Subqueryable<CoreCmsUser>().Where(o => o.id == p.userId).Select(o => o.grade),
                     DistributionAchievementTotals= SqlFunc.Subqueryable<DistributionAchievement>()
                     .Where(da=>da.userID==p.userId&&da.isdelete==false)
                     .Sum(da=>da.achievementTotals),
                    DistributionYingLingTotals = SqlFunc.Subqueryable<CoreCmsDistributionOrder>().Where(x => x.isSettlement == (int)GlobalEnumVars.DistributionOrderSettlementStatus.SettlementNo
                    && x.userId == p.userId
                    && SqlFunc.Subqueryable<CoreCmsOrder>().Where(z => z.orderId == x.orderId).Select(z => z.confirmStatus) == (int)GlobalEnumVars.OrderConfirmStatus.ReceiptNotConfirmed).Sum(x => x.amount),
                    DistributionKeLingTotals = SqlFunc.Subqueryable<CoreCmsDistributionOrder>()
                    .Where(x => x.isSettlement == (int)GlobalEnumVars.DistributionOrderSettlementStatus.SettlementNo
                    && x.userId == p.userId && SqlFunc.Subqueryable<CoreCmsOrder>().Where(z => z.orderId == x.orderId).Select(z => z.confirmStatus) == (int)GlobalEnumVars.OrderConfirmStatus.ConfirmReceipt)
                    .Sum(x => x.amount),
                    DistributionYiJieSuanTotals = SqlFunc.Subqueryable<CoreCmsDistributionOrder>()
                    .Where(x => x.isSettlement == (int)GlobalEnumVars.DistributionOrderSettlementStatus.SettlementYes && x.userId == p.userId)
                    .Sum(x => x.amount),
                })
                .MergeTable()
                .OrderByIF(orderByExpression != null, orderByExpression, orderByType)