diff --git a/BO/Views/croom/completions.cshtml b/BO/Views/croom/completions.cshtml index 13fe993..b870be9 100644 --- a/BO/Views/croom/completions.cshtml +++ b/BO/Views/croom/completions.cshtml @@ -123,7 +123,7 @@ 직무분야 교육목적 등급 - 교육시작일 + 교육신청일 교육종료일 과정명 수료번호 @@ -145,8 +145,8 @@ @item.typejobName @item.typeeduName @item.typegradeName - @Convert.ToDateTime(@item.sdate).ToShortDateString() - @Convert.ToDateTime(@item.edate).ToShortDateString() + @Convert.ToDateTime(item.cshape == 1 ? item.sdate : item.paycdt).ToShortDateString() + @Convert.ToDateTime(item.cshape == 1 ? item.edate : item.estart).ToShortDateString() @item.cname @item.completeno @@ -249,7 +249,7 @@ @Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "completion.edate" } }) - 교육시작일(결제완료일) * + 교육시작일* 교육종료일(집체교육일) * diff --git a/BO/Views/croom/lectreg.cshtml b/BO/Views/croom/lectreg.cshtml index c478fba..0aa3ca6 100644 --- a/BO/Views/croom/lectreg.cshtml +++ b/BO/Views/croom/lectreg.cshtml @@ -360,6 +360,8 @@ function cbsave() { if (capResult.obj == -4) { msg("강좌에 해당 회원이 이미 수강중입니다."); + } else if (capResult.obj == -5) { + msg("이미 수강/수료한 과정입니다."); } else if (capResult.code == 1000) { msg2("저장되었습니다.", 10, null, null, true); submit("mform", 500); diff --git a/BO/Views/croom/pay.cshtml b/BO/Views/croom/pay.cshtml index 3023007..4ff8926 100644 --- a/BO/Views/croom/pay.cshtml +++ b/BO/Views/croom/pay.cshtml @@ -149,7 +149,7 @@  @d.itemname@(d.ccount > 1 ? string.Format(" 외 {0} 건", d.ccount - 1) : "") - @d.sdateymd~@d.sdateymd + @d.sdateymd~@d.edateymd @d.payamt.ToString("#,0")
(@(d.pptype == 0 ? "미정" : d.pptypename)) @(d.pstatus == 1 ? d.payamt.ToString("#,0") : "0")
(@(d.refundamt.ToString("#,0")))
@d.cdtymd diff --git a/BO/Views/croom/tax.cshtml b/BO/Views/croom/tax.cshtml index 62def04..86c1ca1 100644 --- a/BO/Views/croom/tax.cshtml +++ b/BO/Views/croom/tax.cshtml @@ -20,7 +20,7 @@ - 발행요청일 + 계산서날짜 @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval6) ? (DateTime?)null : Convert.ToDateTime(Model.stringval6), new ViewDataDictionary { { "name", "stringval6" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval7) ? (DateTime?)null : Convert.ToDateTime(Model.stringval7), new ViewDataDictionary { { "name", "stringval7" } }) @@ -64,7 +64,7 @@ 수량
(인원) 발행요청금액 신청일 - 발행요청일 + 계산서날짜 발행일 영수구분 상태 diff --git a/BO/Views/croom/taxdetail.cshtml b/BO/Views/croom/taxdetail.cshtml index d932798..5046966 100644 --- a/BO/Views/croom/taxdetail.cshtml +++ b/BO/Views/croom/taxdetail.cshtml @@ -24,7 +24,7 @@ 수량
(인원) 발행요청금액 신청일 - 발행요청일 + 계산서날짜 발행일 상태 @@ -190,7 +190,7 @@ { } - @(t.taxdatereq==null?"": string.Format("[발행요청일 : {0}]", t.taxdatereq.Value.ToString("yyyy-MM-dd"))) + @(t.taxdatereq==null?"": string.Format("[계산서날짜 : {0}]", t.taxdatereq.Value.ToString("yyyy-MM-dd"))) diff --git a/BO/Views/user/us.cshtml b/BO/Views/user/us.cshtml index b2f963e..1473718 100644 --- a/BO/Views/user/us.cshtml +++ b/BO/Views/user/us.cshtml @@ -12,7 +12,7 @@
} @Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "name", "stringval3" }, { "selected", Model.stringval3 }, { "valuetext", "1:활성;8:휴면;9:비활성" }, { "df", ":-상태" } }) - @Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "name", "stringval4" }, { "selected", Model.stringval4 }, { "valuetext", "username:이름;userid:ID;email:이메일;mobile:휴대폰" } }) + @Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "name", "stringval4" }, { "selected", Model.stringval4 }, { "valuetext", "username:이름;userid:ID;email:이메일;mobile:휴대폰;userpno:주민등록번호" } }) @Html.Partial("./Partial/Text", Model.stringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval5", Value = Model.stringval5, PH = "검색어를 입력하세요.", CssClass = "esitem" })) @Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" }) @@ -44,6 +44,7 @@ 소속 이름(ID) 핸드폰 + 생년월일 상태 최근로그인 상담하기 @@ -82,6 +83,14 @@ else if (Model.viewname == "admin") @item.asname @string.Format("{0}({1})", item.username, item.userid) @item.mobile + @if((item.userpno ?? "").Length > 6) + { + @(item.userpno.Substring(0,6)) + } + else + { + + } @item.statusname @item.logintime.ToString("yy-MM-dd HH:mm") [상담하기] diff --git a/Base/Controller/ACommonCRoom.cs b/Base/Controller/ACommonCRoom.cs index c7b3ebd..f373263 100644 --- a/Base/Controller/ACommonCRoom.cs +++ b/Base/Controller/ACommonCRoom.cs @@ -190,9 +190,13 @@ namespace NP.Base.Controllers pplno = pplog.pplno, uno = SUserInfo.UserNo, uip = GetUserIP() - }; + }; #endregion - + var result = Dao.Get("cm.lectcheckuser", new System.Collections.Hashtable() { { "userno", pplog.userno }, { "cmnos", pay.cmnos } }).First(); + if(result > 0) + { + return JsonOK(-5); + } //등록된 교육생인가 확인 var checklectuser = Dao.Get("lect.checkuser", new Hashtable() { {"userno", pplog.userno }, { "cmnos", pay.cmnos } }).Count(); if(checklectuser > 0) diff --git a/Base/Controller/FCommon.cs b/Base/Controller/FCommon.cs index a0a961b..914d637 100644 --- a/Base/Controller/FCommon.cs +++ b/Base/Controller/FCommon.cs @@ -277,6 +277,12 @@ namespace NP.Base.Controllers pplog.cmisno = !string.IsNullOrEmpty(Request["cmisno"]) ? Convert.ToInt64(Request["cmisno"]) : (long?)null; pplog.isrebate = !string.IsNullOrEmpty(Request["isrebate"]) ? Convert.ToInt32(Request["isrebate"]) : (int?)null; pplog.isaccommodation = !string.IsNullOrEmpty(Request["isaccommodation"]) ? Convert.ToInt32(Request["isaccommodation"].ToString()) : (int?)null; + #region 집체교육 종료일 체크 + if(pplog.cmisno != null && Dao.Get("lect.checkuser.cmisno", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "cmisno",pplog.cmisno} }).First() > 0) + { + return JsonBack(new JsonRtn() { code = -1 }); + } + #endregion #region 환급금 수령계좌 if (pplog.isrebate == 1) @@ -364,7 +370,7 @@ namespace NP.Base.Controllers if (asno != 0) { var assign = Dao.Get("users.assigns2", new System.Collections.Hashtable() { { "asno", asno }, { "excel1", ",a.post" }, { "orderby", "a.asname" } }) - .Select( s => new { s.brno, s.ceoname, s.post, s.address1, s.address2, s.btype, s.bkind, s.eino, s.mname, s.mphone, s.taxemail, s.fgnobno }) + .Select( s => new { s.asname,s.brno, s.ceoname, s.post, s.address1, s.address2, s.btype, s.bkind, s.eino, s.mname, s.mphone, s.taxemail, s.fgnobno,s.fileno,s.orgname }) .FirstOrDefault(); return JsonBack(assign); } diff --git a/Base/Controller/FCommonCRoom.cs b/Base/Controller/FCommonCRoom.cs index 228fb63..3677c27 100644 --- a/Base/Controller/FCommonCRoom.cs +++ b/Base/Controller/FCommonCRoom.cs @@ -64,6 +64,10 @@ namespace NP.Base.Controllers issubmit = 0; OverTime = "1"; } + if(Exam.estart == null) + { + return JsonOK(-44,true); + } var qis = Dao.Get("cr.questionitem.listforcheck", qnos); var ue = new LectEX() {lectno=lectno, userno = SUserInfo.UserNo, uno = SUserInfo.UserNo, uip = GetUserIP(), exno = Exam.exno, cblock = cblock }; //ue.sip = SIP; diff --git a/Base/Controller/FCommonMy.cs b/Base/Controller/FCommonMy.cs index af21ee4..b41d250 100644 --- a/Base/Controller/FCommonMy.cs +++ b/Base/Controller/FCommonMy.cs @@ -127,15 +127,16 @@ namespace NP.Base.Controllers LogSet(new ActLog() { logtype = 30, logtarget = 21, logdata = u.username, userno = u.userno, uno = SUserInfo.UserNo, uip = GetUserIP() }); u.savefrontbuy = 1; var result = Dao.Save("users.up", u); - if (result > 0) - { - var asno = u.asno ?? 0; - if (SUserInfo.ASNo != asno) - { - SUserInfo.ASNo = asno; - AuthCookie(true); - } - } + //직장변경제거 + //if (result > 0) + //{ + // var asno = u.asno ?? 0; + // if (SUserInfo.ASNo != asno) + // { + // SUserInfo.ASNo = asno; + // AuthCookie(true); + // } + //} return JsonOK(result); } } @@ -155,19 +156,46 @@ namespace NP.Base.Controllers [HttpPost] public JsonResult AssignUpdate(Assign a) { - if(Dao.Get("users.assign.check.brno", new Hashtable() { { "asnonot" + (a.asno < 1 ? "xxx" : ""), a.asno }, { "brno", a.brno } }).Count() > 0) + var user = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault(); + //사용자체크 + if (user != null) { - return JsonBack(new JsonRtn() { code = -1 }); + var result = Dao.Save("users.up.asno", new Hashtable() { {"userno",SUserInfo.UserNo },{"asno",a.asno ==0 ? (int?)null : a.asno },{"uno",SUserInfo.UserNo },{"uip",GetUserIP() } }); + if(result > 0) + { + var nasno = a.asno; + if (SUserInfo.ASNo != nasno) + { + SUserInfo.ASNo = nasno; + AuthCookie(true); + } + } } else { - if(Request.Files.GetMultiple("file1").Where(w=>!string.IsNullOrEmpty(w.FileName)).Count() > 0) - { - a.fgnobno = SetFile(Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), a.fgnobno ?? 0, "assign", "fgnobno"); - } - a.uno = SUserInfo.UserNo; a.uip = GetUserIP(); a.saveflag = null; - return JsonOK(Dao.Save("users.assign.up", a)); + //사용자 없을시 오류 + return JsonOK(0); } + //기업정보변경 + if(a.asno > 0) + { + //사업자번호체크 + if (Dao.Get("users.assign.check.brno", new Hashtable() { { "asnonot" + (a.asno < 1 ? "xxx" : ""), a.asno }, { "brno", a.brno } }).Count() > 0) + { + return JsonBack(new JsonRtn() { code = -1 }); + } + else + { + if(Request.Files.GetMultiple("file1").Where(w=>!string.IsNullOrEmpty(w.FileName)).Count() > 0) + { + a.fgnobno = SetFile(Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), a.fgnobno ?? 0, "assign", "fgnobno"); + } + a.uno = SUserInfo.UserNo; a.uip = GetUserIP(); a.saveflag = null; + return JsonOK(Dao.Save("users.assign.up", a)); + } + } + //정상으로 된거로 판단 + return JsonOK(1); } } diff --git a/Base/Controller/FOCommon.cs b/Base/Controller/FOCommon.cs index 8ee9aae..71c9ed5 100644 --- a/Base/Controller/FOCommon.cs +++ b/Base/Controller/FOCommon.cs @@ -322,6 +322,23 @@ namespace NP.Base.Controllers } } [HttpPost] + public JsonResult StudyClose(Int64 logno, int issample = 0) + { + if (SUserInfo.UserNo > 0 || issample > 0) + { + int rtn = 0; + if (issample < 1) + { + rtn = Dao.Save("cr.studyclose", new Hashtable() { { "logno", logno }, {"uno", SUserInfo.UserNo },{"uip",GetUserIP() } }); + } + return JsonOK(rtn); + } + else + { + return JsonOK(0); + } + } + [HttpPost] public JsonResult checklectdate(Int64 lectno) { Lect lect = Dao.Get("cr.checklectdate", new Hashtable() { { "lectno", lectno } }).First(); @@ -427,9 +444,9 @@ namespace NP.Base.Controllers } [HttpPost] - public JsonResult GetScdForMixEdu(int cmno, int? month) + public JsonResult GetScdForMixEdu(int cmno,int? lectno, int? month) { - var result = Dao.Get("cm.cminningscds.applyedu", new System.Collections.Hashtable() { { "cmno", cmno }, { "month", (month == null) ? null : month } }); + var result = Dao.Get("cm.cminningscds.applyedu"+(lectno != null ? ".lectno" : ""), new System.Collections.Hashtable() { { "cmno", cmno },{"lectno",lectno }, { "month", (month == null) ? null : month } }); foreach (var item in result) { //item.scdInfoSummary = string.Format("[{0}] {1}", item.studyplacename, item.estart.ToString("yyyy년 MM월 dd일 ddd요일 HH:mm")); diff --git a/Base/Popbill/PopbillService.cs b/Base/Popbill/PopbillService.cs index c599f50..de8d30f 100644 --- a/Base/Popbill/PopbillService.cs +++ b/Base/Popbill/PopbillService.cs @@ -60,7 +60,7 @@ namespace NP.Base.Popbill } else { - var payTax = Dao.Get("cr.paytax.formgtkey", new Hashtable() { { "writeDate", writeDate } }).FirstOrDefault(); + var payTax = Dao.Get("cr.paytax.formgtkey", new Hashtable() { { "writeDate", writeDate.ToString("yyyy-MM-dd") } }).FirstOrDefault(); if (payTax != null && !string.IsNullOrEmpty(payTax.mgtkey)) { var strNo = payTax.mgtkey.Substring(payTax.mgtkey.IndexOf("L") + 1); diff --git a/Dao/MyBatis/Maps/CM.xml b/Dao/MyBatis/Maps/CM.xml index 0f64bfb..d2bb0e7 100644 --- a/Dao/MyBatis/Maps/CM.xml +++ b/Dao/MyBatis/Maps/CM.xml @@ -1804,8 +1804,8 @@ ,a.cdt,a.udt ,a.cmno value,a.cname text ,e.ccode, e.cname studyplacename - ,g.attendcut,g.finalcut - ,i.username + ,g.attendcut,g.finalcut,g.subjectcut + ,h.username from cm a inner join cg b on b.cgno=a.cgno inner join cg c on c.cgno=b.pcgno @@ -1813,8 +1813,14 @@ left outer join cm d on a.ismaster=0 and d.cmno=a.pcmno left outer join comcode e on a.studyplace = e.ccode left outer join cmev g on a.cmno = g.cmno - left outer join cmprof h on a.cmno = h.cmno - left outer join users i on h.userno = i.userno + left outer join ( + select group_concat(b.username separator ', ') username,a.cmno + from cmprof a + inner join users b on b.userno = a.userno + where b.status =1 + and a.cmno=#cmno# + group by a.cmno + ) h on a.cmno = h.cmno where a.isdel=0 and a.cmno=#cmno# and a.studyplace=#studyplace# @@ -1823,12 +1829,14 @@ select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth ,a.studyplace, a.studyplacename,a.remainPeople + ,a.isselected ,case when a.estart < now() or a.remainPeople <= 0 then 0 else 1 end isend from ( select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth ,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)) remainPeople ,a.studyplace, e.cname studyplacename + ,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected from cminningscd a left outer join cminning c on c.cmino = a.cmino left outer join cm d on d.cmno = c.cmno @@ -1842,6 +1850,32 @@ order by isend desc,a.estart + - select count(b.lectno) - from users a - left outer join lect b on a.userno = b.userno - left outer join pay c on c.payno = b.payno - where a.userno = #userno# - and b.cmno = #cmno# and (b.iscomplete = 1 or (b.status < 5 or b.status = 6)) + select count(c.lectno) + from cm a + left outer join cm b on b.pcmno = a.pcmno + left outer join lect c on c.cmno = b.cmno and c.userno = #userno# + where b.isdel=0 + and (c.iscomplete = 1 or (c.status < 5 or c.status = 6)) + and a.cmno = #cmno# + and a.cmno in ($cmnos$) select diff --git a/Dao/MyBatis/Maps/CRoom.xml b/Dao/MyBatis/Maps/CRoom.xml index 00c5819..4af98bc 100644 --- a/Dao/MyBatis/Maps/CRoom.xml +++ b/Dao/MyBatis/Maps/CRoom.xml @@ -165,7 +165,7 @@ ,case when a.sdate is null then a2.sstime else a.sdate end as sdate ,case when a.edate is null then a2.setime else a.edate end as edate ,b.cmino,b.iseq,b.isonline,b.ititle,b.sttime,b.idate,b.ist,b.iet,b.icontent - ,scd.estart,scd.eend,com.cname + ,p.cdt,scd.estart,scd.eend,com.cname ,cp.istatus preistatus ,c.totstudy,c.istatus,c.stime, c.lectno existslectinning ,case when b.isonline=1 then d.tfurl else null end tfurl @@ -174,6 +174,7 @@ ,df2.fileurl tasteurl from lect a + inner join pay p on p.payno = a.payno inner join cm a2 on a2.cmno=a.cmno inner join cminning b on b.cmno=a2.cmno left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino @@ -1331,7 +1332,7 @@ @@ -1527,7 +1528,10 @@ select a.* from ( select - l.lectno,l.iscomplete,l.completetime,l.completeno,l.cmisno,l.sdate,l.edate,l.cmno,l.payno + l.lectno,l.iscomplete,l.completetime,l.completeno,l.cmisno + ,l.sdate + ,l.edate + ,l.cmno,l.payno ,l.cdt,l.cno,pp.udt,l.uno,l.uip ,cm.cgno,cm.studytime,cm.cshape,cm.cname,cm.studyplace ,cmi.estart @@ -1541,6 +1545,7 @@ ,pi.tbankuser as rbankuser,pi.rbank,pi.pino,pi.rbankamt ,CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), ) AS char) as rbankaccnum ,p.payamt,p.payoktime + ,case when ifnull(cmi.estart,) < '2021-08-15' then p.payoktime else p.cdt end paycdt ,pp.pplno,pp.typeman,pp.typeedu,pp.typegrade,pp.typejob ,pp.asname,pp.post,pp.address1,pp.address2,pp.brno,pp.eino,pp.btype,pp.bkind,pp.ceoname,pp.mname,pp.association ,CAST(AES_DECRYPT(UNHEX(pp.mphone), ) AS char) as mphone @@ -1639,5 +1644,10 @@ ,taxemail=HEX(AES_ENCRYPT(#taxemail#, )) where pplno=#pplno# and userno=#userno#; + + update lectinningpage a + set a.etime=now(),a.eip=#uip#,a.udt=now(),a.uno=#uno#,a.uip=#uip# + where a.logno=#logno#; + \ No newline at end of file diff --git a/Dao/MyBatis/Maps/Common.xml b/Dao/MyBatis/Maps/Common.xml index a0d04c8..b1f94e6 100644 --- a/Dao/MyBatis/Maps/Common.xml +++ b/Dao/MyBatis/Maps/Common.xml @@ -6,7 +6,6 @@ - diff --git a/Dao/MyBatis/Maps/Lect.xml b/Dao/MyBatis/Maps/Lect.xml index fb9461a..faa7fe1 100644 --- a/Dao/MyBatis/Maps/Lect.xml +++ b/Dao/MyBatis/Maps/Lect.xml @@ -1092,19 +1092,23 @@ values (#etype#,#userno#,#edate#,#esubject#,#etarget#,#ecount#,#eplace#,#ecomment#,#compname#,#ceoname#,#brno#,#addr#,#btype#,#bkind#,#manname#,HEX(AES_ENCRYPT(#email#, )),HEX(AES_ENCRYPT(#telno#, )),#fgno#,) + select count(c.cmisno ) + from lect a + inner join cminningscd b on b.cmisno = a.cmisno + left outer join cminningscd c on c.cmisno = #cmisno# and date_format(c.estart ,'%Y%m%d') = date_format(b.estart ,'%Y%m%d') + where a.status in (1,2) and a.ischanged =0 + and a.userno = #userno# + + diff --git a/Dao/MyBatis/Maps/Pay.xml b/Dao/MyBatis/Maps/Pay.xml index ae3aef7..ea86fb3 100644 --- a/Dao/MyBatis/Maps/Pay.xml +++ b/Dao/MyBatis/Maps/Pay.xml @@ -530,7 +530,7 @@ select a.rfdno,a.payno,a.rtext,a.bankname + ,b.ptype ,CAST(AES_DECRYPT(UNHEX(a.bankno), ) AS char) bankno ,CAST(AES_DECRYPT(UNHEX(a.rphone), ) AS char) rphone ,a.bankowner,a.isowner,a.rstatus,a.statustime,a.ramt,a.rreason,a.ruser,a.fgnor,a.fgnob,a.rback,a.cdt,a.udt,a.cno,a.uno,a.uip from payrfd a + left outer join pay b on b.payno = a.payno a.payno=#payno# a.rstatus not in($withoutrstatus$) @@ -887,6 +892,16 @@ update pay set pstatus=1,isunpay=1,udt=now(),uno=#uno#,uip=#uip# where payno=#payno# and pstatus=22 and ptype=3 and ispg=1 and isunpay is null; + + update lect a + inner join cm b on a.cmno = b.cmno + inner join pay c on a.payno = c.payno + set + a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(,'%Y-%m-%d 00:00:00') + else b.sstime end, + a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(,interval b.studydays day),'%Y-%m-%d 23:59:59') + else b.setime end + where a.payno = #payno# and c.pstatus = 1; update examuser a @@ -925,6 +940,16 @@ update pay set isunpay=2,payoktime=#payoktime#,udt=now(),uno=#uno#,uip=#uip# where payno=#payno# and isunpay=1; + + update lect a + inner join cm b on a.cmno = b.cmno + inner join pay c on a.payno = c.payno + set + a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(c.payoktime,'%Y-%m-%d 00:00:00') + else b.sstime end, + a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59') + else b.setime end + where a.payno = #payno# and c.pstatus = 1; @@ -735,6 +745,20 @@ ,isdel = 1 where bno = #bno# + + + update users set + ,asno =#asno# + where userno=#userno# + + + diff --git a/FO/Controllers/CDMSController.cs b/FO/Controllers/CDMSController.cs index 90fd566..905645b 100644 --- a/FO/Controllers/CDMSController.cs +++ b/FO/Controllers/CDMSController.cs @@ -17,6 +17,7 @@ namespace NP.FO.Controllers vm.pseq = 1; vm.istaste = 1; vm.status = 1; + vm.ErrLi = new Data() { }; if (vm.cmino < 1 && vm.ctno < 1) { vm.status = 0; @@ -108,6 +109,14 @@ namespace NP.FO.Controllers { Logger.Error("ExamStart Get UserAgent Info Error" + ex.StackTrace); } + var li = Dao.Get("lect.lectinning.new", new Hashtable() {{ "userno", SUserInfo.UserNo } }).FirstOrDefault(); + vm.ErrLi = new Data() { }; + //longval:logno,intval:lectno,intval2:cmino,intval3:maxcnt + if(li.intval3 > 0 && li.intval2 != vm.cmino) + { + vm.ErrLi = li; + return View("ViewTaste", vm); + } vm.lip = new LectInningPage() { lectno = vm.lectno, diff --git a/FO/Controllers/CourseController.cs b/FO/Controllers/CourseController.cs index 67f5f1d..b025899 100644 --- a/FO/Controllers/CourseController.cs +++ b/FO/Controllers/CourseController.cs @@ -817,7 +817,7 @@ namespace NP.FO.Controllers } else if (typemanName.Contains("발주청기술인")) { - vm.ComCodes3 = vm.ComCodes3.Where(x => x.cname == "최초교육").ToList(); + vm.ComCodes3 = vm.ComCodes3.Where(x => x.cname == "기본교육" || x.cname == "최초교육").ToList(); vm.ComCodes5 = vm.ComCodes5.Where(x => x.cname != "품질관리").ToList(); } else diff --git a/FO/Controllers/FOBaseController.cs b/FO/Controllers/FOBaseController.cs index f5c9121..a38787b 100644 --- a/FO/Controllers/FOBaseController.cs +++ b/FO/Controllers/FOBaseController.cs @@ -325,7 +325,8 @@ namespace NP.FO.Controllers } else { - sbmauth.Append(string.Format("
  • {0}
      ", m.pagename, m.pno,menu.pno,menu.pagetype,menu.pageurl)); + //sbmauth.Append(string.Format("
    • {0}
        ", m.pagename, m.pno,menu.pno,menu.pagetype,menu.pageurl)); + sbmauth.Append(string.Format("
      • {0}
          ", m.pagename, m.pno,menu.pno,menu.pagetype,menu.pageurl)); } if (m.usertype == 0) { @@ -335,7 +336,8 @@ namespace NP.FO.Controllers } else { - sbm.Append(string.Format("
        • {0}
            ", m.pagename, m.pno, menu.pno, menu.pagetype, menu.pageurl)); + //sbm.Append(string.Format("
          • {0}
              ", m.pagename, m.pno, menu.pno, menu.pagetype, menu.pageurl)); + sbm.Append(string.Format("
            • {0}
                ", m.pagename, m.pno, menu.pno, menu.pagetype, menu.pageurl)); } } @@ -657,7 +659,7 @@ namespace NP.FO.Controllers if (vm.Pay.ptype == 3) { try { - vm.PPLog = Dao.Get("pay.pplogs", new Hashtable() { { "pplno", vm.pplno }, { "userno", SUserInfo.UserNo },{"istax",1 } }).FirstOrDefault(); + vm.PPLog = Dao.Get("pay.pplogs", new Hashtable() { { "pplno", vm.pplno }, { "userno", SUserInfo.UserNo } }).OrderByDescending(w=>w.cdt).FirstOrDefault(); if (payno > 0 && vm.PPLog != null && vm.PPLog.pstatus == 22 && vm.PPLog.isbill == 1) { PayTax payTax = new PayTax(); @@ -665,10 +667,13 @@ namespace NP.FO.Controllers payTax.uip = GetUserIP(); if (Dao.Get("cr.paytaxes", new Hashtable() { { "payno", payTax.payno }, { "cno", SUserInfo.UserNo }, { "iscancel", 0 } }).Count() == 0) { - var assign = Dao.Get("users.assigns2", new System.Collections.Hashtable() { { "asno", SUserInfo.ASNo }, { "orderby", "a.asname" } }).FirstOrDefault(); - if(assign != null) + var afgnobno = Dao.Get("assign.assings3", new Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault(); + if(afgnobno != null) { - payTax.fgno = assign.fgnobno; + if (afgnobno.longval > 0) + { + payTax.fgno = afgnobno.longval; + } } payTax.payno = payno; payTax.pinos = string.Join(",", vm.PayItems.Select(s => s.pino)); @@ -695,7 +700,7 @@ namespace NP.FO.Controllers } catch (Exception exresult) { - SetError(cancelMsg += "|세금계산서신청처리|" + exresult.StackTrace); + SetError(cancelMsg += "|세금계산서신청처리|"+exresult.Message+"|" + exresult.StackTrace); } } #endregion diff --git a/FO/Controllers/MyController.cs b/FO/Controllers/MyController.cs index 3eb0671..2740643 100644 --- a/FO/Controllers/MyController.cs +++ b/FO/Controllers/MyController.cs @@ -429,12 +429,13 @@ namespace NP.FO.Controllers { vm.FileList = GetFiles(vm.Assign.fgnobno.Value); } - return View(vm); } else { - return Redirect("/"); + vm.Assign = new Assign() { }; + //return Redirect("/"); } + return View(vm); } public ActionResult Document(VMMy vm) diff --git a/FO/Spring/ControllersStaging.xml b/FO/Spring/ControllersStaging.xml index 2affd8f..a77a8ba 100644 --- a/FO/Spring/ControllersStaging.xml +++ b/FO/Spring/ControllersStaging.xml @@ -7,7 +7,7 @@ - + diff --git a/FO/Views/Account/IndexAssign.cshtml b/FO/Views/Account/IndexAssign.cshtml index f7840d1..63d2323 100644 --- a/FO/Views/Account/IndexAssign.cshtml +++ b/FO/Views/Account/IndexAssign.cshtml @@ -99,7 +99,8 @@
              • 회원가입
              - @*
                + @* +
                • 네이버 아이디로 로그인
                • 카카오톡 아이디로 로그인
                • 구글 아이디로 로그인
                • diff --git a/FO/Views/Account/IndexBase.cshtml b/FO/Views/Account/IndexBase.cshtml index 867e28b..cc1ad87 100644 --- a/FO/Views/Account/IndexBase.cshtml +++ b/FO/Views/Account/IndexBase.cshtml @@ -29,7 +29,7 @@
                  -
                  diff --git a/FO/css/common.css b/FO/css/common.css index d43b2f6..b795b07 100644 --- a/FO/css/common.css +++ b/FO/css/common.css @@ -18,7 +18,8 @@ caption {display: none;} a {background: transparent; cursor:pointer;} a:active, a:hover {outline: 0;} abbr[title] {border-bottom: 1px dotted;} -b, strong, th, td {font-weight: 400;} +th, td {font-weight: 400;} +b, strong{font-weight:700;} dfn {font-style: italic;} mark {background: #ff0; color: #000;} small {font-size: 80%;} diff --git a/FO/css/mypage.css b/FO/css/mypage.css index 5f90e4e..29a2a9c 100644 --- a/FO/css/mypage.css +++ b/FO/css/mypage.css @@ -66,7 +66,7 @@ .mpgcCont {margin-bottom:60px;} .mpgClass .mpgcCont:last-child {margin-bottom:0;} .mpgTitle {position:relative; margin-bottom:20px;} -.mpgTitle h5 {line-height:1.0em; font-size:14pt;} +.mpgTitle h5 {width:80%; line-height:1.0em; font-size:14pt;} .mpgTitle a {display:block; font-size:10pt; font-weight:300; padding-left:18px; position:absolute; right:0; top:0;} .mpgTitle a:before, .mpgTitle a:after {content:""; display:block; position:absolute; left:0; top:50%; background:#8b8b8b;} diff --git a/FO/css/style.css b/FO/css/style.css index fed913b..ee6c606 100644 --- a/FO/css/style.css +++ b/FO/css/style.css @@ -597,14 +597,14 @@ a.msBtn {display: block; height: 130px; line-height: 130px; text-align: center; .clsPopTitle {background:#0047a7; position:relative; padding:0 20px;} .clsPopTitle h5 {height:50px; line-height:50px; color:#fff; font-size:16pt;} .clsPopTitle a {display:block; height:50px; width:50px; position:absolute; right:0; top:0; text-indent:-9999px; z-index:1; cursor:pointer; background:url("../../img/common/gnb_close.png")no-repeat center center; background-size:24px auto;} -.clsPopCont {padding:30px; overflow-y:auto; background: #fff;} +.clsPopCont {max-height:90vh;padding:30px; overflow-y:auto; background: #fff;} .clsPop.clsPopFull > div {display:block; width:100%;} .clsPop.clsPopFull > div > div {display:block; height:100%; vertical-align:middle; overflow:hidden;} .clsPop.clsPopFull > div {display:block; height:100%; padding-top:30px; padding-bottom:30px;} .clsPop.clsPopFull .clsPopWrap {position:relative; padding-top:50px; height:100%; -webkit-overflow-scrolling: touch;} .clsPop.clsPopFull .clsPopTitle {position:absolute; left:0; right:0; top:0;} -.clsPop.clsPopFull .clsPopCont {height:100%; overflow-y:auto; -webkit-overflow-scrolling: touch;} +.clsPop.clsPopFull .clsPopCont {height:100%; max-height:90vh; overflow-y:auto; -webkit-overflow-scrolling: touch;} .clsPopScroll {position:absolute; left:0; right:0; top:50px; bottom:0;} @@ -840,7 +840,7 @@ body.lock {width:100%; height:100%; overflow:hidden;} .clsPopTitle {padding:0 15px; position: absolute; left: 0; right: 0; top: 0;} .clsPopTitle h5 {height:50px; line-height:50px; font-size:14pt;} .clsPopTitle a {height:50px; width:50px; background-size:20px auto;} - .clsPopCont {padding:20px; height: 100%; overflow-y: auto;} + .clsPopCont {padding:20px;height: 100%; max-height:90vh; overflow-y: auto;} .clspSch {padding:10px; padding-right:80px; position:relative;} .clspSch input[type="submit"] {right:10px; top:10px; width:60px; font-size:11pt;} .clspSch.slct {padding-left:130px;} @@ -1990,7 +1990,7 @@ span.org {color: #ff5a00;} .smtlCont {position: relative; padding: 30px 20px; padding-right: 240px;} .smtList.pop .smtlCont {padding-right: 20px;} .smtlCont h5 {font-size: 13pt; font-weight: 400;} -.smtlCont h5 em {display: inline-block; vertical-align: middle; padding: 0 5px; width: 50px; height: 20px; line-height: 20px; color: #fff; font-size: 9pt; text-align: center; margin-right: 5px; font-style: normal;} +.smtlCont h5 em {display: inline-block; vertical-align: middle; padding: 0 5px; height: 20px; line-height: 20px; color: #fff; font-size: 9pt; text-align: center; margin-right: 5px; font-style: normal;} .smtlCont h5 em.org {background: #f60;} .smtlCont h5 em.grn {background: #259e41;} .smtlCont h5 em.blu {background: #0000ff;} diff --git a/FO/js/site.js b/FO/js/site.js index 0b9131d..bba23cb 100644 --- a/FO/js/site.js +++ b/FO/js/site.js @@ -182,7 +182,7 @@ $(document).ready(function () { $('.popWrap').css('display', 'none'); $('html, body').removeClass('lock'); }); - //document.oncontextmenu = disableit; + document.oncontextmenu = disableit; }); var _uploadeditorimageitem; var _uploadeditorimagecallback; @@ -301,6 +301,7 @@ function cbviewcontents() { location.href = "/Account/Index?ru="+location.href.replace(/#/gi,''); } } + function poppaging(id, ptc, pno) { $("#" + id).attr("data-lastpage", 1); if (ptc > 10) { @@ -998,7 +999,7 @@ function msgadmin(t) { } function isid(v) { //영문숫자-_ , 나머지입력시 오류반환 - var regExp = /[a-zA-Z0-9\-_]/i; + var regExp = /^[A-Za-z0-9-_]*$/i; var regExp2 = /[\,.=~!@#$%^&*()\[\]+|<>?:{}]/; if (regExp.test(v) && !regExp2.test(v)) { return true; diff --git a/LMS_YNICTE.sln b/LMS_YNICTE.sln index 4e277e8..6f9918e 100644 --- a/LMS_YNICTE.sln +++ b/LMS_YNICTE.sln @@ -22,6 +22,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "Base\Base.csproj", EndProjectSection EndProject Global + GlobalSection(SubversionScc) = preSolution + Svn-Managed = True + Manager = AnkhSVN - Subversion Support for Visual Studio + EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU @@ -59,8 +63,4 @@ Global GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E270664C-5FC8-4B5D-A0E2-C8836D9CC490} EndGlobalSection - GlobalSection(SubversionScc) = preSolution - Svn-Managed = True - Manager = AnkhSVN2019 - Subversion Support for Visual Studio - EndGlobalSection EndGlobal diff --git a/Model/BaseModel.cs b/Model/BaseModel.cs index 2c183a2..023830b 100644 --- a/Model/BaseModel.cs +++ b/Model/BaseModel.cs @@ -544,6 +544,7 @@ namespace NP.Model public DateTime time3 { get; set; } public DateTime time4 { get; set; } public DateTime time5 { get; set; } + public DateTime time6 { get; set; } } //public class Data diff --git a/Model/CM.cs b/Model/CM.cs index 10e597e..7902068 100644 --- a/Model/CM.cs +++ b/Model/CM.cs @@ -482,6 +482,10 @@ namespace NP.Model /// 시험수료기준 /// public int finalcut { get; set; } + /// + /// 과제수료기준 + /// + public int subjectcut { get; set; } public String username { get; set; } public Int64 lectnocheck { get; set; } public int ischkatt { get; set; } @@ -1221,6 +1225,7 @@ namespace NP.Model /// 세금계산서 상태코드 /// public int statecode { get; set; } + public DateTime paycdt { get; set; } } /// /// 자격검정시험 @@ -1836,6 +1841,7 @@ namespace NP.Model public int isreexamable { get; set; } public IList cmexlayers { get; set; } public IList cmexqs { get; set; } + public DateTime? estart { get; set; } } @@ -3516,6 +3522,7 @@ namespace NP.Model public bool isEnd { get; set; } public int? termend { get; set; } public int? peopleend { get; set; } + public int? isselected { get; set; } } /// @@ -3791,7 +3798,7 @@ namespace NP.Model { get { - return sdate != null ? sdate.Value.ToString("yyyyMMdd") : null; + return cshape == 1 ? sdate != null ? sdate.Value.ToString("yyyyMMdd") : null : paycdt.ToString("yyyyMMdd"); } } /// @@ -3813,7 +3820,7 @@ namespace NP.Model { get { - return edate != null ? edate.Value.ToString("yyyyMMdd") : null; + return cshape == 1 ? edate != null ? edate.Value.ToString("yyyyMMdd") : null : estart != null ? estart.Value.ToString("yyyyMMdd") : null; } } /// @@ -3883,5 +3890,6 @@ namespace NP.Model /// 강좌/과정키, 패키지강좌의 강좌키 /// public int cmno { get; set; } + public DateTime paycdt { get; set; } } } diff --git a/Model/PPLog.cs b/Model/PPLog.cs index a9c7aab..fb5f930 100644 --- a/Model/PPLog.cs +++ b/Model/PPLog.cs @@ -68,7 +68,7 @@ namespace NP.Model /// public int? isreceipt { get; set; } /// - /// 발행요청일 + /// 계산서날짜 /// public DateTime? taxdatereq { get; set; } } diff --git a/Model/Pay.cs b/Model/Pay.cs index ba8d152..992307b 100644 --- a/Model/Pay.cs +++ b/Model/Pay.cs @@ -573,6 +573,7 @@ namespace NP.Model /// 학습기간(상시:일) /// public int studydays { get; set; } + public DateTime? estart { get; set; } } /// @@ -1006,7 +1007,7 @@ namespace NP.Model /// public String address2 { get; set; } /// - /// 발행요청일 + /// 계산서날짜 /// public DateTime? taxdatereq { get; set; } /// diff --git a/Model/VMCRoom.cs b/Model/VMCRoom.cs index c02a56d..1f8ecf6 100644 --- a/Model/VMCRoom.cs +++ b/Model/VMCRoom.cs @@ -59,5 +59,6 @@ namespace NP.Model public IList PayTaxItem { get; set; } public IList Lects { get; set; } public IList Completions { get; set; } + public Data ErrLi { get; set; } } } diff --git a/Model/VMPay.cs b/Model/VMPay.cs index 03533df..cfaed56 100644 --- a/Model/VMPay.cs +++ b/Model/VMPay.cs @@ -67,7 +67,7 @@ namespace NP.Model /// public int isreceipt { get; set; } /// - /// 발행요청일 + /// 계산서날짜 /// public DateTime? taxdatereq { get; set; } }