Commit 0767bd93 authored by 黄奎's avatar 黄奎

页面修改

parent 238a463d
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.StudyAbroad
{
/// <summary>
/// 留学就业类型实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Studyabroad_Type
{
/// <summary>
/// 留学就业类型编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 留学就业类型名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 类型(1-留学,2-就业)
/// </summary>
public int Type { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Num { get; set; }
/// <summary>
/// 国家编号
/// </summary>
public int CountryId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_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>
/// 删除状态(0-正常,1-禁用)
/// </summary>
public DateStateEnum Status { get; set; }
}
}
using Edu.Model.Entity.StudyAbroad;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.StudyAbroad
{
/// <summary>
/// 留学就业类型扩展实体类
/// </summary>
public class RB_Studyabroad_Type_Extend : RB_Studyabroad_Type
{
/// <summary>
/// 创建人
/// </summary>
public string CreateByName { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateByName { get; set; }
}
}
using Edu.AOP.CustomerAttribute;
using Edu.Common.Enum;
using Edu.Common.Enum.Sale;
using Edu.Model.CacheModel;
using Edu.Model.ViewModel.Sell;
......@@ -41,6 +42,11 @@ namespace Edu.Module.StudyAbroad
/// </summary>
private readonly RB_DestinationRepository destinationRepository = new RB_DestinationRepository();
/// <summary>
/// 留学就业类型仓储层对象
/// </summary>
private readonly RB_Studyabroad_TypeRepository studyabroad_TypeRepository = new RB_Studyabroad_TypeRepository();
/// <summary>
/// 获取留学就业分页列表
/// </summary>
......@@ -51,7 +57,7 @@ namespace Edu.Module.StudyAbroad
/// <returns></returns>
public List<RB_StudyAbroad_ViewModel> GetStudyAbroadPageModule(int pageIndex, int pageSize, out long rowsCount, RB_StudyAbroad_ViewModel query)
{
var list= studyAbroadRepository.GetStudyAbroadPageRepository(pageIndex, pageSize, out rowsCount, query);
var list = studyAbroadRepository.GetStudyAbroadPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
string ids = string.Join(",", list.Select(qitem => qitem.Id));
......@@ -59,7 +65,7 @@ namespace Edu.Module.StudyAbroad
List<RB_StudyaBroad_Preferential_ViewModel> preferentialList = new List<RB_StudyaBroad_Preferential_ViewModel>();
if (query.IsQPrice == 1)
{
preferentialList= GetStudyaBroadPreferentialListModule(new RB_StudyaBroad_Preferential_ViewModel()
preferentialList = GetStudyaBroadPreferentialListModule(new RB_StudyaBroad_Preferential_ViewModel()
{
QStudyabroadIds = ids
});
......@@ -67,12 +73,12 @@ namespace Edu.Module.StudyAbroad
List<RB_Destination_ViewModel> areaList = new List<RB_Destination_ViewModel>();
if (!string.IsNullOrEmpty(countryIds))
{
areaList= destinationRepository.GetDestinationListRepository(new RB_Destination_ViewModel()
areaList = destinationRepository.GetDestinationListRepository(new RB_Destination_ViewModel()
{
Ids = countryIds
});
}
foreach (var item in list)
{
item.StudyCountryName = areaList?.Where(qitem => qitem.ID == item.StudyCountryId)?.FirstOrDefault()?.Name ?? "";
......@@ -120,7 +126,7 @@ namespace Edu.Module.StudyAbroad
/// <returns></returns>
public List<RB_StudyAbroad_ViewModel> GetStudyAbroadListModule(RB_StudyAbroad_ViewModel query)
{
var list= studyAbroadRepository.GetStudyAbroadListRepository(query);
var list = studyAbroadRepository.GetStudyAbroadListRepository(query);
if (list != null && list.Count > 0)
{
string ids = string.Join(",", list.Select(qitem => qitem.Id));
......@@ -185,7 +191,7 @@ namespace Edu.Module.StudyAbroad
return flag;
}
/// <summary>
/// 批量新增修改留学就业优惠信息
/// </summary>
......@@ -204,7 +210,7 @@ namespace Edu.Module.StudyAbroad
};
flag = studyAbroadRepository.Update(fileds, new WhereHelper(nameof(RB_StudyAbroad_ViewModel.Id), model.Id));
}
var oldList = GetStudyaBroadPreferentialListModule(new RB_StudyaBroad_Preferential_ViewModel() { StudyabroadId=model.Id });
var oldList = GetStudyaBroadPreferentialListModule(new RB_StudyaBroad_Preferential_ViewModel() { StudyabroadId = model.Id });
//原来没有优惠数据
if (oldList == null || (oldList != null && oldList.Count == 0))
{
......@@ -252,7 +258,7 @@ namespace Edu.Module.StudyAbroad
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_StudyAbroad_ViewModel GetStudyAbroadModule(int Id,int IsGetPrice=0)
public RB_StudyAbroad_ViewModel GetStudyAbroadModule(int Id, int IsGetPrice = 0)
{
var model = studyAbroadRepository.GetStudyAbroadListExtRepository(new RB_StudyAbroad_ViewModel()
{
......@@ -275,7 +281,7 @@ namespace Edu.Module.StudyAbroad
/// <param name="Id">供应商编号</param>
/// <param name="Status">状态(0-正常,1-删除)</param>
/// <returns></returns>
public bool RemoveStudyAbroadModule(int Id, int Status,out string message)
public bool RemoveStudyAbroadModule(int Id, int Status, out string message)
{
message = "";
var orderList = orderRepository.GetStudyOrderPageListRepository(1, 1, out _, new RB_Order_ViewModel()
......@@ -301,7 +307,7 @@ namespace Edu.Module.StudyAbroad
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool SetSaleStateModule(int Id,int SaleState)
public bool SetSaleStateModule(int Id, int SaleState)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
......@@ -438,5 +444,90 @@ namespace Edu.Module.StudyAbroad
bool flag = studyAbroadRepository.Update(keyValues, wheres);
return flag ? "" : "出错了,请联系管理员";
}
#region 留学就业类型
/// <summary>
/// 获取留学就业类型分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Studyabroad_Type_Extend> GetStudyabroadTypePageModule(int pageIndex, int pageSize, out long rowsCount, RB_Studyabroad_Type_Extend query)
{
var list = studyabroad_TypeRepository.GetStudyabroadTypePageRepository(pageIndex, pageSize, out rowsCount, query);
return list;
}
/// <summary>
/// 获取留学就业类型列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Studyabroad_Type_Extend> GetStudyabroadTypeListModule(RB_Studyabroad_Type_Extend query)
{
var list = studyabroad_TypeRepository.GetStudyabroadTypeListRepository(query);
return list;
}
/// <summary>
/// 新增修改留学就业类型
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetStudyabroadTypeModule(RB_Studyabroad_Type_Extend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Studyabroad_Type_Extend.Name),model.Name },
{nameof(RB_Studyabroad_Type_Extend.Num),model.Num },
{nameof(RB_Studyabroad_Type_Extend.Type),model.Type },
{nameof(RB_Studyabroad_Type_Extend.UpdateBy),model.UpdateBy },
{nameof(RB_Studyabroad_Type_Extend.UpdateTime),model.UpdateTime },
{nameof(RB_Studyabroad_Type_Extend.CountryId),model.CountryId },
};
flag = studyabroad_TypeRepository.Update(fileds, new WhereHelper(nameof(RB_Studyabroad_Type_Extend.Id), model.Id));
}
else
{
var newId = studyabroad_TypeRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 根据编号获取类型实体
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Studyabroad_Type_Extend GetStudyabroadTypeModule(object Id)
{
var extModel = studyabroad_TypeRepository.GetEntity<RB_Studyabroad_Type_Extend>(Id);
return extModel;
}
/// <summary>
/// 根据编号删除留学就业类型
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemoveStudyabroadTypeModule(object Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Studyabroad_Type_Extend.Status),(int)DateStateEnum.Delete },
};
bool flag = studyabroad_TypeRepository.Update(fileds, new WhereHelper(nameof(RB_Studyabroad_Type_Extend.Id), Id));
return flag;
}
#endregion
}
}
......@@ -27,7 +27,7 @@ namespace Edu.Module.User
/// <summary>
/// 学生仓储层对象
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 学员订单关联表仓储层
/// </summary>
......@@ -57,6 +57,11 @@ namespace Edu.Module.User
/// </summary>
private readonly RB_ChannelRepository channelRepository = new RB_ChannelRepository();
/// <summary>
/// 学习目的仓储层对象
/// </summary>
private readonly RB_LearningGoalsRepository learningGoalsRepository = new RB_LearningGoalsRepository();
#region 学员跟进
......@@ -72,7 +77,8 @@ namespace Edu.Module.User
{
object Robj = new object();
var slist = student_OrderGuestRepository.GetStudentFollowUpPageList(pageIndex, pageSize, out count, demodel);
if (slist.Any()) {
if (slist.Any())
{
string stuIds = string.Join(",", slist.Select(x => x.StuId));
//查询学生每月的跟进情况
var flist = followRepository.GetStudentFollowUpMonthList(stuIds, demodel.Group_Id);
......@@ -84,6 +90,13 @@ namespace Edu.Module.User
//查询每月续费介绍情况
var ROList = student_RenewOrderRepository.GetStuMonthList(demodel.Group_Id);
//学习目的
string goalIds = string.Join(",", slist.Select(qitem => qitem.StuPurpose));
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend()
{
QGoalIds = goalIds
});
//协助人员列表
var assistList = student_AssistRepository.GetStudentAssistListRepository(new Model.ViewModel.Customer.RB_Student_Assist_Extend()
{
......@@ -138,7 +151,8 @@ namespace Edu.Module.User
int MaxMonth = 2;//最大月份
//数据
List<object> RList = new List<object>();
foreach (var item in slist) {
foreach (var item in slist)
{
//组合所有的月份
//查询学生首次报名 至 当月的所有月份
......@@ -147,12 +161,14 @@ namespace Edu.Module.User
{
month = ((DateTime.Now.Year - item.FirstEnrollDate.Value.Year) * 12) + DateTime.Now.Month - item.FirstEnrollDate.Value.Month + 1;
}
else {
else
{
item.FirstEnrollDate = DateTime.Now;
}
MaxMonth = MaxMonth < month ? month : MaxMonth;
List<object> MonthObjList = new List<object>();
for (var i = 0; i < month; i++) {
for (var i = 0; i < month; i++)
{
var monthStr = item.FirstEnrollDate.Value.AddMonths(i).ToString("yyyy-MM");
var xmodel = xlist.Where(x => x.StuId == item.StuId && x.MonthStr == monthStr).FirstOrDefault();
var zmodel = zlist.Where(x => x.StuId == item.StuId && x.MonthStr == monthStr).FirstOrDefault();
......@@ -192,6 +208,7 @@ namespace Edu.Module.User
item.CreateByName = accountList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "";
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == item.StuPurpose)?.Name ?? "";
var StuObj = new
{
item.StuId,
......@@ -222,7 +239,9 @@ namespace Edu.Module.User
CreateTypeName = item.CreateType.ToName(),
item.StuSourceId,
item.StuSourceIdName,
item.EnterpriseName
item.EnterpriseName,
item.StuPurpose,
item.StuPurposeName,
};
RList.Add(StuObj);
}
......@@ -231,7 +250,8 @@ namespace Edu.Module.User
List<int> Mlist = ROList.Select(x => x.Month).Distinct().OrderBy(x => x).ToList();
int MaxRO = ROList.Any() ? ROList.Max(x => x.Month) : 0;
MaxMonth = MaxMonth < MaxRO ? MaxRO : MaxMonth;
foreach (var month in Mlist) {
foreach (var month in Mlist)
{
RList2.Add(new
{
MonthNum = month,
......@@ -276,14 +296,16 @@ namespace Edu.Module.User
{
List<object> RList = new List<object>();
var slist = student_OrderGuestRepository.GetStudentConsultPageList(pageIndex, pageSize, out count, demodel);
if (slist.Any()) {
if (slist.Any())
{
string stuIds = string.Join(",", slist.Select(x => x.StuId));
//查询学员最近的一条跟进记录
var flist = followRepository.GetStudentFollowUpLatelyList(stuIds, demodel.Group_Id);
//查询课程顾问
var stuAssistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend() { QStuIds = stuIds });
foreach (var item in slist) {
foreach (var item in slist)
{
var fmodel = flist.Where(x => x.StuId == item.StuId).FirstOrDefault();
var AssistId = stuAssistList.Where(x => x.StuId == item.StuId && x.AssistType == AssistTypeEnum.CourseAdviser).FirstOrDefault()?.AssistId ?? 0;
string AssistName = "";
......
using Edu.Common.Enum;
using Edu.Model.Entity.StudyAbroad;
using Edu.Model.ViewModel.StudyAbroad;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.StudyAbroad
{
/// <summary>
/// 留学就业类型仓储层
/// </summary>
public class RB_Studyabroad_TypeRepository : BaseRepository<RB_Studyabroad_Type>
{
/// <summary>
/// 获取留学就业类型分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Studyabroad_Type_Extend> GetStudyabroadTypePageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Studyabroad_Type_Extend query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Studyabroad_Type AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Studyabroad_Type_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Studyabroad_Type_Extend.Group_Id), query.Group_Id);
}
if (query.Type > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Studyabroad_Type_Extend.Type), query.Type);
}
if (query.CountryId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Studyabroad_Type_Extend.CountryId), query.CountryId);
}
}
builder.AppendFormat(" ORDER BY A.{0} ", nameof(RB_Studyabroad_Type_Extend.Num));
return GetPage<RB_Studyabroad_Type_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取留学就业类型列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Studyabroad_Type_Extend> GetStudyabroadTypeListRepository(RB_Studyabroad_Type_Extend query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Studyabroad_Type AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Studyabroad_Type_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Studyabroad_Type_Extend.Group_Id), query.Group_Id);
}
if (query.Type > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Studyabroad_Type_Extend.Type), query.Type);
}
if (query.CountryId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Studyabroad_Type_Extend.CountryId), query.CountryId);
}
}
builder.AppendFormat(" ORDER BY A.{0} ", nameof(RB_Studyabroad_Type_Extend.Num));
return Get<RB_Studyabroad_Type_Extend>(builder.ToString(), parameters).ToList();
}
}
}
......@@ -325,6 +325,10 @@ where sog.Status =0 and o.Group_Id ={group_Id} and o.OrderState <>3 and IFNULL(o
{
where += $" and s.{nameof(RB_Student_ViewModel.StuStage)} ={demodel.StuStage}";
}
if (demodel.StuPurpose > 0)
{
where += $" and s.{nameof(RB_Student_ViewModel.StuPurpose)} ={demodel.StuPurpose}";
}
if (demodel.School_Id > -1)
{
where += $" and cl.School_Id ={demodel.School_Id}";
......
......@@ -6,6 +6,8 @@ using Edu.AOP;
using Edu.Cache.User;
using Edu.Cache.WeChat;
using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.User;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.Sell;
......@@ -38,16 +40,48 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudentFollowUpPageList() {
public ApiResult GetStudentFollowUpPageList()
{
var userInfo = base.UserInfo;
ResultPageModel pmodel = JsonHelper.DeserializeObject<ResultPageModel>(base.RequestParm.Msg.ToString());
RB_Student_ViewModel demodel = JsonHelper.DeserializeObject<RB_Student_ViewModel>(base.RequestParm.Msg.ToString());
RB_Student_ViewModel demodel = new RB_Student_ViewModel()
{
BelongType=base.ParmJObj.GetInt("BelongType"),
ConsultantId=base.ParmJObj.GetInt("ConsultantId"),
CourseId=base.ParmJObj.GetInt("CourseId"),
CreateType=(StuCreateTypeEnum)base.ParmJObj.GetInt("CreateType"),
EFTime=base.ParmJObj.GetStringValue("EFTime"),
IsQueryMyStu=base.ParmJObj.GetInt("IsQueryMyStu"),
QQ=base.ParmJObj.GetStringValue("QQ"),
Q_FType=base.ParmJObj.GetInt("Q_FType"),
SFTime=base.ParmJObj.GetStringValue("SFTime"),
StuChannel=base.ParmJObj.GetInt("StuChannel"),
StuGuestState=(GuestStateEnum)base.ParmJObj.GetInt("StuGuestState"),
StuName=base.ParmJObj.GetStringValue("StuName"),
StuRealMobile=base.ParmJObj.GetStringValue("StuRealMobile"),
StuSourceId=base.ParmJObj.GetInt("StuSourceId"),
StuStage=base.ParmJObj.GetInt("StuStage"),
StuType=base.ParmJObj.GetInt("StuType"),
WeChatNo=base.ParmJObj.GetStringValue("WeChatNo"),
StuPurpose=base.ParmJObj.GetInt("StuPurpose"),
};
string schoolId = base.ParmJObj.GetStringValue("School_Id");
if (schoolId != "-1")
{
demodel.School_Id= base.ParmJObj.GetInt("School_Id");
}
string CreateIds = base.ParmJObj.GetStringValue("CreateIds");
if (!string.IsNullOrEmpty(CreateIds))
{
demodel.CreateIds = Common.Plugin.JsonHelper.DeserializeObject<List<int>>(CreateIds);
}
demodel.Group_Id = userInfo.Group_Id;
if (demodel.IsQueryMyStu == 1)
{
demodel.CreateBy = userInfo.Id;
}
else {
else
{
if (demodel.BelongType == 1)
{
demodel.BelongType = 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