试卷 新增复制接口

master
xiaochanghai 5 months ago
parent ae573d44d5
commit b57861a0c8
  1. 9
      Tiobon.Core.Api/Controllers/Ghre/Ghre_ExamPaperController.cs
  2. 2
      Tiobon.Core.IServices/Ghre/IGhre_ExamPaperServices.cs
  3. 2
      Tiobon.Core.Services/CommonServices.cs
  4. 46
      Tiobon.Core.Services/Ghre/Ghre_ExamPaperServices.cs
  5. 10
      Tiobon.Core.Services/Ghre/Ghre_StudyRuleServices.cs
  6. 5
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs

@ -1,4 +1,6 @@
namespace Tiobon.Core.Api.Controllers;
using NPOI.Util;
namespace Tiobon.Core.Api.Controllers;
/// <summary>
/// 试卷(Controller)
@ -113,4 +115,9 @@ public class Ghre_ExamPaperController : BaseController<IGhre_ExamPaperServices,
{
return await _service.ExportExcel(body, status);
}
#region 复制
[HttpPost, Route("Copy/{id}")]
public async Task<ServiceResult> Copy(long id) => await _service.Copy(id);
#endregion
}

@ -24,4 +24,6 @@ public interface IGhre_ExamPaperServices : IBaseServices<Ghre_ExamPaper, Ghre_Ex
Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId, string KeyWords);
Task<ServiceResult<ExcelData>> ExportExcel(QueryExport body, string status);
Task<ServiceResult> Copy(long id);
}

@ -899,6 +899,8 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
case "F_ExamPaperReleased":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
if (toolbar != null) { toolbar.fnKey = "TBD4YN"; }
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
{

@ -912,7 +912,7 @@ delete from Ghre_ExamPaperQuestion WHERE ExamPaperId='{id}';");
for (int i = 0; i < dt.Rows.Count; i++)
{
item = new JObject
item = new JObject
{
new JProperty("value",long.Parse(dt.Rows[i]["Id"].ToString())),
new JProperty("label", dt.Rows[i]["PaperName"].ToString() + "("+dt.Rows[i]["PaperNo"].ToString()+")")
@ -920,7 +920,7 @@ delete from Ghre_ExamPaperQuestion WHERE ExamPaperId='{id}';");
DT_TableDataT1.Add(item);
}
item = new JObject
item = new JObject
{
new JProperty("ListMax",100),
new JProperty("ListMin",10),
@ -936,4 +936,46 @@ delete from Ghre_ExamPaperQuestion WHERE ExamPaperId='{id}';");
return new ServiceResult<CommonSelect>() { Success = true, Message = "查询成功", Data = result, };
}
#endregion
#region 复制
public async Task<ServiceResult> Copy(long id)
{
var entity = await base.QueryById(id);
entity.PaperName = entity.PaperName + "_复制";
entity.PaperNo = await GenerateContinuousSequence("Ghre_ExamPaper", "PaperNo", "P");
entity.Status = "Draft";
var id1 = await base.Add(Mapper.Map(entity).ToANew<InsertGhre_ExamPaperInput>());
var configs = await _ghre_ExamPaperConfigServices.Query(x => x.ExamPaperId == id);
var questions = await _ghre_ExamPaperQuestionServices.Query(x => x.ExamPaperId == id);
for (int i = 0; i < configs.Count; i++)
{
var config = configs[i];
config.ExamPaperId = id1;
var configId = await _ghre_ExamPaperConfigServices.Add(Mapper.Map(config).ToANew<InsertGhre_ExamPaperConfigInput>());
var questions1 = Mapper.Map(questions.Where(x => x.ConfigId == config.Id)).ToANew<List<InsertGhre_ExamPaperQuestionInput>>();
questions1.ForEach(x =>
{
x.ConfigId = configId;
x.ExamPaperId = id1;
});
await _ghre_ExamPaperQuestionServices.Add(questions1);
}
//var result = await BaseDal.Update(entities);
//if (status == "Released")
// return ServiceResult.OprateSuccess("发布成功!");
//else if (status == "Draft")
// return ServiceResult.OprateSuccess(" 已启用成功,请进入草稿箱查看!");
//else
// return ServiceResult.OprateSuccess("停用成功!");
return ServiceResult.OprateSuccess("复制成功!");
}
#endregion
}

@ -228,15 +228,15 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
public override async Task<bool> Update(long Id, EditGhre_StudyRuleInput entity)
{
if (!entity.ZoneIds.IsNull() && entity.ZoneIds.Any())
if (!entity.ZoneIds.IsNull())
entity.ZoneId = JsonHelper.ObjToJson(entity.ZoneIds);
if (!entity.DeptIds.IsNull() && entity.DeptIds.Any())
if (!entity.DeptIds.IsNull())
entity.DeptId = JsonHelper.ObjToJson(entity.DeptIds);
if (!entity.TitleIds.IsNull() && entity.TitleIds.Any())
if (!entity.TitleIds.IsNull())
entity.TitleId = JsonHelper.ObjToJson(entity.TitleIds);
if (!entity.GradeIds.IsNull() && entity.GradeIds.Any())
if (!entity.GradeIds.IsNull())
entity.GradeId = JsonHelper.ObjToJson(entity.GradeIds);
if (!entity.JobIds.IsNull() && entity.JobIds.Any())
if (!entity.JobIds.IsNull())
entity.JobId = JsonHelper.ObjToJson(entity.JobIds);
var result = await base.Update(Id, entity);

@ -797,10 +797,11 @@ ORDER BY A.SortNo ASC";
});
else
{
if (input.IdCardNo.IsNullOrEmpty())
if (input.IdCardNo.IsNullOrEmpty() && resume.IdCardNo.IsNotEmptyOrNull())
return ServiceResult<dynamic>.OprateFailed(await QueryLangValue("F_ResumeMaintenance_0147", "请输入身份证号码后六位!"));
resume = await QuerySingle(x => x.Mobile == input.Mobile && x.IdCardNo.Contains(input.IdCardNo));
if (input.IdCardNo.IsNotEmptyOrNull() && resume.IdCardNo.IsNotEmptyOrNull())
resume = await QuerySingle(x => x.Mobile == input.Mobile && x.IdCardNo.Contains(input.IdCardNo));
id = resume.Id;

Loading…
Cancel
Save