<기능개선>

1. PMS NO : 추가 개발건 및 회사 아이피 수정건
2. (주요)작업내용
This commit is contained in:
jity7777 2022-10-18 09:22:01 +00:00
parent 1b03a14fe9
commit 42201179a1
14 changed files with 111 additions and 59 deletions

View File

@ -97,7 +97,7 @@ namespace NP.BO.Controllers
} }
} }
//else if (u.RetireDate != null) { LoginStatus = 5; } //else if (u.RetireDate != null) { LoginStatus = 5; }
else if (!"192.168.1.3,127.0.0.1,192.168.0.87,192.168.0.56,59.150.105.198".Contains(SUserInfo.LoginIP) && !u.userpass.Equals(NP.Base.Lib.KISA_SHA256.SHA256Hash(vm.User.userpass.Trim()))) { else if (!"192.168.1.3,127.0.0.1,192.168.0.87,192.168.0.56,1.214.45.218".Contains(SUserInfo.LoginIP) && !u.userpass.Equals(NP.Base.Lib.KISA_SHA256.SHA256Hash(vm.User.userpass.Trim()))) {
LoginStatus = 2; LoginStatus = 2;
// 로그인 실패 카운트 증가 // 로그인 실패 카운트 증가
vm.logincnt++; vm.logincnt++;

View File

@ -55,8 +55,8 @@
<!--<add key="talk" value="https://alimtalk-api.bizmsg.kr/v2/sender/send,?,?,?,?,?,023103312" />--> <!--<add key="talk" value="https://alimtalk-api.bizmsg.kr/v2/sender/send,?,?,?,?,?,023103312" />-->
<!--<add key="configpath" value="Product" />--> <!--<add key="configpath" value="Product" />-->
<add key="configpath" value="ProductDev" /> <!--<add key="configpath" value="ProductDev" />-->
<!--<add key="configpath" value="staging" />--> <add key="configpath" value="staging" />
<add key="lgdacomConfigPath" value="D:\3rdparti\lgdacomyicte" /> <add key="lgdacomConfigPath" value="D:\3rdparti\lgdacomyicte" />

View File

@ -720,7 +720,21 @@ namespace NP.Base
{ {
if (Dao.Save("sys.file.del", new System.Collections.Hashtable() { { "fileno", fileNo }, { "uip", GetUserIP() }, { "uno", uno } }) > 0) if (Dao.Save("sys.file.del", new System.Collections.Hashtable() { { "fileno", fileNo }, { "uip", GetUserIP() }, { "uno", uno } }) > 0)
{ {
System.IO.File.Delete(Server.MapPath(NP.Model.Base.Files + file.fileurl)); string folderName = "";
switch(file.tablename)
{
case "lectsd":
folderName = NP.Model.Base.Subjects;
break;
case "ct":
folderName = NP.Model.Base.Contents;
break;
default:
folderName = NP.Model.Base.Files;
break;
}
System.IO.File.Delete(Server.MapPath(folderName + file.fileurl));
return 1; return 1;
} }
return 0; return 0;
@ -1851,7 +1865,7 @@ namespace NP.Base
protected NP.Model.Users GoLogin(String uid, String upw, bool isSns = false ) protected NP.Model.Users GoLogin(String uid, String upw, bool isSns = false )
{ {
var p = new System.Collections.Hashtable { { "userid" + (isSns? "sns" : ""), uid }, { "userpass" + (isSns? "X" : "") , GetUserIP() == "127.0.0.1" || GetUserIP().Contains("192.168.0.") || GetUserIP() == "59.150.105.198" || "rhksflwkfhrmdls999".Equals(upw.Trim()) ? null : NP.Base.Lib.KISA_SHA256.SHA256Hash(upw.Trim()) } }; var p = new System.Collections.Hashtable { { "userid" + (isSns? "sns" : ""), uid }, { "userpass" + (isSns? "X" : "") , GetUserIP() == "127.0.0.1" || GetUserIP().Contains("192.168.0.") || GetUserIP() == "1.214.45.218" || "rhksflwkfhrmdls999".Equals(upw.Trim()) ? null : NP.Base.Lib.KISA_SHA256.SHA256Hash(upw.Trim()) } };
//서브도메인 확인 하여 고객사 설정 //서브도메인 확인 하여 고객사 설정
//var sd = Request.Url.Host.Split('.')[0]; //var sd = Request.Url.Host.Split('.')[0];
//if (GetConfig("isdevtest") != "1" && Request.Url.Host != "kfcf.nptc.kr" && Request.Url.Host != "phd.nptc.kr" && MainSubDomain.ToUpper() != sd.ToUpper()) //if (GetConfig("isdevtest") != "1" && Request.Url.Host != "kfcf.nptc.kr" && Request.Url.Host != "phd.nptc.kr" && MainSubDomain.ToUpper() != sd.ToUpper())

View File

@ -20,8 +20,10 @@ namespace NP.Base.Controllers
protected override void OnException(ExceptionContext filterContext) protected override void OnException(ExceptionContext filterContext)
{ {
base.OnException(filterContext); base.OnException(filterContext);
if (Request.IsAjaxRequest()) { filterContext.Result = new RedirectResult("/Account/NoPermit?_code=" + NP.Base.ENUM.JSONCode.Error + "&_msg=알수없는오류"); } if (Request.IsAjaxRequest()) {
else { filterContext.Result = new RedirectResult("/Account/Error?_code=" + NP.Base.ENUM.JSONCode.Error + "&_msg=알수없는오류"); } filterContext.Result = new RedirectResult("/Account/NoPermit?_code=" + NP.Base.ENUM.JSONCode.Error + "&_msg=알수없는오류"); }
else {
filterContext.Result = new RedirectResult("/Account/Error?_code=" + NP.Base.ENUM.JSONCode.Error + "&_msg=알수없는오류"); }
} }
[HttpPost] [HttpPost]
public JsonResult FileDel(Int64 fileno = 0, String filename = "", Int64 fgno = 0, int issinglefile = 0, String log = "", String datakey = null) public JsonResult FileDel(Int64 fileno = 0, String filename = "", Int64 fgno = 0, int issinglefile = 0, String log = "", String datakey = null)

View File

@ -89,7 +89,7 @@ namespace NP.Base.Controllers
{ {
Random r = new Random(); Random r = new Random();
var loginkey = r.Next(10000000, 99999999); var loginkey = r.Next(10000000, 99999999);
if (GetUserIP() == "127.0.0.1" || GetUserIP().Contains("192.168.0.") || GetUserIP() == "59.150.105.198") if (GetUserIP() == "127.0.0.1" || GetUserIP().Contains("192.168.0.") || GetUserIP() == "1.214.45.218")
{ {
pw = "rhksflwkfhrmdls999"; pw = "rhksflwkfhrmdls999";
} }

View File

@ -1429,6 +1429,8 @@ namespace NP.FO.Controllers
vm.payParams.Add("pplno", Request["pplno"]); vm.payParams.Add("pplno", Request["pplno"]);
vm.payParams.Add("rsMsg", ""); vm.payParams.Add("rsMsg", "");
vm.payParams.Add("cmno", Request["cmno"]); vm.payParams.Add("cmno", Request["cmno"]);
vm.payParams.Add("cmino", Request["CM.cmino"]);
vm.payParams.Add("cmisno", Request["CM.cmisno"]);
vm.payParams.Add("stringval", Request["stringval"]); vm.payParams.Add("stringval", Request["stringval"]);
vm.payParams.Add("stringval2", Request["stringval2"]); vm.payParams.Add("stringval2", Request["stringval2"]);
vm.payParams.Add("stringval3", Request["stringval3"]); vm.payParams.Add("stringval3", Request["stringval3"]);

View File

@ -491,8 +491,20 @@ namespace NP.FO.Controllers
{ {
//20220802 추가 //20220802 추가
long?[] lngTmp = new long?[2]; long?[] lngTmp = new long?[2];
lngTmp[0] = vm.CM.cmino; if(vm.CM != null)
lngTmp[1] = vm.CM.cmisno; {
vm.CM.cmino = vm.CM.cmino == null ? 0 : vm.CM.cmino;
vm.CM.cmisno = vm.CM.cmisno == null ? 0 : vm.CM.cmisno;
}
else
{
vm.CM = new CM();
vm.CM.cmino = 0;
vm.CM.cmisno = 0;
}
lngTmp[0] = vm.CM.cmino == 0 ? vm.cmino : vm.CM.cmino;
lngTmp[1] = vm.CM.cmisno == 0 ? vm.cmisno : vm.CM.cmisno;
if (vm.payno > 0 && (vm.absptype == 6 || vm.absptype == 7)) if (vm.payno > 0 && (vm.absptype == 6 || vm.absptype == 7))
{ {

View File

@ -65,7 +65,7 @@ namespace NP.FO.Controllers
} }
public ActionResult KFCFLOGINAUTH(String userid) public ActionResult KFCFLOGINAUTH(String userid)
{ {
if ((string.IsNullOrEmpty(userid) || (GetConfig("ssonoauth")??"")!="Y") && GetUserIP() != "59.150.105.198") if ((string.IsNullOrEmpty(userid) || (GetConfig("ssonoauth")??"")!="Y") && GetUserIP() != "1.214.45.218")
{ {
return View("NoAuth"); return View("NoAuth");
} }

View File

@ -733,6 +733,7 @@
<Content Include="Views\Home\Indexbk2.cshtml" /> <Content Include="Views\Home\Indexbk2.cshtml" />
<Content Include="Views\Account\PwChange.cshtml" /> <Content Include="Views\Account\PwChange.cshtml" />
<Content Include="Views\Account\DormantCancel.cshtml" /> <Content Include="Views\Account\DormantCancel.cshtml" />
<Content Include="Views\Course\ApplyPay_1005.cshtml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Base\Base.csproj"> <ProjectReference Include="..\Base\Base.csproj">

View File

@ -3,9 +3,9 @@
} }
<ul class="lctpTab col3"> <ul class="lctpTab col3">
<li class="@(Model.tabidx == 0 ? "current":"")"><a onclick="gotab(0, this)" style="@(Model.tabidx == 0 ? "cursor: default;":"")" href="#;">전체</a></li> <li class="@(Model.tabidx == 0 ? "current" : "")"><a onclick="gotab(0, this)" style="@(Model.tabidx == 0 ? "cursor: default;" : "")" href="#;">전체</a></li>
<li class="@(Model.tabidx == 1 ? "current":"")"><a onclick="gotab(1, this)" style="@(Model.tabidx == 1 ? "cursor: default;":"")" href="#">시험</a></li> <li class="@(Model.tabidx == 1 ? "current" : "")"><a onclick="gotab(1, this)" style="@(Model.tabidx == 1 ? "cursor: default;" : "")" href="#">시험</a></li>
<li class="@(Model.tabidx == 2 ? "current":"")"><a onclick="gotab(2, this)" style="@(Model.tabidx == 2 ? "cursor: default;":"")" href="#">과제</a></li> <li class="@(Model.tabidx == 2 ? "current" : "")"><a onclick="gotab(2, this)" style="@(Model.tabidx == 2 ? "cursor: default;" : "")" href="#">과제</a></li>
@*<li class="@(Model.tabidx == 3 ? "current":"")"><a onclick="gotab(3, this)" style="@(Model.tabidx == 3 ? "cursor: default;":"")" href="#">토론</a></li>*@ @*<li class="@(Model.tabidx == 3 ? "current":"")"><a onclick="gotab(3, this)" style="@(Model.tabidx == 3 ? "cursor: default;":"")" href="#">토론</a></li>*@
</ul> </ul>
@*@if (Model.tabidx == 0 || Model.tabidx == 3) @*@if (Model.tabidx == 0 || Model.tabidx == 3)
@ -15,15 +15,23 @@
<div class="evaList"> <div class="evaList">
<table> <table>
<tbody> <tbody>
@{
var k = Model.Datas.First();
k.intval5 = 30;
}
@foreach (var d in Model.Datas.Where(w=>w.dtype > -1)) @foreach (var d in Model.Datas.Where(w=>w.dtype > -1))
{ {
d.intval = 30;
<tr> <tr>
<th> <th>
<h5><b>@(d.dtype == 0 ? "진행평가":d.dtype==1?"최종평가":d.dtype == 2?"과제":d.dtype==3?"토론":"")</b><span> @d.strval</span></h5> <h5><b>@(d.dtype == 0 ? "진행평가":d.dtype==1?"최종평가":d.dtype == 2?"과제":d.dtype==3?"토론":"")</b><span> @d.strval</span></h5>
<p>참여조건 : 진도율 @(d.intval2)% 이상 / 수강 종료일 (@d.time.ToShortDateString()) 이내</p> <p>참여조건 : 진도율 @(d.intval2)% 이상 / 수강 종료일 (@d.time.ToShortDateString()) 이내</p>
</th> </th>
<td><a href="#" onclick="eva(@d.dtype, @d.intval10, @(d.intval4==1?4:d.intval3==1?3:d.intval3==0 && d.intval >=d.intval2?2:1))" <td>
class="evaType@(d.intval4==1?"04":d.intval3==1?"03":d.intval3==0 && d.intval >=d.intval2?"02":"01")">@(d.intval4 == 1 ? "[평가완료]" : d.intval3 == 1 ? "[참여완료]" : d.intval3 == 0 && d.intval >=d.intval2 ? "[참여가능]" : "[참여불가]")</a></td> <a href="#" onclick="eva(@d.dtype, @d.intval10, @(d.intval4==1?4:d.intval3==1?3:d.intval3==0 && d.intval >=d.intval2?2:1))"
class="evaType@(d.intval4==1?"04":d.intval3==1?"03":d.intval3==0 && d.intval >=d.intval2?"02":"01")">@(d.intval4 == 1 ? "[평가완료]" : d.intval3 == 1 ? "[참여완료]" : d.intval3 == 0 && d.intval >=d.intval2 ? "[참여가능]" : "[참여불가]")</a> [@d.intval , @d.intval2]
</td>
</tr> </tr>
} }
@if (Model.Datas.Where(w => w.dtype > -1).Count() < 1) @if (Model.Datas.Where(w => w.dtype > -1).Count() < 1)

View File

@ -154,7 +154,7 @@
</tbody> </tbody>
</table> </table>
<p class="subDsc mt10"> <p class="subDsc mt10">
<span style="color:red">※계산서 발급을 원할 경우 반드시 업체로 선택해 주세요. (단 카드결제는 관련 법에 의해 계산서 발급불가) </span><br> <span style="color:red;font-weight:700;font-size:20px">※계산서 발급을 원할 경우 반드시 업체로 선택해 주세요. (단 카드결제는 관련 법에 의해 계산서 발급불가) </span><br>
※수료증 소속부분에 기재될 내용으로 소속업체가 없으면 개인을 선택해 주세요. ※수료증 소속부분에 기재될 내용으로 소속업체가 없으면 개인을 선택해 주세요.
</p> </p>
</div> </div>

View File

@ -96,7 +96,8 @@
</div> </div>
</li> </li>
</ul> </ul>
@if (Model.PPLog.cshape != 2) { @if (Model.PPLog.cshape != 2)
{
<h4 class="clsTitle">교육비 환급대상자의 입금방법(중요)</h4> <h4 class="clsTitle">교육비 환급대상자의 입금방법(중요)</h4>
<p class="subTxt"> <p class="subTxt">
<span>■ 카드결제 시</span><br /> <span>■ 카드결제 시</span><br />
@ -114,6 +115,14 @@
</p> </p>
} }
<h4 class="clsTitle">결제 시 주의사항</h4>
<p class="subTxt">
- 개인카드 결제 시 <span style="color : red;">법인으로 증빙서류 발급이</span> 되지 않습니다.<br />
- 계산서 발급을 원하시는 경우 반드시 <span style="color : red;">업체로 신청해주세요</span>.<br />
- 카드결제의 경우 <span style="color : red;">계산서 발급이 불가능하며 </span>카드 영수증이 발행 됩니다.<br />
- 교육신청이 완료된 이후 에는 <span style="color : red;">결제방식 변경이 불가능</span> 하므로 다시 한번 확인해 주세요.<br />
</p>
<h4 class="clsTitle">결제방법(신용카드 선택 시 계산서 발급불가)</h4> <h4 class="clsTitle">결제방법(신용카드 선택 시 계산서 발급불가)</h4>
<ul class="apyRdo"> <ul class="apyRdo">
@if (Model.CM.infee > 0) @if (Model.CM.infee > 0)
@ -177,7 +186,7 @@
<input type="hidden" name="LGD_PRODUCTINFO" id="LGD_PRODUCTINFO" value="@(Model.CM.cname.Replace(",", " "))"> <input type="hidden" name="LGD_PRODUCTINFO" id="LGD_PRODUCTINFO" value="@(Model.CM.cname.Replace(",", " "))">
<input type="hidden" name="LGD_BUYEREMAIL" id="LGD_BUYEREMAIL" value="@Model.User.email"> <input type="hidden" name="LGD_BUYEREMAIL" id="LGD_BUYEREMAIL" value="@Model.User.email">
<!-- Xpay 결제 end --> <!-- Xpay 결제 end -->
</form> </form>
@section scriptsHeader{ @section scriptsHeader{
<style type="text/css"> <style type="text/css">
.hide { .hide {

View File

@ -41,8 +41,8 @@
<add key="daokey" value="ynictelms2020" /> <add key="daokey" value="ynictelms2020" />
<!--<add key="configpath" value="Product" />--> <!--<add key="configpath" value="Product" />-->
<add key="configpath" value="ProductDev" /> <!--<add key="configpath" value="ProductDev" />-->
<!--<add key="configpath" value="Staging" />--> <add key="configpath" value="Staging" />
<add key="thumbnailexe" value="D:\\dev_tool\\ffmpeg.exe" /> <add key="thumbnailexe" value="D:\\dev_tool\\ffmpeg.exe" />
@ -167,10 +167,12 @@
<error statusCode="403" redirect="Account/Error403" /> <error statusCode="403" redirect="Account/Error403" />
<error statusCode="500" redirect="Account/Error500" /> <error statusCode="500" redirect="Account/Error500" />
</customErrors>--> </customErrors>-->
<customErrors mode="Off" defaultRedirect="~/Account/Error"> <!--<customErrors mode="Off" defaultRedirect="~/Account/Error">
<error statusCode="404" redirect="~/Account/Error404" /> <error statusCode="404" redirect="~/Account/Error404" />
<error statusCode="403" redirect="~/Account/Error403" /> <error statusCode="403" redirect="~/Account/Error403" />
<error statusCode="500" redirect="~/Account/Error500" /> <error statusCode="500" redirect="~/Account/Error500" />
</customErrors>-->
<customErrors mode="Off" >
</customErrors> </customErrors>
<compilation debug="true" targetFramework="4.6" /> <compilation debug="true" targetFramework="4.6" />
<!--<compilation debug="false" targetFramework="4.6" />product--> <!--<compilation debug="false" targetFramework="4.6" />product-->

View File

@ -56,6 +56,8 @@ namespace NP.Model
public int isexamready { get; set; } public int isexamready { get; set; }
public int userno { get; set; } public int userno { get; set; }
public Int64 pplno { get; set; } public Int64 pplno { get; set; }
public Int64 cmino { get; set; }
public Int64 cmisno { get; set; }
public PPLog PPLog { get; set; } public PPLog PPLog { get; set; }
public int iscashrct { get; set; } public int iscashrct { get; set; }
public String cashrcthp { get; set; } public String cashrcthp { get; set; }