From 00486d53c72825d0ce2da9542f9c7d167ce62fbc Mon Sep 17 00:00:00 2001
From: “wangming” <“wangming@antissoft.com”>
Date: Sun, 14 Sep 2025 01:00:46 +0800
Subject: [PATCH] 更新多个.DS_Store文件,优化代码格式,确保代码整洁性。
---
.DS_Store | Bin 18436 -> 0 bytes
netcore/src/.DS_Store | Bin 10244 -> 0 bytes
netcore/src/Application/.DS_Store | Bin 10244 -> 0 bytes
netcore/src/Application/NCC.API/.DS_Store | Bin 10244 -> 0 bytes
netcore/src/Modularity/.DS_Store | Bin 8196 -> 0 bytes
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_jlmxb/LqJlmxbEntity.cs | 62 +++++++++++++++++++++++++++++++-------------------------------
netcore/src/Modularity/Extend/NCC.Extend/LqCpxxService.cs | 72 ++++++++++++++++++++++++++++++++++++------------------------------------
netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs | 334 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------------------------------------------------------
netcore/src/Modularity/Extend/NCC.Extend/LqJlmxbService.cs | 2 +-
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs | 364 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------
netcore/src/Modularity/Extend/NCC.Extend/LqLssjService.cs | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------
netcore/src/Modularity/Extend/NCC.Extend/LqMdXdbhsjService.cs | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------
netcore/src/Modularity/Extend/NCC.Extend/LqSkzhService.cs | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------
创建事业部业绩统计流水表视图.sql | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
参考资料/.DS_Store | Bin 12292 -> 0 bytes
15 files changed, 785 insertions(+), 489 deletions(-)
create mode 100644 创建事业部业绩统计流水表视图.sql
diff --git a/.DS_Store b/.DS_Store
index beba05f..415fb3b 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/netcore/src/.DS_Store b/netcore/src/.DS_Store
index 1087253..141eeaa 100644
Binary files a/netcore/src/.DS_Store and b/netcore/src/.DS_Store differ
diff --git a/netcore/src/Application/.DS_Store b/netcore/src/Application/.DS_Store
index dedb8f3..a094ecd 100644
Binary files a/netcore/src/Application/.DS_Store and b/netcore/src/Application/.DS_Store differ
diff --git a/netcore/src/Application/NCC.API/.DS_Store b/netcore/src/Application/NCC.API/.DS_Store
index 4ad8406..4d4d2e7 100644
Binary files a/netcore/src/Application/NCC.API/.DS_Store and b/netcore/src/Application/NCC.API/.DS_Store differ
diff --git a/netcore/src/Modularity/.DS_Store b/netcore/src/Modularity/.DS_Store
index 2203b68..e453629 100644
Binary files a/netcore/src/Modularity/.DS_Store and b/netcore/src/Modularity/.DS_Store differ
diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_jlmxb/LqJlmxbEntity.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_jlmxb/LqJlmxbEntity.cs
index 3410297..77d6ce7 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_jlmxb/LqJlmxbEntity.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_jlmxb/LqJlmxbEntity.cs
@@ -16,96 +16,96 @@ namespace NCC.Extend.Entitys.lq_jlmxb
///
[SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)]
public string Id { get; set; }
-
+
///
/// 门店编号
///
- [SugarColumn(ColumnName = "mdbh")]
+ [SugarColumn(ColumnName = "mdbh")]
public string Mdbh { get; set; }
-
+
///
/// 门店名称
///
- [SugarColumn(ColumnName = "mdmc")]
+ [SugarColumn(ColumnName = "mdmc")]
public string Mdmc { get; set; }
-
+
///
/// 岗位
///
- [SugarColumn(ColumnName = "gw")]
+ [SugarColumn(ColumnName = "gw")]
public string Gw { get; set; }
-
+
///
/// 健康师
///
- [SugarColumn(ColumnName = "jks")]
+ [SugarColumn(ColumnName = "jks")]
public string Jks { get; set; }
-
+
///
/// 医美秒杀卡
///
- [SugarColumn(ColumnName = "ymmsk")]
+ [SugarColumn(ColumnName = "ymmsk")]
public string Ymmsk { get; set; }
-
+
///
/// 科技部秒杀卡
///
- [SugarColumn(ColumnName = "kjbmsk")]
+ [SugarColumn(ColumnName = "kjbmsk")]
public string Kjbmsk { get; set; }
-
+
///
/// 成交奖
///
- [SugarColumn(ColumnName = "cjj")]
+ [SugarColumn(ColumnName = "cjj")]
public string Cjj { get; set; }
-
+
///
/// PK
///
- [SugarColumn(ColumnName = "pk")]
+ [SugarColumn(ColumnName = "pk")]
public string Pk { get; set; }
-
+
///
/// 体验
///
- [SugarColumn(ColumnName = "ty")]
+ [SugarColumn(ColumnName = "ty")]
public string Ty { get; set; }
-
+
///
/// 打版
///
- [SugarColumn(ColumnName = "db")]
+ [SugarColumn(ColumnName = "db")]
public string Db { get; set; }
-
+
///
/// 沉睡
///
- [SugarColumn(ColumnName = "cs")]
+ [SugarColumn(ColumnName = "cs")]
public string Cs { get; set; }
-
+
///
/// 嘉宾
///
- [SugarColumn(ColumnName = "jb")]
+ [SugarColumn(ColumnName = "jb")]
public string Jb { get; set; }
-
+
///
/// 合计
///
- [SugarColumn(ColumnName = "hj")]
+ [SugarColumn(ColumnName = "hj")]
public string Hj { get; set; }
-
+
///
/// 扣除明细
///
- [SugarColumn(ColumnName = "kcmx")]
+ [SugarColumn(ColumnName = "kcmx")]
public string Kcmx { get; set; }
-
+
///
/// 不含嘉宾
///
- [SugarColumn(ColumnName = "bhjb")]
+ [SugarColumn(ColumnName = "bhjb")]
public string Bhjb { get; set; }
-
+
}
}
\ No newline at end of file
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqCpxxService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqCpxxService.cs
index a06a7c9..8c00c70 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqCpxxService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqCpxxService.cs
@@ -28,7 +28,7 @@ namespace NCC.Extend.LqCpxx
///
/// 产品资料服务
///
- [ApiDescriptionSettings(Tag = "Extend",Name = "LqCpxx", Order = 200)]
+ [ApiDescriptionSettings(Tag = "Extend", Name = "LqCpxx", Order = 200)]
[Route("api/Extend/[controller]")]
public class LqCpxxService : ILqCpxxService, IDynamicApiController, ITransient
{
@@ -43,7 +43,7 @@ namespace NCC.Extend.LqCpxx
ISqlSugarRepository lqCpxxRepository,
IUserManager userManager)
{
- _lqCpxxRepository = lqCpxxRepository;
+ _lqCpxxRepository = lqCpxxRepository;
_db = _lqCpxxRepository.Context;
_userManager = userManager;
}
@@ -93,24 +93,24 @@ namespace NCC.Extend.LqCpxx
.WhereIF(queryHtqdksrq != null, p => p.Htqdksrq <= new DateTime(endHtqdksrq.ToDate().Year, endHtqdksrq.ToDate().Month, endHtqdksrq.ToDate().Day, 23, 59, 59))
.WhereIF(queryHtqdjsrq != null, p => p.Htqdjsrq >= new DateTime(startHtqdjsrq.ToDate().Year, startHtqdjsrq.ToDate().Month, startHtqdjsrq.ToDate().Day, 0, 0, 0))
.WhereIF(queryHtqdjsrq != null, p => p.Htqdjsrq <= new DateTime(endHtqdjsrq.ToDate().Year, endHtqdjsrq.ToDate().Month, endHtqdjsrq.ToDate().Day, 23, 59, 59))
- .Select(it=> new LqCpxxListOutput
+ .Select(it => new LqCpxxListOutput
{
id = it.Id,
- cpmc=it.Cpmc,
- bzj=it.Bzj,
- sjzt=it.Sjzt,
- syzt=it.Syzt,
- tjfl=it.Tjfl,
- gsck=it.Gsck,
- gsbm=it.Gsbm,
- bzdw=it.Bzdw,
- dwhs=it.Dwhs,
- zbq=it.Zbq,
- gysxx=it.Gysxx,
- htqdksrq=it.Htqdksrq,
- htqdjsrq=it.Htqdjsrq,
- }).MergeTable().OrderBy(sidx+" "+input.sort).ToPagedListAsync(input.currentPage, input.pageSize);
- return PageResult.SqlSugarPageResult(data);
+ cpmc = it.Cpmc,
+ bzj = it.Bzj,
+ sjzt = it.Sjzt,
+ syzt = it.Syzt,
+ tjfl = it.Tjfl,
+ gsck = it.Gsck,
+ gsbm = it.Gsbm,
+ bzdw = it.Bzdw,
+ dwhs = it.Dwhs,
+ zbq = it.Zbq,
+ gysxx = it.Gysxx,
+ htqdksrq = it.Htqdksrq,
+ htqdjsrq = it.Htqdjsrq,
+ }).MergeTable().OrderBy(sidx + " " + input.sort).ToPagedListAsync(input.currentPage, input.pageSize);
+ return PageResult.SqlSugarPageResult(data);
}
///
@@ -160,24 +160,24 @@ namespace NCC.Extend.LqCpxx
.WhereIF(queryHtqdksrq != null, p => p.Htqdksrq <= new DateTime(endHtqdksrq.ToDate().Year, endHtqdksrq.ToDate().Month, endHtqdksrq.ToDate().Day, 23, 59, 59))
.WhereIF(queryHtqdjsrq != null, p => p.Htqdjsrq >= new DateTime(startHtqdjsrq.ToDate().Year, startHtqdjsrq.ToDate().Month, startHtqdjsrq.ToDate().Day, 0, 0, 0))
.WhereIF(queryHtqdjsrq != null, p => p.Htqdjsrq <= new DateTime(endHtqdjsrq.ToDate().Year, endHtqdjsrq.ToDate().Month, endHtqdjsrq.ToDate().Day, 23, 59, 59))
- .Select(it=> new LqCpxxListOutput
+ .Select(it => new LqCpxxListOutput
{
id = it.Id,
- cpmc=it.Cpmc,
- bzj=it.Bzj,
- sjzt=it.Sjzt,
- syzt=it.Syzt,
- tjfl=it.Tjfl,
- gsck=it.Gsck,
- gsbm=it.Gsbm,
- bzdw=it.Bzdw,
- dwhs=it.Dwhs,
- zbq=it.Zbq,
- gysxx=it.Gysxx,
- htqdksrq=it.Htqdksrq,
- htqdjsrq=it.Htqdjsrq,
- }).MergeTable().OrderBy(sidx+" "+input.sort).ToListAsync();
- return data;
+ cpmc = it.Cpmc,
+ bzj = it.Bzj,
+ sjzt = it.Sjzt,
+ syzt = it.Syzt,
+ tjfl = it.Tjfl,
+ gsck = it.Gsck,
+ gsbm = it.Gsbm,
+ bzdw = it.Bzdw,
+ dwhs = it.Dwhs,
+ zbq = it.Zbq,
+ gysxx = it.Gysxx,
+ htqdksrq = it.Htqdksrq,
+ htqdjsrq = it.Htqdjsrq,
+ }).MergeTable().OrderBy(sidx + " " + input.sort).ToListAsync();
+ return data;
}
///
@@ -199,7 +199,7 @@ namespace NCC.Extend.LqCpxx
{
exportData = await this.GetNoPagingList(input);
}
- List paramList = "[{\"value\":\"产品编号\",\"field\":\"id\"},{\"value\":\"产品名称\",\"field\":\"cpmc\"},{\"value\":\"标准价\",\"field\":\"bzj\"},{\"value\":\"上架状态\",\"field\":\"sjzt\"},{\"value\":\"使用状态\",\"field\":\"syzt\"},{\"value\":\"统计分类\",\"field\":\"tjfl\"},{\"value\":\"归属仓库\",\"field\":\"gsck\"},{\"value\":\"归属部门\",\"field\":\"gsbm\"},{\"value\":\"标准单位\",\"field\":\"bzdw\"},{\"value\":\"单位换算\",\"field\":\"dwhs\"},{\"value\":\"质保期\",\"field\":\"zbq\"},{\"value\":\"供应商信息\",\"field\":\"gysxx\"},{\"value\":\"合同签订日期\",\"field\":\"htqdksrq\"},{\"value\":\"合同结束日期\",\"field\":\"htqdjsrq\"},]".ToList();
+ List paramList = "[{\"value\":\"产品编号\",\"field\":\"id\"},{\"value\":\"产品名称\",\"field\":\"cpmc\"},{\"value\":\"标准价\",\"field\":\"bzj\"},{\"value\":\"上架状态\",\"field\":\"sjzt\"},{\"value\":\"使用状态\",\"field\":\"syzt\"},{\"value\":\"统计分类\",\"field\":\"tjfl\"},{\"value\":\"归属仓库\",\"field\":\"gsck\"},{\"value\":\"归属部门\",\"field\":\"gsbm\"},{\"value\":\"标准单位\",\"field\":\"bzdw\"},{\"value\":\"单位换算\",\"field\":\"dwhs\"},{\"value\":\"质保期\",\"field\":\"zbq\"},{\"value\":\"供应商信息\",\"field\":\"gysxx\"},{\"value\":\"合同签订日期\",\"field\":\"htqdksrq\"},{\"value\":\"合同结束日期\",\"field\":\"htqdjsrq\"},]".ToList();
ExcelConfig excelconfig = new ExcelConfig();
excelconfig.FileName = "产品资料.xls";
excelconfig.HeadFont = "微软雅黑";
@@ -242,7 +242,7 @@ namespace NCC.Extend.LqCpxx
//开启事务
_db.BeginTran();
//批量删除产品资料
- await _db.Deleteable().In(d => d.Id,ids).ExecuteCommandAsync();
+ await _db.Deleteable().In(d => d.Id, ids).ExecuteCommandAsync();
//关闭事务
_db.CommitTran();
}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs
index 9ad8486..1730d5f 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs
@@ -1,40 +1,40 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using NCC.ClayObject;
+using NCC.Common.Configuration;
using NCC.Common.Core.Manager;
using NCC.Common.Enum;
using NCC.Common.Extension;
using NCC.Common.Filter;
+using NCC.Common.Helper;
+using NCC.Common.Model.NPOI;
+using NCC.DataEncryption;
using NCC.Dependency;
using NCC.DynamicApiController;
-using NCC.FriendlyException;
-using NCC.Extend.Interfaces.LqHytkHytk;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using NCC.Extend.Entitys.lq_hytk_hytk;
-using NCC.Extend.Entitys.lq_hytk_mx;
-using NCC.Extend.Entitys.lq_hytk_jksyj;
-using NCC.Extend.Entitys.lq_hytk_kjbsyj;
using NCC.Extend.Entitys.Dto.LqHytkHytk;
-using NCC.Extend.Entitys.Dto.LqHytkMx;
using NCC.Extend.Entitys.Dto.LqHytkJksyj;
using NCC.Extend.Entitys.Dto.LqHytkKjbsyj;
-using Yitter.IdGenerator;
-using NCC.Common.Helper;
+using NCC.Extend.Entitys.Dto.LqHytkMx;
+using NCC.Extend.Entitys.lq_hytk_hytk;
+using NCC.Extend.Entitys.lq_hytk_jksyj;
+using NCC.Extend.Entitys.lq_hytk_kjbsyj;
+using NCC.Extend.Entitys.lq_hytk_mx;
+using NCC.Extend.Interfaces.LqHytkHytk;
+using NCC.FriendlyException;
using NCC.JsonSerialization;
-using NCC.Common.Model.NPOI;
-using NCC.Common.Configuration;
-using NCC.DataEncryption;
-using NCC.ClayObject;
+using SqlSugar;
+using Yitter.IdGenerator;
namespace NCC.Extend.LqHytkHytk
{
///
/// 退卡_信息表服务
///
- [ApiDescriptionSettings(Tag = "绿纤退卡信息表服务",Name = "LqHytkHytk", Order = 200)]
+ [ApiDescriptionSettings(Tag = "绿纤退卡信息表服务", Name = "LqHytkHytk", Order = 200)]
[Route("api/Extend/[controller]")]
public class LqHytkHytkService : ILqHytkHytkService, IDynamicApiController, ITransient
{
@@ -53,9 +53,10 @@ namespace NCC.Extend.LqHytkHytk
ISqlSugarRepository lqHytkMxRepository,
ISqlSugarRepository lqHytkJksyjRepository,
ISqlSugarRepository lqHytkKjbsyjRepository,
- IUserManager userManager)
+ IUserManager userManager
+ )
{
- _lqHytkHytkRepository = lqHytkHytkRepository;
+ _lqHytkHytkRepository = lqHytkHytkRepository;
_lqHytkMxRepository = lqHytkMxRepository;
_lqHytkJksyjRepository = lqHytkJksyjRepository;
_lqHytkKjbsyjRepository = lqHytkKjbsyjRepository;
@@ -67,12 +68,13 @@ namespace NCC.Extend.LqHytkHytk
/// 获取退卡信息列表
///
/// 查询参数
- ///
+ ///
[HttpGet("")]
public async Task GetList([FromQuery] LqHytkHytkListQueryInput input)
{
var sidx = input.sidx == null ? "id" : input.sidx;
- List queryTksj = input.tksj != null ? input.tksj.Split(',').ToObeject>() : null;
+ List queryTksj =
+ input.tksj != null ? input.tksj.Split(',').ToObeject>() : null;
DateTime? startTksj = queryTksj != null ? Ext.GetDateTime(queryTksj.First()) : null;
DateTime? endTksj = queryTksj != null ? Ext.GetDateTime(queryTksj.Last()) : null;
var data = await _db.Queryable()
@@ -89,30 +91,60 @@ namespace NCC.Extend.LqHytkHytk
.WhereIF(!string.IsNullOrEmpty(input.bz), p => p.Bz.Contains(input.bz))
.WhereIF(!string.IsNullOrEmpty(input.tkzt), p => p.Tkzt.Contains(input.tkzt))
.WhereIF(!string.IsNullOrEmpty(input.tkyy), p => p.Tkyy.Contains(input.tkyy))
- .WhereIF(!string.IsNullOrEmpty(input.fileUrl), p => p.FileUrl.Contains(input.fileUrl))
- .WhereIF(queryTksj != null, p => p.Tksj >= new DateTime(startTksj.ToDate().Year, startTksj.ToDate().Month, startTksj.ToDate().Day, 0, 0, 0))
- .WhereIF(queryTksj != null, p => p.Tksj <= new DateTime(endTksj.ToDate().Year, endTksj.ToDate().Month, endTksj.ToDate().Day, 23, 59, 59))
+ .WhereIF(
+ !string.IsNullOrEmpty(input.fileUrl),
+ p => p.FileUrl.Contains(input.fileUrl)
+ )
+ .WhereIF(
+ queryTksj != null,
+ p =>
+ p.Tksj
+ >= new DateTime(
+ startTksj.ToDate().Year,
+ startTksj.ToDate().Month,
+ startTksj.ToDate().Day,
+ 0,
+ 0,
+ 0
+ )
+ )
+ .WhereIF(
+ queryTksj != null,
+ p =>
+ p.Tksj
+ <= new DateTime(
+ endTksj.ToDate().Year,
+ endTksj.ToDate().Month,
+ endTksj.ToDate().Day,
+ 23,
+ 59,
+ 59
+ )
+ )
.WhereIF(!string.IsNullOrEmpty(input.czry), p => p.Czry.Equals(input.czry))
- .Select(it=> new LqHytkHytkListOutput
+ .Select(it => new LqHytkHytkListOutput
{
id = it.Id,
- md=it.Md,
- mdbh=it.Mdbh,
- mdmc=it.Mdmc,
- hy=it.Hy,
- hymc=it.Hymc,
- hyzh=it.Hyzh,
- gklx=it.Gklx,
- tkje=it.Tkje,
- sgfy=it.Sgfy,
- bz=it.Bz,
- tkzt=it.Tkzt,
- tkyy=it.Tkyy,
- tksj=it.Tksj,
- czry=it.Czry,
- fileUrl=it.FileUrl,
- }).MergeTable().OrderBy(sidx+" "+input.sort).ToPagedListAsync(input.currentPage, input.pageSize);
- return PageResult.SqlSugarPageResult(data);
+ md = it.Md,
+ mdbh = it.Mdbh,
+ mdmc = it.Mdmc,
+ hy = it.Hy,
+ hymc = it.Hymc,
+ hyzh = it.Hyzh,
+ gklx = it.Gklx,
+ tkje = it.Tkje,
+ sgfy = it.Sgfy,
+ bz = it.Bz,
+ tkzt = it.Tkzt,
+ tkyy = it.Tkyy,
+ tksj = it.Tksj,
+ czry = it.Czry,
+ fileUrl = it.FileUrl,
+ })
+ .MergeTable()
+ .OrderBy(sidx + " " + input.sort)
+ .ToPagedListAsync(input.currentPage, input.pageSize);
+ return PageResult.SqlSugarPageResult(data);
}
///
@@ -120,7 +152,7 @@ namespace NCC.Extend.LqHytkHytk
///
///
/// 创建退卡记录及其关联的品项明细、健康师业绩、科技部老师业绩信息
- ///
+ ///
/// 示例请求:
/// ```json
/// {
@@ -172,7 +204,7 @@ namespace NCC.Extend.LqHytkHytk
/// ]
/// }
/// ```
- ///
+ ///
/// 参数说明:
/// - md: 门店ID
/// - hy: 会员ID
@@ -192,22 +224,24 @@ namespace NCC.Extend.LqHytkHytk
entity.F_CreateTime = DateTime.Now;
entity.F_CreateUser = userInfo.userId;
entity.F_DeleteMark = 0;
- entity.Tksj = DateTime.Now;
+ entity.Tksj = DateTime.Now;
entity.Czry = userInfo.userId;
-
+
try
{
// 开启事务
_db.BeginTran();
-
+
// 新增退卡主表记录
- var newEntity = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteReturnEntityAsync();
+ var newEntity = await _db.Insertable(entity)
+ .IgnoreColumns(ignoreNullColumn: true)
+ .ExecuteReturnEntityAsync();
// 收集所有需要插入的实体,然后批量插入
var allMxEntities = new List();
var allJksyjEntities = new List();
var allKjbsyjEntities = new List();
-
+
// 处理品项明细列表
if (input.lqHytkMxList != null && input.lqHytkMxList.Any())
{
@@ -228,79 +262,84 @@ namespace NCC.Extend.LqHytkHytk
F_ProjectNumber = item.F_ProjectNumber ?? 1,
F_IsEnabled = item.F_IsEnabled ?? 1,
F_SourceType = item.F_SourceType,
- F_TotalPrice = item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)),
+ F_TotalPrice =
+ item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)),
};
allMxEntities.Add(lqHytkMxEntity);
-
+
// 收集该品项关联的健康师业绩
if (item.lqHytkJksyjList != null && item.lqHytkJksyjList.Any())
{
foreach (var ijks_tem in item.lqHytkJksyjList)
{
- allJksyjEntities.Add(new LqHytkJksyjEntity
- {
- Id = YitIdHelper.NextId().ToString(),
- Gltkbh = newEntity.Id,
- Jks = ijks_tem.jks,
- Jksxm = ijks_tem.jksxm,
- Jkszh = ijks_tem.jkszh,
- Jksyj = ijks_tem.jksyj,
- Tksj = DateTime.Now,
- F_jsjid = ijks_tem.F_jsjid,
- F_tkpxid = ijks_tem.F_tkpxid,
- F_LaborCost = ijks_tem.F_LaborCost,
- F_tkpxNumber = ijks_tem.F_tkpxNumber,
- F_CreateTime = DateTime.Now,
- F_CreateUser = userInfo.userId,
- F_DeleteMark = 0,
- });
+ allJksyjEntities.Add(
+ new LqHytkJksyjEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ Gltkbh = newEntity.Id,
+ Jks = ijks_tem.jks,
+ Jksxm = ijks_tem.jksxm,
+ Jkszh = ijks_tem.jkszh,
+ Jksyj = ijks_tem.jksyj,
+ Tksj = DateTime.Now,
+ F_jsjid = ijks_tem.F_jsjid,
+ F_tkpxid = ijks_tem.F_tkpxid,
+ F_LaborCost = ijks_tem.F_LaborCost,
+ F_tkpxNumber = ijks_tem.F_tkpxNumber,
+ F_CreateTime = DateTime.Now,
+ F_CreateUser = userInfo.userId,
+ F_DeleteMark = 0,
+ }
+ );
}
}
-
+
// 收集该品项关联的科技部老师业绩
if (item.lqHytkKjbsyjList != null && item.lqHytkKjbsyjList.Any())
{
foreach (var ikjbs_tem in item.lqHytkKjbsyjList)
{
- allKjbsyjEntities.Add(new LqHytkKjbsyjEntity
- {
- Id = YitIdHelper.NextId().ToString(),
- Gltkbh = newEntity.Id,
- Kjbls = ikjbs_tem.kjbls,
- Kjblsxm = ikjbs_tem.kjblsxm,
- Kjblszh = ikjbs_tem.kjblszh,
- Kjblsyj = ikjbs_tem.kjblsyj,
- Tksj = DateTime.Now,
- F_tkpxid = ikjbs_tem.F_tkpxid,
- F_LaborCost = ikjbs_tem.F_LaborCost,
- F_tkpxNumber = ikjbs_tem.F_tkpxNumber,
- F_CreateTime = DateTime.Now,
- F_CreateUser = userInfo.userId,
- F_DeleteMark = 0,
- });
+ allKjbsyjEntities.Add(
+ new LqHytkKjbsyjEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ Gltkbh = newEntity.Id,
+ Kjbls = ikjbs_tem.kjbls,
+ Kjblsxm = ikjbs_tem.kjblsxm,
+ Kjblszh = ikjbs_tem.kjblszh,
+ Kjblsyj = ikjbs_tem.kjblsyj,
+ Tksj = DateTime.Now,
+ F_tkpxid = ikjbs_tem.F_tkpxid,
+ F_LaborCost = ikjbs_tem.F_LaborCost,
+ F_tkpxNumber = ikjbs_tem.F_tkpxNumber,
+ F_CreateTime = DateTime.Now,
+ F_CreateUser = userInfo.userId,
+ F_DeleteMark = 0,
+ }
+ );
}
}
}
}
-
+
// 批量插入品项明细
if (allMxEntities.Any())
{
await _db.Insertable(allMxEntities).ExecuteCommandAsync();
}
-
+
// 批量插入健康师业绩
if (allJksyjEntities.Any())
{
await _db.Insertable(allJksyjEntities).ExecuteCommandAsync();
}
-
+
// 批量插入科技部老师业绩
if (allKjbsyjEntities.Any())
{
await _db.Insertable(allKjbsyjEntities).ExecuteCommandAsync();
}
-
+
// 关闭事务
_db.CommitTran();
}
@@ -332,25 +371,31 @@ namespace NCC.Extend.LqHytkHytk
entity.Id = id;
entity.F_ModifyTime = DateTime.Now;
entity.F_ModifyUser = userInfo.userId;
-
+
try
{
// 开启事务
_db.BeginTran();
-
+
// 更新退卡主表记录
await _db.Updateable(entity).IgnoreColumns(true).ExecuteCommandAsync();
-
+
// 删除原有的关联数据
- await _db.Deleteable().Where(x => x.Gltkbh == id).ExecuteCommandAsync();
- await _db.Deleteable().Where(x => x.Gltkbh == id).ExecuteCommandAsync();
- await _db.Deleteable().Where(x => x.Gltkbh == id).ExecuteCommandAsync();
-
+ await _db.Deleteable()
+ .Where(x => x.Gltkbh == id)
+ .ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(x => x.Gltkbh == id)
+ .ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(x => x.Gltkbh == id)
+ .ExecuteCommandAsync();
+
// 收集所有需要插入的实体,然后批量插入
var allMxEntities = new List();
var allJksyjEntities = new List();
var allKjbsyjEntities = new List();
-
+
// 处理品项明细列表
if (input.lqHytkMxList != null && input.lqHytkMxList.Any())
{
@@ -371,79 +416,82 @@ namespace NCC.Extend.LqHytkHytk
F_ProjectNumber = item.F_ProjectNumber ?? 1,
F_IsEnabled = item.F_IsEnabled ?? 1,
F_SourceType = item.F_SourceType,
- F_TotalPrice = item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)),
+ F_TotalPrice =
+ item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)),
};
allMxEntities.Add(lqHytkMxEntity);
-
+
// 收集该品项关联的健康师业绩
if (item.lqHytkJksyjList != null && item.lqHytkJksyjList.Any())
{
foreach (var ijks_tem in item.lqHytkJksyjList)
{
- allJksyjEntities.Add(new LqHytkJksyjEntity
- {
- Id = YitIdHelper.NextId().ToString(),
- Gltkbh = id,
- Jks = ijks_tem.jks,
- Jksxm = ijks_tem.jksxm,
- Jkszh = ijks_tem.jkszh,
- Jksyj = ijks_tem.jksyj,
- Tksj = DateTime.Now,
- F_jsjid = ijks_tem.F_jsjid,
- F_tkpxid = ijks_tem.F_tkpxid,
- F_LaborCost = ijks_tem.F_LaborCost,
- F_tkpxNumber = ijks_tem.F_tkpxNumber,
- F_CreateTime = DateTime.Now,
- F_CreateUser = userInfo.userId,
- F_DeleteMark = 0,
- });
+ allJksyjEntities.Add(
+ new LqHytkJksyjEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ Gltkbh = id,
+ Jks = ijks_tem.jks,
+ Jksxm = ijks_tem.jksxm,
+ Jkszh = ijks_tem.jkszh,
+ Jksyj = ijks_tem.jksyj,
+ Tksj = DateTime.Now,
+ F_jsjid = ijks_tem.F_jsjid,
+ F_tkpxid = ijks_tem.F_tkpxid,
+ F_LaborCost = ijks_tem.F_LaborCost,
+ F_tkpxNumber = ijks_tem.F_tkpxNumber,
+ F_CreateTime = DateTime.Now,
+ F_CreateUser = userInfo.userId,
+ F_DeleteMark = 0,
+ }
+ );
}
}
-
+
// 收集该品项关联的科技部老师业绩
if (item.lqHytkKjbsyjList != null && item.lqHytkKjbsyjList.Any())
{
foreach (var ikjbs_tem in item.lqHytkKjbsyjList)
{
- allKjbsyjEntities.Add(new LqHytkKjbsyjEntity
- {
- Id = YitIdHelper.NextId().ToString(),
- Gltkbh = id,
- Kjbls = ikjbs_tem.kjbls,
- Kjblsxm = ikjbs_tem.kjblsxm,
- Kjblszh = ikjbs_tem.kjblszh,
- Kjblsyj = ikjbs_tem.kjblsyj,
- Tksj = DateTime.Now,
- F_tkpxid = ikjbs_tem.F_tkpxid,
- F_LaborCost = ikjbs_tem.F_LaborCost,
- F_tkpxNumber = ikjbs_tem.F_tkpxNumber,
- F_CreateTime = DateTime.Now,
- F_CreateUser = userInfo.userId,
- F_DeleteMark = 0,
- });
+ allKjbsyjEntities.Add(
+ new LqHytkKjbsyjEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ Gltkbh = id,
+ Kjbls = ikjbs_tem.kjbls,
+ Kjblsxm = ikjbs_tem.kjblsxm,
+ Kjblszh = ikjbs_tem.kjblszh,
+ Kjblsyj = ikjbs_tem.kjblsyj,
+ Tksj = DateTime.Now,
+ F_tkpxid = ikjbs_tem.F_tkpxid,
+ F_LaborCost = ikjbs_tem.F_LaborCost,
+ F_tkpxNumber = ikjbs_tem.F_tkpxNumber,
+ F_CreateTime = DateTime.Now,
+ F_CreateUser = userInfo.userId,
+ F_DeleteMark = 0,
+ }
+ );
}
}
}
}
-
+
// 批量插入品项明细
if (allMxEntities.Any())
{
await _db.Insertable(allMxEntities).ExecuteCommandAsync();
}
-
+
// 批量插入健康师业绩
if (allJksyjEntities.Any())
{
await _db.Insertable(allJksyjEntities).ExecuteCommandAsync();
}
-
// 批量插入科技部老师业绩
if (allKjbsyjEntities.Any())
{
await _db.Insertable(allKjbsyjEntities).ExecuteCommandAsync();
}
-
// 关闭事务
_db.CommitTran();
}
@@ -476,7 +524,7 @@ namespace NCC.Extend.LqHytkHytk
///
/// 获取退卡记录及其关联的品项明细、健康师业绩、科技部老师业绩信息
/// 按照退卡的完整格式返回数据,不包含汇总信息
- ///
+ ///
/// 返回数据结构:
/// - 主表信息:退卡基础信息、门店信息、会员信息、退卡金额等
/// - 品项明细列表:每个品项包含完整的项目信息(项目次数、是否有效、来源类型等)
@@ -532,7 +580,7 @@ namespace NCC.Extend.LqHytkHytk
F_ProjectNumber = mx.F_ProjectNumber,
F_IsEnabled = mx.F_IsEnabled,
F_SourceType = mx.F_SourceType,
- F_TotalPrice = mx.F_TotalPrice
+ F_TotalPrice = mx.F_TotalPrice,
};
// 关联该品项的健康师业绩
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqJlmxbService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqJlmxbService.cs
index 7ee78cb..e880a16 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqJlmxbService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqJlmxbService.cs
@@ -165,7 +165,7 @@ namespace NCC.Extend.LqJlmxb
db=it.Db,
cs=it.Cs,
jb=it.Jb,
- hj=it.Hj,
+ hj = it.Hj,
kcmx=it.Kcmx,
bhjb=it.Bhjb,
}).MergeTable().OrderBy(sidx+" "+input.sort).ToListAsync();
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
index 7585b15..d541651 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
@@ -1,35 +1,35 @@
-using NCC.Common.Core.Manager;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.Http;
+using System.Threading.Tasks;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using NCC.ClayObject;
+using NCC.Common.Configuration;
+using NCC.Common.Core.Manager;
using NCC.Common.Enum;
using NCC.Common.Extension;
using NCC.Common.Filter;
+using NCC.Common.Helper;
+using NCC.Common.Model.NPOI;
+using NCC.DataEncryption;
using NCC.Dependency;
using NCC.DynamicApiController;
-using NCC.FriendlyException;
-using NCC.Extend.Interfaces.LqKdKdjlb;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
-using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using NCC.Extend.Entitys.lq_kd_kdjlb;
+using NCC.Extend.Entitys.Dto.LqKdKdjlb;
+using NCC.Extend.Entitys.lq_jinsanjiao_user;
using NCC.Extend.Entitys.lq_kd_jksyj;
+using NCC.Extend.Entitys.lq_kd_kdjlb;
using NCC.Extend.Entitys.lq_kd_kjbsyj;
using NCC.Extend.Entitys.lq_kd_pxmx;
-using NCC.Extend.Entitys.Dto.LqKdKdjlb;
-using Yitter.IdGenerator;
-using NCC.Common.Helper;
-using NCC.JsonSerialization;
-using NCC.Common.Model.NPOI;
-using NCC.Common.Configuration;
-using NCC.DataEncryption;
-using NCC.ClayObject;
+using NCC.Extend.Entitys.lq_xmzl;
+using NCC.Extend.Interfaces.LqKdKdjlb;
using NCC.Extend.Utils;
-using System.Net.Http;
-using NCC.Extend.Entitys.lq_jinsanjiao_user;
+using NCC.FriendlyException;
+using NCC.JsonSerialization;
using NCC.System.Entitys.Permission;
-using NCC.Extend.Entitys.lq_xmzl;
+using SqlSugar;
+using Yitter.IdGenerator;
namespace NCC.Extend.LqKdKdjlb
{
@@ -59,7 +59,8 @@ namespace NCC.Extend.LqKdKdjlb
ISqlSugarRepository lqKdPxmxRepository,
IUserManager userManager,
WeChatBotService weChatBotService,
- LqKdKdjlbStringGenerator stringGenerator)
+ LqKdKdjlbStringGenerator stringGenerator
+ )
{
_lqKdKdjlbRepository = lqKdKdjlbRepository;
_db = _lqKdKdjlbRepository.Context;
@@ -70,6 +71,7 @@ namespace NCC.Extend.LqKdKdjlb
_weChatBotService = weChatBotService;
_stringGenerator = stringGenerator;
}
+
#region 获取开单记录表
///
/// 获取开单记录表
@@ -77,7 +79,7 @@ namespace NCC.Extend.LqKdKdjlb
///
/// 获取开单记录及其关联的品项明细、健康师业绩、科技部老师业绩信息
/// 按照开单的完整格式返回数据,不包含汇总信息
- ///
+ ///
/// 返回数据结构:
/// - 主表信息:开单基础信息、业绩信息、支付信息、会员信息等
/// - 品项明细列表:每个品项包含完整的项目信息(项目次数、是否有效、来源类型等)
@@ -134,7 +136,7 @@ namespace NCC.Extend.LqKdKdjlb
sourceType = pxmx.SourceType,
memberId = pxmx.MemberId,
createTime = pxmx.CreateTIme,
- totalPrice = pxmx.TotalPrice
+ totalPrice = pxmx.TotalPrice,
};
// 关联该品项的健康师业绩
@@ -166,24 +168,50 @@ namespace NCC.Extend.LqKdKdjlb
#endregion
#region 获取开单记录表列表
+
///
- /// 获取开单记录表列表
- ///
- /// 请求参数
- ///
+ /// 获取开单记录表列表
+ ///
+ /// 请求参数
+ ///
[HttpGet("")]
public async Task GetList([FromQuery] LqKdKdjlbListQueryInput input)
{
var sidx = input.sidx == null ? "id" : input.sidx;
- List queryKdrq = input.kdrq != null ? input.kdrq.Split(',').ToObeject>() : null;
+ List queryKdrq =
+ input.kdrq != null ? input.kdrq.Split(',').ToObeject>() : null;
DateTime? startKdrq = queryKdrq != null ? Ext.GetDateTime(queryKdrq.First()) : null;
DateTime? endKdrq = queryKdrq != null ? Ext.GetDateTime(queryKdrq.Last()) : null;
var data = await _db.Queryable()
.WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id))
.WhereIF(!string.IsNullOrEmpty(input.djmd), p => p.Djmd.Equals(input.djmd))
.WhereIF(!string.IsNullOrEmpty(input.jsj), p => p.Jsj.Equals(input.jsj))
- .WhereIF(queryKdrq != null, p => p.Kdrq >= new DateTime(startKdrq.ToDate().Year, startKdrq.ToDate().Month, startKdrq.ToDate().Day, 0, 0, 0))
- .WhereIF(queryKdrq != null, p => p.Kdrq <= new DateTime(endKdrq.ToDate().Year, endKdrq.ToDate().Month, endKdrq.ToDate().Day, 23, 59, 59))
+ .WhereIF(
+ queryKdrq != null,
+ p =>
+ p.Kdrq
+ >= new DateTime(
+ startKdrq.ToDate().Year,
+ startKdrq.ToDate().Month,
+ startKdrq.ToDate().Day,
+ 0,
+ 0,
+ 0
+ )
+ )
+ .WhereIF(
+ queryKdrq != null,
+ p =>
+ p.Kdrq
+ <= new DateTime(
+ endKdrq.ToDate().Year,
+ endKdrq.ToDate().Month,
+ endKdrq.ToDate().Day,
+ 23,
+ 59,
+ 59
+ )
+ )
.WhereIF(!string.IsNullOrEmpty(input.gjlx), p => p.Gjlx.Equals(input.gjlx))
.WhereIF(!string.IsNullOrEmpty(input.hgjg), p => p.Hgjg.Equals(input.hgjg))
.WhereIF(!string.IsNullOrEmpty(input.zdyj), p => p.Zdyj.Equals(input.zdyj))
@@ -201,11 +229,20 @@ namespace NCC.Extend.LqKdKdjlb
.WhereIF(!string.IsNullOrEmpty(input.bz), p => p.Bz.Contains(input.bz))
.WhereIF(!string.IsNullOrEmpty(input.kdhy), p => p.Kdhy.Equals(input.kdhy))
.WhereIF(!string.IsNullOrEmpty(input.kdhyc), p => p.Kdhyc.Contains(input.kdhyc))
- .WhereIF(!string.IsNullOrEmpty(input.kdhysjh), p => p.Kdhysjh.Contains(input.kdhysjh))
+ .WhereIF(
+ !string.IsNullOrEmpty(input.kdhysjh),
+ p => p.Kdhysjh.Contains(input.kdhysjh)
+ )
.WhereIF(!string.IsNullOrEmpty(input.jksyj), p => p.Jksyj.Contains(input.jksyj))
- .WhereIF(!string.IsNullOrEmpty(input.kjblsyj), p => p.Kjblsyj.Contains(input.kjblsyj))
+ .WhereIF(
+ !string.IsNullOrEmpty(input.kjblsyj),
+ p => p.Kjblsyj.Contains(input.kjblsyj)
+ )
.WhereIF(!string.IsNullOrEmpty(input.pxxx), p => p.Pxxx.Contains(input.pxxx))
- .WhereIF(!string.IsNullOrEmpty(input.F_FIleUrl), p => p.F_FIleUrl.Contains(input.F_FIleUrl))
+ .WhereIF(
+ !string.IsNullOrEmpty(input.F_FIleUrl),
+ p => p.F_FIleUrl.Contains(input.F_FIleUrl)
+ )
.Select(it => new LqKdKdjlbListOutput
{
id = it.Id,
@@ -234,7 +271,10 @@ namespace NCC.Extend.LqKdKdjlb
kjblsyj = it.Kjblsyj,
pxxx = it.Pxxx,
F_FIleUrl = it.F_FIleUrl,
- }).MergeTable().OrderBy(sidx + " " + input.sort).ToPagedListAsync(input.currentPage, input.pageSize);
+ })
+ .MergeTable()
+ .OrderBy(sidx + " " + input.sort)
+ .ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult.SqlSugarPageResult(data);
}
#endregion
@@ -257,7 +297,9 @@ namespace NCC.Extend.LqKdKdjlb
_db.BeginTran();
//新增开单记录表记录
entity.CreateUser = userInfo.userId;
- var newEntity = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteReturnEntityAsync();
+ var newEntity = await _db.Insertable(entity)
+ .IgnoreColumns(ignoreNullColumn: true)
+ .ExecuteReturnEntityAsync();
//循环品相信息
// 收集所有需要插入的实体,然后批量插入
var allPxmxEntities = new List();
@@ -283,43 +325,47 @@ namespace NCC.Extend.LqKdKdjlb
SourceType = item.sourceType,
};
allPxmxEntities.Add(lqKdPxmxEntity);
-
+
// 收集该品项关联的健康师业绩
if (item.lqKdJksyjList != null && item.lqKdJksyjList.Any())
{
foreach (var ijks_tem in item.lqKdJksyjList)
{
- allJksyjEntities.Add(new LqKdJksyjEntity
- {
- Id = YitIdHelper.NextId().ToString(),
- Glkdbh = newEntity.Id,
- Jks = ijks_tem.jks,
- Jksxm = ijks_tem.jksxm,
- Jkszh = ijks_tem.jkszh,
- Jksyj = ijks_tem.jksyj,
- Yjsj = DateTime.Now,
- Jsj_id = ijks_tem.jsj_id,
- Kdpxid = lqKdPxmxEntity.Id,
- });
+ allJksyjEntities.Add(
+ new LqKdJksyjEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ Glkdbh = newEntity.Id,
+ Jks = ijks_tem.jks,
+ Jksxm = ijks_tem.jksxm,
+ Jkszh = ijks_tem.jkszh,
+ Jksyj = ijks_tem.jksyj,
+ Yjsj = DateTime.Now,
+ Jsj_id = ijks_tem.jsj_id,
+ Kdpxid = lqKdPxmxEntity.Id,
+ }
+ );
}
}
-
+
// 收集该品项关联的科技部老师业绩
if (item.lqKdKjbsyjList != null && item.lqKdKjbsyjList.Any())
{
foreach (var ikjbs_tem in item.lqKdKjbsyjList)
{
- allKjbsyjEntities.Add(new LqKdKjbsyjEntity
- {
- Id = YitIdHelper.NextId().ToString(),
- Glkdbh = newEntity.Id,
- Kjbls = ikjbs_tem.kjbls,
- Kjblsxm = ikjbs_tem.kjblsxm,
- Kjblszh = ikjbs_tem.kjblszh,
- Kjblsyj = ikjbs_tem.kjblsyj,
- Yjsj = DateTime.Now,
- Kdpxid = lqKdPxmxEntity.Id,
- });
+ allKjbsyjEntities.Add(
+ new LqKdKjbsyjEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ Glkdbh = newEntity.Id,
+ Kjbls = ikjbs_tem.kjbls,
+ Kjblsxm = ikjbs_tem.kjblsxm,
+ Kjblszh = ikjbs_tem.kjblszh,
+ Kjblsyj = ikjbs_tem.kjblsyj,
+ Yjsj = DateTime.Now,
+ Kdpxid = lqKdPxmxEntity.Id,
+ }
+ );
}
}
}
@@ -348,14 +394,18 @@ namespace NCC.Extend.LqKdKdjlb
var entityInfo = await GetInfo(newEntity.Id);
if (entityInfo != null)
{
- var orderRecordString = _stringGenerator.GenerateOrderRecordString(entityInfo);
+ var orderRecordString = _stringGenerator.GenerateOrderRecordString(
+ entityInfo
+ );
Console.WriteLine("开单记录字符串生成成功:");
Console.WriteLine(orderRecordString);
// 发送到企业微信群
try
{
- var sendResult = await _weChatBotService.SendOrderRecordMessage(orderRecordString);
+ var sendResult = await _weChatBotService.SendOrderRecordMessage(
+ orderRecordString
+ );
if (sendResult)
{
Console.WriteLine("开单记录已成功发送到企业微信群");
@@ -390,23 +440,48 @@ namespace NCC.Extend.LqKdKdjlb
#region 获取开单记录表无分页列表
///
- /// 获取开单记录表无分页列表
- ///
- /// 请求参数
- ///
+ /// 获取开单记录表无分页列表
+ ///
+ /// 请求参数
+ ///
[NonAction]
public async Task GetNoPagingList([FromQuery] LqKdKdjlbListQueryInput input)
{
var sidx = input.sidx == null ? "id" : input.sidx;
- List queryKdrq = input.kdrq != null ? input.kdrq.Split(',').ToObeject>() : null;
+ List queryKdrq =
+ input.kdrq != null ? input.kdrq.Split(',').ToObeject>() : null;
DateTime? startKdrq = queryKdrq != null ? Ext.GetDateTime(queryKdrq.First()) : null;
DateTime? endKdrq = queryKdrq != null ? Ext.GetDateTime(queryKdrq.Last()) : null;
var data = await _db.Queryable()
.WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id))
.WhereIF(!string.IsNullOrEmpty(input.djmd), p => p.Djmd.Equals(input.djmd))
.WhereIF(!string.IsNullOrEmpty(input.jsj), p => p.Jsj.Equals(input.jsj))
- .WhereIF(queryKdrq != null, p => p.Kdrq >= new DateTime(startKdrq.ToDate().Year, startKdrq.ToDate().Month, startKdrq.ToDate().Day, 0, 0, 0))
- .WhereIF(queryKdrq != null, p => p.Kdrq <= new DateTime(endKdrq.ToDate().Year, endKdrq.ToDate().Month, endKdrq.ToDate().Day, 23, 59, 59))
+ .WhereIF(
+ queryKdrq != null,
+ p =>
+ p.Kdrq
+ >= new DateTime(
+ startKdrq.ToDate().Year,
+ startKdrq.ToDate().Month,
+ startKdrq.ToDate().Day,
+ 0,
+ 0,
+ 0
+ )
+ )
+ .WhereIF(
+ queryKdrq != null,
+ p =>
+ p.Kdrq
+ <= new DateTime(
+ endKdrq.ToDate().Year,
+ endKdrq.ToDate().Month,
+ endKdrq.ToDate().Day,
+ 23,
+ 59,
+ 59
+ )
+ )
.WhereIF(!string.IsNullOrEmpty(input.gjlx), p => p.Gjlx.Equals(input.gjlx))
.WhereIF(!string.IsNullOrEmpty(input.hgjg), p => p.Hgjg.Equals(input.hgjg))
.WhereIF(!string.IsNullOrEmpty(input.zdyj), p => p.Zdyj.Equals(input.zdyj))
@@ -424,11 +499,20 @@ namespace NCC.Extend.LqKdKdjlb
.WhereIF(!string.IsNullOrEmpty(input.bz), p => p.Bz.Contains(input.bz))
.WhereIF(!string.IsNullOrEmpty(input.kdhy), p => p.Kdhy.Equals(input.kdhy))
.WhereIF(!string.IsNullOrEmpty(input.kdhyc), p => p.Kdhyc.Contains(input.kdhyc))
- .WhereIF(!string.IsNullOrEmpty(input.kdhysjh), p => p.Kdhysjh.Contains(input.kdhysjh))
+ .WhereIF(
+ !string.IsNullOrEmpty(input.kdhysjh),
+ p => p.Kdhysjh.Contains(input.kdhysjh)
+ )
.WhereIF(!string.IsNullOrEmpty(input.jksyj), p => p.Jksyj.Contains(input.jksyj))
- .WhereIF(!string.IsNullOrEmpty(input.kjblsyj), p => p.Kjblsyj.Contains(input.kjblsyj))
+ .WhereIF(
+ !string.IsNullOrEmpty(input.kjblsyj),
+ p => p.Kjblsyj.Contains(input.kjblsyj)
+ )
.WhereIF(!string.IsNullOrEmpty(input.pxxx), p => p.Pxxx.Contains(input.pxxx))
- .WhereIF(!string.IsNullOrEmpty(input.F_FIleUrl), p => p.F_FIleUrl.Contains(input.F_FIleUrl))
+ .WhereIF(
+ !string.IsNullOrEmpty(input.F_FIleUrl),
+ p => p.F_FIleUrl.Contains(input.F_FIleUrl)
+ )
.Select(it => new LqKdKdjlbListOutput
{
id = it.Id,
@@ -457,17 +541,20 @@ namespace NCC.Extend.LqKdKdjlb
kjblsyj = it.Kjblsyj,
pxxx = it.Pxxx,
F_FIleUrl = it.F_FIleUrl,
- }).MergeTable().OrderBy(sidx + " " + input.sort).ToListAsync();
+ })
+ .MergeTable()
+ .OrderBy(sidx + " " + input.sort)
+ .ToListAsync();
return data;
}
#endregion
#region 导出开单记录表
///
- /// 导出开单记录表
- ///
- /// 请求参数
- ///
+ /// 导出开单记录表
+ ///
+ /// 请求参数
+ ///
[HttpGet("Actions/Export")]
public async Task Export([FromQuery] LqKdKdjlbListQueryInput input)
{
@@ -482,7 +569,8 @@ namespace NCC.Extend.LqKdKdjlb
{
exportData = await this.GetNoPagingList(input);
}
- List paramList = "[{\"value\":\"开单编号\",\"field\":\"id\"},{\"value\":\"开单会员\",\"field\":\"kdhy\"},{\"value\":\"开单会员名称\",\"field\":\"kdhyc\"},{\"value\":\"会员手机号\",\"field\":\"kdhysjh\"},{\"value\":\"单据门店\",\"field\":\"djmd\"},{\"value\":\"金三角\",\"field\":\"jsj\"},{\"value\":\"开单日期\",\"field\":\"kdrq\"},{\"value\":\"顾客类型\",\"field\":\"gjlx\"},{\"value\":\"合作机构\",\"field\":\"hgjg\"},{\"value\":\"整单业绩\",\"field\":\"zdyj\"},{\"value\":\"实付业绩\",\"field\":\"sfyj\"},{\"value\":\"欠款\",\"field\":\"qk\"},{\"value\":\"储扣方式\",\"field\":\"ckfs\"},{\"value\":\"储扣明细\",\"field\":\"ckmx\"},{\"value\":\"付款方式\",\"field\":\"fkfs\"},{\"value\":\"付款医院\",\"field\":\"fkyy\"},{\"value\":\"付款判断\",\"field\":\"fkpd\"},{\"value\":\"客户来源\",\"field\":\"khly\"},{\"value\":\"推荐人\",\"field\":\"tjr\"},{\"value\":\"是否首开订单\",\"field\":\"sfskdd\"},{\"value\":\"简介\",\"field\":\"jj\"},{\"value\":\"备注\",\"field\":\"bz\"},{\"value\":\"健康师业绩\",\"field\":\"jksyj\"},{\"value\":\"科技部老师业绩\",\"field\":\"kjblsyj\"},{\"value\":\"品项信息\",\"field\":\"pxxx\"},{\"value\":\"方案其他\",\"field\":\"F_FIleUrl\"},]".ToList();
+ List paramList =
+ "[{\"value\":\"开单编号\",\"field\":\"id\"},{\"value\":\"开单会员\",\"field\":\"kdhy\"},{\"value\":\"开单会员名称\",\"field\":\"kdhyc\"},{\"value\":\"会员手机号\",\"field\":\"kdhysjh\"},{\"value\":\"单据门店\",\"field\":\"djmd\"},{\"value\":\"金三角\",\"field\":\"jsj\"},{\"value\":\"开单日期\",\"field\":\"kdrq\"},{\"value\":\"顾客类型\",\"field\":\"gjlx\"},{\"value\":\"合作机构\",\"field\":\"hgjg\"},{\"value\":\"整单业绩\",\"field\":\"zdyj\"},{\"value\":\"实付业绩\",\"field\":\"sfyj\"},{\"value\":\"欠款\",\"field\":\"qk\"},{\"value\":\"储扣方式\",\"field\":\"ckfs\"},{\"value\":\"储扣明细\",\"field\":\"ckmx\"},{\"value\":\"付款方式\",\"field\":\"fkfs\"},{\"value\":\"付款医院\",\"field\":\"fkyy\"},{\"value\":\"付款判断\",\"field\":\"fkpd\"},{\"value\":\"客户来源\",\"field\":\"khly\"},{\"value\":\"推荐人\",\"field\":\"tjr\"},{\"value\":\"是否首开订单\",\"field\":\"sfskdd\"},{\"value\":\"简介\",\"field\":\"jj\"},{\"value\":\"备注\",\"field\":\"bz\"},{\"value\":\"健康师业绩\",\"field\":\"jksyj\"},{\"value\":\"科技部老师业绩\",\"field\":\"kjblsyj\"},{\"value\":\"品项信息\",\"field\":\"pxxx\"},{\"value\":\"方案其他\",\"field\":\"F_FIleUrl\"},]".ToList();
ExcelConfig excelconfig = new ExcelConfig();
excelconfig.FileName = "开单记录表.xls";
excelconfig.HeadFont = "微软雅黑";
@@ -495,7 +583,13 @@ namespace NCC.Extend.LqKdKdjlb
var isExist = paramList.Find(p => p.field == item);
if (isExist != null)
{
- excelconfig.ColumnModel.Add(new ExcelColumnModel() { Column = isExist.field, ExcelColumn = isExist.value });
+ excelconfig.ColumnModel.Add(
+ new ExcelColumnModel()
+ {
+ Column = isExist.field,
+ ExcelColumn = isExist.value,
+ }
+ );
}
}
var addPath = FileVariable.TemporaryFilePath + excelconfig.FileName;
@@ -504,7 +598,7 @@ namespace NCC.Extend.LqKdKdjlb
var output = new
{
name = excelconfig.FileName,
- url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC")
+ url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC"),
};
return output;
}
@@ -527,16 +621,24 @@ namespace NCC.Extend.LqKdKdjlb
//开启事务
_db.BeginTran();
//批量删除开单记录表
- await _db.Deleteable().In(d => d.Id, ids).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .In(d => d.Id, ids)
+ .ExecuteCommandAsync();
//清空子表数据
- await _db.Deleteable().In(u => u.Glkdbh, ids).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .In(u => u.Glkdbh, ids)
+ .ExecuteCommandAsync();
//清空子表数据
- await _db.Deleteable().In(u => u.Glkdbh, ids).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .In(u => u.Glkdbh, ids)
+ .ExecuteCommandAsync();
//清空子表数据
- await _db.Deleteable().In(u => u.Glkdbh, ids).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .In(u => u.Glkdbh, ids)
+ .ExecuteCommandAsync();
//关闭事务
_db.CommitTran();
}
@@ -556,7 +658,7 @@ namespace NCC.Extend.LqKdKdjlb
///
///
/// 更新开单记录及其关联的品项明细、健康师业绩、科技部老师业绩信息
- ///
+ ///
/// 示例请求:
/// ```json
/// {
@@ -582,7 +684,7 @@ namespace NCC.Extend.LqKdKdjlb
/// ]
/// }
/// ```
- ///
+ ///
/// 参数说明:
/// - id: 开单记录主键ID
/// - input: 开单记录更新参数,包含品项明细和业绩信息
@@ -603,12 +705,20 @@ namespace NCC.Extend.LqKdKdjlb
_db.BeginTran();
//更新开单记录表记录
- await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+ await _db.Updateable(entity)
+ .IgnoreColumns(ignoreAllNullColumns: true)
+ .ExecuteCommandAsync();
//清空原有数据
- await _db.Deleteable().Where(u => u.Glkdbh == id).ExecuteCommandAsync();
- await _db.Deleteable().Where(u => u.Glkdbh == id).ExecuteCommandAsync();
- await _db.Deleteable().Where(u => u.Glkdbh == id).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(u => u.Glkdbh == id)
+ .ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(u => u.Glkdbh == id)
+ .ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(u => u.Glkdbh == id)
+ .ExecuteCommandAsync();
// 收集所有需要插入的实体,然后批量插入
var allPxmxEntities = new List();
@@ -636,43 +746,47 @@ namespace NCC.Extend.LqKdKdjlb
SourceType = item.sourceType,
};
allPxmxEntities.Add(lqKdPxmxEntity);
-
+
// 收集该品项关联的健康师业绩
if (item.lqKdJksyjList != null && item.lqKdJksyjList.Any())
{
foreach (var ijks_tem in item.lqKdJksyjList)
{
- allJksyjEntities.Add(new LqKdJksyjEntity
- {
- Id = YitIdHelper.NextId().ToString(),
- Glkdbh = entity.Id,
- Jks = ijks_tem.jks,
- Jksxm = ijks_tem.jksxm,
- Jkszh = ijks_tem.jkszh,
- Jksyj = ijks_tem.jksyj,
- Yjsj = DateTime.Now,
- Jsj_id = ijks_tem.jsj_id,
- Kdpxid = lqKdPxmxEntity.Id,
- });
+ allJksyjEntities.Add(
+ new LqKdJksyjEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ Glkdbh = entity.Id,
+ Jks = ijks_tem.jks,
+ Jksxm = ijks_tem.jksxm,
+ Jkszh = ijks_tem.jkszh,
+ Jksyj = ijks_tem.jksyj,
+ Yjsj = DateTime.Now,
+ Jsj_id = ijks_tem.jsj_id,
+ Kdpxid = lqKdPxmxEntity.Id,
+ }
+ );
}
}
-
+
// 收集该品项关联的科技部老师业绩
if (item.lqKdKjbsyjList != null && item.lqKdKjbsyjList.Any())
{
foreach (var ikjbs_tem in item.lqKdKjbsyjList)
{
- allKjbsyjEntities.Add(new LqKdKjbsyjEntity
- {
- Id = YitIdHelper.NextId().ToString(),
- Glkdbh = entity.Id,
- Kjbls = ikjbs_tem.kjbls,
- Kjblsxm = ikjbs_tem.kjblsxm,
- Kjblszh = ikjbs_tem.kjblszh,
- Kjblsyj = ikjbs_tem.kjblsyj,
- Yjsj = DateTime.Now,
- Kdpxid = lqKdPxmxEntity.Id,
- });
+ allKjbsyjEntities.Add(
+ new LqKdKjbsyjEntity
+ {
+ Id = YitIdHelper.NextId().ToString(),
+ Glkdbh = entity.Id,
+ Kjbls = ikjbs_tem.kjbls,
+ Kjblsxm = ikjbs_tem.kjblsxm,
+ Kjblszh = ikjbs_tem.kjblszh,
+ Kjblsyj = ikjbs_tem.kjblsyj,
+ Yjsj = DateTime.Now,
+ Kdpxid = lqKdPxmxEntity.Id,
+ }
+ );
}
}
}
@@ -721,16 +835,24 @@ namespace NCC.Extend.LqKdKdjlb
_db.BeginTran();
//删除开单记录表记录
- await _db.Deleteable().Where(d => d.Id == id).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(d => d.Id == id)
+ .ExecuteCommandAsync();
//清空子表数据
- await _db.Deleteable().Where(u => u.Glkdbh == id).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(u => u.Glkdbh == id)
+ .ExecuteCommandAsync();
//清空子表数据
- await _db.Deleteable().Where(u => u.Glkdbh == id).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(u => u.Glkdbh == id)
+ .ExecuteCommandAsync();
//清空子表数据
- await _db.Deleteable().Where(u => u.Glkdbh == id).ExecuteCommandAsync();
+ await _db.Deleteable()
+ .Where(u => u.Glkdbh == id)
+ .ExecuteCommandAsync();
//关闭事务
_db.CommitTran();
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqLssjService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqLssjService.cs
index 7e54577..b9baed1 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqLssjService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqLssjService.cs
@@ -1,34 +1,34 @@
-using NCC.Common.Core.Manager;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using NCC.ClayObject;
+using NCC.Common.Configuration;
+using NCC.Common.Core.Manager;
using NCC.Common.Enum;
using NCC.Common.Extension;
using NCC.Common.Filter;
+using NCC.Common.Helper;
+using NCC.Common.Model.NPOI;
+using NCC.DataEncryption;
using NCC.Dependency;
using NCC.DynamicApiController;
-using NCC.FriendlyException;
+using NCC.Extend.Entitys.Dto.LqLssj;
+using NCC.Extend.Entitys.lq_lssj;
using NCC.Extend.Interfaces.LqLssj;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
+using NCC.FriendlyException;
+using NCC.JsonSerialization;
using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using NCC.Extend.Entitys.lq_lssj;
-using NCC.Extend.Entitys.Dto.LqLssj;
using Yitter.IdGenerator;
-using NCC.Common.Helper;
-using NCC.JsonSerialization;
-using NCC.Common.Model.NPOI;
-using NCC.Common.Configuration;
-using NCC.DataEncryption;
-using NCC.ClayObject;
namespace NCC.Extend.LqLssj
{
///
/// 历史数据服务
///
- [ApiDescriptionSettings(Tag = "Extend",Name = "LqLssj", Order = 200)]
+ [ApiDescriptionSettings(Tag = "Extend", Name = "LqLssj", Order = 200)]
[Route("api/Extend/[controller]")]
public class LqLssjService : ILqLssjService, IDynamicApiController, ITransient
{
@@ -41,9 +41,10 @@ namespace NCC.Extend.LqLssj
///
public LqLssjService(
ISqlSugarRepository lqLssjRepository,
- IUserManager userManager)
+ IUserManager userManager
+ )
{
- _lqLssjRepository = lqLssjRepository;
+ _lqLssjRepository = lqLssjRepository;
_db = _lqLssjRepository.Context;
_userManager = userManager;
}
@@ -62,10 +63,10 @@ namespace NCC.Extend.LqLssj
}
///
- /// 获取历史数据列表
- ///
- /// 请求参数
- ///
+ /// 获取历史数据列表
+ ///
+ /// 请求参数
+ ///
[HttpGet("")]
public async Task GetList([FromQuery] LqLssjListQueryInput input)
{
@@ -81,20 +82,23 @@ namespace NCC.Extend.LqLssj
.WhereIF(!string.IsNullOrEmpty(input.rts), p => p.Rts.Equals(input.rts))
.WhereIF(!string.IsNullOrEmpty(input.rcs), p => p.Rcs.Equals(input.rcs))
.WhereIF(!string.IsNullOrEmpty(input.xms), p => p.Xms.Equals(input.xms))
- .Select(it=> new LqLssjListOutput
+ .Select(it => new LqLssjListOutput
{
id = it.Id,
- syb=it.Syb,
- md=it.Md,
- yf=it.Yf,
- nf=it.Nf,
- zyj=it.Zyj,
- zxh=it.Zxh,
- rts=it.Rts,
- rcs=it.Rcs,
- xms=it.Xms,
- }).MergeTable().OrderBy(sidx+" "+input.sort).ToPagedListAsync(input.currentPage, input.pageSize);
- return PageResult.SqlSugarPageResult(data);
+ syb = it.Syb,
+ md = it.Md,
+ yf = it.Yf,
+ nf = it.Nf,
+ zyj = it.Zyj,
+ zxh = it.Zxh,
+ rts = it.Rts,
+ rcs = it.Rcs,
+ xms = it.Xms,
+ })
+ .MergeTable()
+ .OrderBy(sidx + " " + input.sort)
+ .ToPagedListAsync(input.currentPage, input.pageSize);
+ return PageResult.SqlSugarPageResult(data);
}
///
@@ -108,15 +112,18 @@ namespace NCC.Extend.LqLssj
var userInfo = await _userManager.GetUserInfo();
var entity = input.Adapt();
entity.Id = YitIdHelper.NextId().ToString();
- var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1000);
+ var isOk = await _db.Insertable(entity)
+ .IgnoreColumns(ignoreNullColumn: true)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1000);
}
///
- /// 获取历史数据无分页列表
- ///
- /// 请求参数
- ///
+ /// 获取历史数据无分页列表
+ ///
+ /// 请求参数
+ ///
[NonAction]
public async Task GetNoPagingList([FromQuery] LqLssjListQueryInput input)
{
@@ -132,27 +139,30 @@ namespace NCC.Extend.LqLssj
.WhereIF(!string.IsNullOrEmpty(input.rts), p => p.Rts.Equals(input.rts))
.WhereIF(!string.IsNullOrEmpty(input.rcs), p => p.Rcs.Equals(input.rcs))
.WhereIF(!string.IsNullOrEmpty(input.xms), p => p.Xms.Equals(input.xms))
- .Select(it=> new LqLssjListOutput
+ .Select(it => new LqLssjListOutput
{
id = it.Id,
- syb=it.Syb,
- md=it.Md,
- yf=it.Yf,
- nf=it.Nf,
- zyj=it.Zyj,
- zxh=it.Zxh,
- rts=it.Rts,
- rcs=it.Rcs,
- xms=it.Xms,
- }).MergeTable().OrderBy(sidx+" "+input.sort).ToListAsync();
- return data;
+ syb = it.Syb,
+ md = it.Md,
+ yf = it.Yf,
+ nf = it.Nf,
+ zyj = it.Zyj,
+ zxh = it.Zxh,
+ rts = it.Rts,
+ rcs = it.Rcs,
+ xms = it.Xms,
+ })
+ .MergeTable()
+ .OrderBy(sidx + " " + input.sort)
+ .ToListAsync();
+ return data;
}
///
- /// 导出历史数据
- ///
- /// 请求参数
- ///
+ /// 导出历史数据
+ ///
+ /// 请求参数
+ ///
[HttpGet("Actions/Export")]
public async Task Export([FromQuery] LqLssjListQueryInput input)
{
@@ -167,7 +177,8 @@ namespace NCC.Extend.LqLssj
{
exportData = await this.GetNoPagingList(input);
}
- List paramList = "[{\"value\":\"数据编号\",\"field\":\"id\"},{\"value\":\"事业部\",\"field\":\"syb\"},{\"value\":\"门店\",\"field\":\"md\"},{\"value\":\"月份\",\"field\":\"yf\"},{\"value\":\"年份\",\"field\":\"nf\"},{\"value\":\"总业绩\",\"field\":\"zyj\"},{\"value\":\"总消耗\",\"field\":\"zxh\"},{\"value\":\"人头数\",\"field\":\"rts\"},{\"value\":\"人次数\",\"field\":\"rcs\"},{\"value\":\"项目数\",\"field\":\"xms\"},]".ToList();
+ List paramList =
+ "[{\"value\":\"数据编号\",\"field\":\"id\"},{\"value\":\"事业部\",\"field\":\"syb\"},{\"value\":\"门店\",\"field\":\"md\"},{\"value\":\"月份\",\"field\":\"yf\"},{\"value\":\"年份\",\"field\":\"nf\"},{\"value\":\"总业绩\",\"field\":\"zyj\"},{\"value\":\"总消耗\",\"field\":\"zxh\"},{\"value\":\"人头数\",\"field\":\"rts\"},{\"value\":\"人次数\",\"field\":\"rcs\"},{\"value\":\"项目数\",\"field\":\"xms\"},]".ToList();
ExcelConfig excelconfig = new ExcelConfig();
excelconfig.FileName = "历史数据.xls";
excelconfig.HeadFont = "微软雅黑";
@@ -180,7 +191,13 @@ namespace NCC.Extend.LqLssj
var isExist = paramList.Find(p => p.field == item);
if (isExist != null)
{
- excelconfig.ColumnModel.Add(new ExcelColumnModel() { Column = isExist.field, ExcelColumn = isExist.value });
+ excelconfig.ColumnModel.Add(
+ new ExcelColumnModel()
+ {
+ Column = isExist.field,
+ ExcelColumn = isExist.value,
+ }
+ );
}
}
var addPath = FileVariable.TemporaryFilePath + excelconfig.FileName;
@@ -189,7 +206,7 @@ namespace NCC.Extend.LqLssj
var output = new
{
name = excelconfig.FileName,
- url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC")
+ url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC"),
};
return output;
}
@@ -210,7 +227,7 @@ namespace NCC.Extend.LqLssj
//开启事务
_db.BeginTran();
//批量删除历史数据
- await _db.Deleteable().In(d => d.Id,ids).ExecuteCommandAsync();
+ await _db.Deleteable().In(d => d.Id, ids).ExecuteCommandAsync();
//关闭事务
_db.CommitTran();
}
@@ -233,8 +250,11 @@ namespace NCC.Extend.LqLssj
public async Task Update(string id, [FromBody] LqLssjUpInput input)
{
var entity = input.Adapt();
- var isOk = await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1001);
+ var isOk = await _db.Updateable(entity)
+ .IgnoreColumns(ignoreAllNullColumns: true)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1001);
}
///
@@ -246,8 +266,11 @@ namespace NCC.Extend.LqLssj
{
var entity = await _db.Queryable().FirstAsync(p => p.Id == id);
_ = entity ?? throw NCCException.Oh(ErrorCode.COM1005);
- var isOk = await _db.Deleteable().Where(d => d.Id == id).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1002);
+ var isOk = await _db.Deleteable()
+ .Where(d => d.Id == id)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1002);
}
}
}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqMdXdbhsjService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqMdXdbhsjService.cs
index 2b583fe..6843d46 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqMdXdbhsjService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqMdXdbhsjService.cs
@@ -1,27 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using NCC.ClayObject;
+using NCC.Common.Configuration;
using NCC.Common.Core.Manager;
using NCC.Common.Enum;
using NCC.Common.Extension;
using NCC.Common.Filter;
+using NCC.Common.Helper;
+using NCC.Common.Model.NPOI;
+using NCC.DataEncryption;
using NCC.Dependency;
using NCC.DynamicApiController;
-using NCC.FriendlyException;
+using NCC.Extend.Entitys.Dto.LqMdXdbhsj;
+using NCC.Extend.Entitys.lq_md_xdbhsj;
using NCC.Extend.Interfaces.LqMdXdbhsj;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
+using NCC.FriendlyException;
+using NCC.JsonSerialization;
using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using NCC.Extend.Entitys.lq_md_xdbhsj;
-using NCC.Extend.Entitys.Dto.LqMdXdbhsj;
using Yitter.IdGenerator;
-using NCC.Common.Helper;
-using NCC.JsonSerialization;
-using NCC.Common.Model.NPOI;
-using NCC.Common.Configuration;
-using NCC.DataEncryption;
-using NCC.ClayObject;
namespace NCC.Extend.LqMdXdbhsj
{
@@ -41,7 +41,8 @@ namespace NCC.Extend.LqMdXdbhsj
///
public LqMdXdbhsjService(
ISqlSugarRepository lqMdXdbhsjRepository,
- IUserManager userManager)
+ IUserManager userManager
+ )
{
_lqMdXdbhsjRepository = lqMdXdbhsjRepository;
_db = _lqMdXdbhsjRepository.Context;
@@ -83,8 +84,11 @@ namespace NCC.Extend.LqMdXdbhsj
bhjssj = it.Bhjssj,
sm = it.Sm,
cjsj = it.Cjsj,
- sfqy = it.Sfqy
- }).MergeTable().OrderBy(sidx + " " + input.sort).ToPagedListAsync(input.currentPage, input.pageSize);
+ sfqy = it.Sfqy,
+ })
+ .MergeTable()
+ .OrderBy(sidx + " " + input.sort)
+ .ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult.SqlSugarPageResult(data);
}
@@ -100,28 +104,33 @@ namespace NCC.Extend.LqMdXdbhsj
var entity = input.Adapt();
entity.Id = YitIdHelper.NextId().ToString();
entity.Cjsj = DateTime.Now;
-
+
// 验证时间逻辑
if (entity.Bhkssj >= entity.Bhjssj)
{
throw NCCException.Oh(ErrorCode.COM1000, "保护开始时间必须早于保护结束时间");
}
-
+
// 检查是否存在重叠的保护时间
var exists = await _db.Queryable()
.Where(p => p.Mdid == entity.Mdid && p.Sfqy == 1)
- .Where(p => (p.Bhkssj <= entity.Bhkssj && p.Bhjssj > entity.Bhkssj) ||
- (p.Bhkssj < entity.Bhjssj && p.Bhjssj >= entity.Bhjssj) ||
- (p.Bhkssj >= entity.Bhkssj && p.Bhjssj <= entity.Bhjssj))
+ .Where(p =>
+ (p.Bhkssj <= entity.Bhkssj && p.Bhjssj > entity.Bhkssj)
+ || (p.Bhkssj < entity.Bhjssj && p.Bhjssj >= entity.Bhjssj)
+ || (p.Bhkssj >= entity.Bhkssj && p.Bhjssj <= entity.Bhjssj)
+ )
.AnyAsync();
-
+
if (exists)
{
throw NCCException.Oh(ErrorCode.COM1000, "该门店在指定时间段内已存在保护时间设置");
}
-
- var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1000);
+
+ var isOk = await _db.Insertable(entity)
+ .IgnoreColumns(ignoreNullColumn: true)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1000);
}
///
@@ -135,28 +144,33 @@ namespace NCC.Extend.LqMdXdbhsj
{
var entity = input.Adapt();
entity.Id = id;
-
+
// 验证时间逻辑
if (entity.Bhkssj >= entity.Bhjssj)
{
throw NCCException.Oh(ErrorCode.COM1000, "保护开始时间必须早于保护结束时间");
}
-
+
// 检查是否存在重叠的保护时间(排除当前记录)
var exists = await _db.Queryable()
.Where(p => p.Mdid == entity.Mdid && p.Sfqy == 1 && p.Id != id)
- .Where(p => (p.Bhkssj <= entity.Bhkssj && p.Bhjssj > entity.Bhkssj) ||
- (p.Bhkssj < entity.Bhjssj && p.Bhjssj >= entity.Bhjssj) ||
- (p.Bhkssj >= entity.Bhkssj && p.Bhjssj <= entity.Bhjssj))
+ .Where(p =>
+ (p.Bhkssj <= entity.Bhkssj && p.Bhjssj > entity.Bhkssj)
+ || (p.Bhkssj < entity.Bhjssj && p.Bhjssj >= entity.Bhjssj)
+ || (p.Bhkssj >= entity.Bhkssj && p.Bhjssj <= entity.Bhjssj)
+ )
.AnyAsync();
-
+
if (exists)
{
throw NCCException.Oh(ErrorCode.COM1000, "该门店在指定时间段内已存在保护时间设置");
}
-
- var isOk = await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1001);
+
+ var isOk = await _db.Updateable(entity)
+ .IgnoreColumns(ignoreAllNullColumns: true)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1001);
}
///
@@ -168,8 +182,11 @@ namespace NCC.Extend.LqMdXdbhsj
{
var entity = await _db.Queryable().FirstAsync(p => p.Id == id);
_ = entity ?? throw NCCException.Oh(ErrorCode.COM1005);
- var isOk = await _db.Deleteable().Where(d => d.Id == id).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1002);
+ var isOk = await _db.Deleteable()
+ .Where(d => d.Id == id)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1002);
}
///
@@ -181,7 +198,12 @@ namespace NCC.Extend.LqMdXdbhsj
{
var list = await _db.Queryable()
.Where(p => p.Sfqy == 1)
- .Select(it => new { id = it.Id, fullName = it.Mdid, enCode = it.Id })
+ .Select(it => new
+ {
+ id = it.Id,
+ fullName = it.Mdid,
+ enCode = it.Id,
+ })
.ToListAsync();
return new { list = list };
}
@@ -199,12 +221,12 @@ namespace NCC.Extend.LqMdXdbhsj
.Where(p => p.Mdid == mdid && p.Sfqy == 1)
.Where(p => p.Bhkssj <= now && p.Bhjssj >= now)
.FirstAsync();
-
+
if (entity == null)
{
return new { hasProtection = false, message = "该门店当前无保护时间设置" };
}
-
+
var output = entity.Adapt();
return new { hasProtection = true, data = output };
}
diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqSkzhService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqSkzhService.cs
index 5b32834..8e13f8c 100644
--- a/netcore/src/Modularity/Extend/NCC.Extend/LqSkzhService.cs
+++ b/netcore/src/Modularity/Extend/NCC.Extend/LqSkzhService.cs
@@ -1,34 +1,34 @@
-using NCC.Common.Core.Manager;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using NCC.ClayObject;
+using NCC.Common.Configuration;
+using NCC.Common.Core.Manager;
using NCC.Common.Enum;
using NCC.Common.Extension;
using NCC.Common.Filter;
+using NCC.Common.Helper;
+using NCC.Common.Model.NPOI;
+using NCC.DataEncryption;
using NCC.Dependency;
using NCC.DynamicApiController;
-using NCC.FriendlyException;
+using NCC.Extend.Entitys.Dto.LqSkzh;
+using NCC.Extend.Entitys.lq_skzh;
using NCC.Extend.Interfaces.LqSkzh;
-using Mapster;
-using Microsoft.AspNetCore.Mvc;
+using NCC.FriendlyException;
+using NCC.JsonSerialization;
using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using NCC.Extend.Entitys.lq_skzh;
-using NCC.Extend.Entitys.Dto.LqSkzh;
using Yitter.IdGenerator;
-using NCC.Common.Helper;
-using NCC.JsonSerialization;
-using NCC.Common.Model.NPOI;
-using NCC.Common.Configuration;
-using NCC.DataEncryption;
-using NCC.ClayObject;
namespace NCC.Extend.LqSkzh
{
///
/// 收款账户服务
///
- [ApiDescriptionSettings(Tag = "Extend",Name = "LqSkzh", Order = 200)]
+ [ApiDescriptionSettings(Tag = "Extend", Name = "LqSkzh", Order = 200)]
[Route("api/Extend/[controller]")]
public class LqSkzhService : ILqSkzhService, IDynamicApiController, ITransient
{
@@ -41,9 +41,10 @@ namespace NCC.Extend.LqSkzh
///
public LqSkzhService(
ISqlSugarRepository lqSkzhRepository,
- IUserManager userManager)
+ IUserManager userManager
+ )
{
- _lqSkzhRepository = lqSkzhRepository;
+ _lqSkzhRepository = lqSkzhRepository;
_db = _lqSkzhRepository.Context;
_userManager = userManager;
}
@@ -62,10 +63,10 @@ namespace NCC.Extend.LqSkzh
}
///
- /// 获取收款账户列表
- ///
- /// 请求参数
- ///
+ /// 获取收款账户列表
+ ///
+ /// 请求参数
+ ///
[HttpGet("")]
public async Task GetList([FromQuery] LqSkzhListQueryInput input)
{
@@ -74,13 +75,16 @@ namespace NCC.Extend.LqSkzh
.WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id))
.WhereIF(!string.IsNullOrEmpty(input.sktj), p => p.Sktj.Contains(input.sktj))
.WhereIF(!string.IsNullOrEmpty(input.skzh), p => p.Skzh.Contains(input.skzh))
- .Select(it=> new LqSkzhListOutput
+ .Select(it => new LqSkzhListOutput
{
id = it.Id,
- sktj=it.Sktj,
- skzh=it.Skzh,
- }).MergeTable().OrderBy(sidx+" "+input.sort).ToPagedListAsync(input.currentPage, input.pageSize);
- return PageResult.SqlSugarPageResult(data);
+ sktj = it.Sktj,
+ skzh = it.Skzh,
+ })
+ .MergeTable()
+ .OrderBy(sidx + " " + input.sort)
+ .ToPagedListAsync(input.currentPage, input.pageSize);
+ return PageResult.SqlSugarPageResult(data);
}
///
@@ -94,15 +98,18 @@ namespace NCC.Extend.LqSkzh
var userInfo = await _userManager.GetUserInfo();
var entity = input.Adapt();
entity.Id = YitIdHelper.NextId().ToString();
- var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1000);
+ var isOk = await _db.Insertable(entity)
+ .IgnoreColumns(ignoreNullColumn: true)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1000);
}
///
- /// 获取收款账户无分页列表
- ///
- /// 请求参数
- ///
+ /// 获取收款账户无分页列表
+ ///
+ /// 请求参数
+ ///
[NonAction]
public async Task GetNoPagingList([FromQuery] LqSkzhListQueryInput input)
{
@@ -111,20 +118,23 @@ namespace NCC.Extend.LqSkzh
.WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id))
.WhereIF(!string.IsNullOrEmpty(input.sktj), p => p.Sktj.Contains(input.sktj))
.WhereIF(!string.IsNullOrEmpty(input.skzh), p => p.Skzh.Contains(input.skzh))
- .Select(it=> new LqSkzhListOutput
+ .Select(it => new LqSkzhListOutput
{
id = it.Id,
- sktj=it.Sktj,
- skzh=it.Skzh,
- }).MergeTable().OrderBy(sidx+" "+input.sort).ToListAsync();
- return data;
+ sktj = it.Sktj,
+ skzh = it.Skzh,
+ })
+ .MergeTable()
+ .OrderBy(sidx + " " + input.sort)
+ .ToListAsync();
+ return data;
}
///
- /// 导出收款账户
- ///
- /// 请求参数
- ///
+ /// 导出收款账户
+ ///
+ /// 请求参数
+ ///
[HttpGet("Actions/Export")]
public async Task Export([FromQuery] LqSkzhListQueryInput input)
{
@@ -139,7 +149,8 @@ namespace NCC.Extend.LqSkzh
{
exportData = await this.GetNoPagingList(input);
}
- List paramList = "[{\"value\":\"收款途径编号\",\"field\":\"id\"},{\"value\":\"收款途径\",\"field\":\"sktj\"},{\"value\":\"收款账号\",\"field\":\"skzh\"},]".ToList();
+ List paramList =
+ "[{\"value\":\"收款途径编号\",\"field\":\"id\"},{\"value\":\"收款途径\",\"field\":\"sktj\"},{\"value\":\"收款账号\",\"field\":\"skzh\"},]".ToList();
ExcelConfig excelconfig = new ExcelConfig();
excelconfig.FileName = "收款账户.xls";
excelconfig.HeadFont = "微软雅黑";
@@ -152,7 +163,13 @@ namespace NCC.Extend.LqSkzh
var isExist = paramList.Find(p => p.field == item);
if (isExist != null)
{
- excelconfig.ColumnModel.Add(new ExcelColumnModel() { Column = isExist.field, ExcelColumn = isExist.value });
+ excelconfig.ColumnModel.Add(
+ new ExcelColumnModel()
+ {
+ Column = isExist.field,
+ ExcelColumn = isExist.value,
+ }
+ );
}
}
var addPath = FileVariable.TemporaryFilePath + excelconfig.FileName;
@@ -161,7 +178,7 @@ namespace NCC.Extend.LqSkzh
var output = new
{
name = excelconfig.FileName,
- url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC")
+ url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC"),
};
return output;
}
@@ -182,7 +199,7 @@ namespace NCC.Extend.LqSkzh
//开启事务
_db.BeginTran();
//批量删除收款账户
- await _db.Deleteable().In(d => d.Id,ids).ExecuteCommandAsync();
+ await _db.Deleteable().In(d => d.Id, ids).ExecuteCommandAsync();
//关闭事务
_db.CommitTran();
}
@@ -205,8 +222,11 @@ namespace NCC.Extend.LqSkzh
public async Task Update(string id, [FromBody] LqSkzhUpInput input)
{
var entity = input.Adapt();
- var isOk = await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1001);
+ var isOk = await _db.Updateable(entity)
+ .IgnoreColumns(ignoreAllNullColumns: true)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1001);
}
///
@@ -218,8 +238,11 @@ namespace NCC.Extend.LqSkzh
{
var entity = await _db.Queryable().FirstAsync(p => p.Id == id);
_ = entity ?? throw NCCException.Oh(ErrorCode.COM1005);
- var isOk = await _db.Deleteable().Where(d => d.Id == id).ExecuteCommandAsync();
- if (!(isOk > 0)) throw NCCException.Oh(ErrorCode.COM1002);
+ var isOk = await _db.Deleteable()
+ .Where(d => d.Id == id)
+ .ExecuteCommandAsync();
+ if (!(isOk > 0))
+ throw NCCException.Oh(ErrorCode.COM1002);
}
}
}
diff --git a/创建事业部业绩统计流水表视图.sql b/创建事业部业绩统计流水表视图.sql
new file mode 100644
index 0000000..db0e47a
--- /dev/null
+++ b/创建事业部业绩统计流水表视图.sql
@@ -0,0 +1,58 @@
+-- 创建事业部业绩统计流水表视图
+-- 统计各个事业部的目标业绩、完成业绩、完成率
+
+DROP VIEW IF EXISTS `v_department_performance_flow`;
+
+CREATE VIEW `v_department_performance_flow` AS
+SELECT
+ o.F_Id AS department_id, -- 部门ID
+ o.F_FullName AS department_name, -- 部门名称
+ o.F_ParentId AS parent_id, -- 上级部门ID
+ parent.F_FullName AS parent_name, -- 上级部门名称
+ o.F_Category AS department_category, -- 部门分类
+ kd.F_Id AS order_id, -- 开单ID
+ kd.kdrq AS order_date, -- 开单时间
+ kd.djmd AS store_id, -- 开单门店ID
+ m.mdbm AS store_code, -- 门店编号
+ m.dm AS store_name, -- 门店名称
+ m.xsyj AS target_amount, -- 目标业绩(门店生命线)
+ kd.zdyj AS completed_amount, -- 完成业绩(整单业绩)
+ kd.sfyj AS actual_amount, -- 实付业绩
+ kd.qk AS debt_amount, -- 欠款
+ kd.jsj AS golden_triangle, -- 金三角
+ kd.kdhy AS member_id, -- 开单会员ID
+ kd.kdhyc AS member_name, -- 开单会员名称
+ kd.kdhysjh AS member_phone, -- 开单会员手机号
+ kd.gjlx AS customer_type, -- 顾客类型
+ kd.hgjg AS partner_institution, -- 合作机构
+ kd.fkfs AS payment_method, -- 付款方式
+ kd.khly AS customer_source, -- 客户来源
+ kd.tjr AS referrer, -- 推荐人
+ kd.sfskdd AS is_first_order, -- 是否首开订单
+ kd.jj AS description, -- 简介
+ kd.bz AS remarks, -- 备注
+ kd.F_CreateUser AS create_user, -- 开单用户
+ kd.F_FIleUrl AS file_url, -- 方案其他
+ -- 计算完成率
+ CASE
+ WHEN m.xsyj > 0 THEN ROUND((kd.zdyj / m.xsyj) * 100, 2)
+ ELSE 0
+ END AS completion_rate, -- 完成率(%)
+ -- 时间维度字段
+ YEAR(kd.kdrq) AS order_year, -- 开单年份
+ MONTH(kd.kdrq) AS order_month, -- 开单月份
+ QUARTER(kd.kdrq) AS order_quarter, -- 开单季度
+ DATE(kd.kdrq) AS order_date_only, -- 开单日期(不含时间)
+ -- 使用开单日期作为创建时间
+ kd.kdrq AS create_time, -- 创建时间(使用开单日期)
+ kd.kdrq AS modify_time -- 修改时间(使用开单日期)
+FROM base_organize o
+LEFT JOIN base_organize parent ON o.F_ParentId = parent.F_Id
+LEFT JOIN lq_mdxx m ON m.syb = o.F_Id
+LEFT JOIN lq_kd_kdjlb kd ON kd.djmd = m.F_Id
+WHERE (o.F_DeleteMark IS NULL OR o.F_DeleteMark != 1)
+ AND o.F_Category = 'department' -- 只统计部门类型
+ AND kd.kdrq IS NOT NULL; -- 只包含有开单日期的记录
+
+-- 添加视图注释
+ALTER VIEW `v_department_performance_flow` COMMENT = '事业部业绩统计流水表视图 - 统计各事业部目标业绩、完成业绩、完成率等详细信息';
diff --git a/参考资料/.DS_Store b/参考资料/.DS_Store
index 8372e1a..c38ef84 100644
Binary files a/参考资料/.DS_Store and b/参考资料/.DS_Store differ
--
libgit2 0.21.4