Commit 48e46747 authored by 吴春's avatar 吴春

解决冲突

parents 001bc0bd b1a3c582
......@@ -10,22 +10,34 @@ namespace Edu.Common.Enum.Exam
/// </summary>
public enum ExamTestStatusEnum
{
/// <summary>
/// 未开始
/// </summary>
[EnumField("未开始")]
NotStarted = 1,
/// <summary>
/// 已开始
/// </summary>
[EnumField("已开始")]
FinishStarted = 2,
/// <summary>
/// 已考试
/// </summary>
[EnumField("已考试")]
FinishTest = 1,
FinishTest = 3,
/// <summary>
/// 未考试
/// 缺考
/// </summary>
[EnumField("未考试")]
NotFinishTest = 2,
[EnumField("缺考")]
MissedTest = 4,
/// <summary>
/// 已阅卷
/// </summary>
[EnumField("已阅卷")]
FinishScoring = 3,
FinishScoring = 5,
}
}
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.WeChat
{
/// <summary>
/// 企业微信客户字段类型枚举
/// </summary>
public enum CustomerFieldInputTypeEnum
{
/// <summary>
/// 汉字
/// </summary>
[EnumField("汉字")]
Chinese = 1,
/// <summary>
/// 数字
/// </summary>
[EnumField("数字")]
Number = 2,
/// <summary>
/// 字母
/// </summary>
[EnumField("字母")]
Letter = 3,
/// <summary>
/// 符号
/// </summary>
[EnumField("符号")]
Symbol = 4
}
}
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.WeChat
{
/// <summary>
/// 企业微信客户字段类型枚举
/// </summary>
public enum CustomerFieldTypeEnum
{
/// <summary>
/// 单行文本
/// </summary>
[EnumField("单行文本")]
Text = 1,
/// <summary>
/// 多行文本
/// </summary>
[EnumField("多行文本")]
MText = 2,
/// <summary>
/// 单选
/// </summary>
[EnumField("单选")]
Radio = 3,
/// <summary>
/// 多选
/// </summary>
[EnumField("多选")]
MultiSelect = 4,
/// <summary>
/// 日期
/// </summary>
[EnumField("日期")]
Date = 5,
/// <summary>
/// 日期时间
/// </summary>
[EnumField("日期时间")]
Time = 6,
/// <summary>
/// 数值
/// </summary>
[EnumField("数值")]
Number = 7
}
}
......@@ -127,5 +127,10 @@ namespace Edu.Model.Entity.Exam
/// 题目分数
/// </summary>
public decimal Score { get; set; }
/// <summary>
/// 分组编号
/// </summary>
public int GId { get; set; }
}
}
using System;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Exam;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
......@@ -28,12 +30,12 @@ namespace Edu.Model.Entity.Exam
public string GroupName { get; set; }
/// <summary>
/// 问题类型编号
/// 问题类型编号【GroupType=1时使用】
/// </summary>
public int QuestionTypeId { get; set; }
/// <summary>
/// 问题类型Key
/// 问题类型Key【GroupType=1时使用】
/// </summary>
public string QuestionTypeKey { get; set; }
......@@ -46,5 +48,15 @@ namespace Edu.Model.Entity.Exam
/// 分数
/// </summary>
public decimal GScore { get; set; }
/// <summary>
/// 组卷类型
/// </summary>
public ExamGroupTypeEnum GroupType { get; set; }
/// <summary>
/// 题目分类编号【GroupType=2时使用】
/// </summary>
public QuestionCategoryEnum CategoryId { get; set; }
}
}
using Edu.Common.Enum.Question;
using Edu.Common.Enum.Exam;
using Edu.Common.Enum.Question;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -102,5 +103,15 @@ namespace Edu.Model.Entity.Exam
/// 审核和备注
/// </summary>
public string ExamineRemark { get; set; }
/// <summary>
/// 组卷类型
/// </summary>
public ExamGroupTypeEnum GroupType { get; set; }
/// <summary>
/// 试卷总分数
/// </summary>
public decimal PaperScore { get; set; }
}
}
......@@ -74,7 +74,7 @@ namespace Edu.Model.Entity.Exam
public int Status { get; set; }
/// <summary>
/// 考试状态,0-没考,1-已考
/// 考试状态(见枚举)
/// </summary>
public ExamTestStatusEnum ExamStatus { get; set; }
......
using Edu.Common.Enum;
using Edu.Common.Enum.Exam;
using Edu.Common.Enum.Question;
using System;
using System.Collections.Generic;
......@@ -73,5 +74,10 @@ namespace Edu.Model.Entity.Exam
/// 模板题库编号
/// </summary>
public string TemplateBankIds { get; set; }
/// <summary>
/// 组卷类型
/// </summary>
public ExamGroupTypeEnum GroupType { get; set; }
}
}
\ No newline at end of file
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_CustomerField
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 类型 枚举
/// </summary>
public CustomerFieldTypeEnum Type { get; set; }
/// <summary>
/// 字段名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 必填 1是
/// </summary>
public int Required { get; set; }
/// <summary>
/// 部门id (0表示通用)
/// </summary>
public int DeptId { get; set; }
/// <summary>
/// 字数
/// </summary>
public int WordNum { get; set; }
/// <summary>
/// 输入类型 多选 英文逗号分隔
/// </summary>
public string InputType { get; set; }
/// <summary>
/// 列表选项 json格式 key-value
/// </summary>
public string Options { get; set; }
/// <summary>
/// 小数位数
/// </summary>
public int Digits { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Sort { get; set; }
/// <summary>
/// 是否启用 1是
/// </summary>
public int Enable { 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是
/// </summary>
public int IsSystem { get; set; }
/// <summary>
/// 是否默认字段 1是 (默认字段无法删除)
/// </summary>
public int IsDefault { get; set; }
/// <summary>
/// 是否锁定字段 1是 (锁定字段无法禁用)
/// </summary>
public int IsLock { 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_CustomerStage
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 类型 1跟进阶段 2结束跟进
/// </summary>
public int Type { get; set; }
/// <summary>
/// 阶段名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 排序
/// </summary>
public int? Sort { get; set; }
/// <summary>
/// 结束跟进 原因选项 json格式
/// </summary>
public string Options { get; set; }
/// <summary>
/// 是否默认 1是 (默认表示无法修改Name)
/// </summary>
public int IsDefault { 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_CustomerStageFlow
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 流程名称
/// </summary>
public string FlowName { get; set; }
/// <summary>
/// 适用部门Ids -1表示通用
/// </summary>
public string DeptIds { get; set; }
/// <summary>
/// 适用人员ids -1表示通用
/// </summary>
public string EmpIds { get; set; }
/// <summary>
/// 使用阶段 英文逗号分隔
/// </summary>
public string UseStage { get; set; }
/// <summary>
/// 选择输单原因 英文逗号分隔
/// </summary>
public string LoseCause { get; set; }
/// <summary>
/// 选择无效原因 英文逗号分隔
/// </summary>
public string InvalidCause { get; set; }
/// <summary>
/// 是否默认 1是 2否
/// </summary>
public int IsDefault { get; set; }
/// <summary>
/// 启用 1是 2否
/// </summary>
public int Enable { 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.Course;
using Edu.Common.Enum.Exam;
using Edu.Common.Enum.Question;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Exam
{
......@@ -11,13 +10,14 @@ namespace Edu.Model.ViewModel.Exam
/// </summary>
public class ExamTemplate
{
/// <summary>
/// 问题类型编号
/// 问题类型编号【GroupType=1时使用】
/// </summary>
public int QuestionTypeId { get; set; }
/// <summary>
/// 问题类型Key
/// 问题类型Key【GroupType=1时使用】
/// </summary>
public string QuestionTypeKey { get; set; }
......@@ -51,10 +51,6 @@ namespace Edu.Model.ViewModel.Exam
/// </summary>
public List<DifficultyTypeItem> ChooseList { get; set; }
/// <summary>
/// 题目分类列表
/// </summary>
public List<CategoryItem> CategoryList { get; set; }
}
/// <summary>
......@@ -72,26 +68,4 @@ namespace Edu.Model.ViewModel.Exam
/// </summary>
public int ChooseNum { get; set; }
}
/// <summary>
/// 题型分类
/// </summary>
public class CategoryItem
{
/// <summary>
/// 题型分类
/// </summary>
public QuestionCategoryEnum Category { get; set; }
/// <summary>
/// 选择题目数
/// </summary>
public int ChooseNum { get; set; }
/// <summary>
/// 难易程度选题【ChooseType=2时使用】
/// </summary>
public List<DifficultyTypeItem> ChooseList { get; set; }
}
}
using Edu.Model.Entity.Exam;
using Edu.Common.Enum.Exam;
using Edu.Model.Entity.Exam;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -46,9 +47,9 @@ namespace Edu.Model.ViewModel.Exam
public int GuestId { get; set; }
/// <summary>
/// 考试状态,0-没考,1-已考(查询条件的时候,1-未开始,2-已开始,3-已缺考,4-已完成)
/// 考试状态(见枚举)
/// </summary>
public int ExamStatus { get; set; }
public ExamTestStatusEnum ExamStatus { get; set; }
/// <summary>
/// 考试状态
......@@ -80,5 +81,20 @@ namespace Edu.Model.ViewModel.Exam
/// 账号编号
/// </summary>
public string QAccountIds { get; set; }
/// <summary>
/// 查询考试状态【1-未开始,2-进行中,3-已结束】
/// </summary>
public int QTestStatus { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public string QStartTime { get; set; }
/// <summary>
/// 结束试卷
/// </summary>
public string QEndTime { get; set; }
}
}
......@@ -37,5 +37,14 @@ namespace Edu.Model.ViewModel.Exam
/// </summary>
public string StuIcon { get; set; }
/// <summary>
/// 考试开始时间
/// </summary>
public DateTime ExamStartTime { get; set; }
/// <summary>
/// 考试结束时间
/// </summary>
public DateTime EndTime { get; set; }
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Enum.Sale;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 企业微信客户字段扩展类
/// </summary>
public class RB_WeChat_CustomerField_ViewModel : RB_WeChat_CustomerField
{
/// <summary>
/// 选项列表
/// </summary>
public List<CustomerOptions> OptionsList { get; set; }
/// <summary>
/// 部门名称
/// </summary>
public string DeptName { get; set; }
}
/// <summary>
/// 选项列表
/// </summary>
public class CustomerOptions
{
/// <summary>
/// id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Enum.Sale;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 企业微信客户阶段流程扩展类
/// </summary>
public class RB_WeChat_CustomerStageFlow_ViewModel : RB_WeChat_CustomerStageFlow
{
/// <summary>
/// 阶段ID
/// </summary>
public int StageId { get; set; }
/// <summary>
/// 输单id
/// </summary>
public int LoseId { get; set; }
/// <summary>
/// 无效id
/// </summary>
public int InvalidId { get; set; }
/// <summary>
/// 阶段列表
/// </summary>
public List<string> StageList { get; set; }
/// <summary>
/// 部门/人员列表
/// </summary>
public List<DeptAndEmpModel> DeptEmpList { get; set; }
}
/// <summary>
/// 部门+人员
/// </summary>
public class DeptAndEmpModel {
/// <summary>
/// id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 类型 1部门 2人员
/// </summary>
public int Type { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Enum.Sale;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 企业微信客户阶段扩展类
/// </summary>
public class RB_WeChat_CustomerStage_ViewModel : RB_WeChat_CustomerStage
{
/// <summary>
/// 选项列表
/// </summary>
public List<CauseOptions> OptionsList { get; set; }
/// <summary>
/// 阶段ids
/// </summary>
public string StageIds { get; set; }
}
/// <summary>
/// 原因选项
/// </summary>
public class CauseOptions
{
/// <summary>
/// id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
}
}
This diff is collapsed.
This diff is collapsed.
......@@ -143,7 +143,7 @@ namespace Edu.Module.Question
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<object> GetQuestionCategoryListModule(RB_Question_ViewModel query)
public List<object> GetQuestionTypeStaticListModule(RB_Question_ViewModel query)
{
List<object> list = new List<object>();
var dataList = questionRepository.GetQuestionStaticsListRepository(query);
......@@ -158,11 +158,12 @@ namespace Edu.Module.Question
{
var qType = questionTypeList?.Where(qitem => qitem.QId == item.QuestionTypeId)?.FirstOrDefault();
var diffTypeList = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId)
.GroupBy(qitem =>new { qitem.DifficultyType })
.Select(qitem => new
{
qitem.DifficultyType,
DifficultyTypeName = qitem.DifficultyType.ToName(),
DifficultyTypeCount = qitem.QuestionCount,
qitem.Key.DifficultyType,
DifficultyTypeName = qitem.Key.DifficultyType.ToName(),
DifficultyTypeCount = qitem.Sum(sItem=>sItem.QuestionCount),
ChooseNum = 0
});
......@@ -190,22 +191,21 @@ namespace Edu.Module.Question
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<object> GetQuestionCategoryList_V2Module(RB_Question_ViewModel query)
public List<object> GetQuestionCategoryStaticListModule(RB_Question_ViewModel query)
{
List<object> list = new List<object>();
var dataList = questionRepository.GetQuestionStaticsListRepository(query);
if (dataList != null && dataList.Count > 0)
{
var questionTypeList = GetQuestionTypeListModule(new RB_Question_Type_ViewModel());
var groupList = dataList.GroupBy(qitem => new { qitem.QuestionTypeId, }).Select(qitem => new
var groupList = dataList.GroupBy(qitem => new { qitem.Category, }).Select(qitem => new
{
qitem.Key.QuestionTypeId
qitem.Key.Category
});
foreach (var item in groupList)
{
var qType = questionTypeList?.Where(qitem => qitem.QId == item.QuestionTypeId)?.FirstOrDefault();
var diffTypeList = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId)
.GroupBy(qitem => new { qitem.QuestionTypeId,qitem.DifficultyType})
var diffTypeList = dataList.Where(qitem => qitem.Category == item.Category)
.GroupBy(qitem => new {qitem.DifficultyType})
.Select(qitem => new
{
qitem.Key.DifficultyType,
......@@ -213,41 +213,17 @@ namespace Edu.Module.Question
DifficultyTypeCount = qitem.Sum(c=>c.QuestionCount),
ChooseNum = 0
});
var categoryList = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId).GroupBy(qitem => new { qitem.Category }).Select(qitem => new { qitem.Key.Category });
List<object> resultCategoryList = new List<object>();
foreach (var subItem in categoryList)
{
var tempCategoryList = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId && qitem.Category == subItem.Category)?.ToList();
if (tempCategoryList != null && tempCategoryList.Count > 0)
{
var cObj = new
{
subItem.Category,
CategoryName = subItem.Category.ToName(),
QuestionTypeNum = tempCategoryList.Sum(qitem=>qitem.QuestionCount),
ChooseNum = 0,
ChooseList= tempCategoryList?.Select(qitem => new
{
qitem.DifficultyType,
DifficultyTypeName = qitem.DifficultyType.ToName(),
DifficultyTypeCount = qitem.QuestionCount,
ChooseNum = 0
})
};
resultCategoryList.Add(cObj);
}
}
var obj = new
{
item.QuestionTypeId,
QuestionTypeKey = qType?.Key,
QuestionTypeName = qType?.Name,
QuestionTypeId=item.Category,
QuestionTypeKey = "",
QuestionTypeName =item.Category.ToName(),
QuestionScore = 0,
QuestionDesc = "",
ChooseType = 1,
ChooseNum = 0,
QuestionTypeNum = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId).Sum(qitem => qitem.QuestionCount),
CategoryList= resultCategoryList,
QuestionTypeNum = dataList.Where(qitem => qitem.Category == item.Category).Sum(qitem => qitem.QuestionCount),
ChooseList = diffTypeList,
};
list.Add(obj);
......
using Edu.Common.Enum;
using Edu.Common.Enum.Exam;
using Edu.Model.Entity.Exam;
using Edu.Model.ViewModel.Exam;
using System;
......@@ -47,6 +48,35 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Publish_ViewModel.CreateBy), query.CreateBy);
}
if (!string.IsNullOrEmpty(query.QStartTime))
{
builder.AppendFormat(@" AND A.{0}>='{1}' ",nameof(RB_Examination_Publish_ViewModel.ExamStartTime),query.QStartTime);
}
if (!string.IsNullOrEmpty(query.QEndTime))
{
builder.AppendFormat(@" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Examination_Publish_ViewModel.ExamEndTime), query.QEndTime);
}
if (query.QTestStatus > 0)
{
//未开始
if (query.QTestStatus == 1)
{
builder.AppendFormat(" AND A.{0}>'{1}' ", nameof(RB_Examination_Publish_ViewModel.ExamStartTime), Common.ConvertHelper.FormatTime(DateTime.Now));
}
//进行中
if (query.QTestStatus == 2)
{
builder.AppendFormat(" AND A.{0}<='{1}' AND '{1}'<=A.{2} ", nameof(RB_Examination_Publish_ViewModel.ExamStartTime)
,Common.ConvertHelper.FormatTime(DateTime.Now)
,nameof(RB_Examination_Publish_ViewModel.ExamEndTime)
);
}
//已结束
if (query.QTestStatus == 3)
{
builder.AppendFormat(" AND A.{0}<'{1}' ", nameof(RB_Examination_Publish_ViewModel.ExamEndTime), Common.ConvertHelper.FormatTime(DateTime.Now));
}
}
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Examination_Publish_ViewModel.Id));
return GetPage<RB_Examination_Publish_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
......@@ -131,21 +161,21 @@ WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
}
if (query.ExamStatus > 0)
{
if (query.ExamStatus == 1)
if (query.ExamStatus == ExamTestStatusEnum.NotStarted)
{
builder.AppendFormat(" AND a.{0} > '{1}' ", nameof(RB_Examination_Publish_ViewModel.ExamStartTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
else if (query.ExamStatus == 2)
else if (query.ExamStatus == ExamTestStatusEnum.FinishStarted)
{
builder.AppendFormat(" AND a.{0} < '{1}' and a.{2} > '{1}' and c.{3}=2 ", nameof(RB_Examination_Publish_ViewModel.ExamStartTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), nameof(RB_Examination_Publish_ViewModel.ExamEndTime), nameof(RB_Examination_Publish_ViewModel.ExamStatus));
builder.AppendFormat(" AND a.{0} < '{1}' and a.{2} > '{1}' and c.{3}=1 ", nameof(RB_Examination_Publish_ViewModel.ExamStartTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), nameof(RB_Examination_Publish_ViewModel.ExamEndTime), nameof(RB_Examination_Publish_ViewModel.ExamStatus));
}
else if (query.ExamStatus == 3)
else if (query.ExamStatus == ExamTestStatusEnum.MissedTest)
{
builder.AppendFormat(" AND a.{0} < '{1}' and c.{2}=2 ", nameof(RB_Examination_Publish_ViewModel.ExamEndTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), nameof(RB_Examination_Publish_ViewModel.ExamStatus));
builder.AppendFormat(" AND a.{0} < '{1}' and c.{2} NOT IN(3,5) ", nameof(RB_Examination_Publish_ViewModel.ExamEndTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), nameof(RB_Examination_Publish_ViewModel.ExamStatus));
}
else if (query.ExamStatus == 4)
else if (query.ExamStatus == ExamTestStatusEnum.FinishTest)
{
builder.AppendFormat(" AND (c.{0}=1 or c.{0}=3)", nameof(RB_Examination_Publish_ViewModel.ExamStatus));
builder.AppendFormat(" AND c.{0} IN(3,5)", nameof(RB_Examination_Publish_ViewModel.ExamStatus));
}
}
}
......
......@@ -24,11 +24,12 @@ namespace Edu.Repository.Exam
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.GuestName,'') AS GuestName,c.ClassName,b.Mobile,s.StuIcon
SELECT A.*,IFNULL(B.GuestName,'') AS GuestName,c.ClassName,b.Mobile,s.StuIcon,p.ExamStartTime ,p.ExamEndTime AS EndTime
FROM RB_Examination_Student AS A LEFT JOIN rb_order_guest AS B ON A.GuestId=B.Id
LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.GuestId
LEFT JOIN rb_student as s on s.StuId = sog.Student_Id
LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.GuestId
LEFT JOIN rb_student as s on s.StuId = sog.Student_Id
LEFT JOIN rb_examination_publish AS p ON A.PublishId=P.Id
WHERE 1=1
");
if (query != null)
......
......@@ -44,6 +44,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Question_ViewModel.QuestionTypeId), query.Q_QuestionTypeIds);
}
if (!string.IsNullOrEmpty(query.QCategoryId))
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Question_ViewModel.Category), query.QCategoryId);
}
return Get<RB_Question_ViewModel>(builder.ToString()).ToList();
}
}
......@@ -84,6 +88,7 @@ WHERE 1=1 AND `Status`=0
}
}
/// <summary>
/// 获取问题分页列表
/// </summary>
......
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.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 企业微信客户字段仓储层
/// </summary>
public class RB_WeChat_CustomerFieldRepository : BaseRepository<RB_WeChat_CustomerField>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_WeChat_CustomerField_ViewModel> GetList(RB_WeChat_CustomerField_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_WeChat_CustomerField_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerField_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.Enable > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerField_ViewModel.Enable)} ={demodel.Enable}";
}
if (demodel.Type > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerField_ViewModel.Type)} ={(int)demodel.Type}";
}
if (!string.IsNullOrEmpty(demodel.Name))
{
where += $@" and r.{nameof(RB_WeChat_CustomerField_ViewModel.Name)} like @Name";
parameters.Add("Name", "%" + demodel.Name + "%");
}
string sql = $@"
SELECT * From RB_WeChat_CustomerField r
WHERE {where}
ORDER BY r.Sort asc, r.Id asc ";
return Get<RB_WeChat_CustomerField_ViewModel>(sql, parameters).ToList();
}
/// <summary>
/// 获取最大排序
/// </summary>
/// <param name="group_Id"></param>
/// <returns></returns>
public int GetSortMax(int group_Id)
{
string sql = $@" select Max(Sort) from RB_WeChat_CustomerField where Group_Id ={group_Id}";
var obj = ExecuteScalar(sql);
return obj == null ? 0 : Convert.ToInt32(obj);
}
/// <summary>
/// 此排序后面的字段排序都加1
/// </summary>
/// <param name="sort"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public bool SetSortNumAdd(int sort, int group_Id)
{
string sql = $@" update RB_WeChat_CustomerField set Sort = Sort +1 where Group_Id ={group_Id} and Sort >{sort}";
return Execute(sql) > 0;
}
}
}
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.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 企业微信客户阶段流程仓储层
/// </summary>
public class RB_WeChat_CustomerStageFlowRepository : BaseRepository<RB_WeChat_CustomerStageFlow>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_WeChat_CustomerStageFlow_ViewModel> GetList(RB_WeChat_CustomerStageFlow_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.Enable > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.Enable)} ={demodel.Enable}";
}
if (demodel.IsDefault > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.IsDefault)} ={demodel.IsDefault}";
}
if (demodel.StageId > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.IsDefault)} <>1";
where += $@" and FIND_IN_SET('{demodel.StageId}',r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.UseStage)})";
}
if (demodel.LoseId > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.IsDefault)} <>1";
where += $@" and FIND_IN_SET('{demodel.LoseId}',r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.LoseCause)})";
}
if (demodel.InvalidId > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.IsDefault)} <>1";
where += $@" and FIND_IN_SET('{demodel.InvalidId}',r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.InvalidCause)})";
}
if (!string.IsNullOrEmpty(demodel.FlowName))
{
where += $@" and r.{nameof(RB_WeChat_CustomerStageFlow_ViewModel.FlowName)} like @FlowName";
parameters.Add("FlowName", "%" + demodel.FlowName + "%");
}
string sql = $@"
SELECT * From RB_WeChat_CustomerStageFlow r
WHERE {where}
ORDER BY r.Id desc ";
return Get<RB_WeChat_CustomerStageFlow_ViewModel>(sql, parameters).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.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 企业微信客户阶段仓储层
/// </summary>
public class RB_WeChat_CustomerStageRepository : BaseRepository<RB_WeChat_CustomerStage>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_WeChat_CustomerStage_ViewModel> GetList(RB_WeChat_CustomerStage_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_WeChat_CustomerStage_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerStage_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.Type > 0)
{
where += $@" and r.{nameof(RB_WeChat_CustomerStage_ViewModel.Type)} ={demodel.Type}";
}
if (!string.IsNullOrEmpty(demodel.StageIds))
{
where += $@" and r.{nameof(RB_WeChat_CustomerStage_ViewModel.Id)} in({demodel.StageIds})";
}
if (!string.IsNullOrEmpty(demodel.Name))
{
where += $@" and r.{nameof(RB_WeChat_CustomerStage_ViewModel.Name)} like @Name";
parameters.Add("Name", "%" + demodel.Name + "%");
}
string sql = $@"
SELECT * From RB_WeChat_CustomerStage r
WHERE {where}
ORDER BY r.Type asc, r.Sort asc, r.Id asc ";
return Get<RB_WeChat_CustomerStage_ViewModel>(sql, parameters).ToList();
}
}
}
using Senparc.Weixin.Entities;
using Senparc.Weixin.Work.AdvancedAPIs.MailList.Member;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.ThirdCore.QYWinXin.Model
{
/// <summary>
/// GetMemberResult【QY移植修改】
/// </summary>
public class GetMemberResult_V2 : WorkJsonResult
{
/// <summary>
/// 员工UserID
/// </summary>
public string userid { get; set; }
/// <summary>
/// 成员名称
/// </summary>
public string name { get; set; }
/// <summary>
/// 别名
/// </summary>
public string alias { get; set; }
/// <summary>
/// 成员所属部门id列表
/// </summary>
public long[] department { get; set; }
/// <summary>
/// 部门内的排序值,默认为0。数量必须和department一致,数值越大排序越前面。值范围是[0, 2^32)
/// </summary>
public int[] order { get; set; }
/// <summary>
/// 职位信息
/// </summary>
public string position { get; set; }
/// <summary>
/// 手机号码
/// </summary>
public string mobile { get; set; }
/// <summary>
/// 性别。gender=0表示男,=1表示女
/// </summary>
public int gender { get; set; }
/// <summary>
/// 邮箱
/// </summary>
public string email { get; set; }
/// <summary>
/// 上级字段,标识是否为上级。第三方暂不支持
/// </summary>
public int[] is_leader_in_dept { get; set; }
/// <summary>
/// 头像url。注:小图将url最后的"/0"改成"/64"
/// </summary>
public string avatar { get; set; }
/// <summary>
/// 激活状态: 1=已激活,2=已禁用,4=未激活,5=退出企业。 已激活代表已激活企业微信或已关注微信插件。未激活代表既未激活企业微信又未关注微信插件。
/// </summary>
public int status { get; set; }
/// <summary>
/// 座机。第三方暂不支持
/// </summary>
public string telephone { get; set; }
/// <summary>
/// 英文名。第三方暂不支持
/// </summary>
public string english_name { get; set; }
/// <summary>
/// 全局唯一。对于同一个服务商,不同应用获取到企业内同一个成员的open_userid是相同的,最多64个字节。仅第三方应用可获取
/// </summary>
public string open_userid { get; set; }
/// <summary>
/// 主部门
/// </summary>
public int main_department { get; set; }
/// <summary>
/// 扩展属性
/// </summary>
public Extattr extattr { get; set; }
/// <summary>
/// 启用/禁用成员,第三方不可获取。1表示启用成员,0表示禁用成员
/// </summary>
public int enable { get; set; }
/// <summary>
/// 关注微信插件的状态: 1=已关注,0=未关注
/// </summary>
public string wxplugin_status { get; set; }
/// <summary>
/// 员工个人二维码,扫描可添加为外部联系人(注意返回的是一个url,可在浏览器上打开该url以展示二维码);第三方仅通讯录应用可获取
/// </summary>
public string qr_code { get; set; }
}
}
......@@ -196,6 +196,27 @@ namespace Edu.ThirdCore.QYWinXin
return MailListApi.GetMember(accessTokenOrAppKey, userId);
}
/// <summary>
/// 获取成员(包含别名)
/// </summary>
/// <param name="accessTokenOrAppKey"></param>
/// <param name="userId"></param>
/// <returns></returns>
public static GetMemberResult_V2 GetMember_V2(string accessTokenOrAppKey, string userId) {
string url = "https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=" + accessTokenOrAppKey + "&userid=" + userId;
string Rmsg = HttpHelper.HttpGet(url);
if (!string.IsNullOrEmpty(Rmsg))
{
var rmodel = JsonHelper.DeserializeObject<GetMemberResult_V2>(Rmsg);
return rmodel;
}
return new GetMemberResult_V2()
{
errcode = Senparc.Weixin.ReturnCode_Work.系统繁忙,
errmsg = "未请求到数据"
};
}
/// <summary>
/// 更新人员
/// </summary>
......
......@@ -2,14 +2,12 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum;
using Edu.Common.Enum.Exam;
using Edu.Common.Enum.Question;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Exam;
using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.LearningGarden;
using Edu.Model.ViewModel.User;
using Edu.Module.Course;
using Edu.Module.EduTask;
......@@ -57,11 +55,6 @@ namespace Edu.WebApi.Controllers.Applet
/// </summary>
private readonly Module.Exam.PaperModule paperModule = AOP.AOPHelper.CreateAOPObject<Module.Exam.PaperModule>();
/// <summary>
/// 学习园地处理类对象
/// </summary>
private readonly LearningGardenModule learningGardenModule = AOP.AOPHelper.CreateAOPObject<LearningGardenModule>();
#region 小程序首页
/// <summary>
/// 小程序首页
......@@ -123,30 +116,23 @@ namespace Edu.WebApi.Controllers.Applet
{
if (item.ExamStartTime > System.DateTime.Now)
{
item.ExamStatusStr = "未开始";
item.ExamStatus = ExamTestStatusEnum.NotStarted;
}
else if (item.ExamStartTime < System.DateTime.Now && item.ExamEndTime > System.DateTime.Now)
{
if (item.ExamStatus == 2)
if (item.ExamStatus != ExamTestStatusEnum.FinishTest && item.ExamStatus != ExamTestStatusEnum.FinishScoring)
{
item.ExamStatusStr = "已开始";
}
if (item.ExamStatus == 1 || item.ExamStatus == 3)
{
item.ExamStatusStr = "完成";
item.ExamStatus = ExamTestStatusEnum.FinishStarted;
}
}
else if (item.ExamEndTime < System.DateTime.Now)
{
if (item.ExamStatus == 2)
{
item.ExamStatusStr = "缺考";
}
else if (item.ExamStatus == 1 || item.ExamStatus == 3)
if (item.ExamStatus != ExamTestStatusEnum.FinishTest && item.ExamStatus != ExamTestStatusEnum.FinishScoring)
{
item.ExamStatusStr = "完成";
item.ExamStatus = ExamTestStatusEnum.MissedTest;
}
}
item.ExamStatusStr = item.ExamStatus.ToName();
}
}
}
......@@ -526,7 +512,7 @@ namespace Edu.WebApi.Controllers.Applet
var query = new Model.ViewModel.Exam.RB_Examination_Publish_ViewModel()
{
Group_Id = base.AppletUserInfo.Group_Id,
ExamStatus = base.ParmJObj.GetInt("ExamStatus", 0),
ExamStatus = (ExamTestStatusEnum)base.ParmJObj.GetInt("ExamStatus", 0),
GuestId = base.ParmJObj.GetInt("GuestId", 0),
};
var list = paperModule.GetGuestExaminationPublishPage(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
......@@ -534,28 +520,20 @@ namespace Edu.WebApi.Controllers.Applet
{
if (item.ExamStartTime > System.DateTime.Now)
{
item.ExamStatusStr = "未开始";
item.ExamStatus = ExamTestStatusEnum.NotStarted;
}
else if (item.ExamStartTime < System.DateTime.Now && item.ExamEndTime > System.DateTime.Now)
{
if (item.ExamStatus == 2)
{
item.ExamStatusStr = "已开始";
}
if (item.ExamStatus == 1 || item.ExamStatus == 3)
if (item.ExamStatus != ExamTestStatusEnum.FinishTest &&item.ExamStatus!= ExamTestStatusEnum.FinishScoring )
{
item.ExamStatusStr = "完成";
item.ExamStatus = ExamTestStatusEnum.FinishStarted;
}
}
else if (item.ExamEndTime < System.DateTime.Now)
{
if (item.ExamStatus == 2)
if (item.ExamStatus != ExamTestStatusEnum.FinishTest && item.ExamStatus != ExamTestStatusEnum.FinishScoring)
{
item.ExamStatusStr = "缺考";
}
else if (item.ExamStatus == 1 || item.ExamStatus == 3)
{
item.ExamStatusStr = "完成";
item.ExamStatus = ExamTestStatusEnum.MissedTest;
}
}
}
......@@ -571,7 +549,7 @@ namespace Edu.WebApi.Controllers.Applet
ExamEndTime = Common.ConvertHelper.FormatTime(x.ExamEndTime),
x.ExamTimes,
x.ExamStatus,
x.ExamStatusStr
ExamStatusStr=x.ExamStatus.ToName()
});
pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel);
......@@ -671,84 +649,5 @@ namespace Edu.WebApi.Controllers.Applet
}
#endregion
#region 学习园地
/// <summary>
/// 获取学习园地分页
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GeLearningGardenPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_LearningGarden_ViewModel()
{
Title = base.ParmJObj.GetStringValue("Title"),
Group_Id = base.ParmJObj.GetInt("Group_Id")
};
query.Status = DateStateEnum.Normal;
query.Group_Id = base.AppletUserInfo.Group_Id;
var list = learningGardenModule.GetLearningGardenPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<object> resultList = new List<object>();
foreach (var item in list)
{
string CreateByName = "甲鹤教育";
if (item.CreateBy > 0)
{
CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
}
resultList.Add(new
{
item.Id,
item.Title,
item.Content,
item.Img,
item.Digest,
item.LinkUrl,
CreateByName,
CreateTime = Common.Plugin.StringHelper.DateFormatToString(item.CreateDate)
});
}
pageModel.Count = rowsCount;
pageModel.PageData = resultList;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取学习园地详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetLearningGarden()
{
var Id = base.ParmJObj.GetInt("Id", 0);
var extModel = learningGardenModule.GetLearningGardenModule(Id);
object obj = new object();
if (extModel != null && extModel.Id > 0)
{
string CreateByName = "甲鹤教育";
if (extModel.CreateBy > 0)
{
CreateByName = UserReidsCache.GetUserLoginInfo(extModel.CreateBy)?.AccountName ?? "";
}
obj = new
{
extModel.Id,
extModel.Title,
extModel.Img,
extModel.Content,
extModel.Digest,
extModel.LinkUrl,
CreateByName,
CreateTime = Common.Plugin.StringHelper.DateFormatToString(extModel.CreateDate)
};
}
return ApiResult.Success(data: obj);
}
#endregion
}
}
......@@ -241,13 +241,31 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 根据题库编号获取题库题型列表【试卷组卷使用】
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetQuestionTypeStaticList()
{
var query = new RB_Question_ViewModel()
{
CourseId = base.ParmJObj.GetInt("CourseId"),
Title = base.ParmJObj.GetStringValue("Title"),
PointName = base.ParmJObj.GetStringValue("PointName"),
BankId = base.ParmJObj.GetInt("BankId"),
QBankIds = base.ParmJObj.GetStringValue("QBankIds"),
};
var data = questionModule.GetQuestionTypeStaticListModule(query);
return ApiResult.Success(data: data);
}
/// <summary>
/// 根据题库编号获取题库题型分类列表【试卷组卷使用】
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetQuestionCategoryList()
public ApiResult GetQuestionCategoryStaticList()
{
var query = new RB_Question_ViewModel()
{
......@@ -257,11 +275,10 @@ namespace Edu.WebApi.Controllers.Course
BankId = base.ParmJObj.GetInt("BankId"),
QBankIds = base.ParmJObj.GetStringValue("QBankIds"),
};
var data = questionModule.GetQuestionCategoryList_V2Module(query);
var data = questionModule.GetQuestionCategoryStaticListModule(query);
return ApiResult.Success(data: data);
}
/// <summary>
/// 获取问题难易列表
/// </summary>
......
......@@ -2,6 +2,7 @@
using Edu.Common;
using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Exam;
using Edu.Common.Enum.Question;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Exam;
......@@ -135,6 +136,8 @@ namespace Edu.WebApi.Controllers.Exam
PaperType = base.ParmJObj.GetInt("PaperType"),
ParentId = base.ParmJObj.GetInt("ParentId"),
IsOpen = base.ParmJObj.GetInt("IsOpen"),
GroupType=(ExamGroupTypeEnum)base.ParmJObj.GetInt("GroupType"),
PaperScore=base.ParmJObj.GetDecimal("PaperScore"),
};
if (string.IsNullOrEmpty(extModel.PaperName))
{
......@@ -156,12 +159,24 @@ namespace Edu.WebApi.Controllers.Exam
GId = jobj.GetInt("GId"),
PaperId = jobj.GetInt("PaperId"),
GroupName = jobj.GetStringValue("GroupName"),
QuestionTypeId = jobj.GetInt("QuestionTypeId"),
QuestionTypeKey = jobj.GetStringValue("QuestionTypeKey"),
GSortNum = gSortNum,
GScore = jobj.GetDecimal("GScore"),
DetailsList = new List<RB_Examination_Details_ViewModel>(),
GroupType=extModel.GroupType,
};
if (extModel.GroupType == ExamGroupTypeEnum.QuestionType)
{
gModel.QuestionTypeId = jobj.GetInt("QuestionTypeId");
gModel.QuestionTypeKey = jobj.GetStringValue("QuestionTypeKey");
gModel.CategoryId = 0;
}
else if (extModel.GroupType == ExamGroupTypeEnum.QuestionClassify)
{
gModel.QuestionTypeId = 0;
gModel.QuestionTypeKey = "";
gModel.CategoryId = (QuestionCategoryEnum)jobj.GetInt("QuestionTypeId");
}
gSortNum++;
string details = jobj.GetStringValue("DetailsList");
if (!string.IsNullOrEmpty(details))
......@@ -244,6 +259,7 @@ namespace Edu.WebApi.Controllers.Exam
IsSaveTemplate = base.ParmJObj.GetBoolValue("IsSaveTemplate"),
ParentId = base.ParmJObj.GetInt("ParentId"),
IsOpen = base.ParmJObj.GetInt("IsOpen"),
GroupType=(ExamGroupTypeEnum)base.ParmJObj.GetInt("GroupType"),
};
string TemplateData = base.ParmJObj.GetStringValue("TemplateData");
if (!string.IsNullOrEmpty(TemplateData))
......@@ -565,6 +581,9 @@ namespace Edu.WebApi.Controllers.Exam
PaperId = base.ParmJObj.GetInt("PaperId"),
PaperName = base.ParmJObj.GetStringValue("PaperName"),
IsQueryAll=base.ParmJObj.GetInt("IsQueryAll"),
QTestStatus=base.ParmJObj.GetInt("QTestStatus"),
QStartTime=base.ParmJObj.GetStringValue("QStartTime"),
QEndTime=base.ParmJObj.GetStringValue("QEndTime"),
};
if (query.IsQueryAll != 1)
{
......@@ -575,6 +594,24 @@ namespace Edu.WebApi.Controllers.Exam
var list = paperModule.GetExaminationPublishPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
string TestStatusStr = "未开始";
var startTime = Convert.ToDateTime(item.ExamStartTime);
var endTime = Convert.ToDateTime(item.ExamEndTime);
//未开始
if (startTime > DateTime.Now)
{
TestStatusStr = "未开始";
}
//进行中
else if (startTime <= DateTime.Now && DateTime.Now <= endTime)
{
TestStatusStr = "进行中";
}
//已结束
else if (endTime < DateTime.Now)
{
TestStatusStr = "已结束";
}
var obj = new
{
item.Id,
......@@ -583,12 +620,14 @@ namespace Edu.WebApi.Controllers.Exam
CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "",
StartTime = Common.ConvertHelper.FormatTime(item.ExamStartTime),
EndTime = Common.ConvertHelper.FormatTime(item.ExamEndTime),
IsEdit = item.ExamStartTime > DateTime.Now ? 1 : 0,
item.ExamTimes,
item.StudentCount,
ReviewerName = item.Reviewer > 0 ? (UserReidsCache.GetUserLoginInfo(item.Reviewer)?.AccountName ?? "") : "",
item.Reviewer,
item.ExamineStatus,
ExamineStatusStr =paperModule.GetExamineStatusStr(item.ExamineStatus)
TestStatusStr,
ExamineStatusStr = paperModule.GetExamineStatusStr(item.ExamineStatus)
};
result.Add(obj);
}
......@@ -814,6 +853,24 @@ namespace Edu.WebApi.Controllers.Exam
var list = paperModule.GetExaminationStudentPageRepository(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
if (item.ExamStartTime > System.DateTime.Now)
{
item.ExamStatus = ExamTestStatusEnum.NotStarted;
}
else if (item.ExamStartTime < System.DateTime.Now && item.EndTime > System.DateTime.Now)
{
if (item.ExamStatus != ExamTestStatusEnum.FinishTest && item.ExamStatus != ExamTestStatusEnum.FinishScoring)
{
item.ExamStatus = ExamTestStatusEnum.FinishStarted;
}
}
else if (item.EndTime < System.DateTime.Now)
{
if (item.ExamStatus != ExamTestStatusEnum.FinishTest && item.ExamStatus != ExamTestStatusEnum.FinishScoring)
{
item.ExamStatus = ExamTestStatusEnum.MissedTest;
}
}
var obj = new
{
item.Id,
......@@ -830,6 +887,8 @@ namespace Edu.WebApi.Controllers.Exam
CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "",
item.ExamStatus,
ExamStatusName = item.ExamStatus.ToName(),
ExamStartTime = Common.ConvertHelper.FormatTime(item.ExamStartTime),
EndTime = Common.ConvertHelper.FormatTime(item.EndTime),
};
result.Add(obj);
}
......
This diff is collapsed.
......@@ -189,6 +189,19 @@ namespace Edu.WebApi.Controllers.QYWeChat
string ContactName = ContactModel?.external_contact?.name ?? "";
welcomeModel.Content = welcomeModel.Content.Replace("##客户名称##", ContactName);
}
if (welcomeModel.Content.Contains("##员工姓名##"))
{
//替换员工姓名
welcomeModel.Content = welcomeModel.Content.Replace("##员工姓名##", empModel.EmployeeName);
}
if (welcomeModel.Content.Contains("##员工别名##"))
{
//替换客户名称
var MemberModel = QYWeiXinHelper.GetMember_V2(token, UserID);
string Alias = MemberModel?.alias ?? "";
welcomeModel.Content = welcomeModel.Content.Replace("##员工别名##", Alias);
}
//开始状态欢迎语 掉推送接口
string RMsg = weChatModule.SendNewCustomerWelcome(token, WelcomeCode, welcomeModel);
//处理消息
......@@ -223,6 +236,19 @@ namespace Edu.WebApi.Controllers.QYWeChat
welcomeModel.Content = welcomeModel.Content.Replace("##客户名称##", ContactName);
}
if (welcomeModel.Content.Contains("##员工姓名##"))
{
//替换员工姓名
welcomeModel.Content = welcomeModel.Content.Replace("##员工姓名##", empModel.EmployeeName);
}
if (welcomeModel.Content.Contains("##员工别名##"))
{
//替换客户名称
var MemberModel = QYWeiXinHelper.GetMember_V2(token, UserID);
string Alias = MemberModel?.alias ?? "";
welcomeModel.Content = welcomeModel.Content.Replace("##员工别名##", Alias);
}
//开始状态欢迎语 掉推送接口
string RMsg = weChatModule.SendNewCustomerWelcome(token, WelcomeCode, welcomeModel);
//处理消息
......@@ -327,6 +353,19 @@ namespace Edu.WebApi.Controllers.QYWeChat
welcomeModel.Content = welcomeModel.Content.Replace("##客户名称##", ContactName);
}
if (welcomeModel.Content.Contains("##员工姓名##"))
{
//替换员工姓名
welcomeModel.Content = welcomeModel.Content.Replace("##员工姓名##", empModel.EmployeeName);
}
if (welcomeModel.Content.Contains("##员工别名##"))
{
//替换客户名称
var MemberModel = QYWeiXinHelper.GetMember_V2(token, UserID);
string Alias = MemberModel?.alias ?? "";
welcomeModel.Content = welcomeModel.Content.Replace("##员工别名##", Alias);
}
//开始状态欢迎语 掉推送接口
string RMsg = weChatModule.SendNewCustomerWelcome(token, WelcomeCode, welcomeModel);
//处理消息
......
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