企业考试交卷
__coTyEAVU2rvXr4ErDl2
__coTyEAVU2rvXr4ErDl2
published
UTF-8
post
/bkt/myEnterpriseExamSubmit
json
planProcess
var planProcessSql = "SELECT "+
"cast(sum(process.ITEM_PROCESS)/count(1) as DECIMAL(10,2)) planProcess "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_MISSION_ID = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_LEARNPLAN_ID = '"+planId+"' and process.ITEM_EXAMINEE_ID = '"+employeeId+"'";
var planProcessData = queryByDSName("tms",planProcessSql);
var planProcessIter = planProcessData.iterator();
var planProcessMap = "";
if(planProcessIter.hasNext()){
planProcessMap = planProcessIter.next();
planProcess = planProcessMap.get("planProcess");
// 计划总进度达到100% ->1
if(1 === planProcess){
missionProgressUpdateSql = "UPDATE tms.tlk_learnPlan_test_examinee SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_mission_progress = '"+planProcess+"',"+
"ITEM_examinee_test_score = concat(ifnull(ITEM_examinee_test_score,''),'"+examScore+"'),"+
"ITEM_examinee_credit_score = '0',ITEM_examinee_learnPlan_status = case when now()>'"+effectEndDate+"' then '2' else '1' end,"+
"ITEM_learnPlan_finish_time = now() where ITEM_learnplan_id = '"+planId+"' and ITEM_examinee_id = '"+employeeId+"' and item_isDelete='0'";
}else if(1 > planProcess){ // 计划总进度没达到100% ->1
missionProgressUpdateSql = "UPDATE tms.tlk_learnPlan_test_examinee SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_mission_progress = '"+planProcess+"',"+
"ITEM_examinee_test_score = concat(ifnull(ITEM_examinee_test_score,''),'"+examScore+"',';') "+
"where ITEM_learnplan_id = '"+planId+"' and ITEM_examinee_id = '"+employeeId+"' and item_isDelete='0'";
}
// 更新职员所属计划任务的进度
updateByDSName("tms",missionProgressUpdateSql);
}
searchSql = "SELECT "+
"'"+examScore+"' ITEM_examinee_exam_score,"+
"'' ITEM_examinee_credit_score,"+
"'' certification,"+
"process.ITEM_examinee_test_record ITEM_examinee_exam_record "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_mission_id = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_examinee_id = '"+employeeId+"' and mission.ITEM_MISSION_ID = '"+examId+"'";
}else if("1".equals(learnPassStatus) && ("0".equals(examPassStatus) || "".equals(examPassStatus))){
//学习不生效而考试生效的情况下
var passedScore = "";// 规定的及格分数
var creditScore = "";// 规定的奖励学分
var certificationId = "";// 规定的证书id
passedCount = "";// 规定的考试合格场数
var certificationWay = "";// 规定的证书颁发方式 0:不颁发 或 2:考试合格后颁发
passedTestNum = "";// 已经考试合格的场数
var passSql = "SELECT "+
"case when (plan.ITEM_exam_pass_setting is null OR plan.ITEM_exam_pass_setting = '') then 0 else cast(plan.ITEM_exam_pass_setting*0.01*paper.ITEM_TESTALL as decimal(10,0)) end passedScore,"+
"plan.ITEM_reward_score creditScore,"+
"plan.ITEM_issue_certifications_way certificationWay,"+
"plan.ITEM_certification_id certificationId,"+
"plan.ITEM_exam_pass_demand passedCount "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_MISSION_ID = mission.ID "+
"LEFT JOIN tms.tlk_learnPlanStage stage on mission.ITEM_learn_stage_id = stage.ID "+
"LEFT JOIN tms.tlk_learnPlan plan ON stage.ITEM_learn_plan_id = plan.id "+
"LEFT JOIN tms.tlk_learnPlanTest test ON mission.ITEM_MISSION_ID = test.id "+
"LEFT JOIN tms.tlk_enterprise_test_paper paper ON test.ITEM_learn_test_paper_id = paper.id "+
"WHERE process.ITEM_ISDELETE = '0' and mission.ITEM_MISSION_ID = '"+examId+"' and process.ITEM_EXAMINEE_ID = '"+employeeId+"'";
var passData = queryByDSName("tms",passSql);
var passIter = passData.iterator();
var passMap = "";
if(passIter.hasNext()){
passMap = passIter.next();
passedScore = passMap.get("passedScore");
creditScore = passMap.get("creditScore");
certificationId = passMap.get("certificationId");
passedCount = passMap.get("passedCount");
certificationWay = passMap.get("certificationWay");
}
if(isNotNull(passedScore) && examScore >= passedScore){
// 是否达到考试及格分数,达到的话这个人的考试任务进度+1
processUpdateSql = "UPDATE tms.tlk_learnPlan_mission_process SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_process = '1',ITEM_examinee_test_record = '"+examRecord+"' "+
"WHERE ITEM_mission_id = (select id from tms.tlk_learnPlanMission where item_mission_id = '"+examId+"') and ITEM_examinee_id = '"+employeeId+"' and item_isDelete='0'";
updateByDSName("tms",processUpdateSql);
// 计算职员所属计划任务的进度->planProcess
var planProcessSql = "SELECT "+
"cast(sum(process.ITEM_PROCESS)/count(1) as DECIMAL(10,2)) planProcess "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_MISSION_ID = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_LEARNPLAN_ID = '"+planId+"' and process.ITEM_EXAMINEE_ID = '"+employeeId+"'";
var planProcessData = queryByDSName("tms",planProcessSql);
var planProcessIter = planProcessData.iterator();
var planProcessMap = "";
// 计算已通过的考试个数
var passedTestNumSql = "SELECT "+
"count(1) passedTestNum "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_MISSION_ID = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and mission.ITEM_MISSION_ID like '%__Cq1HeEavDV5nbpOVpd2' and process.item_process = '1' and process.ITEM_LEARNPLAN_ID = '"+planId+"' and process.ITEM_EXAMINEE_ID = '"+employeeId+"'";
var passedTestNumData = queryByDSName("tms",passedTestNumSql);
var passedTestNumIter = passedTestNumData.iterator();
var passedTestNumMap = "";
if(planProcessIter.hasNext()){
planProcessMap = planProcessIter.next();
planProcess = planProcessMap.get("planProcess");
passedTestNumMap = passedTestNumIter.next();
passedTestNum = passedTestNumMap.get("passedTestNum");
var searchStr = "";
// 考试合格场数达到计划中规定的合格场数则算考试通过
if(Number(passedTestNum) == passedCount){
if(!isNotNull(creditScore)){
creditScore = "0";
}
var updateStr = "";
if("2".equals(certificationWay)){
updateStr +="ITEM_examinee_certificate_status = '1',";
searchStr += "case person.ITEM_examinee_certificate_status when '0' then '' when '1' then '获得1项证书' end ";
}
if(1 == planProcess){ // 计划总进度达到100% ->1
missionProgressUpdateSql = "UPDATE tms.tlk_learnPlan_test_examinee SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_mission_progress = '"+planProcess+"',"+updateStr+
"ITEM_examinee_test_score = concat(ifnull(ITEM_examinee_test_score,''),'"+examScore+"'),"+
"ITEM_examinee_credit_score = '"+creditScore+"',ITEM_examinee_learnPlan_status = case when now()>'"+effectEndDate+"' then '2' else '1' end,"+
"ITEM_learnPlan_finish_time = now() where ITEM_learnplan_id = '"+planId+"' and ITEM_examinee_id = '"+employeeId+"' and item_isDelete='0'";
}else if(1 > planProcess){ // 计划总进度没达到100% ->1
missionProgressUpdateSql = "UPDATE tms.tlk_learnPlan_test_examinee SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_mission_progress = '"+planProcess+"',"+updateStr+
"ITEM_examinee_test_score = concat(ifnull(ITEM_examinee_test_score,''),'"+examScore+"',';'),"+
"ITEM_examinee_credit_score = '"+creditScore+"',ITEM_examinee_learnPlan_status = case when now()>'"+effectEndDate+"' then '2' else '1' end,"+
"ITEM_learnPlan_finish_time = now() where ITEM_learnplan_id = '"+planId+"' and ITEM_examinee_id = '"+employeeId+"' and item_isDelete='0'";
}
// 更新职员所属计划任务的进度
updateByDSName("tms",missionProgressUpdateSql);
// 插入学分成员明细 1
var ruleId = "";
var ruleSql = "select id from tms.tlk_creditRules where item_isDelete = '0' and item_rule_name ='学习计划'";
var creditRulelId = queryByDSName("tms",ruleSql).iterator().next().get("id");
var process = getDocumentProcess();
var formService = getFormProcess();
var subform = formService.doView("__84a1z2MaoRytX5nWz86");
var doc = process.doNew(subform,getWebUser(),createParamsTable());
doc.addStringItem("credit_rule_id",creditRulelId);
doc.addStringItem("credit_score",creditScore);
ruleId = doc.getId();
process.doCreate(doc);
// 插入学分成员明细 2
var subform = formService.doView("__6HDqpRKrC0KPrhy2Rgo");
var doc = process.doNew(subform,getWebUser(),createParamsTable());
doc.addStringItem("credit_detail_id",ruleId);
doc.addStringItem("student_id",employeeId);
var sql = "SELECT "+
"b.`name` studentName,"+
"c.`name` departName "+
"FROM obpm2.tenant_employees a "+
"LEFT JOIN obpm2.tenant_users b ON a.tenant_user_id = b.id "+
"LEFT JOIN obpm2.tenant_departments c ON a.department_id = c.id "+
"WHERE a.id = '"+employeeId+"'";
var data = queryByDSName("tms",sql);
var iter = data.iterator();
var employeeName = "";
if(iter.hasNext()){
map = iter.next();
doc.addStringItem("student_name",map.get("studentName"));
doc.addStringItem("student_department",map.get("departName"));
employeeName = map.get("studentName");
}
doc.addStringItem("score_source_id",planId);
process.doCreate(doc);
// 生成证书
makeCertification(employeeId,employeeName,certificationId);
searchSql = "SELECT "+
"'"+examScore+"' ITEM_examinee_exam_score,"+
"person.ITEM_examinee_credit_score,"+
searchStr +" certification,"+
"process.ITEM_examinee_test_record ITEM_examinee_exam_record "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_mission_id = mission.id "+
"LEFT JOIN tms.tlk_learnPlan_test_examinee person ON (person.ITEM_examinee_id = process.ITEM_examinee_id and person.ITEM_learnplan_id = '"+planId+"' and person.ITEM_ISDELETE = '0') "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_examinee_id = '"+employeeId+"' and mission.ITEM_MISSION_ID = '"+examId+"'";
}
}
}else{
searchSql = "SELECT "+
"'"+examScore+"' ITEM_examinee_exam_score,"+
"'' ITEM_examinee_credit_score,"+
"'' certification,"+
"process.ITEM_examinee_test_record ITEM_examinee_exam_record "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_mission_id = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_examinee_id = '"+employeeId+"' and mission.ITEM_MISSION_ID = '"+examId+"'";
}
}else if(("".equals(learnPassStatus) || "0".equals(learnPassStatus)) && ("".equals(examPassStatus) || "0".equals(examPassStatus))){
//学习生效而考试也生效的情况下
var passedScore = "";// 规定的及格分数
var creditScore = "";// 规定的奖励学分
var certificationId = "";// 规定的证书id
var passedCount = "";// 规定的考试合格场数
var certificationWay = "";// 规定的证书颁发方式 0:不颁发; 1:学习合格后颁发;2:考试合格后颁发;3:学习和考试合格后颁发
var finishCoursePercent = ""; // 规定的完成总课程百分比 (0-100)
var passedTestNum = "";// 已经考试合格的场数
var finishCoursePercentNum = "";// 已完成总课程百分比
var passSql = "SELECT "+
"case when (plan.ITEM_exam_pass_setting is null OR plan.ITEM_exam_pass_setting = '') then 0 else cast(plan.ITEM_exam_pass_setting*0.01*paper.ITEM_TESTALL as decimal(10,0)) end passedScore,"+
"plan.ITEM_reward_score creditScore,"+
"plan.ITEM_issue_certifications_way certificationWay,"+
"plan.ITEM_certification_id certificationId,"+
"plan.ITEM_exam_pass_demand passedCount,"+
"plan.ITEM_learn_pass_demand finishCoursePercent "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_MISSION_ID = mission.ID "+
"LEFT JOIN tms.tlk_learnPlanStage stage on mission.ITEM_learn_stage_id = stage.ID "+
"LEFT JOIN tms.tlk_learnPlan plan ON stage.ITEM_learn_plan_id = plan.id "+
"LEFT JOIN tms.tlk_learnPlanTest test ON mission.ITEM_MISSION_ID = test.id "+
"LEFT JOIN tms.tlk_enterprise_test_paper paper ON test.ITEM_learn_test_paper_id = paper.id "+
"WHERE process.ITEM_ISDELETE = '0' and mission.ITEM_MISSION_ID = '"+examId+"' and process.ITEM_EXAMINEE_ID = '"+employeeId+"'";
var passData = queryByDSName("tms",passSql);
var passIter = passData.iterator();
var passMap = "";
if(passIter.hasNext()){
passMap = passIter.next();
passedScore = passMap.get("passedScore");
creditScore = passMap.get("creditScore");
certificationId = passMap.get("certificationId");
passedCount = passMap.get("passedCount");
certificationWay = passMap.get("certificationWay");
finishCoursePercent = passMap.get("finishCoursePercent");
}
if(isNotNull(passedScore) && examScore >= passedScore){
// 是否达到考试及格分数,达到的话这个人的考试任务进度+1
processUpdateSql = "UPDATE tms.tlk_learnPlan_mission_process SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_process = '1',ITEM_examinee_test_record = '"+examRecord+"' "+
"WHERE ITEM_mission_id = (select id from tms.tlk_learnPlanMission where item_mission_id = '"+examId+"') and ITEM_examinee_id = '"+employeeId+"' and item_isDelete='0'";
updateByDSName("tms",processUpdateSql);
// 计算职员所属计划任务的进度->planProcess
var planProcessSql = "SELECT "+
"cast(sum(process.ITEM_PROCESS)/count(1) as DECIMAL(10,2)) planProcess "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_MISSION_ID = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_LEARNPLAN_ID = '"+planId+"' and process.ITEM_EXAMINEE_ID = '"+employeeId+"'";
var planProcessData = queryByDSName("tms",planProcessSql);
var planProcessIter = planProcessData.iterator();
var planProcessMap = "";
// 计算已通过的考试个数
var passedTestNumSql = "SELECT "+
"count(1) passedTestNum "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_MISSION_ID = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and mission.ITEM_MISSION_ID like '%__Cq1HeEavDV5nbpOVpd2' "+
"and process.item_process = '1' and process.ITEM_LEARNPLAN_ID = '"+planId+"' and process.ITEM_EXAMINEE_ID = '"+employeeId+"'";
var passedTestNumData = queryByDSName("tms",passedTestNumSql);
var passedTestNumIter = passedTestNumData.iterator();
var passedTestNumMap = "";
// 计算已完成课程百分比
var finishCoursePercentSql = "SELECT "+
"cast(sum(process.ITEM_PROCESS)/count(1) as DECIMAL(10,2)) percent "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_MISSION_ID = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and mission.ITEM_MISSION_ID not like '%__Cq1HeEavDV5nbpOVpd2' "+
"and process.ITEM_LEARNPLAN_ID = '"+planId+"' and process.ITEM_EXAMINEE_ID = '"+employeeId+"'";
var finishCoursePercentData = queryByDSName("tms",finishCoursePercentSql);
var finishCoursePercentIter = finishCoursePercentData.iterator();
var finishCoursePercentMap = "";
if(planProcessIter.hasNext()){
planProcessMap = planProcessIter.next();
planProcess = planProcessMap.get("planProcess");
passedTestNumMap = passedTestNumIter.next();
passedTestNum = passedTestNumMap.get("passedTestNum");
finishCoursePercentMap = finishCoursePercentIter.next();
finishCoursePercentNum = finishCoursePercentMap.get("percent") * 100;
var searchStr = "";
// 考试合格场数达到计划中规定的合格场数 并且 已完成课程百分比达到计划中的课程百分比则算考试通过
if(Number(passedTestNum) == passedCount && finishCoursePercent <= finishCoursePercentNum){
if(!isNotNull(creditScore)){
creditScore = "0";
}
var updateStr = "";
if("2".equals(certificationWay) || "3".equals(certificationWay)){
updateStr +="ITEM_examinee_certificate_status = '1',";
searchStr += "case person.ITEM_examinee_certificate_status when '0' then '' when '1' then '获得1项证书' end ";
}
if(1 == planProcess){ // 计划总进度达到100% ->1
missionProgressUpdateSql = "UPDATE tms.tlk_learnPlan_test_examinee SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_mission_progress = '"+planProcess+"',"+updateStr+
"ITEM_examinee_test_score = concat(ifnull(ITEM_examinee_test_score,''),'"+examScore+"'),"+
"ITEM_examinee_credit_score = '"+creditScore+"',ITEM_examinee_learnPlan_status = case when now()>'"+effectEndDate+"' then '2' else '1' end,"+
"ITEM_learnPlan_finish_time = now() where ITEM_learnplan_id = '"+planId+"' and ITEM_examinee_id = '"+employeeId+"' and item_isDelete='0'";
}else if(1 > planProcess){ // 计划总进度没达到100% ->1
missionProgressUpdateSql = "UPDATE tms.tlk_learnPlan_test_examinee SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_mission_progress = '"+planProcess+"',"+updateStr+
"ITEM_examinee_test_score = concat(ifnull(ITEM_examinee_test_score,''),'"+examScore+"',';'),"+
"ITEM_examinee_credit_score = '"+creditScore+"',ITEM_examinee_learnPlan_status = case when now()>'"+effectEndDate+"' then '2' else '1' end,"+
"ITEM_learnPlan_finish_time = now() where ITEM_learnplan_id = '"+planId+"' and ITEM_examinee_id = '"+employeeId+"' and item_isDelete='0'";
}
// 更新职员所属计划任务的进度
updateByDSName("tms",missionProgressUpdateSql);
// 插入学分成员明细 1
var ruleId = "";
var ruleSql = "select id from tms.tlk_creditRules where item_isDelete = '0' and item_rule_name ='学习计划'";
var creditRulelId = queryByDSName("tms",ruleSql).iterator().next().get("id");
var process = getDocumentProcess();
var formService = getFormProcess();
var subform = formService.doView("__84a1z2MaoRytX5nWz86");
var doc = process.doNew(subform,getWebUser(),createParamsTable());
doc.addStringItem("credit_rule_id",creditRulelId);
doc.addStringItem("credit_score",creditScore);
ruleId = doc.getId();
process.doCreate(doc);
// 插入学分成员明细 2
var subform = formService.doView("__6HDqpRKrC0KPrhy2Rgo");
var doc = process.doNew(subform,getWebUser(),createParamsTable());
doc.addStringItem("credit_detail_id",ruleId);
doc.addStringItem("student_id",employeeId);
var sql = "SELECT "+
"b.`name` studentName,"+
"c.`name` departName "+
"FROM obpm2.tenant_employees a "+
"LEFT JOIN obpm2.tenant_users b ON a.tenant_user_id = b.id "+
"LEFT JOIN obpm2.tenant_departments c ON a.department_id = c.id "+
"WHERE a.id = '"+employeeId+"'";
var data = queryByDSName("tms",sql);
var iter = data.iterator();
var employeeName = "";
if(iter.hasNext()){
map = iter.next();
doc.addStringItem("student_name",map.get("studentName"));
doc.addStringItem("student_department",map.get("departName"));
employeeName = map.get("studentName");
}
doc.addStringItem("score_source_id",planId);
process.doCreate(doc);
// 生成证书
makeCertification(employeeId,employeeName,certificationId);
searchSql = "SELECT "+
"'"+examScore+"' ITEM_examinee_exam_score,"+
"person.ITEM_examinee_credit_score,"+
searchStr +" certification,"+
"process.ITEM_examinee_test_record ITEM_examinee_exam_record "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_mission_id = mission.id "+
"LEFT JOIN tms.tlk_learnPlan_test_examinee person ON (person.ITEM_examinee_id = process.ITEM_examinee_id and person.ITEM_learnplan_id = '"+planId+"' and person.ITEM_ISDELETE = '0') "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_examinee_id = '"+employeeId+"' and mission.ITEM_MISSION_ID = '"+examId+"'";
}else{
searchSql = "SELECT "+
"'"+examScore+"' ITEM_examinee_exam_score,"+
"'' ITEM_examinee_credit_score,"+
"'' certification,"+
"process.ITEM_examinee_test_record ITEM_examinee_exam_record "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_mission_id = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_examinee_id = '"+employeeId+"' and mission.ITEM_MISSION_ID = '"+examId+"'";
}
}
}else{
searchSql = "SELECT "+
"'"+examScore+"' ITEM_examinee_exam_score,"+
"'' ITEM_examinee_credit_score,"+
"'' certification,"+
"process.ITEM_examinee_test_record ITEM_examinee_exam_record "+
"FROM tms.tlk_learnPlan_mission_process process "+
"LEFT JOIN tms.tlk_learnPlanMission mission ON process.ITEM_mission_id = mission.id "+
"WHERE process.ITEM_ISDELETE = '0' and process.ITEM_examinee_id = '"+employeeId+"' and mission.ITEM_MISSION_ID = '"+examId+"'";
}
}
updateSql = missionProgressUpdateSql+planProcess+" "+passedCount+" "+passedTestNum;
}else{
// ------ 企业考试交卷 ------
// 1.获取考试的及格分
var passedScore = "";
var creditScore = "";
var certification = "";
var passSql = "SELECT "+
"cast(exam.ITEM_exam_pass_percent*0.01*paper.ITEM_TESTALL as decimal(10,0)) passedScore,"+
"exam.ITEM_exam_credit_reward_score creditScore,"+
"exam.ITEM_exam_pass_certification_id certification "+
"FROM tms.tlk_enterprise_exam_info exam "+
"LEFT JOIN tms.tlk_enterprise_test_paper paper ON exam.ITEM_exam_paper_id = paper.id "+
"WHERE exam.id = '"+examId+"'";
var data = queryByDSName("tms",passSql);
var iter = data.iterator();
var map = "";
var updateStr = "";
if(iter.hasNext()){
map = iter.next();
passedScore = map.get("passedScore");
creditScore = map.get("creditScore");
certification = map.get("certification");
// 及格的话状态更新
if(examScore >= passedScore){
updateStr += "ITEM_examinee_pass_status = '1',ITEM_examinee_credit_score = '"+creditScore+"',";
}else{
updateStr += "ITEM_examinee_credit_score = '0',";
}
// 考试有证书的话则更新
if(isNotNull(certification) && examScore >= passedScore){
updateStr += "ITEM_examinee_certificate_status = '1',";
}
}
// 2.更新考生信息
var updateExamineeInfoSql = "UPDATE tms.tlk_enterprise_exam_examinee SET LASTMODIFIED = now(),LASTMODIFIER = '"+employeeId+"',"+
"ITEM_examinee_exam_num = ITEM_examinee_exam_num+1,ITEM_examinee_exam_status = '1',"+
"ITEM_examinee_exam_score = '"+examScore+"',"+updateStr+
"ITEM_examinee_complete_time = now(),ITEM_examinee_exam_record = '"+examRecord+"' "+
"WHERE ITEM_exam_info_id = '"+examId+"' and ITEM_examinee_id = '"+employeeId+"' and ITEM_ISDELETE = '0'";
updateByDSName("tms",updateExamineeInfoSql);
// 3.插入学分成员明细
if(examScore >= passedScore){
var ruleId = "";
var ruleSql = "select id from tms.tlk_creditRules where item_isDelete = '0' and item_rule_name ='考试'";
var creditRulelId = queryByDSName("tms",ruleSql).iterator().next().get("id");
var process = getDocumentProcess();
var formService = getFormProcess();
var subform = formService.doView("__84a1z2MaoRytX5nWz86");
var doc = process.doNew(subform,getWebUser(),createParamsTable());
doc.addStringItem("credit_rule_id",creditRulelId);
doc.addStringItem("credit_score",creditScore);
ruleId = doc.getId();
process.doCreate(doc);
var subform = formService.doView("__6HDqpRKrC0KPrhy2Rgo");
var doc = process.doNew(subform,getWebUser(),createParamsTable());
doc.addStringItem("credit_detail_id",ruleId);
doc.addStringItem("student_id",employeeId);
var sql = "SELECT "+
"b.`name` studentName,"+
"c.`name` departName "+
"FROM obpm2.tenant_employees a "+
"LEFT JOIN obpm2.tenant_users b ON a.tenant_user_id = b.id "+
"LEFT JOIN obpm2.tenant_departments c ON a.department_id = c.id "+
"WHERE a.id = '"+employeeId+"'";
var data = queryByDSName("tms",sql);
var iter = data.iterator();
var employeeName = "";
if(iter.hasNext()){
map = iter.next();
doc.addStringItem("student_name",map.get("studentName"));
doc.addStringItem("student_department",map.get("departName"));
employeeName = map.get("studentName");
}
doc.addStringItem("score_source_id",examId);
process.doCreate(doc);
// 生成证书
makeCertification(employeeId,employeeName,certification);
}
searchSql = "SELECT "+
"ITEM_examinee_exam_score,"+
"ITEM_examinee_credit_score,"+
"case ITEM_examinee_certificate_status when '0' then '' when '1' then '获得1项证书' end certification,"+
"ITEM_examinee_exam_record "+
"FROM tms.tlk_enterprise_exam_examinee "+
"WHERE DOMAINID = '"+domainid+"' and ITEM_examinee_id = '"+employeeId+"' and ITEM_exam_info_id = '"+examId+"' and ITEM_ISDELETE = '0'";
}
var data = queryByDSName("tms",searchSql);
var iter = data.iterator();
if(iter.hasNext()){
result.put("msg","success");
result.put("code","1");
result.put("data",data);
}else{
result.put("msg","我的成绩不存在");
result.put("code","-1");
}
return result;
})()]]>