2023-04-28
This commit is contained in:
@@ -174,11 +174,14 @@ namespace WebAPI.Controllers
|
||||
OutResult = person.OutResult,
|
||||
Birthday = person.Birthday,
|
||||
Telephone = person.Telephone,
|
||||
IsUsed = (person.IsUsed == false ? 0 : 1),
|
||||
InTime = Funs.GetNewDateTimeOrNow(person.InTime),
|
||||
Password = BLL.PersonService.GetPersonPassWord(person.IdentityCard),
|
||||
Isprint = "0",
|
||||
};
|
||||
if (!string.IsNullOrEmpty(person.IsUsed))
|
||||
{
|
||||
newPerson.IsUsed = int.Parse(person.IsUsed);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(person.TeamGroupName) && !string.IsNullOrEmpty(newPerson.UnitId))
|
||||
{
|
||||
var getTeamGroup = TeamGroupService.getTeamGroupByTeamGroupName(getProject.ProjectId, newPerson.UnitId, person.TeamGroupName);
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
@@ -350,7 +353,7 @@ namespace WebAPI.Controllers
|
||||
/// 交卷
|
||||
/// </summary>
|
||||
/// <param name="testRecordId">试卷ID</param>
|
||||
public Model.ResponeData getSubmitTestRecordByTestRecordId(string testRecordId)
|
||||
public Model.ResponeData getSubmitTestRecordByTestRecordId(string testRecordId,string Signature)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
@@ -364,6 +367,7 @@ namespace WebAPI.Controllers
|
||||
{
|
||||
if (getTestRecord.TestStartTime.HasValue)
|
||||
{
|
||||
getTestRecord.Signature = Signature;
|
||||
getTestRecord.TestEndTime = DateTime.Now;
|
||||
var getRItem = db.Training_TestRecordItem.Where(x => x.TestRecordId == testRecordId);
|
||||
if (getRItem.Count() > 0)
|
||||
@@ -410,5 +414,104 @@ namespace WebAPI.Controllers
|
||||
return responeData;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 交卷
|
||||
/// <summary>
|
||||
/// 交卷
|
||||
/// </summary>
|
||||
public Model.ResponeData SaveSubmitTestRecordByTestRecordId(Model.TestRecordItem testRecordItem)
|
||||
{
|
||||
string testRecordId = testRecordItem.TestRecordId;
|
||||
string Signature = testRecordItem.Signature;
|
||||
string Fingerprint = testRecordItem.Fingerprint;
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
var getTestRecord = db.Training_TestRecord.FirstOrDefault(e => e.TestRecordId == testRecordId);
|
||||
if (getTestRecord != null)
|
||||
{
|
||||
string rootUrl = ConfigurationManager.AppSettings["localRoot"];
|
||||
string SignatureUrl = @"FileUpload\TestRecord\" + getTestRecord.TestRecordId + "~签名" + ".png";
|
||||
string FingerprintUrl = @"FileUpload\TestRecord\" + getTestRecord.TestRecordId + "~指纹" + ".png";
|
||||
string Signaturefilename = rootUrl + SignatureUrl;
|
||||
string Fingerprintfilename = rootUrl + FingerprintUrl;
|
||||
|
||||
if (!string.IsNullOrEmpty(Signature))
|
||||
{
|
||||
Signature = Signature.Replace("data:image/svg+xml;base64,", "").Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "").Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", "");//将base64头部信息替换
|
||||
byte[] bytes = Convert.FromBase64String(Signature);
|
||||
|
||||
MemoryStream memStream = new MemoryStream(bytes);
|
||||
Image mImage = Image.FromStream(memStream);
|
||||
Bitmap bp = new Bitmap(mImage);
|
||||
MemoryStream ms = new MemoryStream();
|
||||
bp.Save(Signaturefilename, System.Drawing.Imaging.ImageFormat.Png);
|
||||
// System.IO.File.WriteAllBytes(Signaturefilename, Convert.FromBase64String(Signature));
|
||||
|
||||
getTestRecord.Signature = Signaturefilename.Replace(rootUrl, "");
|
||||
|
||||
}
|
||||
if (!string.IsNullOrEmpty(Fingerprint))
|
||||
{
|
||||
Fingerprint = Fingerprint.Replace("data:image/svg+xml;base64,", "").Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "").Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", "");//将base64头部信息替换
|
||||
|
||||
byte[] bytes = Convert.FromBase64String(Fingerprint);
|
||||
|
||||
MemoryStream memStream = new MemoryStream(bytes);
|
||||
Image mImage = Image.FromStream(memStream);
|
||||
Bitmap bp = new Bitmap(mImage);
|
||||
MemoryStream ms = new MemoryStream();
|
||||
bp.Save(Fingerprintfilename, System.Drawing.Imaging.ImageFormat.Png);
|
||||
|
||||
getTestRecord.Fingerprint = Fingerprintfilename.Replace(rootUrl, "");
|
||||
|
||||
}
|
||||
|
||||
APITestRecordService.updateTestRecord(getTestRecord);
|
||||
string returnTestRecordId = string.Empty;
|
||||
////考试分数
|
||||
decimal getTestScores = APITestRecordService.getSubmitTestRecord(getTestRecord);
|
||||
////及格分数
|
||||
int getPassScores = 80;
|
||||
var testRule = db.Sys_TestRule.FirstOrDefault();
|
||||
if (testRule != null)
|
||||
{
|
||||
getPassScores = testRule.PassingScore;
|
||||
}
|
||||
if (getTestScores <= getPassScores)
|
||||
{
|
||||
int testCount = db.Training_TestRecord.Where(x => x.TestPlanId == getTestRecord.TestPlanId && x.TestManId == getTestRecord.TestManId).Count();
|
||||
if (testCount < 2)
|
||||
{
|
||||
////重新生成一条考试记录 以及考试试卷
|
||||
returnTestRecordId = APITestRecordService.getResitTestRecord(getTestRecord);
|
||||
responeData.message = "考试不合格!您的成绩为:【" + getTestScores.ToString() + "】,您将进入补考。";
|
||||
}
|
||||
else
|
||||
{
|
||||
APITestRecordService.updateAll(getTestRecord.TestPlanId);
|
||||
responeData.message = "考试不合格!您的成绩为:【" + getTestScores.ToString() + "】,请再次参加培训后补考。";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
APITestRecordService.updateAll(getTestRecord.TestPlanId);
|
||||
responeData.message = "恭喜考试通过!您的成绩为:【" + getTestScores.ToString() + "】。";
|
||||
}
|
||||
|
||||
responeData.data = new { getTestScores, getPassScores, returnTestRecordId };
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = ex.Message;
|
||||
}
|
||||
return responeData;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -349,7 +349,7 @@ namespace WebAPI.Controllers
|
||||
/// <param name="trainTypeId">培训类型ID(可为空)</param>
|
||||
/// <param name="pageIndex">分页</param>
|
||||
/// <returns></returns>
|
||||
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string departIds, string trainTypeId, int pageIndex)
|
||||
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string departIds, string trainTypeId, int pageIndex,string strParam,string InTime)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
@@ -366,7 +366,7 @@ namespace WebAPI.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, departIds, trainTypeId).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
|
||||
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, departIds, trainTypeId, InTime, strParam).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
|
||||
|
||||
int pageCount = getDataList.Count;
|
||||
if (pageCount > 0 && pageIndex > 0)
|
||||
|
||||
Reference in New Issue
Block a user