Commit 35ac9e84 authored by liudong1993's avatar liudong1993

解决冲突

parents 671f0dc7 9007e532
......@@ -9,6 +9,9 @@ namespace Edu.Model.ViewModel.User
[Serializable]
public class RB_Dictvalue_Extend : RB_Dictvalue
{
/// <summary>
/// ֵKey
/// </summary>
public string QDictKeys { get; set; }
}
}
\ No newline at end of file
......@@ -294,6 +294,11 @@ namespace Edu.Model.ViewModel.User
/// </summary>
public List<int> CreateIds { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string QCreateBys { get; set; }
/// <summary>
/// 课程图标
/// </summary>
......
......@@ -1087,6 +1087,120 @@ namespace Edu.Module.Course
bool flag = chapterRepository.Update(fileds, new WhereHelper(nameof(RB_Course_Chapter_ViewModel.ChapterId), ChapterId));
return flag;
}
/// <summary>
/// 重新更新课程章节
/// </summary>
public void RunCourseChapterModule()
{
var courseList = chapterRepository.GetCourseChapterListExtRepository();
if (courseList != null && courseList.Count > 0)
{
foreach (var item in courseList)
{
//if (item.CourseId != 97)
//{
// continue;
//}
List<RB_Course_Chapter_ViewModel> result = new List<RB_Course_Chapter_ViewModel>();
var chapterQuery = new RB_Course_Chapter_ViewModel() { CourseId = item.CourseId };
var sourceList = GetChapterListModule(chapterQuery);
var treeList= GetChapterTreeListModule(chapterQuery);
if (treeList != null && treeList.Count>0)
{
foreach (var tItem in treeList)
{
var rootModel= sourceList.Where(qitem => qitem.ChapterId == tItem.ChapterId).FirstOrDefault();
rootModel.ChapterId = 0;
if (tItem.ChildList == null || (tItem.ChildList != null && tItem.ChildList.Count == 0))
{
var rootModel1 = JsonHelper.DeserializeObject<RB_Course_Chapter_ViewModel>(JsonHelper.Serialize(rootModel));
rootModel1.ChapterName += "(1)";
rootModel1.StudyHours = 2;
rootModel1.StudyMinutes = 90;
rootModel1.ChapterId = 0;
result.Add(rootModel1);
var rootModel2 = JsonHelper.DeserializeObject<RB_Course_Chapter_ViewModel>(JsonHelper.Serialize(rootModel));
rootModel2.ChapterName += "(2)";
rootModel2.StudyHours = 2;
rootModel2.StudyMinutes = 90;
rootModel1.ChapterId = 0;
result.Add(rootModel2);
}
else
{
var tempList = new List<RB_Course_Chapter_ViewModel>();
GetCourseChildList(tItem, sourceList,tempList);
if (tempList != null)
{
result.AddRange(tempList);
}
}
}
}
if (result != null && result.Count > 0)
{
int index = 1;
foreach (var sItem in result)
{
sItem.SortNum = index;
sItem.ChapterNo = index.ToString();
string pattern = @"第[一二三四五六七八九十]次课";
string newStr = Regex.Replace(sItem.ChapterName, pattern, "");
string newTitle = string.Format("第{0}次课", new WordToNumHelper().NumToChinese(index.ToString())) + " " + newStr.Trim();
sItem.ChapterName = newTitle;
index++;
}
chapterRepository.DeleteByCourseIdRepository(item.CourseId);
chapterRepository.SetBatchInsertCourseChapterRepository(result);
}
//string str = Common.Plugin.JsonHelper.Serialize(result);
}
}
}
/// <summary>
/// 获取课程章节列表
/// </summary>
/// <param name="treeList"></param>
/// <param name="chapterList"></param>
public void GetCourseChildList(ChapterTree_ViewModel item,List<RB_Course_Chapter_ViewModel> sourceList,List<RB_Course_Chapter_ViewModel> resultList)
{
if (item != null )
{
if (item.ChildList != null && item.ChildList.Count > 0)
{
foreach (var subItem in item.ChildList)
{
if (subItem.ChildList == null || (subItem.ChildList != null && subItem.ChildList.Count == 0))
{
var tempModel = sourceList?.Where(qitem => qitem.ChapterId == subItem.ChapterId)?.FirstOrDefault();
if (tempModel != null)
{
string newName= item.ChapterName + " " + tempModel.ChapterName;
string pattern = @"第[一二三四五六七八九十]*次课";
newName = Regex.Replace(newName, pattern, "");
string pattern2 = @"第[一二三四五六七八九十]*课";
newName = Regex.Replace(newName, pattern2, "");
tempModel.ChapterName = newName;
tempModel.StudyHours = 2;
tempModel.StudyMinutes = 90;
tempModel.ParentId = 0;
tempModel.ChapterId = 0;
resultList.Add(tempModel);
}
}
else
{
GetCourseChildList(subItem, sourceList, resultList);
}
}
}
}
}
#endregion
#region 课程讨论管理
......
......@@ -1659,6 +1659,8 @@ namespace Edu.Module.Course
message = "应收总额不正确";
return flag;
}
string LogContent = "";//日志内容
string SaleRemark = "";//销售备注
if (demodel.OrderId > 0)
{
var orderModel = orderRepository.GetEntity(demodel.OrderId);
......@@ -1688,7 +1690,7 @@ namespace Edu.Module.Course
if (flag)
{
//记录日志信息
string LogContent = $"修改留学就业订单【{demodel.OrderId}】";
LogContent += $"修改留学就业订单【{demodel.OrderId}】";
if (orderModel.GuestNum != demodel.GuestNum)
{
LogContent += $",人数由【{orderModel.GuestNum}】修改为【{demodel.GuestNum}】";
......@@ -1713,31 +1715,14 @@ namespace Edu.Module.Course
if (orderModel.SaleRemark != demodel.SaleRemark)
{
LogContent += $",销售备注由【{orderModel.SaleRemark}】修改为【{demodel.SaleRemark}】";
order_RemarkRepository.Insert(new RB_Order_Remark()
{
Id = 0,
Content = demodel.SaleRemark,
CreateBy = demodel.CreateBy,
CreateTime = DateTime.Now,
OrderId = demodel.OrderId,
Type = 1
});
SaleRemark = demodel.SaleRemark;
}
changeLogRepository.Insert(new Model.Entity.Log.RB_User_ChangeLog()
{
Id = 0,
Type = 2,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
Group_Id = userInfo.Group_Id,
LogContent = LogContent,
School_Id = userInfo.School_Id,
SourceId = demodel.OrderId
});
}
}
else
{
LogContent = "新增留学就业订单";
SaleRemark= demodel.SaleRemark;
if (studyModel.SaleState != Common.Enum.Sale.SaleStateEnum.Sell)
{
flag = false;
......@@ -1745,36 +1730,96 @@ namespace Edu.Module.Course
return flag;
}
int OrderId = orderRepository.Insert(demodel);
demodel.OrderId = OrderId;
flag = OrderId > 0;
if (flag)
}
//添加学员
if (!string.IsNullOrEmpty(demodel.StuIds))
{
//查询学生列表
var StuList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel() { Group_Id = demodel.Group_Id, StuIds = demodel.StuIds, School_Id = -1 });
foreach (var item in StuList)
{
//记录订单备注
if (!string.IsNullOrEmpty(demodel.SaleRemark))
{
order_RemarkRepository.Insert(new RB_Order_Remark()
{
Id = 0,
Content = demodel.SaleRemark,
CreateBy = demodel.CreateBy,
CreateTime = DateTime.Now,
OrderId = OrderId,
Type = 1
});
}
//记录日志信息
changeLogRepository.Insert(new Model.Entity.Log.RB_User_ChangeLog()
var guestModel = new RB_Order_Guest_ViewModel()
{
Id = 0,
Type = 2,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
Group_Id = userInfo.Group_Id,
LogContent = "新增留学就业订单",
School_Id = userInfo.School_Id,
SourceId = OrderId
});
OrderId = demodel.OrderId,
ClassId = 0,
GuestName = item.StuName,
GuestState = GuestStateEnum.Normal,
Profession = item?.StuProfession ?? "",
Sex = (item?.StuSex ?? 1) + 1,
Age = item.StuBirth.HasValue ? DateTime.Now.Year - item.StuBirth.Value.Year : 18,
Mobile = item?.StuTel ?? "",
Basics = "",
Education = item?.StuEducation ?? GuestEducationEnum.N2,
GuestSource = demodel.OrderSource,
LearningGoals = item?.StuPurpose ?? 0,
Contact = item?.StuContract ?? "",
ContactMobile = item?.StuContractMobile ?? "",
Status = 0,
Group_Id = demodel.Group_Id,
School_Id = demodel.School_Id,
CreateBy = demodel.CreateBy,
CreateTime = demodel.CreateTime,
UpdateBy = demodel.UpdateBy,
UpdateTime = demodel.UpdateTime,
DropOutRemark = "",
IDCard = item?.StuIDCard ?? "",
Domicile = item?.StuIDCardAddress ?? "",
ContactAddress = item?.StuAddress ?? "",
SourceId = demodel.SourceId,
GraduatedSchool = "",
GraduatedMajor = "",
VolunteerMajor = "",
Price = 0,
StudyRemark = "",
CompleteHours = 0,
MakeUpHours = 0,
StuIcon = item.StuIcon,
TotalHours = 0,
RenewState = 1,
QQ = item.QQ,
WeChatNo = item.WeChatNo,
StudentId=item.StuId
};
SetOrderGuestInfo(guestModel, out string Nmessage);
}
}
#region 添加销售备注 和日志
//记录订单备注
if (!string.IsNullOrEmpty(SaleRemark))
{
order_RemarkRepository.Insert(new RB_Order_Remark()
{
Id = 0,
Content = demodel.SaleRemark,
CreateBy = demodel.CreateBy,
CreateTime = DateTime.Now,
OrderId = demodel.OrderId,
Type = 1
});
}
if (!string.IsNullOrEmpty(LogContent))
{
changeLogRepository.Insert(new Model.Entity.Log.RB_User_ChangeLog()
{
Id = 0,
Type = 2,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
Group_Id = userInfo.Group_Id,
LogContent = LogContent,
School_Id = userInfo.School_Id,
SourceId = demodel.OrderId
});
}
#endregion
//flag = false;
return flag;
}
......
......@@ -111,7 +111,8 @@ namespace Edu.Module.Customer
keyValues.Add(nameof(RB_Customer_Remit_Extend.RejectRemark), remark);
keyValues.Add(nameof(RB_Customer_Remit_Extend.RejectDate), DateTime.Now);
}
else {
else
{
return "状态有误,请核实后再试";
}
List<WhereHelper> wheres = new List<WhereHelper>() {
......@@ -122,7 +123,8 @@ namespace Edu.Module.Customer
}
};
bool flag = customer_RemitRepository.Update(keyValues, wheres);
if (flag) {
if (flag)
{
if (state == 1)
{
var cmodel = customerRepository.GetEntity(rmodel.CustomerId);
......@@ -188,18 +190,28 @@ namespace Edu.Module.Customer
clientBankAccountRepository.Update(keyValues1, wheres1);
}
}
var detailList = new List<object> { };
decimal TotalMoney = rmodel.AppliedMoney;
detailList.Add(new
//var detailList = new
//{
// fcmodel.CostTypeId,
// Number = 1,
// OriginalMoney = rmodel.AppliedMoney,
// UnitPrice = rmodel.AppliedMoney,
// Remark = "同业" + (rmodel.Type == 1 ? "佣金" : "幸福存折") + "提现:" + cmodel.CustomerName + "(" + cmodel.ContactNumber + ")"
//};
var detailList = new List<object>
{
fcmodel.CostTypeId,
Number = 1,
OriginalMoney = rmodel.AppliedMoney,
UnitPrice = rmodel.AppliedMoney,
Remark = "同业" + (rmodel.Type == 1 ? "佣金" : "幸福存折") + "提现:" + cmodel.CustomerName + "(" + cmodel.ContactNumber + ")"
});
new
{
fcmodel.CostTypeId,
Number = 1,
OriginalMoney = rmodel.AppliedMoney,
UnitPrice =rmodel.AppliedMoney,
Remark = "同业" + (rmodel.Type == 1 ? "佣金" : "幸福存折") + "提现:" + cmodel.CustomerName + "(" + cmodel.ContactNumber + ")"
}
};
string Remark = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "自动生成财务单据";
var financeObj = new
{
......@@ -272,7 +284,8 @@ namespace Edu.Module.Customer
}
#endregion
}
else if (state == 2) {
else if (state == 2)
{
//驳回的话 需要修改已提现状态
var urmodel = user_ReturnComissionRepository.GetList(new Model.ViewModel.User.RB_User_ReturnComission_ViewModel() { GroupId = userInfo.Group_Id, UserId = rmodel.CustomerId, UserType = Common.Enum.User.StuCreateTypeEnum.CustomerInput, CommissionType = rmodel.Type }).FirstOrDefault();
if (urmodel != null)
......@@ -305,7 +318,7 @@ namespace Edu.Module.Customer
}
}
return flag ? "" : "出错了,请联系管理员";
}
}
#endregion
......@@ -328,7 +341,8 @@ namespace Edu.Module.Customer
List = list.OrderBy(x => x.Sort).ToList()
};
}
else {
else
{
return new
{
Title = "",
......@@ -351,7 +365,8 @@ namespace Edu.Module.Customer
bool flag = b2B_SlideShowRepository.Insert(demodel) > 0;
return flag ? "" : "出错了,请联系管理员";
}
else {
else
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_B2B_SlideShow_Extend.Title), demodel.Title},
{ nameof(RB_B2B_SlideShow_Extend.SubTitle), demodel.SubTitle},
......
......@@ -16,6 +16,7 @@ using Edu.Cache.Customer;
using Edu.Repository.StudyAbroad;
using Edu.Model.ViewModel.StudyAbroad;
using Edu.Common.Enum.System;
using Newtonsoft.Json.Linq;
namespace Edu.Module.Customer
{
......@@ -799,87 +800,144 @@ namespace Edu.Module.Customer
return student_AssistRepository.Exists(list);
}
/// <summary>
/// 推送课程顾问
/// </summary>
/// <param name="studIds"></param>
/// <param name="uid"></param>
/// <returns></returns>
public (bool result, string msg) SetStudentAssistBatchModule(string studIds,int uid)
{
var tempList = studIds.Split(',', StringSplitOptions.RemoveEmptyEntries);
//语培推送配置
var pushKey = "PUSH_STU_UNION_EMP";
var pushRule = "PUSH_STU_RULETYPE";
if (tempList.Length > 0)
//留学就业类推送配置
string studyabroad = "PUSH_STU_STUDYABROAD";
//配置列表
var dicList = dictvalueRepository.GetList(new RB_Dictvalue_Extend()
{
var push = dictvalueRepository.GetList(new RB_Dictvalue_Extend() { DictKey = pushKey }).FirstOrDefault();
var rule = dictvalueRepository.GetList(new RB_Dictvalue_Extend() { DictKey = pushRule }).FirstOrDefault();
var guwen = push.Content.Split(',', StringSplitOptions.RemoveEmptyEntries);
var guwenName = push.Mask.Split(',', StringSplitOptions.RemoveEmptyEntries);
if (guwen.Length > 1)
QDictKeys = string.Format("'{0}','{1}','{2}'", pushKey, pushRule, studyabroad)
});
var stuList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel() { StuIds = studIds.TrimStart(',').TrimEnd(',') });
var push = dicList.Where(qitem => qitem.DictKey == pushKey).FirstOrDefault();
var rule = dicList.Where(qitem => qitem.DictKey == pushRule).FirstOrDefault();
var study= dicList.Where(qitem => qitem.DictKey == studyabroad).FirstOrDefault();
var mask = string.Empty;
if (stuList != null && stuList.Count > 0)
{
foreach (var item in stuList)
{
if (rule.Content.Equals("1"))
var model = new RB_Student_Assist_Extend()
{
var mask = string.Empty;
tempList.ToList().ForEach(x =>
{
Random ran = new Random();
var cur = ran.Next(0, guwen.Length - 1);
var model = new RB_Student_Assist_Extend()
{
Id = 0,
AssistId = int.Parse(guwen[cur]),
AssistType = Common.Enum.User.AssistTypeEnum.CourseAdviser,
StuId = int.Parse(x),
Status = Common.Enum.DateStateEnum.Normal
};
SetStudentAssistModule(int.Parse(x), model, uid);
mask += mask.Contains("," + guwenName[cur]) ? "" : "," + guwenName[cur];
});
return (true, "学员批量转课程顾问成功,已分别转给顾问:" + mask);
}
else
Id = 0,
AssistType = Common.Enum.User.AssistTypeEnum.CourseAdviser,
StuId = item.StuId,
Status = DateStateEnum.Normal
};
if (!string.IsNullOrEmpty(study.Content))
{
var mask = string.Empty;
tempList.ToList().ForEach(x =>
JArray jArray = JArray.Parse(study.Content);
if (jArray != null && jArray.Count > 0)
{
var cache = CustomerRedisCache.Get();
if (cache >= guwen.Length)
bool isExists = false;
RB_Dictvalue_Extend tempItem = null;
foreach (var jItem in jArray)
{
CustomerRedisCache.Set(1);
cache = 0;
JObject sObj = JObject.Parse(jItem.ToString());
if (!isExists&& sObj.GetStringValue("Code").Contains(item.StuNeeds.ToString()))
{
isExists = true;
tempItem = new RB_Dictvalue_Extend()
{
Content= sObj.GetStringValue("Content"),
Mask= sObj.GetStringValue("Mask"),
};
}
}
var model = new RB_Student_Assist_Extend()
if (isExists)
{
Id = 0,
AssistId = int.Parse(guwen[cache]),
AssistType = Common.Enum.User.AssistTypeEnum.CourseAdviser,
StuId = int.Parse(x),
Status = Common.Enum.DateStateEnum.Normal
};
SetStudentAssistModule(int.Parse(x), model, uid);
mask += mask.Contains("," + guwenName[cache]) ? "" : "," + guwenName[cache];
});
return (true, "学员批量转课程顾问成功,已分别转给顾问:" + mask);
mask += PushStudyManagerModule(tempItem, model, uid);
}
else
{
mask += PushCourseManagerModule(push, rule, model, uid);
}
}
}
}
else
{
tempList.ToList().ForEach(x =>
//语培客户分配规则
else
{
var model = new RB_Student_Assist_Extend()
{
Id = 0,
AssistId = int.Parse(guwen[0]),
AssistType = Common.Enum.User.AssistTypeEnum.CourseAdviser,
StuId = int.Parse(x),
Status = Common.Enum.DateStateEnum.Normal
};
SetStudentAssistModule(int.Parse(x), model, uid);
});
return (true, "学员批量转课程顾问成功,已全部转给顾问:" + push.Mask);
mask += PushCourseManagerModule(push, rule, model, uid);
}
}
return (true, "学员批量转课程顾问成功,已分别转给顾问:" + mask);
}
else
else
{
return (false, "未获取到学员信息");
}
}
/// <summary>
/// 推送学员给留学顾问
/// </summary>
/// <param name="study"></param>
/// <param name="model"></param>
/// <param name="uid"></param>
/// <returns></returns>
private string PushStudyManagerModule(RB_Dictvalue_Extend study, RB_Student_Assist_Extend model,int uid)
{
string mask = "";
var idArray = Common.ConvertHelper.StringToList(study.Content);
var nameArray = Common.ConvertHelper.StringToFileList(study.Mask);
if (idArray != null && idArray.Count > 0)
{
model.AssistId = idArray[0];
SetStudentAssistModule(model.StuId, model, uid);
mask += mask.Contains("," + nameArray[0]) ? "" : "," + nameArray[0];
}
return mask;
}
/// <summary>
/// 推送学员给普通课程顾问
/// </summary>
/// <param name="push"></param>
/// <param name="rule"></param>
/// <param name="model"></param>
/// <param name="uid"></param>
/// <param name="mask"></param>
private string PushCourseManagerModule(RB_Dictvalue_Extend push, RB_Dictvalue_Extend rule, RB_Student_Assist_Extend model,int uid)
{
string mask = "";
var guwen = push.Content.Split(',', StringSplitOptions.RemoveEmptyEntries);
var guwenName = push.Mask.Split(',', StringSplitOptions.RemoveEmptyEntries);
if (guwen.Length > 1)
{
if (rule.Content.Equals("1"))
{
Random ran = new Random();
var cur = ran.Next(0, guwen.Length - 1);
model.AssistId = int.Parse(guwen[cur]);
SetStudentAssistModule(model.StuId, model, uid);
mask += mask.Contains("," + guwenName[cur]) ? "" : "," + guwenName[cur];
}
else
{
var cache = CustomerRedisCache.Get();
if (cache >= guwen.Length)
{
CustomerRedisCache.Set(1);
cache = 0;
}
model.AssistId = int.Parse(guwen[cache]);
SetStudentAssistModule(model.StuId, model, uid);
mask += mask.Contains("," + guwenName[cache]) ? "" : "," + guwenName[cache];
}
}
return mask;
}
/// <summary>
/// 获取学员协助人员列表
/// </summary>
......
......@@ -66,6 +66,11 @@ namespace Edu.Module.User
return dictvalueRepository.Update(fileds, new WhereHelper(nameof(RB_Dictvalue_Extend.DictKey), Edu.Common.Config.Notice_BaseKey));
}
/// <summary>
/// 新增修改客户分配规则
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public (int saveType,bool result,int id) SaveDictModule(RB_Dictvalue model)
{
if (model.ID > 0)
......@@ -73,7 +78,8 @@ namespace Edu.Module.User
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Dictvalue_Extend.Content),model.Content },
{nameof(RB_Dictvalue_Extend.Mask),model.Mask }
{nameof(RB_Dictvalue_Extend.Mask),model.Mask },
{nameof(RB_Dictvalue_Extend.Code),model.Code },
};
var result = dictvalueRepository.Update(fileds, new WhereHelper(nameof(RB_Dictvalue_Extend.DictKey), model.DictKey));
return (1, result, model.ID);
......
......@@ -46,6 +46,16 @@ namespace Edu.Repository.Course
return Get<RB_Course_Chapter_ViewModel>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取有章节的课程编号
/// </summary>
/// <returns></returns>
public List<RB_Course_Chapter_ViewModel> GetCourseChapterListExtRepository()
{
string sql = " SELECT DISTINCT CourseId FROM rb_course_chapter WHERE Status=0 ORDER BY CourseId ";
return Get<RB_Course_Chapter_ViewModel>(sql).ToList();
}
/// <summary>
/// 批量插入
/// </summary>
......@@ -65,6 +75,18 @@ namespace Edu.Repository.Course
return base.Execute(builder.ToString()) > 0;
}
/// <summary>
/// 根据课程编号删除章节信息
/// </summary>
/// <param name="CourseId"></param>
/// <returns></returns>
public bool DeleteByCourseIdRepository(int CourseId)
{
string sql = " DELETE FROM rb_course_chapter WHERE CourseId=" + CourseId;
return base.Execute(sql) > 0;
}
/// <summary>
/// 批量更新编号
/// </summary>
......
......@@ -342,11 +342,16 @@ WHERE 1=1
//全部
if (query.BelongType == 1)
{
string tempCreateIds = query.CreateBy.ToString();
if (!string.IsNullOrEmpty(query.QCreateBys))
{
tempCreateIds += "," + query.QCreateBys;
}
builder.AppendFormat(@"
AND ( t.CreateBy={0}
OR t.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId={0} AND `Status`=0)
AND ( t.CreateBy IN({0})
OR t.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId IN({0}) AND `Status`=0)
)
", query.CreateBy);
", tempCreateIds.TrimStart(',').TrimEnd(','));
}
//我负责的
if (query.BelongType == 2 && query.CreateBy>0)
......@@ -405,12 +410,17 @@ WHERE 1=1
//有效客户
if (query.QStudentStatus == 1)
{
builder.AppendFormat(" AND t.{0}<>{1} ", nameof(RB_Student_ViewModel.StuStage), 7);
builder.AppendFormat(" AND t.StuStage<>{0} AND t.AdvisorStatus<>{1} ", 7, 7);
}
//无效客户
if (query.QStudentStatus == 2)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.StuStage), 7);
builder.AppendFormat(" AND (t.StuStage={0} OR t.AdvisorStatus={1}) ", 7, 7);
}
//渠道
if (query.StuChannel > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.StuChannel), query.StuChannel);
}
}
builder.AppendFormat(" ORDER BY t.{0} DESC ", nameof(RB_Student_ViewModel.StuId));
......
......@@ -28,7 +28,7 @@ SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,I
FROM RB_Student_OrderGuest AS A INNER JOIN rb_class AS B ON A.ClassId=B.ClassId
INNER JOIN rb_order AS C ON A.OrderId=C.OrderId
INNER JOIN rb_order_guest AS D ON A.GuestId=D.Id
WHERE 1=1 AND C.OrderState<>3
WHERE 1=1 AND C.OrderState<>3 AND D.Status=0
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
......@@ -73,10 +73,10 @@ WHERE 1=1 AND C.OrderState<>3
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.JoinType,0) AS StuJoinType,IFNULL(D.GuestState,0) AS StuGuestState
,C.OrderState,IFNULL(D.TotalHours,0) AS TotalHours,IFNULL(D.CompleteHours,0) AS CompleteHours,IFNULL(B.ClassStatus,0) AS ClassStatus,IFNULL(D.RenewState,0) AS RenewState
FROM RB_Student_OrderGuest AS A INNER JOIN rb_class AS B ON A.ClassId=B.ClassId
INNER JOIN rb_order AS C ON A.OrderId=C.OrderId
FROM RB_Student_OrderGuest AS A INNER JOIN rb_order AS C ON A.OrderId=C.OrderId
INNER JOIN rb_order_guest AS D ON A.GuestId=D.Id
WHERE 1=1 AND C.OrderState<>3
LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
WHERE 1=1 AND C.OrderState<>3 AND D.Status=0
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Status), (int)DateStateEnum.Normal);
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Status), (int)DateStateEnum.Normal);
......@@ -134,7 +134,7 @@ FROM RB_Student_OrderGuest AS A INNER JOIN rb_order AS C ON A.OrderId=C.OrderId
INNER JOIN rb_order_guest AS D ON A.GuestId=D.Id
LEFT JOIN rb_course AS E ON c.CourseId=E.CourseId
LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
WHERE 1=1 AND C.OrderState<>3
WHERE 1=1 AND C.OrderState<>3 AND D.Status=0
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
......
......@@ -94,19 +94,19 @@ WHERE 1=1
string where = $@" 1=1";
if (dmodel.GroupId > 0)
{
where += $@" {nameof(RB_User_ReturnComission_ViewModel.GroupId)} ={dmodel.GroupId}";
where += $@" AND {nameof(RB_User_ReturnComission_ViewModel.GroupId)} ={dmodel.GroupId}";
}
if (dmodel.UserId > 0)
{
where += $@" {nameof(RB_User_ReturnComission_ViewModel.UserId)} ={dmodel.UserId}";
where += $@" AND {nameof(RB_User_ReturnComission_ViewModel.UserId)} ={dmodel.UserId}";
}
if (dmodel.UserType > 0)
{
where += $@" {nameof(RB_User_ReturnComission_ViewModel.UserType)} ={(int)dmodel.UserType}";
where += $@" AND {nameof(RB_User_ReturnComission_ViewModel.UserType)} ={(int)dmodel.UserType}";
}
if (dmodel.CommissionType > 0)
{
where += $@" {nameof(RB_User_ReturnComission_ViewModel.CommissionType)} ={dmodel.CommissionType}";
where += $@" AND {nameof(RB_User_ReturnComission_ViewModel.CommissionType)} ={dmodel.CommissionType}";
}
string sql = $@"select * from RB_User_ReturnCommission where {where}";
......
......@@ -78,6 +78,10 @@ namespace Edu.Repository.User
{
sb.AppendFormat(" AND {0}='{1}' ", nameof(RB_Dictvalue_Extend.DictKey), where.DictKey.Trim());
}
if (!string.IsNullOrEmpty(where.QDictKeys))
{
sb.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Dictvalue_Extend.DictKey), where.QDictKeys.Trim());
}
}
return Get<RB_Dictvalue_Extend>(sb.ToString()).ToList();
}
......
......@@ -553,7 +553,7 @@ namespace Edu.WebApi.Controllers.Course
StuIds = base.ParmJObj.GetStringValue("StuIds"),
OrderIdentify = base.ParmJObj.GetInt("OrderIdentify"),
CourseConsultantId = base.ParmJObj.GetInt("CourseConsultantId"),
EnterID = base.ParmJObj.GetInt("EnterID"),
EnterID = base.ParmJObj.GetInt("EnterId"),
ScrollSchoolId = base.ParmJObj.GetInt("ScrollSchoolId")
};
var IsInsertClass = base.ParmJObj.GetInt("IsChaBan");
......@@ -600,7 +600,7 @@ namespace Edu.WebApi.Controllers.Course
demodel.School_Id = userInfo.School_Id;
demodel.Dept_Id = userInfo.DeptId;
demodel.OrderForm = OrderFormEnum.Computer;
if (demodel.OrderIdentify != 2)
if (demodel.OrderType== OrderTypeEnum.CourseOrder && demodel.OrderIdentify != 2)
{
demodel.EnterID = userInfo.Id; //由前端传递了, 可能会不存在 (此字段为市场人员)
}
......
......@@ -34,10 +34,7 @@ namespace Edu.WebApi.Controllers.Course
/// 财务配置
/// </summary>
private readonly EducationContractModule educationContractModule = new EducationContractModule();
/// <summary>
/// 提现
/// </summary>
private readonly Module.Customer.CustomerRemitModule customerRemitModule = new Module.Customer.CustomerRemitModule();
#region 获取首页返佣
/// <summary>
......@@ -125,6 +122,10 @@ namespace Edu.WebApi.Controllers.Course
}
var list = customerCommissionModule.GetCommissionUserList(dmodel);
if (dmodel.UserDept > 0)
{
list = list.Where(x => x.UserDept == dmodel.UserDept).ToList();
}
return ApiResult.Success("", list.Select(x => new
{
x.SchoolId,
......@@ -342,12 +343,12 @@ namespace Edu.WebApi.Controllers.Course
var deptObj = new
{
ID = 0,
UnitPrice = Math.Round((itemDept.CommissionMoeny / itemDept.StudentCount), 2, MidpointRounding.AwayFromZero),
UnitPrice = itemDept.CommissionMoeny,
UnitPriceTo = "",
Number = itemDept.StudentCount,
Number = 1,
Rate = 1,
CostTypeId = financeConfig.CostTypeId,//配置信息
CurrencyId = financeConfig.CurrencyId,
financeConfig.CostTypeId,//配置信息
financeConfig.CurrencyId,
Remark = itemDept.UserName + "的提成,学生数:" + itemDept.StudentCount + ",总提成:" + itemDept.CommissionMoeny,
CostTypeName = "",//费用名称
yTotalPrice = itemDept.CommissionMoeny,
......@@ -375,6 +376,9 @@ namespace Edu.WebApi.Controllers.Course
RB_Depart_Id = deptItem.Key,
Money = 0,
PayMoney = 0,
OtherType = 53,
ReFinanceId2 = deptItem.Key,
ReFinanceId = tempList.FirstOrDefault().BatchId,
Status = 1,
Fee = 0,
IsPublic = 1,//配置信息
......
......@@ -402,7 +402,8 @@ namespace Edu.WebApi.Controllers.Customer
item.CompleteHours,
item.GuestName,
item.CourseName,
item.ClassScrollType
item.ClassScrollType,
item.OrderType,
});
}
pageModel.Count = rowsCount;
......@@ -934,13 +935,10 @@ namespace Edu.WebApi.Controllers.Customer
List<object> list = new List<object>();
foreach (var item in data)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
list.Add(new
{
item.Id,
item.Name,
CreateByName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
});
}
return ApiResult.Success(data: list);
......
......@@ -174,17 +174,17 @@ namespace Edu.WebApi.Controllers.LearningGarden
Cache.WeChat.WeChatReidsCache2.Set(tokenKey, token);
}
var resultTotalCount = HttpHelper.HttpGet("https://api.weixin.qq.com/cgi-bin/material/get_materialcount?access_token=" + token);
Common.Plugin.LogHelper.WriteInfo("GetGoodsData: " + resultTotalCount);
JObject parm = JObject.Parse(resultTotalCount);
//var resultTotalCount = HttpHelper.HttpGet("https://api.weixin.qq.com/cgi-bin/material/get_materialcount?access_token=" + token);
//Common.Plugin.LogHelper.WriteInfo("GetGoodsData: " + resultTotalCount);
//JObject parm = JObject.Parse(resultTotalCount);
List<WeChatLearningGardenItem> allList = new List<WeChatLearningGardenItem>();
pageCount = parm.GetInt("news_count");//图文总数
//pageCount = parm.GetInt("news_count");//图文总数
int dataCount = 1;
while (dataCount>0)
{
string dt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
var tempImgList = GetGoodsList(pageIndex, pageSize);
var tempImgList = GetFreePublishList(pageIndex, pageSize); //GetGoodsList(pageIndex, pageSize);
if (tempImgList != null && tempImgList.Any())
{
allList.AddRange(tempImgList);
......
......@@ -56,11 +56,14 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
private readonly DepartmentModule departmentModule = new DepartmentModule();
private readonly CourseModule courseModule = new CourseModule();
[HttpGet]
[HttpPost]
[AllowAnonymous]
public ApiResult Test()
{
courseModule.RunCourseChapterModule();
return ApiResult.Success();
}
......
......@@ -222,7 +222,7 @@ namespace Edu.WebApi.Controllers.User
var columns = new List<ExcelColumn>
{
new ExcelColumn(dObj.GetStringValue("StuName")),
new ExcelColumn(dObj.GetStringValue("StuRealMobile")),
new ExcelColumn(dObj.GetStringValue("StuTel")),
};
string courseManager = "";
string teacherNamager = "";
......@@ -449,7 +449,7 @@ namespace Edu.WebApi.Controllers.User
columns.Add(new ExcelColumn(EnrollState));
columns.Add(new ExcelColumn(dObj.GetStringValue("AssistName")));
columns.Add(new ExcelColumn(dObj.GetStringValue("StuBirthStr")));
columns.Add(new ExcelColumn(dObj.GetStringValue("StuRealMobile")));
columns.Add(new ExcelColumn(dObj.GetStringValue("StuTel")));
columns.Add(new ExcelColumn(dObj.GetStringValue("StuAddress")));
columns.Add(new ExcelColumn(dObj.GetStringValue("StuChannelName")));
columns.Add(new ExcelColumn(dObj.GetStringValue("JapanBaseInfo")));
......
......@@ -143,7 +143,15 @@ namespace Edu.WebApi.Controllers.User
public ApiResult SaveDict()
{
UserInfo userInfo = base.UserInfo;
var model = JsonConvert.DeserializeObject<RB_Dictvalue_Extend>(RequestParm.Msg.ToString());
var model = new RB_Dictvalue_Extend()
{
ID = base.ParmJObj.GetInt("ID"),
Code = base.ParmJObj.GetStringValue("Code"),
Content = base.ParmJObj.GetStringValue("Content"),
DictKey = base.ParmJObj.GetStringValue("DictKey"),
Mask = base.ParmJObj.GetStringValue("Mask"),
Name = base.ParmJObj.GetStringValue("Name"),
};
model.RB_Group_id = userInfo.Group_Id;
model.RB_Branch_id = userInfo.School_Id;
model.UpdateBy = userInfo.Id;
......@@ -155,6 +163,18 @@ namespace Edu.WebApi.Controllers.User
return saveInfo.result ? ApiResult.Success("请求成功!", saveInfo.id) : ApiResult.Failed("请求失败!");
}
/// <summary>
/// 获取实体类
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDictvalue()
{
string Key = base.ParmJObj.GetStringValue("Key");
var model= attendancemodule.GetDictValueList(base.UserInfo.Group_Id, Key)?.FirstOrDefault();
return ApiResult.Success(data: model);
}
/// <summary>
/// 获取公告设置字典实体
/// </summary>
......
......@@ -18,6 +18,7 @@ using Edu.Module.Course;
using Edu.Module.Customer;
using Edu.Module.Duty;
using Edu.Module.Log;
using Edu.Module.OKR;
using Edu.Module.User;
using Edu.ThirdCore.TenCloud;
using Edu.WebApi.Filter;
......@@ -107,6 +108,11 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
private readonly DutyPlanModule dutyPlanModule = AOP.AOPHelper.CreateAOPObject<DutyPlanModule>();
/// <summary>
/// OKR处理类
/// </summary>
private readonly OKRPeriodModule okrPeriodModule = new OKRPeriodModule();
#region 用户账户管理
/// <summary>
......@@ -682,17 +688,36 @@ namespace Edu.WebApi.Controllers.User
CategoryId=base.ParmJObj.GetInt("CategoryId"),
QStudentStatus=base.ParmJObj.GetInt("QStudentStatus"),
AdvisorStatus=base.ParmJObj.GetInt("AdvisorStatus"),
StuChannel=base.ParmJObj.GetInt("StuChannel"),
};
if (query.IsQueryMyStu == 1)
{
query.CreateBy = base.UserInfo.Id;
}
string CreateIds = base.ParmJObj.GetStringValue("CreateIds");
if (!string.IsNullOrEmpty(CreateIds))
{
query.CreateIds = Common.Plugin.JsonHelper.DeserializeObject<List<int>>(CreateIds);
}
if (query.BelongType == 1)
{
var tempList= okrPeriodModule.GetOKRPersonalDimensionListModule(base.UserInfo.Group_Id, base.UserInfo.Id, base.UserInfo.DeptId);
string QCreateBys = "";
if (tempList != null && tempList.Count > 0)
{
foreach (var jItem in tempList)
{
JObject jObj = JObject.Parse(JsonHelper.Serialize(jItem));
QCreateBys += jObj.GetStringValue("Id")+",";
}
}
if (!string.IsNullOrEmpty(QCreateBys))
{
query.QCreateBys = QCreateBys.TrimStart(',').TrimEnd(',');
}
}
int PlanId = base.ParmJObj.GetInt("PlanId");
if (PlanId > 0)
......
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