From 6efe9f50367acf1c20253f890fa03fad194373ba Mon Sep 17 00:00:00 2001 From: iyak Date: Thu, 6 Feb 2025 07:13:57 +0000 Subject: [PATCH] =?UTF-8?q?6477=20-=20=EC=8A=A4=EB=A7=88=ED=8A=B8=EA=B2=80?= =?UTF-8?q?=EC=83=89=20=EC=8B=A0=EA=B7=9C=20=EC=9E=91=EC=97=85=EB=B3=B8?= =?UTF-8?q?=EC=9D=B4=20=EC=9E=91=EC=9A=A9=EB=90=98=EC=A7=80=20=EC=95=8A?= =?UTF-8?q?=EC=95=84=EC=95=BC=20=ED=95=98=EB=8A=94=20=EC=83=81=ED=99=A9,?= =?UTF-8?q?=20=EA=B8=B0=EC=A1=B4=20=EC=9E=91=EC=97=85=EB=AC=BC=EB=93=A4?= =?UTF-8?q?=EB=A1=9C=20=EB=A1=A4=EB=B0=B1=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Base/Controller/FOCommon.cs | 300 ++++++++++++++++++++++++++++-------- FO/Views/Home/Index.cshtml | 18 ++- 2 files changed, 245 insertions(+), 73 deletions(-) diff --git a/Base/Controller/FOCommon.cs b/Base/Controller/FOCommon.cs index beac476..7468510 100644 --- a/Base/Controller/FOCommon.cs +++ b/Base/Controller/FOCommon.cs @@ -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("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First(); + // } + // break; + + // case "103": // 역량강화 + // case "104": + // switch (edu) + // { + // case "30": // 최초교육 + // // 1건이상 신청불가 + // rst = Dao.Get("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("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("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]; - // 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(','); // 최초교육, 계속교육, 승급교육 + if (DateTime.Now > DateTime.Parse("2030-01-02 00:00"))// ### ty 2024년 추가건이나 현재 적용대기로 전달 받음 + { + // ### ty 2024년 적용!!! - // man == 28 : 건설사업관리기술인(typeman) - if (man == "28" && cgcodes.Contains(cgcode) && edus.Contains(edu)) - { - switch(cgcode) + // 29:기본교육 ,30:최초교육 ,31:계속교육 ,32:안전관리계속교육(16시간) ,33:PQ가점교육 ,34:기타교육 ,35:승급교육 + // 36:초급 ,37:중급 ,38:고급 ,39:특급 + cgcodes = "103,104,105".Split(','); + edus = "30,31,35,107,108".Split(','); // 최초교육, 계속교육, 승급교육 + + // man == 28 : 건설사업관리기술인(typeman) + if (man == "28" && cgcodes.Contains(cgcode) && edus.Contains(edu)) { - case "102": // 직무분야 - if(edu == "35" && (grade == "38" || grade == "39")) // 승급교육 && (고급 || 특급) + // 계속교육(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")) { - // '(역량강화 또는 전문분야) + 직무분야' 조건에 의하여 직무분야 1건이상 신청불가 - rst = Dao.Get("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First(); + var lectCount = Dao.Get("lect.count.user3", new Hashtable() { { "userno", userno }, { "cgcode", cgcode }, { "edu", edu }, { "grade", grade }, { "cmno", cmno }, { "pcmno", pcmno } }); + rst = lectCount.First(); } - break; - - case "103": // 역량강화 - case "104": - switch (edu) + // 승급교육(35), 38:고급 ,39:특급 + else if (edu == "35" && (grade == "38" || grade == "39")) { - case "30": // 최초교육 - // 1건이상 신청불가 - rst = Dao.Get("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("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First(); - } - // 그외는 제한 없음 - break; + var lectCount = Dao.Get("lect.count.user2", new Hashtable() { { "userno", userno }, { "cmno", cmno }, { "pcmno", pcmno } }); + rst = lectCount.First(); } - break; + } - case "105": // 전문분야 - switch(edu) + } + } + 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)) + { + // 계속교육(31) + if (edu == "31" && (cgcode == "103" || cgcode == "104") && (grade == "36" || grade == "37")) // 계속교육, (103 or 104), (초급 or 중급) + { + result = 1; // 신청불가 + } + else + { + // 갯수를 가져오기 + // 최초교육(30) + if (edu == "30" && cgcode == "105") // 최초교육 , 105 { - 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("lect.count.user6", new Hashtable() { { "userno", userno }, { "pcmno", pcmno } }).First(); - } - break; + rst = 0; // 신청가능 } - break; + // 계속교육(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("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("lect.count.user3", new Hashtable() { { "userno", userno }, { "cmno", cmno }, { "pcmno", pcmno } }); + rst = lectCount.First(); + } + else + { + var lectCount = Dao.Get("lect.count.user", new Hashtable() { { "userno", userno }, { "cgcode", cgcode }, { "edu", edu }, { "cmno", cmno }, { "pcmno", pcmno } }); + rst = lectCount.First(); + } + + } + } } } 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; diff --git a/FO/Views/Home/Index.cshtml b/FO/Views/Home/Index.cshtml index 00024cc..5fba7f2 100644 --- a/FO/Views/Home/Index.cshtml +++ b/FO/Views/Home/Index.cshtml @@ -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 { - msg("지금 입력하신 신청 정보에 맞는 교육과정들이 검색 되었습니다.

다음페이지에 검색된 교육과정이 확인됩니다.
", null, null, null, "goToCoursePage()"); - } + + + // 2025-02-26 아래 주석은 추후에 해제 할 수 있음 현재는 msg() 만 보임 + //if (sch2 == "28" && (sch3 == "31" || sch3 == "35") && (sch4 == "38" || sch4 == "39")) { + // addConfirm(sch3) + //} + //else { + // msg("지금 입력하신 신청 정보에 맞는 교육과정들이 검색 되었습니다.

다음페이지에 검색된 교육과정이 확인됩니다.
", null, null, null, "goToCoursePage()"); + //} + + msg("지금 입력하신 신청 정보에 맞는 교육과정들이 검색 되었습니다.

다음페이지에 검색된 교육과정이 확인됩니다.
", null, null, null, "goToCoursePage()"); }); $('.msSel span').click(function () {