6477 - 스마트검색 신규 작업본이 작용되지 않아야 하는 상황, 기존 작업물들로 롤백처리

This commit is contained in:
iyak 2025-02-06 07:13:57 +00:00
parent b7651669a1
commit 6efe9f5036
2 changed files with 245 additions and 73 deletions

View File

@ -655,94 +655,259 @@ namespace NP.Base.Controllers
// pms: 5640 적용
//public int CheckUserLect(string man, string cgcode, string edu, string grade, int cmno, int pcmno, long userno)
//{
// int result = 0; // 1:신청불가, 0:신청가능
// int rst = 0;
// string[] cgcodes = new string[0];
// string[] edus = new string[0];
// // 29:기본교육 ,30:최초교육 ,31:계속교육 ,32:안전관리계속교육(16시간) ,33:PQ가점교육 ,34:기타교육 ,35:승급교육
// // 36:초급 ,37:중급 ,38:고급 ,39:특급
// cgcodes = "102,103,104,105".Split(','); // 직무분야:(102), 역량강화:(103,104), 전문분야(105)
// edus = "30,31,35".Split(','); // 최초교육, 계속교육, 승급교육
// // man == 28 : 건설사업관리기술인(typeman)
// if (man == "28" && cgcodes.Contains(cgcode) && edus.Contains(edu))
// {
// switch(cgcode)
// {
// case "102": // 직무분야
// if(edu == "35" && (grade == "38" || grade == "39")) // 승급교육 && (고급 || 특급)
// {
// // '(역량강화 또는 전문분야) + 직무분야' 조건에 의하여 직무분야 1건이상 신청불가
// rst = Dao.Get<int>("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First();
// }
// break;
// case "103": // 역량강화
// case "104":
// switch (edu)
// {
// case "30": // 최초교육
// // 1건이상 신청불가
// rst = Dao.Get<int>("lect.count.user5", new Hashtable() { { "userno", userno }, { "cgcode", cgcode }, { "edu", edu }, { "grade", grade }, { "cmno", cmno }, { "pcmno", pcmno } }).First();
// break;
// case "31": // 계속교육
// if(grade == "36" || grade == "37") // 초급 || 중급
// {
// result = 1; // 신청불가
// }
// // 그외는 제한 없음
// break;
// case "35": // 승급교육
// if(grade == "38" || grade == "39")
// {
// // '(역량강화 또는 전문분야) + 직무분야' 조건에 의하여 역량강화 또는 전문분야중 1건이상 신청불가
// rst = Dao.Get<int>("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First();
// }
// // 그외는 제한 없음
// break;
// }
// break;
// case "105": // 전문분야
// switch(edu)
// {
// case "30": // 최초교육
// result = 1; // 신청불가
// break;
// case "31": // 계속교육
// if (grade == "36" || grade == "37") // 초급 || 중급
// {
// result = 1; // 신청불가
// }
// // 그외는 제한 없음
// break;
// case "35": // 승급교육
// if (grade == "36" || grade == "37") // 초급 || 중급
// {
// result = 1; // 신청불가
// }
// else
// {
// // '(역량강화 또는 전문분야) + 직무분야' 조건에 의하여 역량강화 또는 전문분야중 1건이상 신청불가
// rst = Dao.Get<int>("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First();
// }
// break;
// }
// break;
// }
// }
// if (result == 0)
// {
// //-1= 짧은문구, smartSearch에서 오류중 짧은문구 처리할 경우 -1를 곱하여 0이하값 만들어야함
// result = rst == 0 ? 0 : ((rst > 0) ? 1 : -1); //
// }
// return result;
//}
public int CheckUserLect(string man, string cgcode, string edu, string grade, int cmno, int pcmno, long userno)
{
int result = 0; // 1:신청불가, 0:신청가능
int result = 0;
int rst = 0;
string[] cgcodes = new string[0];
string[] edus = new string[0];
if (DateTime.Now > DateTime.Parse("2030-01-02 00:00"))// ### ty 2024년 추가건이나 현재 적용대기로 전달 받음
{
// ### ty 2024년 적용!!!
// 29:기본교육 ,30:최초교육 ,31:계속교육 ,32:안전관리계속교육(16시간) ,33:PQ가점교육 ,34:기타교육 ,35:승급교육
// 36:초급 ,37:중급 ,38:고급 ,39:특급
cgcodes = "102,103,104,105".Split(','); // 직무분야:(102), 역량강화:(103,104), 전문분야(105)
cgcodes = "103,104,105".Split(',');
edus = "30,31,35,107,108".Split(','); // 최초교육, 계속교육, 승급교육
// man == 28 : 건설사업관리기술인(typeman)
if (man == "28" && cgcodes.Contains(cgcode) && edus.Contains(edu))
{
// 계속교육(31)
if ((edu == "31" || edu == "107" || edu == "108") && (cgcode == "103" || cgcode == "104" || cgcode == "105") && (grade == "36" || grade == "37")) // 계속교육, (103 or 104 or 105), (초급 or 중급)
{
result = 1; // 신청불가
}
// 계속교육(31)
else if ((edu == "31" || edu == "107" || edu == "108") && (cgcode == "103" || cgcode == "104" || cgcode == "105") && (grade == "38" || grade == "39")) // 계속교육, (103 or 104 or 105), (고급 or 특급)
{
rst = 0; // 신청가능
}
// 최초교육(30)
else if (edu == "30" && cgcode == "105") // 최초교육, 전문분야(105)
{
result = 1; // 신청불가
}
// 승급교육(35)
else if (edu == "35" && cgcode == "105" && (grade == "36" || grade == "37")) // 최초교육, 전문분야(105), 36:초급 ,37:중급
{
result = 1; // 신청불가
}// 승급교육(35)
else if (edu == "35" && (cgcode == "103" || cgcode == "104") && (grade == "36" || grade == "37")) // 승급교육 , 103,104, 36:초급 ,37:중급
{
rst = 0; // 신청가능
}
else
{
// 갯수를 가져오기
/*
*
select t5.typegrade, t5.typeman, t5.typeedu, t3.cgcode, t1.lectno, t1.userno
from lect t1
inner join cm t2 on t1.cmno = t2.cmno
inner join cg t3 on t2.cgno= t3.cgno
inner join pay t4 on t1.payno = t4.payno
inner join pplog t5 on t1.cmno= t5.cmno and t1.userno = t5.userno and t4.pplno = t5.pplno
where t1.status = 1 and t4.pstatus= 1
and t3.cgcode = 103 -- and t1.userno=82 -- 82,5,31
// 29:기본교육 ,30:최초교육 ,31:계속교육 ,32:안전관리계속교육(16시간) ,33:PQ가점교육 ,34:기타교육 ,35:승급교육
// 36:초급 ,37:중급 ,38:고급 ,39:특급
*/
// "lect.count.user2" > 103,104,105
// "lect.count.user3" > 103,104
// 최초교육(30) , (103,104),
if (edu == "30" && (cgcode == "103" || cgcode == "104"))
{
var lectCount = Dao.Get<int>("lect.count.user3", new Hashtable() { { "userno", userno }, { "cgcode", cgcode }, { "edu", edu }, { "grade", grade }, { "cmno", cmno }, { "pcmno", pcmno } });
rst = lectCount.First();
}
// 승급교육(35), 38:고급 ,39:특급
else if (edu == "35" && (grade == "38" || grade == "39"))
{
var lectCount = Dao.Get<int>("lect.count.user2", new Hashtable() { { "userno", userno }, { "cmno", cmno }, { "pcmno", pcmno } });
rst = lectCount.First();
}
}
}
}
else
{
// 29:기본교육 ,30:최초교육 ,31:계속교육 ,32:안전관리계속교육(16시간) ,33:PQ가점교육 ,34:기타교육 ,35:승급교육
// 36:초급 ,37:중급 ,38:고급 ,39:특급
cgcodes = "103,104,105".Split(',');
edus = "30,31,35".Split(','); // 최초교육, 계속교육, 승급교육
// man == 28 : 건설사업관리기술인(typeman)
if (man == "28" && cgcodes.Contains(cgcode) && edus.Contains(edu))
{
switch(cgcode)
{
case "102": // 직무분야
if(edu == "35" && (grade == "38" || grade == "39")) // 승급교육 && (고급 || 특급)
{
// '(역량강화 또는 전문분야) + 직무분야' 조건에 의하여 직무분야 1건이상 신청불가
rst = Dao.Get<int>("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First();
}
break;
case "103": // 역량강화
case "104":
switch (edu)
{
case "30": // 최초교육
// 1건이상 신청불가
rst = Dao.Get<int>("lect.count.user5", new Hashtable() { { "userno", userno }, { "cgcode", cgcode }, { "edu", edu }, { "grade", grade }, { "cmno", cmno }, { "pcmno", pcmno } }).First();
break;
case "31": // 계속교육
if(grade == "36" || grade == "37") // 초급 || 중급
{
result = 1; // 신청불가
}
// 그외는 제한 없음
break;
case "35": // 승급교육
if(grade == "38" || grade == "39")
{
// '(역량강화 또는 전문분야) + 직무분야' 조건에 의하여 역량강화 또는 전문분야중 1건이상 신청불가
rst = Dao.Get<int>("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First();
}
// 그외는 제한 없음
break;
}
break;
case "105": // 전문분야
switch(edu)
{
case "30": // 최초교육
result = 1; // 신청불가
break;
case "31": // 계속교육
if (grade == "36" || grade == "37") // 초급 || 중급
{
result = 1; // 신청불가
}
// 그외는 제한 없음
break;
case "35": // 승급교육
if (grade == "36" || grade == "37") // 초급 || 중급
// 계속교육(31)
if (edu == "31" && (cgcode == "103" || cgcode == "104") && (grade == "36" || grade == "37")) // 계속교육, (103 or 104), (초급 or 중급)
{
result = 1; // 신청불가
}
else
{
// '(역량강화 또는 전문분야) + 직무분야' 조건에 의하여 역량강화 또는 전문분야중 1건이상 신청불가
rst = Dao.Get<int>("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First();
// 갯수를 가져오기
// 최초교육(30)
if (edu == "30" && cgcode == "105") // 최초교육 , 105
{
rst = 0; // 신청가능
}
// 계속교육(31)
else if (edu == "31" && cgcode == "105" && (grade == "36" || grade == "37")) // 계속교육, 105, (초급 or 중급)
{
rst = 0; // 신청가능
}
// 승급교육(35)
else if (edu == "35" && (cgcode == "103" || cgcode == "104" || cgcode == "105") && (grade == "36" || grade == "37")) // 승급교육, (103 or 104 or 105), (초급 or 중급)
{
rst = 0; // 신청가능
}
else
{
/*
*
select t5.typegrade, t5.typeman, t5.typeedu, t3.cgcode, t1.lectno, t1.userno
from lect t1
inner join cm t2 on t1.cmno = t2.cmno
inner join cg t3 on t2.cgno= t3.cgno
inner join pay t4 on t1.payno = t4.payno
inner join pplog t5 on t1.cmno= t5.cmno and t1.userno = t5.userno and t4.pplno = t5.pplno
where t1.status = 1 and t4.pstatus= 1
and t3.cgcode = 103 -- and t1.userno=82 -- 82,5,31
// 29:기본교육 ,30:최초교육 ,31:계속교육 ,32:안전관리계속교육(16시간) ,33:PQ가점교육 ,34:기타교육 ,35:승급교육
// 36:초급 ,37:중급 ,38:고급 ,39:특급
*/
// "lect.count.user2" > 103,104,105
// "lect.count.user3" > 103,104
if ((edu == "31" || edu == "35") && (grade == "38" || grade == "39")) // 계속교육, 승급교육 && 고급, 특급
{
var lectCount = Dao.Get<int>("lect.count.user2", new Hashtable() { { "userno", userno }, { "cgcode", cgcode }, { "edu", edu }, { "grade", grade }, { "cmno", cmno }, { "pcmno", pcmno } });
rst = lectCount.First();
}
else if ((cgcode == "103" || cgcode == "104") && edu == "30") // 최초
{
var lectCount = Dao.Get<int>("lect.count.user3", new Hashtable() { { "userno", userno }, { "cmno", cmno }, { "pcmno", pcmno } });
rst = lectCount.First();
}
else
{
var lectCount = Dao.Get<int>("lect.count.user", new Hashtable() { { "userno", userno }, { "cgcode", cgcode }, { "edu", edu }, { "cmno", cmno }, { "pcmno", pcmno } });
rst = lectCount.First();
}
}
break;
}
break;
}
}
if (result == 0)
{
//-1= 짧은문구, smartSearch에서 오류중 짧은문구 처리할 경우 -1를 곱하여 0이하값 만들어야함
//-1= 짧은 문구
result = rst == 0 ? 0 : ((rst > 0) ? 1 : -1); //
}
@ -750,6 +915,7 @@ namespace NP.Base.Controllers
}
public int CheckUserLectOld_backukp241007(string man, string cgcode, string edu, string grade, int cmno, int pcmno, long userno)
{
int result = 0;

View File

@ -362,6 +362,7 @@
msg("로그인 후 진행 할 수 있습니다.", null, null, null, "location.href='" + '/Account/Index' + "'");
return;
}*@
if ($("#liTab1").hasClass("current")) {
$("#stringval").val("0");
}
@ -396,12 +397,17 @@
let sch2 = $("#sch2").val();
let sch3 = $("#sch3").val();
let sch4 = $("#sch4").val();
if (sch2 == "28" && (sch3 == "31" || sch3 == "35") && (sch4 == "38" || sch4 == "39")) {
addConfirm(sch3)
}
else {
// 2025-02-26 아래 주석은 추후에 해제 할 수 있음 현재는 msg() 만 보임
//if (sch2 == "28" && (sch3 == "31" || sch3 == "35") && (sch4 == "38" || sch4 == "39")) {
// addConfirm(sch3)
//}
//else {
// msg("<span style=\"font-size: 16pt;\">지금 입력하신 신청 정보에 맞는 교육과정들이 검색 되었습니다.<br><br>다음페이지에 검색된 교육과정이 확인됩니다.</span>", null, null, null, "goToCoursePage()");
//}
msg("<span style=\"font-size: 16pt;\">지금 입력하신 신청 정보에 맞는 교육과정들이 검색 되었습니다.<br><br>다음페이지에 검색된 교육과정이 확인됩니다.</span>", null, null, null, "goToCoursePage()");
}
});
$('.msSel span').click(function () {