수료관리 페이지 작업
This commit is contained in:
parent
205e3689db
commit
8ae87d9b52
|
|
@ -465,6 +465,7 @@
|
|||
<Content Include="js\datepicker\bootstrap-datepicker.js" />
|
||||
<Content Include="js\datepicker\datepicker.css" />
|
||||
<Content Include="js\jquery.min.js" />
|
||||
<Content Include="js\moment.js" />
|
||||
<Content Include="js\underscore.js" />
|
||||
<Content Include="js\underscore-min.js" />
|
||||
<Content Include="js\site.js" />
|
||||
|
|
@ -681,6 +682,8 @@
|
|||
<Content Include="Views\data\learns7.cshtml" />
|
||||
<Content Include="Views\Shared\Partial\CMScdBox.cshtml" />
|
||||
<Content Include="Views\croom\completions.cshtml" />
|
||||
<Content Include="Views\Shared\Partial\AssignBox2.cshtml" />
|
||||
<Content Include="Views\croom\documentspast.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
|
|
|
|||
|
|
@ -1053,7 +1053,7 @@ namespace NP.BO.Controllers
|
|||
"환급액","환급은행명","환급계좌" ,"환급계좌예금주","계산서이메일","교육연도","교육장"},
|
||||
new String[] { "pcgname", "cgname", "cshapename", "username", "userpnostr", "typemanName", "edukind", "typeeduName", "typegradeName", "typejobName", "cname", "completeno", "asname",
|
||||
"companyaddr", "brno", "eino", "btype", "bkind", "ceoname", "sdateymd2","edateymd2","studytime","association","slevelName","uduty","mobile","mname","mphone",
|
||||
"payamt","rbankamt","rbank","rbankaccnum","tbankuser","taxemail","tyear", "studyplaceName"},
|
||||
"payamt","rbankamt","rbank","rbankaccnum","rbankuser","taxemail","tyear", "studyplaceName"},
|
||||
vm.Completions,
|
||||
"수료관리", null, ",0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,135 @@
|
|||
@model String
|
||||
@{
|
||||
var isone = Model.Split(';')[2] == "1";
|
||||
}
|
||||
<div id="assignbox" class="findbox" style="width: 600px;z-index:2001;">
|
||||
<h4><i class="fa fa-bars"></i> @Model.Split(';')[1]<a href="#" class="btn btn-default btn-xs f-r" onclick="hideassignbox()">닫기</a></h4>
|
||||
<br />
|
||||
<input type="text" class="form-control search disp-init" placeholder="고객사명을 입력하세요." id="findboxassign" style="width: 250px" /><a href="#" class="btn btn-find btn-info btn-sm" onclick="findassign()">검색</a>
|
||||
<br /><br />
|
||||
<section class="panel panel-default" style="max-height: 300px; overflow: auto; min-height: 67px;">
|
||||
<div class="table-responsive" id="excel1">
|
||||
<table class="table table-striped b-t b-light" style="table-layout: fixed; white-space: nowrap;">
|
||||
<thead>
|
||||
<tr>
|
||||
@Html.Raw(isone ? "" : "<th width=\"50\"><input type=\"checkbox\" onclick=\"javascript: checkall('excel1', this);\" /></th>")
|
||||
<th>고객사명</th>
|
||||
<th>사업자등록번호</th>
|
||||
@Html.Raw(isone ? "<th>선택</th>" : "")
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="assignlistbox"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div style="text-align: right;">
|
||||
<ul id="assignpaging"></ul>
|
||||
</div>
|
||||
<div style="text-align: right; @(isone ?"display:none;":"")"><a href="#" class="btn btn-primary btn-xs" onclick="selectassign()">선택</a></div>
|
||||
<br /><br />
|
||||
</div>
|
||||
<style type="text/css">
|
||||
ul#assignpaging li{float: left;}
|
||||
ul#assignpaging li a{margin-left: 1px;}
|
||||
</style>
|
||||
<script>
|
||||
var _assignpno = 1;
|
||||
var _assignptc = 0;
|
||||
var _assignlastpno = 1;
|
||||
function selectassign() {
|
||||
if ($("#assignlistbox tr td input.autocheck:checked").length < 1) {
|
||||
msg2("고객사를 선택해주세요.");
|
||||
}
|
||||
else {
|
||||
var v = "";
|
||||
$.each($("#assignlistbox tr td input.autocheck:checked"), function (i, c) {
|
||||
v += ";" + $(c).val();
|
||||
});
|
||||
$("#assignlistbox tr").remove();
|
||||
hideassignbox();
|
||||
eval("@(Model.Split(';')[0])" + "('" + v.substr(1) + "')");
|
||||
}
|
||||
}
|
||||
function assignboxselectone(v){
|
||||
hideassignbox();
|
||||
@(Model.Split(';')[0])(capResult.obj[v]);
|
||||
}
|
||||
function assignboxviewregbox() {
|
||||
if ($('#assignboxregbox:visible').length < 1) {
|
||||
$('#assignboxregbox').show();
|
||||
}
|
||||
else {
|
||||
$('#assignboxregbox').hide();
|
||||
}
|
||||
}
|
||||
function findassignshow() {
|
||||
$("#assignlistbox tr").remove();
|
||||
$("#assignpaging").html("");
|
||||
bglayer2();
|
||||
$("#assignbox").slideDown("fast");
|
||||
}
|
||||
function findassign() {
|
||||
$("#assignlistbox").html("");
|
||||
//if (val("findboxassign") == "") {
|
||||
// alert("이름을 입력해주세요.");
|
||||
//}
|
||||
capp("/acommon/assignfind2", { asname: val("findboxassign"), pno: _assignpno }, "cbfindassign", null, null, true, false);
|
||||
}
|
||||
function cbfindassign() {
|
||||
if (capResult.code == 1000) {
|
||||
$.each($(capResult.obj), function (i, r) {
|
||||
$("#assignlistbox").append("<tr>" + ('@(isone?1:0)' == '1' ? "" : ("<td><input type=\"checkbox\" class=\"autocheck\" value=\"" + r.asno + ":" + r.asname.replace(/:/gi, '|').replace(/;/gi, '|') + "\" /></td>")) + "<td>" + r.asname + "</td><td>" + getdb(r.brnofmt).replace(/:/gi, '|').replace(/;/gi, '|') + "</td>" + ('@(isone?1:0)' == '1' ? "<td><a href=\"#\" class=\"btn btn-xxs btn-select\" onclick=\"assignboxselectone(" + i + ")\">선택</a></td>":"")+"</tr>");
|
||||
});
|
||||
$("#assignpaging").html("");
|
||||
_assignptc = capResult.obj.length < 1 ? 0 : capResult.obj[0].pagetotalcount;
|
||||
if (_assignptc > 10) {
|
||||
if (_assignpno > 10) {
|
||||
$("#assignpaging").append("<li><a data-pageno=\"-1\" class=\"pagea btn btn-xxs btn-default\"><<</a></li>");
|
||||
}
|
||||
if (_assignpno > 1) {
|
||||
$("#assignpaging").append("<li><a data-pageno=\"-2\" class=\"pagea btn btn-xxs btn-default\"><</a></li>");
|
||||
}
|
||||
_assignlastpno = (getint(_assignptc / 10) + (_assignptc % 10 > 0 ? 1 : 0));
|
||||
var pstart = getint((_assignpno - 1) / 10) * 10 + 1;
|
||||
for (var i = pstart; i < pstart + 10; i++) {
|
||||
$("#assignpaging").append("<li><a data-pageno=\"" + i + "\" class=\"pagea btn btn-xxs btn-default " + (_assignpno == i ? "active" : "") + " \">" + i + "</a></li>");
|
||||
if (i == _assignlastpno) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (_assignpno < _assignlastpno) {
|
||||
$("#assignpaging").append("<li><a data-pageno=\"-3\" class=\"pagea btn btn-xxs btn-default\">></a></li>");
|
||||
$("#assignpaging").append("<li><a data-pageno=\"-4\" class=\"pagea btn btn-xxs btn-default\">>></a></li>");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function hideassignbox() {
|
||||
$('#assignbox').slideUp('fast'); $('#bglayer2').hide();
|
||||
}
|
||||
$(document).ready(function () {
|
||||
$("#findboxassign").on("keyup", function () {
|
||||
_assignpno = 1;
|
||||
});
|
||||
$("body").on("click", "#assignpaging a.btn.pagea", function () {
|
||||
if (!$(this).hasClass("active")) {
|
||||
if ($(this).attr("data-pageno") == "-1") {
|
||||
_assignpno = 1;
|
||||
}
|
||||
else if ($(this).attr("data-pageno") == "-2") {
|
||||
_assignpno -= 1;
|
||||
}
|
||||
else if ($(this).attr("data-pageno") == "-3") {
|
||||
_assignpno += 1;
|
||||
}
|
||||
else if ($(this).attr("data-pageno") == "-4") {
|
||||
_assignpno = _assignlastpno;
|
||||
}
|
||||
else {
|
||||
_assignpno = getint($(this).attr("data-pageno"));
|
||||
}
|
||||
findassign();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -22,7 +22,8 @@
|
|||
var element_layer;// = document.getElementById('postlayer');
|
||||
function closeDaumPostcode() {
|
||||
// iframe을 넣은 element를 안보이게 한다.
|
||||
element_layer.style.display = 'none';
|
||||
element_layer.style.display = 'none';
|
||||
document.getElementById('bglayer2').style.display = 'none';
|
||||
}
|
||||
|
||||
function getpost2(a) {
|
||||
|
|
@ -65,6 +66,7 @@
|
|||
// iframe을 넣은 element를 안보이게 한다.
|
||||
// (autoClose:false 기능을 이용한다면, 아래 코드를 제거해야 화면에서 사라지지 않는다.)
|
||||
element_layer.style.display = 'none';
|
||||
document.getElementById('bglayer2').style.display = 'none';
|
||||
},
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<div class="col-md-12">
|
||||
<select id="stringval" name="stringval" class="form-control">
|
||||
<option value="">-년도선택</option>
|
||||
@for (int i = 2021; i <= DateTime.Now.Year; i++)
|
||||
@for (int i = 2021; i <= DateTime.Now.Year; i++)
|
||||
{
|
||||
<option value="@i" @(Model.stringval == i.ToString() ? "selected" : "")>@(i)년</option>
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary { { "name", "stringval6" }, { "selected", Model.stringval6 }, { "style", "width: 100%" }, { "df", ":-교육장구분" } })
|
||||
</div>
|
||||
</td>
|
||||
</td>
|
||||
<th>직무분야</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<th>학습기간</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
|
|
@ -70,20 +70,20 @@
|
|||
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval9) ? (DateTime?)null : Convert.ToDateTime(Model.stringval9), new ViewDataDictionary { { "name", "stringval9" } })
|
||||
</div>
|
||||
</td>
|
||||
<th>등급</th>
|
||||
<th>등급</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "typegrade"), new ViewDataDictionary { { "name", "stringval10" }, { "selected", Model.stringval10 }, { "style", "width: 100%" }, { "df", ":-등급" } })
|
||||
</div>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>검색단어</th>
|
||||
<td>
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-4">
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "username:이름;userpno:주민등록번호;completeno:수료번호;asname:업체명;brno:사업자등록번호" }, { "name", "searchtype" }, { "selected", Model.searchtype }, { "style", "width: 100%" }, { "df", ":-유형선택" } })
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-8">
|
||||
@Html.Partial("./Partial/Text", Model.stringval12, Helpers.DicText(new NP.Model.TextDic() { Name = "searchtext", Value = Model.searchtext, PH = "단어를 입력하세요.", CssClass = "ff" }))
|
||||
</div>
|
||||
|
|
@ -93,7 +93,7 @@
|
|||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "typeedu"), new ViewDataDictionary { { "name", "stringval11" }, { "selected", Model.stringval11 }, { "style", "width: 100%" }, { "df", ":-교육목적" } })
|
||||
</div>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -111,7 +111,7 @@
|
|||
<table class="table table-striped b-t b-light" style="width:5000px">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>수정</th>
|
||||
<th>수정</th>
|
||||
<th>교육상위분류</th>
|
||||
<th>교육하위분류</th>
|
||||
<th>교육유형</th>
|
||||
|
|
@ -134,7 +134,7 @@
|
|||
<th>대표자</th>
|
||||
<th>교육시작일</th>
|
||||
<th>교육종료일</th>
|
||||
<th>교육이수시간</th>
|
||||
<th>교육이수시간</th>
|
||||
<th>소속협회</th>
|
||||
<th>학력</th>
|
||||
<th>직위</th>
|
||||
|
|
@ -155,14 +155,14 @@
|
|||
@foreach (var item in Model.Completions)
|
||||
{
|
||||
<tr>
|
||||
<td class="link"><a href="#" onclick="viewdocument(@item.lectno)">[수정]</a></td>
|
||||
<td class="link"><a href="#" onclick="viewcompletion(@item.lectno)">[수정]</a></td>
|
||||
<td>@item.pcgname</td>
|
||||
<td>@item.cgname</td>
|
||||
<td>@item.cgname</td>
|
||||
<td>@item.cshapename</td>
|
||||
<td>@item.userid</td>
|
||||
<td>@item.username</td>
|
||||
<td>@item.userpnostr</td>
|
||||
<td>@item.typemanName</td>
|
||||
<td>@item.typemanName</td>
|
||||
<td>@item.edukind</td>
|
||||
<td>@item.typeeduName</td>
|
||||
<td>@item.typegradeName</td>
|
||||
|
|
@ -178,7 +178,7 @@
|
|||
<td>@item.ceoname</td>
|
||||
<td>@Convert.ToDateTime(@item.sdate).ToShortDateString()</td>
|
||||
<td>@Convert.ToDateTime(@item.edate).ToShortDateString()</td>
|
||||
<td>@item.studytime</td>
|
||||
<td>@item.studytime</td>
|
||||
<td>@item.association</td>
|
||||
<td>@item.slevelName</td>
|
||||
<td>@item.uduty</td>
|
||||
|
|
@ -189,7 +189,7 @@
|
|||
<td>@item.rbankamt</td>
|
||||
<td>@item.rbank</td>
|
||||
<td>@item.rbankaccnum</td>
|
||||
<td>@item.tbankuser</td>
|
||||
<td>@item.rbankuser</td>
|
||||
<td>@item.taxemail</td>
|
||||
<td>@item.tyear</td>
|
||||
<td>@item.studyplaceName</td>
|
||||
|
|
@ -201,208 +201,233 @@
|
|||
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
|
||||
</section>
|
||||
</form>
|
||||
<div id="documentbox" class="findbox draggable regbox" style="width: 800px; z-index: 1041; top: 60px;bottom: 30px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">과거 증빙서류 수정</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<input type="hidden" id="document_no" name="document.no" />
|
||||
<div id="completionbox" class="findbox draggable regbox" style="width: 800px; z-index: 1041; top: 60px;bottom: 30px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">수료관리 수정</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<input type="hidden" id="completion_lectno" name="completion.lectno" />
|
||||
<input type="hidden" id="completion_userno" name="completion.userno" />
|
||||
<input type="hidden" id="completion_pino" name="completion.pino" />
|
||||
<input type="hidden" id="completion_pplno" name="completion.pplno" />
|
||||
<input type="hidden" id="completion_asno" name="completion.asno" />
|
||||
<h5>ㆍ강좌정보/수료정보</h5>
|
||||
<table class="regtable">
|
||||
<colgroup>
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
<col style="width:20%" />
|
||||
<col />
|
||||
<col style="width:30%" />
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>과정분류</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<th>교육상위분류</th>
|
||||
<td id="completion_pcgname"></td>
|
||||
<th>교육하위분류</th>
|
||||
<td id="completion_cgname"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육유형</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.username", Style = "width:100%;" }))
|
||||
</td>
|
||||
<th>주민번호</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.userpno", Style = "width:100%;" }))
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>기술인분류</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<th>교육구분</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육목적</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<th>등급</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>직무분야</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td id="completion_cshapename"></td>
|
||||
<th>과정명</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.cgname", Style = "width:100%;" }))
|
||||
</td>
|
||||
<td id="completion_cname"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육이수시간</th>
|
||||
<td id="completion_studytime"></td>
|
||||
<th>교육장</th>
|
||||
<td id="completion_studyplaceName"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>수료번호</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.completeno", Style = "width:100%;" }))
|
||||
</td>
|
||||
<td id="completion_completeno"></td>
|
||||
<th>교육연도</th>
|
||||
<td id="completion_tyear"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h5>ㆍ사용자정보</h5>
|
||||
<table class="regtable">
|
||||
<colgroup>
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>사용자ID</th>
|
||||
<td id="completion_userid"></td>
|
||||
<th>이름 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.username", Style = "width:100%;" }))</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주민번호 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.userpno", Style = "width:100%;" }))</td>
|
||||
<th>학력</th>
|
||||
<td>@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "0:기타;1:고졸;2:학사;3:석사;4:박사" }, { "name", "completion.slevel" }, { "style", "width: 100%" }, { "df", ":-선택" } })</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>직위</th>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.uduty", Style = "width:100%;" }))</td>
|
||||
<th>연락처 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.mobile", Style = "width:100%;" ,CssClass="mobilefmt nocomma" }))</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>소속협회</th>
|
||||
<td colspan="3">@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.association", Style = "width:100%;" }))</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h5>ㆍ신청정보</h5>
|
||||
<table class="regtable">
|
||||
<colgroup>
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>교육시작일 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "completion.sdate" } })</td>
|
||||
<th>교육종료일 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "completion.edate" } })</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>기술인분류 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "typeman"), new ViewDataDictionary { { "name", "completion.typeman" }, { "style", "width: 100%" }, { "df", ":-기술인분류" } })</td>
|
||||
<th>직무분야 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "typejob"), new ViewDataDictionary { { "name", "completion.typejob" }, { "style", "width: 100%" }, { "df", ":-직무분야" } })</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육목적 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "typeedu"), new ViewDataDictionary { { "name", "completion.typeedu" }, { "style", "width: 100%" }, { "df", ":-교육목적" } })</td>
|
||||
<th>등급 <spn style="color:red;">*</spn></th>
|
||||
<td>@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "typegrade"), new ViewDataDictionary { { "name", "completion.typegrade" }, { "style", "width: 100%" }, { "df", ":-등급" } })</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>결제금액</th>
|
||||
<td id="completion_payamt"></td>
|
||||
<th>교육구분</th>
|
||||
<td id="completion_edukind"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>수료여부 <spn style="color:red;">*</spn></th>
|
||||
<td colspan="3">@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "0:미수료;1:수료" }, { "name", "completion.iscomplete" }, { "style", "width: 100%" }})</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h5>ㆍ환급정보</h5>
|
||||
<table class="regtable">
|
||||
<colgroup>
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>환급액</th>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.rbankamt", Style = "width:100%;" , CssClass="int" }))</td>
|
||||
<th>환급은행명</th>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.rbank", Style = "width:100%;" }))</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>환급계좌</th>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.rbankaccnum", Style = "width:100%;" }))</td>
|
||||
<th>환급계좌예금주</th>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.rbankuser", Style = "width:100%;" }))</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h5>ㆍ회사정보</h5>
|
||||
<table class="regtable">
|
||||
<colgroup>
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
<col style="width:20%" />
|
||||
<col style="width:30%" />
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>업체명</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.companyname", Style = "width:100%;" }))
|
||||
<td colspan="3">
|
||||
<div class="col-sm-8" style="padding-left:0px;">
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.asname", Style = "width:100%;", IsReadOnly = true }))
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding-left: 0px;margin-top: 4px;margin-left: -10px;">
|
||||
<a href="#" class="btn btn-info btn-find btn-xs data-find data-find-float" onclick="findassignshow()"><i class="fa fa-search"></i></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>업체주소</th>
|
||||
<td colspan="3">
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.companyaddr", Style = "width:100%;" }))
|
||||
<td colspan="3" class="postbox">
|
||||
<div class="col-md-2" style="padding-left:0px;padding-right:5px;">
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.post", Style = "width:100%;", IsReadOnly = true, CssClass = "postno" }))
|
||||
</div>
|
||||
<div class="col-sm-9" style="padding-left:0px;padding-right:0px;">
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.address1", Style = "width:100%;", IsReadOnly = true, CssClass = "postadr" }))
|
||||
</div>
|
||||
<div class="col-sm-1" style="padding-left:5px;margin-top:4px;">
|
||||
<a href="#" class="btn btn-info btn-find btn-xs data-find data-find-float" onclick="getpost2(this);bglayer2();"><i class="fa fa-search"></i></a>
|
||||
</div>
|
||||
<div class="col-sm-12" style="padding-left:0px;padding-top:5px;padding-right:0px;">
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.address2", Style = "width:100%;", CssClass = "postadrsub" }))
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사업자등록번호</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.brno", Style = "width:100%;" }))
|
||||
</td>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.brno", Style = "width:100%;" }))</td>
|
||||
<th>고용보험관리번호</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.eino", Style = "width:100%;" }))
|
||||
</td>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.eino", Style = "width:100%;" }))</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>업태</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.btype", Style = "width:100%;" }))
|
||||
</td>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.btype", Style = "width:100%;" }))</td>
|
||||
<th>종목</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.bkind", Style = "width:100%;" }))
|
||||
</td>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.bkind", Style = "width:100%;" }))</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>대표자</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.ceoname", Style = "width:100%;" }))
|
||||
</td>
|
||||
<th>교육일시작일</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "document.ssdate" } })
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육일종료일</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "document.sedate" } })
|
||||
</td>
|
||||
<th>교육이수시간</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.sctime", Style = "width:100%;" }))
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>소속협회</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.assign", Style = "width:100%;" }))
|
||||
</td>
|
||||
<th>학력</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.slevel", Style = "width:100%;" }))
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>직위</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.uduty", Style = "width:100%;" }))
|
||||
</td>
|
||||
<th>교육생연락처</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.phone", Style = "width:100%;" }))
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.ceoname", Style = "width:100%;" }))</td>
|
||||
<th>업체담당자</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.mname", Style = "width:100%;" }))
|
||||
</td>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.mname", Style = "width:100%;" }))</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>업체담당자연락처</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.mphone", Style = "width:100%;" }))
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육비</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.sprice", Style = "width:100%;" }))
|
||||
</td>
|
||||
<th>환급액</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.rprice", Style = "width:100%;" }))
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>환급은행명</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.rbank", Style = "width:100%;" }))
|
||||
</td>
|
||||
<th>환급계좌</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.rbankno", Style = "width:100%;" }))
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>환급계좌예금주</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.rbankuser", Style = "width:100%;" }))
|
||||
</td>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.mphone", Style = "width:100%;" }))</td>
|
||||
<th>계산서이메일</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.taxemail", Style = "width:100%;" }))
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육연도</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<th>구분</th>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.taxemail", Style = "width:100%;" }))</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="findboxbtnbox" id="btnsave">
|
||||
<a href="#" class="btn btn-primary" onclick="update();">수정</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postlayer" class="daumpost">
|
||||
<a href="#" class="btn btn-xxs btn-select closedaumpost" onclick="closeDaumPostcode();">close</a>
|
||||
</div>
|
||||
@Html.Partial("./Partial/AssignBox2", "bindAssign;고객사 검색;1")
|
||||
@section scriptsHeader{
|
||||
@Html.Partial("./Partial/ScriptDate")
|
||||
@Html.Partial("./Partial/ScriptPost")
|
||||
}
|
||||
@section scripts{
|
||||
<script src="~/js/moment.js"></script>
|
||||
<script>
|
||||
var _cgs = '@(string.Join(";", Model.CGs.Select(s=>string.Format("{0}:{1}:{2}", s.pcgno??0, s.cgno, s.cgname))))';
|
||||
$(document).ready(function () {
|
||||
$("#stringval2").on("change", function () {
|
||||
bindcgno("stringval2", "stringval3");
|
||||
});
|
||||
});
|
||||
});
|
||||
function bindAssign(data) {
|
||||
$("#completion_asno").val(data.asno);
|
||||
$("#completion_asname").val(data.asname);
|
||||
$("#completion_post").val(data.post);
|
||||
$("#completion_address1").val(data.address1);
|
||||
$("#completion_address2").val(data.address2);
|
||||
$("#completion_brno").val(data.brno);
|
||||
$("#completion_eino").val(data.eino);
|
||||
$("#completion_bkind").val(data.bkind);
|
||||
$("#completion_btype").val(data.btype);
|
||||
$("#completion_ceoname").val(data.ceoname);
|
||||
$("#completion_mname").val(data.mname);
|
||||
$("#completion_mphone").val(data.mphone);
|
||||
$("#completion_taxemail").val(data.taxemail);
|
||||
}
|
||||
var _bindcdnocid = "";
|
||||
function bindcgno(id, cid) {
|
||||
_bindcdnocid = cid;
|
||||
|
|
@ -415,81 +440,114 @@
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
function jsonDateToString(jsonDate) {
|
||||
var date = new Date(parseInt(jsonDate.replace(/(^.*\()|([+-].*$)/g, '')));
|
||||
var yyyy = String(date.getFullYear());
|
||||
var MM = (date.getMonth() + 1) < 10 ? "0" + (date.getMonth() + 1) : String(date.getMonth() + 1);
|
||||
var dd = date.getDate() < 10 ? "0" + date.getDate() : String(date.getDate());
|
||||
var dd = date.getDate() < 10 ? "0" + date.getDate() : String(date.getDate());
|
||||
return yyyy + "-" + MM + "-" + dd;;
|
||||
}
|
||||
function viewdocument(no) {
|
||||
//capp("/acommon/DocumnetsPast", { no: no }, "cbviewdocument",null,null,true);
|
||||
function viewcompletion(lectno) {
|
||||
capp("/acommon/completion", { lectno: lectno }, "cbviewcompletion",null,null,true);
|
||||
}
|
||||
function cbviewdocument() {
|
||||
if (capResult.code == 1000) {
|
||||
for (key in capResult.obj) {
|
||||
if (key == "ssdate" || key == "sedate") {
|
||||
function cbviewcompletion() {
|
||||
if (capResult.code == 1000) {
|
||||
for (key in capResult.obj) {
|
||||
if (key == "sdate" || key == "edate") {
|
||||
capResult.obj[key] = jsonDateToString(capResult.obj[key]);
|
||||
} else if (key == "userpno") {
|
||||
capResult.obj[key] = capResult.obj[key].substr(0, 6) + "-" + capResult.obj[key].substr(6);
|
||||
} else if (key == "payamt") {
|
||||
capResult.obj[key] = bindComma3(capResult.obj[key]);
|
||||
}
|
||||
$("#document_" + key).val(capResult.obj[key]);
|
||||
}
|
||||
bglayer(); $("#documentbox").slideDown("fast");
|
||||
if ($("#completion_" + key).prop('tagName') == "TD") {
|
||||
$("#completion_" + key).html(capResult.obj[key]);
|
||||
} else {
|
||||
$("#completion_" + key).val(capResult.obj[key]);
|
||||
}
|
||||
}
|
||||
bglayer(); $("#completionbox").slideDown("fast");
|
||||
|
||||
} else {
|
||||
msgadmin2();
|
||||
}
|
||||
}
|
||||
function update() {
|
||||
if ($("#document_username").val() == "") {
|
||||
$("#document_username").focus();
|
||||
msg2("이름을 입력해주세요.");
|
||||
} else if ($("#document_userpno").val() == "") {
|
||||
$("#document_userpno").focus();
|
||||
if ($("#completion_username").val() == "") {
|
||||
$("#completion_username").focus();
|
||||
msg2("이름을 입력해주세요.");
|
||||
} else if ($("#completion_userpno").val() == "") {
|
||||
$("#completion_userpno").focus();
|
||||
msg2("주민번호를 입력해주세요.");
|
||||
} else if (!$.isNumeric($("#document_userpno").val().replace(/-/gi, "")) || $("#document_userpno").val().replace(/-/gi, "").length != 13) {
|
||||
$("#document_userpno").focus();
|
||||
} else if (!$.isNumeric($("#completion_userpno").val().replace(/-/gi, "")) || $("#completion_userpno").val().replace(/-/gi, "").length != 13) {
|
||||
$("#completion_userpno").focus();
|
||||
msg2("잘못된 주민번호입니다.");
|
||||
} else if (!$.isNumeric($("#document_brno").val())) {
|
||||
$("#document_brno").focus();
|
||||
msg2("사업자등록번호는 숫자만 입력가능합니다.");
|
||||
} else if (!$.isNumeric($("#document_eino").val())) {
|
||||
$("#document_eino").focus();
|
||||
msg2("고용보험관리번호는 숫자만 입력가능합니다.");
|
||||
} else if (!$.isNumeric($("#document_sctime").val())) {
|
||||
$("#document_sctime").focus();
|
||||
msg2("교육이수시간은 숫자만 입력가능합니다.");
|
||||
} else if (!$.isNumeric($("#document_sprice").val())) {
|
||||
$("#document_sprice").focus();
|
||||
msg2("교육비는 숫자만 입력가능합니다.");
|
||||
} else if (!$.isNumeric($("#document_rprice").val())) {
|
||||
$("#document_rprice").focus();
|
||||
} else if (!moment($("#completion_userpno").val().substr(0,6), 'YYMMDD',true).isValid()) {
|
||||
$("#completion_userpno").focus();
|
||||
msg2("잘못된 주민번호입니다.");
|
||||
} else if ($("#completion_mobile").val() == "") {
|
||||
$("#completion_mobile").focus();
|
||||
msg2("연락처를 입력해주세요.");
|
||||
} else if (!ismobile($("#completion_mobile").val()) && !isphone($("#completion_mobile").val())) {
|
||||
$("#completion_mobile").focus();
|
||||
msg2("잘못된 연락처입니다.");
|
||||
} else if ($("#completion_sdate").val() == "") {
|
||||
$("#completion_sdate").focus();
|
||||
msg2("교육시작일을 입력해주세요.");
|
||||
} else if ($("#completion_edate").val() == "") {
|
||||
$("#completion_edate").focus();
|
||||
msg2("교육종료일을 입력해주세요.");
|
||||
} else if ($("#completion_typeman").val() == "") {
|
||||
$("#completion_typeman").focus();
|
||||
msg2("기술인분류를 선택해주세요.");
|
||||
} else if ($("#completion_typejob").val() == "") {
|
||||
$("#completion_typejob").focus();
|
||||
msg2("직무분야를 선택해주세요.");
|
||||
} else if ($("#completion_typeedu").val() == "") {
|
||||
$("#completion_typeedu").focus();
|
||||
msg2("교육목적을 선택해주세요.");
|
||||
} else if ($("#completion_typegrade").val() == "") {
|
||||
$("#completion_typegrade").focus();
|
||||
msg2("등급을 선택해주세요.");
|
||||
} else if (!$.isNumeric($("#completion_rbankamt").val().replace(/,/gi, ""))) {
|
||||
$("#completion_rbankamt").focus();
|
||||
msg2("환급액은 숫자만 입력가능합니다.");
|
||||
} else if (!$.isNumeric($("#document_rbankno").val())) {
|
||||
$("#document_rbankno").focus();
|
||||
} else if ($("#completion_rbankaccnum").val() != "" && !$.isNumeric($("#completion_rbankaccnum").val())) {
|
||||
$("#completion_rbankaccnum").focus();
|
||||
msg2("환급계좌는 숫자만 입력가능합니다.");
|
||||
} else if (!$.isNumeric($("#document_syear").val())) {
|
||||
$("#document_syear").focus();
|
||||
msg2("교육년도는 숫자만 입력가능합니다.");
|
||||
} else {
|
||||
if (confirm("과거 증빙서류를 수정하시겠습니까??")) {
|
||||
} else if ($("#completion_brno").val() != "" && !$.isNumeric($("#completion_brno").val())) {
|
||||
$("#completion_brno").focus();
|
||||
msg2("사업자등록번호는 숫자만 입력가능합니다.");
|
||||
} else if ($("#completion_eino").val() != "" && !$.isNumeric($("#completion_eino").val())) {
|
||||
$("#completion_eino").focus();
|
||||
msg2("고용보험관리번호는 숫자만 입력가능합니다.");
|
||||
} else if ($("#completion_mphone").val() != "" && !ismobile($("#completion_mphone").val()) && !isphone($("#completion_mphone").val())) {
|
||||
$("#completion_mphone").focus();
|
||||
msg2("잘못된 업체담당자연락처입니다.");
|
||||
} else if ($("#completion_taxemail").val() != "" && !isemail($("#completion_taxemail").val())) {
|
||||
$("#completion_taxemail").focus();
|
||||
msg2("잘못된 계산서이메일입니다.");
|
||||
} else {
|
||||
if (confirm("수료정보를 수정하시겠습니까??")) {
|
||||
var data = {};
|
||||
$.each($("#documentbox input, #documentbox select"), function () {
|
||||
data[this.name.replace(/document./gi, "")] = this.value;
|
||||
});
|
||||
capp("/acommon/DocumnetsPastUpdate", data, "cbupdate");
|
||||
$.each($("#completionbox input, #completionbox select"), function () {
|
||||
if (this.name == "completion.rbankamt") {
|
||||
data[this.name.replace(/completion./gi, "")] = this.value.replace(/,/gi, "");
|
||||
} else {
|
||||
data[this.name.replace(/completion./gi, "")] = this.value;
|
||||
}
|
||||
});
|
||||
capp("/acommon/completionupdate", data, "cbupdate");
|
||||
}
|
||||
}
|
||||
}
|
||||
function cbupdate() {
|
||||
if (capResult.code == 1000) {
|
||||
if (capResult.code == 1000) {
|
||||
msgok(1, "", true);
|
||||
submit("mform", 800, true);
|
||||
} else {
|
||||
msgadmin2();
|
||||
msgadmin2(capResult.msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1276,5 +1276,78 @@ namespace NP.Base.Controllers
|
|||
document.uip = GetUserIP();
|
||||
return JsonOK(Dao.Save("cr.documnetspast.up", document));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult Completion(Int64 lectno)
|
||||
{
|
||||
var comCodes = GetComCodes("typeman,typeedu,typegrade,typejob,studyplace");
|
||||
var completion = Dao.Get<Completion>("cr.completions", new Hashtable() { { "lectno", lectno } }).First();
|
||||
completion.typeeduName = comCodes.Where(w => w.ccode == completion.typeedu).FirstOrDefault()?.cname;
|
||||
completion.typegradeName = comCodes.Where(w => w.ccode == completion.typegrade).FirstOrDefault()?.cname;
|
||||
completion.typejobName = comCodes.Where(w => w.ccode == completion.typejob).FirstOrDefault()?.cname;
|
||||
completion.typemanName = comCodes.Where(w => w.ccode == completion.typeman).FirstOrDefault()?.cname;
|
||||
completion.studyplaceName = comCodes.Where(w => w.ccode == completion.studyplace).FirstOrDefault()?.cname;
|
||||
return JsonBack(completion);
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult CompletionUpdate(Completion completion)
|
||||
{
|
||||
completion.uno = SUserInfo.UserNo;
|
||||
completion.uip = GetUserIP();
|
||||
completion.userpno = completion.userpno.Replace("-", "");
|
||||
|
||||
if (completion.userpno != null && completion.userpno.Length == 13)
|
||||
{
|
||||
switch (completion.userpno.Substring(6, 1))
|
||||
{
|
||||
case "1":
|
||||
completion.birthday = "19";
|
||||
break;
|
||||
case "2":
|
||||
completion.birthday = "19";
|
||||
break;
|
||||
case "3":
|
||||
completion.birthday = "20";
|
||||
break;
|
||||
case "4":
|
||||
completion.birthday = "20";
|
||||
break;
|
||||
case "5":
|
||||
completion.birthday = "19";
|
||||
break;
|
||||
case "6":
|
||||
completion.birthday = "19";
|
||||
break;
|
||||
case "7":
|
||||
completion.birthday = "20";
|
||||
break;
|
||||
case "8":
|
||||
completion.birthday = "20";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
completion.birthday += completion.userpno.Substring(0, 2) + "-" + completion.userpno.Substring(2, 2) + "-" + completion.userpno.Substring(4, 2);
|
||||
}
|
||||
if (completion.sdate != null)
|
||||
{
|
||||
completion.sdate = new DateTime(completion.sdate.Value.Year, completion.sdate.Value.Month, completion.sdate.Value.Day, 0, 0, 0);
|
||||
}
|
||||
if (completion.edate != null)
|
||||
{
|
||||
completion.edate = new DateTime(completion.edate.Value.Year, completion.edate.Value.Month, completion.edate.Value.Day, 23, 59, 59);
|
||||
}
|
||||
|
||||
var check = Dao.Get<int>("users.checkuser", new Hashtable() { { "usernonot", completion.userno }, { "mobile", completion.mobile }, { "userpno", completion.userpno } }).First();
|
||||
if (check == 3)
|
||||
{
|
||||
return JsonError(JSONCode.Error, "이미 해당 휴대폰번호로 등록된 회원이 존재합니다.", false);
|
||||
}
|
||||
else if (check == 4)
|
||||
{
|
||||
return JsonError(JSONCode.Error, "이미 해당 주민번호로 등록된 회원이 존재합니다.", false);
|
||||
}
|
||||
return JsonOK(Dao.Save("cr.completion.up", completion));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -31,6 +31,11 @@ namespace NP.Base.Controllers
|
|||
return JsonBackList(Dao.Get<Assign>("users.assigns", new Hashtable() { { "asname", asname }, { "status", 1 }, { "pagenum", pno }, { "pagerowsize", 10 } }));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult AssignFind2(String asname, int pno)
|
||||
{
|
||||
return JsonBackList(Dao.Get<Assign>("users.assigns2", new Hashtable() { { "asname", asname }, { "status", 1 }, { "excel1", ",a.post" }, { "orderby", "a.asname" }, { "pagenum", pno }, { "pagerowsize", 10 } }));
|
||||
}
|
||||
[HttpPost]
|
||||
[ValidateInput(false)]
|
||||
public JsonResult UserSave(VMUser vm)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,10 @@ public static class Helpers
|
|||
vdd.Add("onchange", dic.OnChange);
|
||||
vdd.Add("ph", dic.PH);
|
||||
vdd.Add("style", dic.Style);
|
||||
if (dic.IsReadOnly)
|
||||
{
|
||||
vdd.Add("read", "1");
|
||||
}
|
||||
return vdd;
|
||||
}
|
||||
public static System.Web.Mvc.ViewDataDictionary DicSelect(NP.Model.SelectDic dic)
|
||||
|
|
|
|||
|
|
@ -1526,7 +1526,7 @@
|
|||
,CAST(AES_DECRYPT(UNHEX(u.userpno), <include refid="sql.digest"></include>) AS char) as userpno
|
||||
,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) as mobile
|
||||
,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) as email
|
||||
,pi.tbankuser as tbankuser,pi.rbank,pi.pino,pi.rbankamt
|
||||
,pi.tbankuser as rbankuser,pi.rbank,pi.pino,pi.rbankamt
|
||||
,CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) as rbankaccnum
|
||||
,p.payamt
|
||||
,pp.pplno,pp.typeman,pp.typeedu,pp.typegrade,pp.typejob
|
||||
|
|
@ -1545,6 +1545,7 @@
|
|||
left outer join payitem pi on pi.payno = p.payno
|
||||
left outer join pplog pp on pp.pplno = p.pplno
|
||||
where l.iscomplete = 1
|
||||
<isNotNull property="lectno" prepend="and">l.lectno = #lectno#</isNotNull>
|
||||
<isNotNull property="sdate" prepend="and">l.sdate >= #sdate#</isNotNull>
|
||||
<isNotNull property="edate" prepend="and">l.edate <= #edate#</isNotNull>
|
||||
<isNotNull property="tyear" prepend="and">t.tyear=#tyear#</isNotNull>
|
||||
|
|
@ -1571,5 +1572,55 @@
|
|||
<include refid="sql.pagedynamic"></include>
|
||||
order by a.rno
|
||||
</select>
|
||||
<update id="cr.completion.up" parameterClass="completion">
|
||||
update users
|
||||
set <include refid="sql.up"></include>
|
||||
<isNotNull property="username">,username=#username#</isNotNull>
|
||||
<isNotNull property="userpno">,userpno=HEX(AES_ENCRYPT(#userpno#, <include refid="sql.digest"></include>))</isNotNull>
|
||||
<isNotNull property="slevel">,slevel=#slevel#</isNotNull>
|
||||
<isNotNull property="uduty">,uduty=#uduty#</isNotNull>
|
||||
<isNotNull property="mobile">,mobile=HEX(AES_ENCRYPT(#mobile#, <include refid="sql.digest"></include>))</isNotNull>
|
||||
<isNotNull property="birthday">,birthday=HEX(AES_ENCRYPT(#birthday#, <include refid="sql.digest"></include>))</isNotNull>
|
||||
where userno=#userno#;
|
||||
|
||||
update lect
|
||||
set <include refid="sql.up"></include>
|
||||
<isNotNull property="iscomplete">,iscomplete=#iscomplete#</isNotNull>
|
||||
<isNotNull property="sdate">,sdate=#sdate#</isNotNull>
|
||||
<isNotNull property="edate">,edate=#edate#</isNotNull>
|
||||
where lectno=#lectno# and userno=#userno#;
|
||||
|
||||
update payitem
|
||||
set <include refid="sql.up"></include>
|
||||
<isNotNull property="rbank">,rbank=#rbank#</isNotNull>
|
||||
<isNotNull property="rbankaccnum">,rbankaccnum=HEX(AES_ENCRYPT(#rbankaccnum#, <include refid="sql.digest"></include>))</isNotNull>
|
||||
<isNotNull property="rbankuser">,tbankuser=#rbankuser#</isNotNull>
|
||||
<isNotNull property="rbankamt">,rbankamt=#rbankamt#</isNotNull>
|
||||
where pino=#pino# and userno=#userno#;
|
||||
|
||||
update pplog
|
||||
set <include refid="sql.up"></include>
|
||||
<isNotNull property="typeman">,typeman=#typeman#</isNotNull>
|
||||
<isNotNull property="typejob">,typejob=#typejob#</isNotNull>
|
||||
<isNotNull property="typeedu">,typeedu=#typeedu#</isNotNull>
|
||||
<isNotNull property="typegrade">,typegrade=#typegrade#</isNotNull>
|
||||
<isNotNull property="rbank">,rbankname=#rbank#</isNotNull>
|
||||
<isNotNull property="rbankaccnum">,rbankacc=HEX(AES_ENCRYPT(#rbankaccnum#, <include refid="sql.digest"></include>))</isNotNull>
|
||||
<isNotNull property="rbankuser">,rbankowner=#rbankuser#</isNotNull>
|
||||
<isNotNull property="association">,association=#association#</isNotNull>
|
||||
<isNotNull property="asname">,asname=#asname#</isNotNull>
|
||||
<isNotNull property="post">,post=#post#</isNotNull>
|
||||
<isNotNull property="address1">,address1=#address1#</isNotNull>
|
||||
<isNotNull property="address2">,address2=#address2#</isNotNull>
|
||||
<isNotNull property="brno">,brno=#brno#</isNotNull>
|
||||
<isNotNull property="eino">,eino=#eino#</isNotNull>
|
||||
<isNotNull property="btype">,btype=#btype#</isNotNull>
|
||||
<isNotNull property="bkind">,bkind=#bkind#</isNotNull>
|
||||
<isNotNull property="ceoname">,ceoname=#ceoname#</isNotNull>
|
||||
<isNotNull property="mname">,mname=#mname#</isNotNull>
|
||||
<isNotNull property="mphone">,mphone=HEX(AES_ENCRYPT(#mphone#, <include refid="sql.digest"></include>))</isNotNull>
|
||||
<isNotNull property="taxemail">,taxemail=HEX(AES_ENCRYPT(#taxemail#, <include refid="sql.digest"></include>))</isNotNull>
|
||||
where pplno=#pplno# and userno=#userno#;
|
||||
</update>
|
||||
</statements>
|
||||
</sqlMap>
|
||||
|
|
@ -294,9 +294,19 @@
|
|||
select min(case when b.userid=#userid# then 1
|
||||
else case when b.usertype = 1 and #email# is not null and b.email=HEX(AES_ENCRYPT(#email#, <include refid="sql.digest"></include>)) then 2
|
||||
else case when b.usertype = 1 and #mobile# is not null and b.mobile=HEX(AES_ENCRYPT(#mobile#, <include refid="sql.digest"></include>)) then 3
|
||||
else 9 end end end)
|
||||
else case when b.usertype = 1 and #userpno# is not null and b.userpno=HEX(AES_ENCRYPT(#userpno#, <include refid="sql.digest"></include>)) then 4
|
||||
else case when b.usertype = 1 and #di# is not null and b.di=#di# then 5
|
||||
else 9 end end end end end)
|
||||
from (select 1 col1) a
|
||||
left outer join users b on b.userno > 0 <isNotNull property="usernonot">and b.userno <>#usernonot#</isNotNull> and (b.userid=#userid# or b.email=HEX(AES_ENCRYPT(#email#, <include refid="sql.digest"></include>)) or b.mobile=HEX(AES_ENCRYPT(#mobile#, <include refid="sql.digest"></include>)))
|
||||
left outer join users b on b.userno > 0
|
||||
<isNotNull property="usernonot">and b.userno <>#usernonot#</isNotNull>
|
||||
and (
|
||||
b.userid=#userid#
|
||||
or b.email=HEX(AES_ENCRYPT(#email#, <include refid="sql.digest"></include>))
|
||||
or b.mobile=HEX(AES_ENCRYPT(#mobile#, <include refid="sql.digest"></include>))
|
||||
or b.userpno=HEX(AES_ENCRYPT(#userpno#, <include refid="sql.digest"></include>))
|
||||
or b.di=HEX(AES_ENCRYPT(#di#, <include refid="sql.digest"></include>))
|
||||
)
|
||||
</select>
|
||||
<insert id="users.in" parameterClass="hashtable">
|
||||
insert into users(usertype,userkind,userid,userpass,username,usernameeng
|
||||
|
|
|
|||
|
|
@ -315,6 +315,7 @@ namespace NP.Model
|
|||
public String Style { get; set; }
|
||||
public String Special { get; set; }
|
||||
public String PH { get; set; }
|
||||
public bool IsReadOnly { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3589,6 +3589,10 @@ namespace NP.Model
|
|||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 생년월일
|
||||
/// </summary>
|
||||
public String birthday { get; set; }
|
||||
/// <summary>
|
||||
/// 교육생연락처
|
||||
/// </summary>
|
||||
public String mobile { get; set; }
|
||||
|
|
@ -3803,7 +3807,7 @@ namespace NP.Model
|
|||
/// <summary>
|
||||
/// 환급계좌예금주
|
||||
/// </summary>
|
||||
public String tbankuser { get; set; }
|
||||
public String rbankuser { get; set; }
|
||||
/// <summary>
|
||||
/// 환급액
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue