Commit b903aaf0 authored by liudong1993's avatar liudong1993

1 教育财务课时费调整

parent 12e0beeb
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 企业微信客户线索规则实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_WeChat_CustomerClueRule
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 可放弃部分客户的查询类型 1并且 2或者
/// </summary>
public int RuleSelectType { get; set; }
/// <summary>
/// 限制内容 json格式
/// </summary>
public string RuleSelectValue { get; set; }
/// <summary>
/// 是否默认 1是 2否
/// </summary>
public int IsDefault { get; set; }
/// <summary>
/// 部门ids
/// </summary>
public string DeptIds { get; set; }
/// <summary>
/// 员工ids
/// </summary>
public string EmpIds { get; set; }
/// <summary>
/// 分配方式 1依次轮流 2随机分配
/// </summary>
public int RuleAllotWay { get; set; }
/// <summary>
/// 排序 越小的 优先级越高
/// </summary>
public int Sort { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
}
}
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 企业微信客户操作实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_WeChat_CustomerConfig
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 员工领取公海客户时需审核 1是 2否
/// </summary>
public int IsPublicAudit { get; set; }
/// <summary>
/// 可以领取的部门ids 不限-1
/// </summary>
public string PublicGetDept { get; set; }
/// <summary>
/// 放弃到公海类型 1全部客户 2部分客户
/// </summary>
public int AbandonType { get; set; }
/// <summary>
/// 可放弃标签ids (暂时启用, 看看筛选项情况)
/// </summary>
public string LableIds { get; set; }
/// <summary>
/// 可放弃客户阶段ids (暂时启用, 看看筛选项情况)
/// </summary>
public string StageIds { get; set; }
/// <summary>
/// 可放弃到公海的部门 -1不限
/// </summary>
public string AbandonDept { get; set; }
/// <summary>
/// 放弃后是否需要审核 1是 2否
/// </summary>
public int AbandonAudit { get; set; }
/// <summary>
/// 放弃的原因 直接List<string>
/// </summary>
public string AbandonReason { get; set; }
/// <summary>
/// 允许申请成为协作人部门 -1不限 0未开启
/// </summary>
public string ApplyForTeamDept { get; set; }
/// <summary>
/// 允许添加协作人部门 -1不限 0未开启
/// </summary>
public string AddTeamDept { get; set; }
/// <summary>
/// 允许转移客户的部门 -1不限 0未开启
/// </summary>
public string TransferCustomerDept { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 线索类型 1手动分配 2自动分配
/// </summary>
public int ClueType { get; set; }
/// <summary>
/// 线索手动分配方式 1依次轮流 2随机分配
/// </summary>
public int ClueAllotWay { get; set; }
/// <summary>
/// 可放弃部分客户的查询类型 1并且 2或者
/// </summary>
public int AbandonSelectType { get; set; }
/// <summary>
/// 限制内容 json格式 List<CustomerCommissionSelectModel>
/// </summary>
public string AbandonSelectValue { get; set; }
/// <summary>
/// 可以领取的人员ids 不限-1
/// </summary>
public string PublicGetEmp { get; set; }
/// <summary>
/// 可放弃到公海的人员 -1不限
/// </summary>
public string AbandonEmp { get; set; }
/// <summary>
/// 允许申请成为协作人人员 -1不限
/// </summary>
public string ApplyForTeamEmp { get; set; }
/// <summary>
/// 允许添加协作人人员 -1不限
/// </summary>
public string AddTeamEmp { get; set; }
/// <summary>
/// 允许转移客户的人员 -1不限
/// </summary>
public string TransferCustomerEmp { get; set; }
}
}
......@@ -167,5 +167,30 @@ namespace Edu.Model.Entity.WeChat
/// 微信客户来源
/// </summary>
public int WeChatAddWay { get; set; }
/// <summary>
/// 客户状态 1正常客户 2线索 3公海
/// </summary>
public int CustomerState { get; set; }
/// <summary>
/// 线索状态 1未处理 2待回访 3无效线索 4已转客户
/// </summary>
public int ClueState { get; set; }
/// <summary>
/// 转客户时间 ClueState=4
/// </summary>
public DateTime? TurnCustomerTime { get; set; }
/// <summary>
/// 分配状态 1待分配 2已分配
/// </summary>
public int AllotState { get; set; }
/// <summary>
/// 分配客户时间
/// </summary>
public DateTime? AllotCustomerTime { get; set; }
}
}
......@@ -120,6 +120,11 @@ namespace Edu.Model.ViewModel.Grade
/// </summary>
public string ClassNo { get; set; }
/// <summary>
/// 校区
/// </summary>
public string SName { get; set; }
/// <summary>
/// 班级类型
/// </summary>
......
......@@ -37,6 +37,11 @@ namespace Edu.Model.ViewModel.Sell
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 校区
/// </summary>
public string SName { get; set; }
/// <summary>
/// 班级编号
/// </summary>
......
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Enum.Sale;
using Edu.Model.Entity.WeChat;
using Edu.Model.Public;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 企业微信客户操作扩展类
/// </summary>
public class RB_WeChat_CustomerConfig_ViewModel : RB_WeChat_CustomerConfig
{
/// <summary>
/// 可以领取的部门
/// </summary>
public List<User.RB_Department_ViewModel> PublicGetDeptList { get; set; }
/// <summary>
/// 可放弃到公海的部门
/// </summary>
public List<User.RB_Department_ViewModel> AbandonDeptList { get; set; }
/// <summary>
/// 允许申请成为协作人部门
/// </summary>
public List<User.RB_Department_ViewModel> ApplyForTeamDeptList { get; set; }
/// <summary>
/// 允许添加协作人部门
/// </summary>
public List<User.RB_Department_ViewModel> AddTeamDeptList { get; set; }
/// <summary>
/// 允许转移客户的部门
/// </summary>
public List<User.RB_Department_ViewModel> TransferCustomerDeptList { get; set; }
/// <summary>
/// 可以领取的人员
/// </summary>
public List<User.Employee_ViewModel> PublicGetEmpList { get; set; }
/// <summary>
/// 可放弃到公海的人员
/// </summary>
public List<User.Employee_ViewModel> AbandonEmpList { get; set; }
/// <summary>
/// 允许申请成为协作人人员
/// </summary>
public List<User.Employee_ViewModel> ApplyForTeamEmpList { get; set; }
/// <summary>
/// 允许添加协作人人员
/// </summary>
public List<User.Employee_ViewModel> AddTeamEmpList { get; set; }
/// <summary>
/// 允许转移客户的人员
/// </summary>
public List<User.Employee_ViewModel> TransferCustomerEmpList { get; set; }
/// <summary>
/// 放弃原因
/// </summary>
public List<string> AbandonReasonList { get; set; }
/// <summary>
/// 阶段
/// </summary>
public List<RB_WeChat_CustomerStage_ViewModel> StageList { get; set; }
/// <summary>
/// 标签
/// </summary>
public List<RB_WeChat_Lable_ViewModel> LableList { get; set; }
/// <summary>
/// 部分客户筛选列表
/// </summary>
public List<CustomerCommissionSelectModel> AbandonKHSelect { get; set; }
}
/// <summary>
/// 字段Model 用于客户筛选
/// </summary>
public class CustomerCommissionSelectModel
{
/// <summary>
/// 标识
/// </summary>
public int Id { get; set; }
/// <summary>
/// 字段名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 类型 1包含 2等于 3日期 4日期范围 5数值
/// </summary>
public int Type { get; set; }
/// <summary>
/// 方向 1包含所有/等于/等于 2包含任意/不等于/大于 3不包含/为空/大于等于 4为空/不为空/小于 5不为空/模糊/小于等于 对应 type的1/2/5
/// </summary>
public int Direction { get; set; }
/// <summary>
/// 开始值
/// </summary>
public string StartValue { get; set; }
/// <summary>
/// 结束值
/// </summary>
public string EndValue { get; set; }
/// <summary>
/// 自定义字段 1是 2标签 3客户阶段
/// </summary>
public int IsCustom { get; set; }
}
}
......@@ -101,6 +101,10 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_GroupRepository groupRepository = new RB_GroupRepository();
/// <summary>
/// 校区
/// </summary>
private readonly RB_SchoolRepository schoolRepository = new RB_SchoolRepository();
/// <summary>
/// 账户
/// </summary>
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
......@@ -596,7 +600,7 @@ namespace Edu.Module.Course
Group_Id = dmodel.Group_Id,
Id = 0,
Money = ksNum * unitPrice,
School_Id = dmodel.School_Id,
School_Id = item.School_Id,
Status = 0,
TeacherId = item.TeacherId,
Type = item.TeacherId == item.Teacher_Id ? 1 : 2,
......@@ -1891,10 +1895,18 @@ namespace Edu.Module.Course
var model = teaching_BonusRepository.GetEntity<RB_Teaching_Bonus_ViewModel>(periodId);
if (model == null) { return "周期不存在"; }
List<int> EmpIdList = new List<int>();
List<string> EmpTIdList = new List<string>();
if (!string.IsNullOrEmpty(model.EmpIds))
{
if (model.Id >= 40)
{
EmpTIdList = JsonHelper.DeserializeObject<List<string>>(model.EmpIds);
}
else
{
EmpIdList = JsonHelper.DeserializeObject<List<int>>("[" + model.EmpIds + "]");
}
}
string bonusIds = periodId.ToString();
......@@ -1904,22 +1916,35 @@ namespace Edu.Module.Course
string teacherIds = model.TeacherIds;
var tlist = teacherRepository.GetTeacherListRepository(new RB_Teacher_ViewModel() { Group_Id = userInfo.Group_Id, QTIds = teacherIds, IsQLeave = 1 });
string[] teacherIdArr = model.TeacherIds.Split(",");
List<object> RList = new List<object>();
//查询所有校区
var schoolList = dlist.Select(x => x.School_Id).Distinct().ToList();
if (!schoolList.Any()) { return RList; }
var slist = schoolRepository.GetSchoolListRepository(new RB_School_ViewModel() { Group_Id = userInfo.Group_Id, QSIds = string.Join(",", schoolList) });
foreach (var sitem in slist)
{
string[] teacherIdArr = model.TeacherIds.Split(",");
foreach (var qitem in teacherIdArr)
{
int teacherId = Convert.ToInt32(qitem);
string teacherName = tlist.Where(x => x.TId == teacherId).FirstOrDefault()?.TeacherName ?? "";
//教师累计奖励金额
decimal money = dlist.Where(x => x.TeacherId == teacherId).Sum(x => x.Money);
decimal money = dlist.Where(x => x.TeacherId == teacherId && x.School_Id == sitem.SId).Sum(x => x.Money);
if (money > 0)
{
RList.Add(new
{
TSId = sitem.SId + "-" + teacherId,
SchoolId = sitem.SId,
SchoolName = sitem.SName,
TeacherId = teacherId,
TeacherName = teacherName,
Money = money,
IsGiveOut = EmpIdList.Contains(teacherId) ? 1 : 2
IsGiveOut = model.Id >= 40 ? (EmpTIdList.Contains(sitem.SId + "-" + teacherId) ? 1 : 2) : (EmpIdList.Contains(teacherId) ? 1 : 2)
});
}
}
}
return RList;
}
......@@ -1936,10 +1961,32 @@ namespace Edu.Module.Course
if (model == null) { return "周期不存在"; }
if (model.Group_Id != userInfo.Group_Id) { return "集团不正确"; }
List<int> EmpIdList = new List<int>();
List<string> EmpTIdList = new List<string>();
if (!string.IsNullOrEmpty(model.EmpIds))
{
if (model.Id >= 40)
{
EmpTIdList = JsonHelper.DeserializeObject<List<string>>(model.EmpIds);
}
else
{
EmpIdList = JsonHelper.DeserializeObject<List<int>>("[" + model.EmpIds + "]");
}
}
if (model.Id >= 40)
{
List<string> NewIdList = JsonHelper.DeserializeObject<List<string>>(empIds);
foreach (var item in NewIdList)
{
if (EmpTIdList.Contains(item))
{
return "用户ID" + item + "已发放了提成,无法重复发放";
}
}
EmpTIdList.AddRange(NewIdList);
}
else
{
List<int> NewIdList = JsonHelper.DeserializeObject<List<int>>("[" + empIds + "]");
foreach (var item in NewIdList)
{
......@@ -1949,7 +1996,11 @@ namespace Edu.Module.Course
}
}
EmpIdList.AddRange(NewIdList);
}
string empids2 = string.Join(",", EmpIdList);
if (model.Id >= 40) {
empids2 = JsonHelper.Serialize(EmpTIdList);
}
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Teaching_Bonus_ViewModel.EmpIds),empids2}
};
......
......@@ -3453,7 +3453,8 @@ namespace Edu.Module.Finance
UnitPrice = unitPrice,
Money = KSMoney,
BaseHoursEnabled = item.BaseHoursEnabled,
EnableTime = item.EnableTime
EnableTime = item.EnableTime,
SName = item.SName
});
}
......@@ -3569,7 +3570,8 @@ namespace Edu.Module.Finance
UnitPrice = unitPrice,
Money = KSMoney,
BaseHoursEnabled = item.BaseHoursEnabled,
EnableTime = item.EnableTime
EnableTime = item.EnableTime,
SName = item.SName
});
}
......@@ -3632,6 +3634,7 @@ namespace Edu.Module.Finance
{
new ExcelColumn(value: item.Date.ToString("yyyy-MM-dd")){ },
new ExcelColumn(value: item.TimeBucket){ },
new ExcelColumn(value: item.SName){ },
new ExcelColumn(value: item.ClassNo){ },
new ExcelColumn(value: item.ClassName){ },
new ExcelColumn(value: item.CourseName){ },
......@@ -3663,6 +3666,7 @@ namespace Edu.Module.Finance
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: TKSNum.ToString("#0.00")){ },
new ExcelColumn(value: TDKNum.ToString("#0.00")){ },
new ExcelColumn(value: THours.ToString("#0.00")){ },
......
This diff is collapsed.
......@@ -439,7 +439,7 @@ GROUP BY tt.TeacherId,tt.OrderGuestId
}
if (schoolId >= 0)
{
where += $@" and t2.School_Id ={schoolId}";
where += $@" and c.School_Id ={schoolId}";
}
if (classId > 0)
{
......@@ -447,11 +447,12 @@ GROUP BY tt.TeacherId,tt.OrderGuestId
}
string sql = $@"
SELECT p.TeacherId,t2.TeacherName,t2.BaseHourFee,t2.BaseHoursEnabled,t2.EnableTime,c.ClassName,co.CourseName,p.ClassId,c.ClassType,c.ClassNo,c.ClassHourMinute,c.CouseId,p.ClassDate,p.ClassTimeId,t.StartTime as StartDate,t.EndTime as EndDate,Max(p.CurrentDeductionHours) as CurrentDeductionHours FROM rb_class_check p
SELECT p.TeacherId,t2.TeacherName,t2.BaseHourFee,t2.BaseHoursEnabled,t2.EnableTime,c.ClassName,co.CourseName,p.ClassId,c.ClassType,c.ClassNo,s.SName,c.ClassHourMinute,c.CouseId,p.ClassDate,p.ClassTimeId,t.StartTime as StartDate,t.EndTime as EndDate,Max(p.CurrentDeductionHours) as CurrentDeductionHours FROM rb_class_check p
INNER JOIN rb_class_time t on p.ClassTimeId = t.ClassTimeId
LEFT JOIN rb_teacher t2 on p.TeacherId = t2.TId
LEFT JOIN rb_class c on p.ClassId = c.ClassId
LEFT JOIN rb_course co on c.CouseId = co.CourseId
left join rb_school s on s.SId = c.School_Id
WHERE p.`Status`=0 and p.Group_Id ={group_Id} {where} and p.ClassDate >= '{startMonth}' and p.ClassDate <='{endMonth} 23:59:59'
GROUP BY p.TeacherId,p.ClassId,p.ClassTimeId
ORDER BY p.ClassDate ASC
......@@ -478,7 +479,7 @@ ORDER BY p.ClassDate ASC
}
if (schoolId >= 0)
{
where += $@" and t2.School_Id ={schoolId}";
where += $@" and c.School_Id ={schoolId}";
}
if (classId > 0)
{
......@@ -486,11 +487,12 @@ ORDER BY p.ClassDate ASC
}
string sql = $@"
SELECT p.TeacherId,t2.TeacherName,t2.BaseHourFee,t2.BaseHoursEnabled,t2.EnableTime,c.ClassName,co.CourseName,p.ClassId,c.ClassType,c.ClassNo,c.ClassHourMinute,c.CouseId,p.ClassDate,p.ClassTimeId,t.StartTime as StartDate,t.EndTime as EndDate,Max(p.CurrentDeductionHours) as CurrentDeductionHours FROM rb_class_check p
SELECT p.TeacherId,t2.TeacherName,t2.BaseHourFee,t2.BaseHoursEnabled,t2.EnableTime,c.ClassName,co.CourseName,p.ClassId,s.SName,c.ClassType,c.ClassNo,c.ClassHourMinute,c.CouseId,p.ClassDate,p.ClassTimeId,t.StartTime as StartDate,t.EndTime as EndDate,Max(p.CurrentDeductionHours) as CurrentDeductionHours FROM rb_class_check p
INNER JOIN rb_class_time t on p.ClassTimeId = t.ClassTimeId
LEFT JOIN rb_teacher t2 on p.TeacherId = t2.TId
LEFT JOIN rb_class c on p.ClassId = c.ClassId
LEFT JOIN rb_course co on c.CouseId = co.CourseId
left join rb_school s on s.SId = c.School_Id
WHERE p.`Status`=0 and p.Group_Id ={group_Id} {where} and p.ClassDate >= '{startMonth}' and p.ClassDate <='{endMonth} 23:59:59'
GROUP BY p.TeacherId,p.ClassId,p.ClassTimeId
ORDER BY p.ClassDate ASC
......@@ -523,7 +525,7 @@ ORDER BY p.ClassDate ASC
}
if (schoolId >= 0)
{
where += $@" and t2.School_Id ={schoolId}";
where += $@" and c.School_Id ={schoolId}";
}
if (classId > 0)
{
......@@ -598,7 +600,7 @@ ORDER BY tt.ClassDate ASC
}
if (schoolId >= 0)
{
where += $@" and t2.School_Id ={schoolId}";
where += $@" and c.School_Id ={schoolId}";
}
if (classId > 0)
{
......
......@@ -126,7 +126,7 @@ where {where} order by bd.Date asc";
{
where += $@" and b.{nameof(RB_Teaching_BonusDetail.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.School_Id > 0)
if (demodel.School_Id >= 0)
{
where += $@" and b.{nameof(RB_Teaching_BonusDetail.School_Id)} ={demodel.School_Id}";
}
......@@ -155,9 +155,10 @@ where {where} order by bd.Date asc";
where += $@" and b.{nameof(RB_Teaching_BonusDetail.Type)} ={demodel.Type}";
}
string sql = $@" select b.*,t.TeacherName,c.ClassName,c.ClassNo from RB_Teaching_BonusDetail b
string sql = $@" select b.*,t.TeacherName,c.ClassName,c.ClassNo,s.SName from RB_Teaching_BonusDetail b
left join rb_teacher t on b.TeacherId = t.TId
left join rb_class c on b.ClassId = c.ClassId
left join rb_school s on b.School_Id = s.SId
where {where} order by b.TeacherId asc,b.Date asc";
return Get<RB_Teaching_BonusDetail_ViewModel>(sql).ToList();
}
......@@ -175,7 +176,7 @@ where {where} order by b.TeacherId asc,b.Date asc";
{
where += $@" and b.{nameof(RB_Teaching_BonusDetail.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.School_Id > 0)
if (demodel.School_Id >= 0)
{
where += $@" and b.{nameof(RB_Teaching_BonusDetail.School_Id)} ={demodel.School_Id}";
}
......@@ -204,15 +205,16 @@ where {where} order by b.TeacherId asc,b.Date asc";
where += $@" and b.{nameof(RB_Teaching_BonusDetail.Type)} ={demodel.Type}";
}
string sql = $@" select b.TeacherId,t.TeacherName,b.UnitPrice,
string sql = $@" select b.TeacherId,t.TeacherName,b.UnitPrice,s.SId,s.SName,
SUM(CASE WHEN b.Type =1 THEN b.CourseHour ELSE 0 END) AS CourseHour,
SUM(CASE WHEN b.Type =2 THEN b.CourseHour ELSE 0 END) AS DCourseHour,
SUM(b.DeductionHour) AS DeductionHour,
SUM(b.Money) AS Money
from RB_Teaching_BonusDetail b
left join rb_teacher t on b.TeacherId = t.TId
left join rb_school s on b.School_Id = s.SId
where {where}
GROUP BY b.TeacherId,t.TeacherName,b.UnitPrice
GROUP BY b.TeacherId,t.TeacherName,b.UnitPrice,s.SId
";
return Get<RB_Teaching_BonusDetail_ViewModel>(sql).ToList();
}
......
using Edu.Common.Enum;
using Edu.Model.Entity.WeChat;
using Edu.Model.ViewModel.WeChat;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB;
using VT.FW.DB.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 企业微信客户操作仓储层
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_WeChat_CustomerConfigRepository : BaseRepository<RB_WeChat_CustomerConfig>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_WeChat_CustomerConfig_ViewModel> GetList(RB_WeChat_CustomerConfig_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_WeChat_CustomerConfig_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerConfig_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
string sql = $@"
SELECT * From RB_WeChat_CustomerConfig r
WHERE {where}
ORDER BY r.Id DESC ";
return Get<RB_WeChat_CustomerConfig_ViewModel>(sql, parameters).ToList();
}
}
}
......@@ -42,6 +42,18 @@ namespace Edu.Repository.WeChat
{
where += $@" and r.{nameof(RB_WeChat_CustomerInfo_ViewModel.FriendState)} ={demodel.FriendState}";
}
if (demodel.CustomerState > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerInfo_ViewModel.CustomerState)} ={demodel.CustomerState}";
}
if (demodel.ClueState > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerInfo_ViewModel.ClueState)} ={demodel.ClueState}";
}
if (demodel.AllotState > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerInfo_ViewModel.AllotState)} ={demodel.AllotState}";
}
if (demodel.StageId > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerInfo_ViewModel.StageId)} ={demodel.StageId}";
......@@ -243,23 +255,25 @@ namespace Edu.Repository.WeChat
where += ")";
break;
case 3://日期
List<string> vList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(item.StartValue);
string vstr = "'" + string.Join("','", vList) + "'";
if (item.IsCustom == 1)
{
where += $@" r.CustomContent -> '$.{item.Name}' ='{item.StartValue}' ";
where += $@" r.CustomContent -> '$.{item.Name}' in({vstr}) ";
}
else
{
where += $@" r.{item.Name} ='{item.StartValue}' ";
where += $@" r.{item.Name} in({vstr}) ";
}
break;
case 4://日期范围
if (item.IsCustom == 1)
{
where += $@" r.CustomContent -> '$.{item.Name}' >='{item.StartValue}' and r.CustomContent -> '$.{item.Name}' <='{item.EndValue}' ";
where += $@" r.CustomContent -> '$.{item.Name}' >='{item.StartValue}' and r.CustomContent -> '$.{item.Name}' <='{item.EndValue} 23:59:59' ";
}
else
{
where += $@" r.{item.Name} >='{item.StartValue}' and r.{item.Name} <='{item.EndValue}' ";
where += $@" r.{item.Name} >='{item.StartValue}' and r.{item.Name} <='{item.EndValue} 23:59:59' ";
}
break;
case 5://数值
......@@ -381,6 +395,10 @@ ORDER BY {orderByStr} ";
{
where += $@" and r.{nameof(RB_WeChat_CustomerInfo_ViewModel.IsPublic)} ={demodel.IsPublic}";
}
if (demodel.CustomerState > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerInfo_ViewModel.CustomerState)} ={demodel.CustomerState}";
}
if (demodel.StageId > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerInfo_ViewModel.StageId)} ={demodel.StageId}";
......
......@@ -266,6 +266,7 @@ namespace Edu.WebApi.Controllers.Course
Date = x.Date.ToString("yyyyMMdd"),
x.TeacherId,
x.TeacherName,
x.SName,
x.ClassId,
x.ClassName,
x.ClassNo,
......@@ -276,15 +277,19 @@ namespace Edu.WebApi.Controllers.Course
x.CheckInNum,
x.Money
}),
Statistics = slit.Select(x => new
{
x.TeacherId,
x.TeacherName,
x.UnitPrice,
x.CourseHour,
x.DCourseHour,
x.DeductionHour,
x.Money
Statistics = slit.GroupBy(x => x.SName).Select(x => new
{
x.Key,
TeacherList = x.Select(y => new
{
y.TeacherId,
y.TeacherName,
y.UnitPrice,
y.CourseHour,
y.DCourseHour,
y.DeductionHour,
y.Money
})
})
});
}
......@@ -311,6 +316,7 @@ namespace Edu.WebApi.Controllers.Course
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: "日期") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "老师") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "校区") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "班号") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "班级") { CellWidth = 25, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "类型") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
......@@ -335,6 +341,7 @@ namespace Edu.WebApi.Controllers.Course
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: item.Date.ToString("yyyyMMdd")){ },
new ExcelColumn(value: item.TeacherName){ },
new ExcelColumn(value: item.SName){ },
new ExcelColumn(value: item.ClassNo){ },
new ExcelColumn(value: item.ClassName){ },
new ExcelColumn(value: item.Type==1?"带班":"代课"){ },
......@@ -367,6 +374,7 @@ namespace Edu.WebApi.Controllers.Course
datarows = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: "校区"){ },
new ExcelColumn(value: "老师"){ },
new ExcelColumn(value: "基础课时"){ },
new ExcelColumn(value: "带班课时"){ },
......@@ -385,6 +393,7 @@ namespace Edu.WebApi.Controllers.Course
datarows = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: item.SName){ },
new ExcelColumn(value: item.TeacherName){ },
new ExcelColumn(value: item.DeductionHour.ToString()){ },
new ExcelColumn(value: item.CourseHour.ToString()){ },
......
......@@ -1649,6 +1649,7 @@ namespace Edu.WebApi.Controllers.Finance
x.TimeBucket,
x.TeacherId,
x.TeacherName,
x.SName,
x.ClassId,
x.ClassName,
x.ClassNo,
......@@ -1678,6 +1679,7 @@ namespace Edu.WebApi.Controllers.Finance
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:"上课日期"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"上课时间段"){CellWidth=20,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"校区"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"班级编号"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"班级"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"课程"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment