교육생 개별등록 추가
This commit is contained in:
parent
0e43995a57
commit
437ec9f033
|
|
@ -47,10 +47,6 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Castle.DynamicProxy, Version=1.1.5.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\LMS_TSTI\Source\Web\SMU.LMS.Web\bin\Castle.DynamicProxy.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Common.Logging, Version=3.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\Common.Logging.3.0.0\lib\net40\Common.Logging.dll</HintPath>
|
||||
|
|
|
|||
|
|
@ -95,7 +95,14 @@
|
|||
+ getint(r.outfee) + ":"
|
||||
+ r.ismaster + ":"
|
||||
+ r.ismastername + ":"
|
||||
+ r.ssseterm
|
||||
+ r.ssseterm + ":"
|
||||
+ r.cshape + ":"
|
||||
+ r.typeman + ":"
|
||||
+ r.typeedu + ":"
|
||||
+ r.typegrade + ":"
|
||||
+ r.typejob + ":"
|
||||
+ r.typejob + ":"
|
||||
+ r.isaccommodation
|
||||
+ "\" /></td><td>" + r.rnorvt + "</td><td>" + r.cmno + "</td><td>" + r.pcgname + " | " + r.cgname + "</td><td>" + r.tmname + "</td><td>" + r.cshapename + "</td>" +
|
||||
(@(issingle?1:0)== 1 ? ("<td class=\"text-left link\"><a href=\"#\" onclick=\"$(this).closest('tr').find('input.autocheck').prop('checked', true);selectcm()\">[" + r.ismastername + "] " + r.cnameclassno.replace(/:/gi, '|').replace(/;/gi, '|') + "</a></td>"): ("<td class=\"text-left\">" + r.cnameclassno.replace(/:/gi, '|').replace(/;/gi, '|') + "</td>")) +
|
||||
"</tr>");
|
||||
|
|
|
|||
|
|
@ -108,7 +108,8 @@
|
|||
r.isjoin + ":" +
|
||||
getdb(r.isjoinname) + ":" +
|
||||
getdb(r.asname) + ":" +
|
||||
getdb(r.userid) + "\" /></td>" +
|
||||
getdb(r.userid) + ":" +
|
||||
getdb(r.asno) + "\" /></td>" +
|
||||
"<td>" + r.usertypestr + "</td>" +
|
||||
"<td>" + getdb((r.usertype == 11 ? r.pasname : r.asname)).replace(/:/gi, '|').replace(/;/gi, '|') + "</td>" +
|
||||
(@(issingle?1:0) == 1 ?
|
||||
|
|
|
|||
|
|
@ -24,43 +24,42 @@
|
|||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">기술인분류</label>
|
||||
<div class="col-sm-8 col-md-10">
|
||||
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup.ToString() == "typeman"), new ViewDataDictionary() { { "name", "typeman" } })
|
||||
<div class="col-sm-8 col-md-10" id="div-typemans">
|
||||
</div>
|
||||
</div>
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">교육목적</label>
|
||||
<div class="col-sm-8 col-md-10">
|
||||
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup.ToString() == "typeedu"), new ViewDataDictionary() { { "name", "typeedu" } })
|
||||
<div class="col-sm-8 col-md-10" id="div-typeedus">
|
||||
</div>
|
||||
</div>
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">등급</label>
|
||||
<div class="col-sm-8 col-md-10">
|
||||
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup.ToString() == "typegrade"), new ViewDataDictionary() { { "name", "typegrade" } })
|
||||
<div class="col-sm-8 col-md-10" id="div-typegrades">
|
||||
</div>
|
||||
</div>
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">직무분야</label>
|
||||
<div class="col-sm-8 col-md-10">
|
||||
@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup.ToString() == "typejob"), new ViewDataDictionary() { { "name", "typejob" } })
|
||||
<div class="col-sm-8 col-md-10" id="div-typejobs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="div-isaccommodation" style="display:none;">
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">합숙여부</label>
|
||||
<div class="col-sm-8 col-md-10">
|
||||
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:아니오;1:예" }, { "name", "isaccommodation" } })
|
||||
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:예;0:아니오" }, { "name", "isaccommodation" }, { "checked", 0} })
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="div-isrebate" style="display:none;">
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">환급여부</label>
|
||||
<div class="col-sm-8 col-md-10">
|
||||
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:비환급;1:환급" }, { "name", "isrebate" } })
|
||||
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:환급;0:비환급" }, { "name", "isrebate" }, { "checked", 1} })
|
||||
</div>
|
||||
</div>
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
|
|
@ -84,6 +83,8 @@
|
|||
<input type="text" name="rbankowner" id="rbankowner" class="form-control disp-init" value="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="div-cmscd" style="display:none;">
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">교육일정선택</label>
|
||||
|
|
@ -94,6 +95,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div id="olduser">
|
||||
<div class="form-group">
|
||||
|
|
@ -105,13 +107,20 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">소속선택</label>
|
||||
<div class="col-sm-8 col-md-10">
|
||||
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:개인;1:업체" }, { "name", "iscompany" }, { "checked", 0} })
|
||||
</div>
|
||||
</div>
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div id="olduser">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">회사정보</label>
|
||||
<div class="col-sm-8 col-md-10">
|
||||
<input type="hidden" id="asno" name="asno" />
|
||||
<a href="#" class="btn btn-info btn-find btn-xs data-find data-find-float" onclick="findassignshow()"><i class="fa fa-search"></i></a>
|
||||
<button type="button" id="btnfindassign" class="btn btn-info btn-find btn-xs data-find data-find-float" onclick="findassignshow()" disabled><i class="fa fa-search"></i></button>
|
||||
<ul class="selectgroupul" id="asbox">
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -120,14 +129,7 @@
|
|||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 col-md-2 control-label">결제방법</label>
|
||||
@if (Model.IsAdmin)
|
||||
{
|
||||
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:신용카드;2:계좌이체;3:가상계좌;4:현금;5:현금+카드;6:무료;9:위탁계약" }, { "checked", 1 }, { "name", "ptype" } })</div>
|
||||
}
|
||||
else if (Model.IsSiteAdmin)
|
||||
{
|
||||
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "9:위탁계약" }, { "checked", 9 }, { "name", "ptype" } })</div>
|
||||
}
|
||||
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "6:무료;1:신용카드;3:무통장입금(가상계좌);4:현금" }, { "checked", 6 }, { "name", "ptype" } })</div>
|
||||
</div>
|
||||
<div class="line line-dashed line-lg pull-in"></div>
|
||||
<div class="form-group">
|
||||
|
|
@ -145,7 +147,7 @@
|
|||
<tbody>
|
||||
<tr data-cmno="">
|
||||
<th class="cm hide text-left"></th>
|
||||
<td class="payamt"><input type="text" class="form-control text-right int" id="payamt" value="0" /></td>
|
||||
<td class="payamt"><input type="text" class="form-control text-right int" id="payamt" value="0" readonly /></td>
|
||||
<td class="payamtcash hide"><input type="text" class="form-control text-right int" id="payamtcash" value="0" /></td>
|
||||
<td class="payamtcard hide"><input type="text" class="form-control text-right int" id="payamtcard" value="0" /></td>
|
||||
</tr>
|
||||
|
|
@ -183,24 +185,14 @@
|
|||
var cmboxtmno = 0;
|
||||
var cmboxnotcmno = "";
|
||||
$(document).ready(function () {
|
||||
$("input[name='ptype']").on("change", function () {
|
||||
$("th.payamtcash,th.payamtcard,td.payamtcash,td.payamtcard").addClass("hide");
|
||||
if ($(this).val() == "5") {
|
||||
$("th.payamtcash,th.payamtcard,td.payamtcash,td.payamtcard").removeClass("hide");
|
||||
$("input[name='ptype']").on("click", function () {
|
||||
if ($(this).val() == "6") {
|
||||
$("#payamt").val(0);
|
||||
$("#payamt").prop("readonly", true);
|
||||
} else {
|
||||
$("#payamt").prop("readonly", false);
|
||||
}
|
||||
});
|
||||
$("input[name='ismember']").on("change", function () {
|
||||
$("#userno,#userid,#username,#email,#mobile").val("");
|
||||
$("#userinfo").text("");
|
||||
$("#newuser").hide();
|
||||
$("#olduser").show();
|
||||
if ($(this).val() == "1") {
|
||||
$("#newuser").show();
|
||||
$("#username").focus();
|
||||
$("#olduser").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$("#btnfindscdshow").on("click", function () {
|
||||
var cmno = $("#cmno").val();
|
||||
if (cmno != "") {
|
||||
|
|
@ -209,9 +201,32 @@
|
|||
alert("강좌ID 선택 후 가능합니다.")
|
||||
}
|
||||
});
|
||||
|
||||
$("input:radio[name='isrebate']").on("click", function () {
|
||||
if ($(this).val() == 0) {
|
||||
setv("rbankname", "");
|
||||
setv("rbankacc", "");
|
||||
setv("rbankowner", "");
|
||||
$("#rbankname").prop("readonly", true);
|
||||
$("#rbankacc").prop("readonly", true);
|
||||
$("#rbankowner").prop("readonly", true);
|
||||
$("input:radio[name='iscompany']").prop("disabled", false);
|
||||
} else {
|
||||
$("#rbankname").prop("readonly", false);
|
||||
$("#rbankacc").prop("readonly", false);
|
||||
$("#rbankowner").prop("readonly", false);
|
||||
$("input:radio[name='iscompany'][value='1']").click();
|
||||
$("input:radio[name='iscompany']").prop("disabled", true);
|
||||
}
|
||||
});
|
||||
$("input:radio[name='iscompany']").on("click", function () {
|
||||
if ($(this).val() == 0) {
|
||||
$("#btnfindassign").prop("disabled", true);
|
||||
assigndel();
|
||||
} else {
|
||||
$("#btnfindassign").prop("disabled", false);
|
||||
}
|
||||
});
|
||||
});
|
||||
var _ismaster = 0;
|
||||
function bindCM(vs) {
|
||||
var v = vs.split(':');
|
||||
setv("cmno", v[0]);
|
||||
|
|
@ -219,57 +234,127 @@
|
|||
$("#ssseterm").text("교육일 : " + v[9] + "일");
|
||||
$("#fee").text("교육비 : 회원 " + bindComma3(v[5]) + "원 | 비회원 " + bindComma3(v[6]) + "원");
|
||||
$("#layertable tbody tr:gt(0)").remove();
|
||||
_ismaster = 0;
|
||||
if (v[7] == "2") {
|
||||
_ismaster = 2;
|
||||
capp("/acommon/cmpcget", { pcno: v[0] }, "cbcmpcget");
|
||||
} else {
|
||||
$("#layertable tbody tr").first().attr("data-cmno", v[0]);
|
||||
$("th.cm,th.payamtcash,th.payamtcard,td.payamtcash,td.payamtcard").addClass("hide");
|
||||
|
||||
var cshape = v[10];
|
||||
$("input:radio[name='isrebate'][value='0']").click();
|
||||
$("input:radio[name='isaccommodation'][value='0']").click();
|
||||
$(".div-rbankInfo").hide();
|
||||
setv("rbankname", "");
|
||||
setv("rbankacc", "");
|
||||
setv("rbankowner", "");
|
||||
setv("cmisno", "");
|
||||
|
||||
if (cshape == 1) {
|
||||
$(".div-isrebate").show();
|
||||
$(".div-cmscd").hide();
|
||||
$("input:radio[name='isrebate'][value='1']").click();
|
||||
} else if (cshape == 2){
|
||||
$(".div-isrebate").hide();
|
||||
$(".div-cmscd").show();
|
||||
} else {
|
||||
$(".div-isrebate").hide();
|
||||
$(".div-cmscd").hide();
|
||||
}
|
||||
|
||||
var types = @Html.Raw(Json.Encode(Model.ComCodes.Select(s=> new { cgroup = s.cgroup, ccode = s.ccode, cname = s.cname})));
|
||||
var typemans = v[11].split(",");
|
||||
var typeedus = v[12].split(",");
|
||||
var typegrades = v[13].split(",");
|
||||
var typejobs = v[14].split(",");
|
||||
|
||||
$("#div-typemans").html(radiohtml(types, typemans));
|
||||
$("#div-typeedus").html(radiohtml(types, typeedus));
|
||||
$("#div-typegrades").html(radiohtml(types, typegrades));
|
||||
$("#div-typejobs").html(radiohtml(types, typejobs));
|
||||
|
||||
var isaccommodation = v[16];
|
||||
if (isaccommodation == 1) {
|
||||
$(".div-isaccommodation").show();
|
||||
} else {
|
||||
$(".div-isaccommodation").hide();
|
||||
}
|
||||
}
|
||||
function cbcmpcget() {
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
if (i > 0) {
|
||||
$("#layertable tbody tr").first().clone().appendTo("#layertable tbody");
|
||||
function radiohtml(types, ccodes) {
|
||||
var html = "";
|
||||
$.each(ccodes, function (index, ccode) {
|
||||
$.each(types, function (index, type) {
|
||||
if (type.ccode == ccode) {
|
||||
html += "<input type='radio' id='" + type.cgroup + type.ccode + "' name='" + type.cgroup + "' value='" + type.ccode + "' /><label style='vertical-align: sub;' for='" + type.cgroup + type.ccode + "'> " + type.cname + "</label> ";
|
||||
return false;
|
||||
}
|
||||
$("#layertable tbody tr").last().attr("data-cmno", d.cmno);
|
||||
$("#layertable tbody tr").last().find("th.cm").html(d.tmname + " | " + d.cnameclassno + "<br/>회원가: " + bindComma3(d.infee) + ", 비회원가: " + bindComma3(d.outfee));
|
||||
$("#layertable tbody tr").last().find("td.payamt input,td.payamtcash input,td.payamtcard input").val(0);
|
||||
});
|
||||
$("th.cm").removeClass("hide");
|
||||
});
|
||||
return html;
|
||||
}
|
||||
function bindUser(vs) {
|
||||
var v = vs.split(':');
|
||||
setv("userid", v[7]);
|
||||
setv("userno", v[0]);
|
||||
$("#userinfo").text("[" + v[5] + "]" + v[6] + " | " + v[2] + "(" + v[3] + ")");
|
||||
assigndel();
|
||||
if (v[8]) {
|
||||
$("input:radio[name='iscompany'][value='1']").click();
|
||||
bindAssign(v[8] + ":" + v[6]);
|
||||
}
|
||||
}
|
||||
function bindAssign(data) {
|
||||
var v = data.split(':')[0];
|
||||
setv("asno", v);
|
||||
$("#asbox").html("");
|
||||
$("#asbox").append("<li data-no=\"" + v + "\"><label>" + data.split(':')[1] + "</label><a href=\"#\" class=\"adel\" onclick=\"assigndel(this)\">X</a></li>");
|
||||
}
|
||||
function assigndel(a) {
|
||||
if (a) {
|
||||
$(a).closest("li").remove();
|
||||
setv("asno", "");
|
||||
} else {
|
||||
$("#asbox").empty();
|
||||
setv("asno", "");
|
||||
}
|
||||
}
|
||||
function bindCMScd(data) {
|
||||
setv("cmisno", data.value);
|
||||
$("#scdbox").html("");
|
||||
$("#scdbox").append("<li data-no=\"" + data.value + "\"><label>" + data.text + "</label><a href=\"#\" class=\"adel\" onclick=\"cmscddel(this)\">X</a></li>");
|
||||
}
|
||||
function cmscddel(a) {
|
||||
setv("cmisno", "");
|
||||
$(a).closest("li").remove();
|
||||
}
|
||||
function save() {
|
||||
var ta = 0;
|
||||
var tcash = 0;
|
||||
var tcard = 0;
|
||||
var sd = "";
|
||||
$.each($("#layertable tbody tr"), function (i, r) {
|
||||
ta += getint($(r).find("td.payamt input").val());
|
||||
tcash += getint($(r).find("td.payamtcash input").val());
|
||||
tcard += getint($(r).find("td.payamtcard input").val());
|
||||
sd += ";" + $(r).attr("data-cmno") + ":" + getint($(r).find("td.payamt input").val()) + ":" + getint($(r).find("td.payamtcash input").val()) + ":" + getint($(r).find("td.payamtcard input").val());
|
||||
});
|
||||
sd = sd.substr(1);
|
||||
if (check("cmno", null, "강좌/패키지를 선택해주세요.")) { }
|
||||
else if ($("#ismember0").prop("checked") && $("#userno").val() == "") { msg("신청자ID를 등록해주세요."); }
|
||||
else if ($("#ismember1").prop("checked") && $("#username").val() == "") { focus("username"); msg("신청자이름을 입력해주세요."); }
|
||||
else if ($("#ismember1").prop("checked") && !isemail($("#email").val())) { focus("username"); msg("이메일을 확인해주세요."); }
|
||||
else if ($("#ismember1").prop("checked") && !ismobile($("#mobile").val())) { focus("username"); msg("핸드폰번호를을 확인해주세요."); }
|
||||
else if (getrv("ptype") != "6" && getrv("ptype") != "9" && ta < 1) { msg("결제금액을 입력해주세요."); }
|
||||
else if (getrv("ptype") == "5" && ta != tcash + tcard) { msg("결제금액을 확인해주세요."); }
|
||||
var isrebate = $("input:radio[name='isrebate']:checked").val() == "1" ? true : false;
|
||||
var iscompany= $("input:radio[name='iscompany']:checked").val() == "1" ? true : false;
|
||||
if (check("cmno", null, "강좌ID를 선택해주세요.")) { }
|
||||
else if ($("input:radio[name='typeman']").length > 0 && $("input:radio[name='typeman']:checked").val() == undefined) { msg("기술인분류를 선택해주세요."); }
|
||||
else if ($("input:radio[name='typeedu']").length > 0 && $("input:radio[name='typeedu']:checked").val() == undefined) { msg("교육목적을 선택해주세요."); }
|
||||
else if ($("input:radio[name='typegrade']").length > 0 && $("input:radio[name='typegrade']:checked").val() == undefined) { msg("등급을 선택해주세요."); }
|
||||
else if ($("input:radio[name='typejob']").length > 0 && $("input:radio[name='typejob']:checked").val() == undefined) { msg("직무분야를 선택해주세요."); }
|
||||
else if ($(".div-cmscd").css("display") != "none" && $("#cmisno").val() == "") { msg("교육일정을 선택해주세요."); }
|
||||
else if (isrebate && check("rbankname", null, "은행명을 등록해주세요.")) { }
|
||||
else if (isrebate && check("rbankacc", null, "계좌번호를 등록해주세요.")) { }
|
||||
else if (isrebate && check("rbankowner", null, "예금주를 등록해주세요.")) { }
|
||||
else if (check("userno", null, "신청자ID를 선택해주세요.")) { }
|
||||
else if (iscompany && check("asno", null, "회사정보를 선택해주세요.")) { }
|
||||
else if (getrv("ptype") != "6" && val("payamt") < 1) { msg("결제금액을 입력해주세요."); }
|
||||
else if (confirm("교육생을 등록하시겠습니까?")) {
|
||||
if (_ismaster == 0) {
|
||||
capp("/acommon/lectreg", { pis: sd, isnewmember: $("#ismember1").prop("checked"), userno: val("userno") == "" ? 0 : val("userno"), username: val("username"), email: val("email"), mobile: val("mobile"), ptype: getrv("ptype") }, "cbsave");
|
||||
} else {
|
||||
capp("/acommon/lectreg", { pcno: val("cmno"), pis: sd, isnewmember: $("#ismember1").prop("checked"), userno: val("userno") == "" ? 0 : val("userno"), username: val("username"), email: val("email"), mobile: val("mobile"), ptype: getrv("ptype") }, "cbsave");
|
||||
}
|
||||
var pplog = {};
|
||||
pplog.cmno = val("cmno");
|
||||
pplog.typeman = getrv("typeman");
|
||||
pplog.typeedu = getrv("typeedu");
|
||||
pplog.typegrade = getrv("typegrade");
|
||||
pplog.typejob = getrv("typejob");
|
||||
pplog.cmisno = val("cmisno");
|
||||
pplog.isaccommodation = getrv("isaccommodation");
|
||||
pplog.isrebate = getrv("isrebate");
|
||||
pplog.rbankname = val("rbankname");
|
||||
pplog.rbankacc = val("rbankacc");
|
||||
pplog.rbankowner = val("rbankowner");
|
||||
pplog.iscompany = getrv("iscompany");
|
||||
pplog.userno = val("userno");
|
||||
pplog.asno = val("asno");
|
||||
capp("/acommon/lectreg", { ptype: getrv("ptype"), payamt: val("payamt"), pplog: pplog }, "cbsave");
|
||||
}
|
||||
}
|
||||
function cbsave() {
|
||||
|
|
@ -288,24 +373,5 @@
|
|||
msgdev();
|
||||
}
|
||||
}
|
||||
function bindAssign(data) {
|
||||
var v = data.split(':')[0];
|
||||
setv("asno", v);
|
||||
$("#asbox").html("");
|
||||
$("#asbox").append("<li data-no=\"" + v + "\"><label>" + data.split(':')[1] + "</label><a href=\"#\" class=\"adel\" onclick=\"assigndel(this)\">X</a></li>");
|
||||
}
|
||||
function assigndel(a) {
|
||||
$(a).closest("li").remove();
|
||||
setv("asno", "");
|
||||
}
|
||||
function bindCMScd(data) {
|
||||
setv("cmisno", data.value);
|
||||
$("#scdbox").html("");
|
||||
$("#scdbox").append("<li data-no=\"" + data.value + "\"><label>" + data.text + "</label><a href=\"#\" class=\"adel\" onclick=\"cmscddel(this)\">X</a></li>");
|
||||
}
|
||||
function cmscddel(a) {
|
||||
setv("cmisno", "");
|
||||
$(a).closest("li").remove();
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
|
@ -50,9 +50,6 @@
|
|||
<Reference Include="IBatisNet.Common.Logging.Log4Net">
|
||||
<HintPath>..\References\IBatisNet.Common.Logging.Log4Net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="IBatisNet.DataAccess">
|
||||
<HintPath>..\..\LMS_TSTI\Source\Core\NPTech.LMS.Core\bin\Release\IBatisNet.DataAccess.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="IBatisNet.DataMapper, Version=1.6.2.0, Culture=neutral, PublicKeyToken=ed781d9fc396c6ca, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\References\IBatisNet.DataMapper.dll</HintPath>
|
||||
|
|
|
|||
|
|
@ -83,57 +83,86 @@ namespace NP.Base.Controllers
|
|||
return JsonOK(Dao.Save("lect.lectchange", new Hashtable() { { "lectno", lectno }, { "cmno", cmno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult LECTReg(int? pcno, bool isnewmember, int userno, String username, String email, String mobile, int ptype, String pis)
|
||||
public JsonResult LECTReg(int ptype, int payamt, PPLog pplog)
|
||||
{
|
||||
if (isnewmember)
|
||||
#region PPLog
|
||||
#region CM
|
||||
var cm = Dao.Get<CM>("cm.cms", new Hashtable() { { "cmno", pplog.cmno } }).First();
|
||||
cm.applicableCM = (cm.quota != 0 && cm.quota - cm.lectcnt <= 0) ? "대기접수" : "정상접수";
|
||||
|
||||
pplog.uno = SUserInfo.UserNo;
|
||||
pplog.uip = GetUserIP();
|
||||
pplog.isready = cm.applicableCM == "정상접수" ? 0 : 1;
|
||||
pplog.cgcode = cm.pcgcode;
|
||||
if (pplog.cgcode != "0")
|
||||
{
|
||||
//회원정보생성
|
||||
//아이디, 이메일 중복확인
|
||||
var checkuser = Dao.Get<int>("users.checkuser", new Hashtable() { { "userid", email }, { "email", email } }).First();
|
||||
if (checkuser < 9)
|
||||
{
|
||||
return JsonOK(checkuser * -1);
|
||||
pplog.cgno = cm.cgno;
|
||||
}
|
||||
var User = new Users() { };
|
||||
User.uno = SUserInfo.UserNo; User.uip = GetUserIP();
|
||||
User.mobile = string.IsNullOrEmpty(mobile) || mobile.Replace("-", "").Length < 10 ? (mobile ?? "") : mobile.Replace("-", "").Length == 10 ? string.Format("{0}-{1}-{2}", mobile.Replace("-", "").Substring(0, 3), mobile.Replace("-", "").Substring(3, 3), mobile.Replace("-", "").Substring(6)) : string.Format("{0}-{1}-{2}", mobile.Replace("-", "").Substring(0, 3), mobile.Replace("-", "").Substring(3, 4), mobile.Replace("-", "").Substring(7));
|
||||
User.username = username;
|
||||
User.userpass = NP.Base.Lib.KISA_SHA256.SHA256Hash(mobile.Replace("-", ""));
|
||||
User.userid = User.email = email.Trim();
|
||||
User.usertype = 1;
|
||||
User.asno = SUserInfo.IsSiteAdmin ? SUserInfo.ASNo : (int?)null;
|
||||
User.status = 1;
|
||||
Dao.Insert("users.in", User);
|
||||
if (User.userno < 1)
|
||||
pplog.cshape = cm.cshape;
|
||||
#endregion
|
||||
#region User
|
||||
var user = Dao.Get<Users>("users.users", new Hashtable() { { "userno", pplog.userno } }).First();
|
||||
pplog.userpno = user.userpno;
|
||||
pplog.mobile = user.mobile;
|
||||
pplog.email = user.email;
|
||||
pplog.upost = user.post;
|
||||
pplog.uaddress1 = user.address1;
|
||||
pplog.uaddress2 = user.address2;
|
||||
pplog.isassignuser = user.isassignuser;
|
||||
pplog.uduty = user.uduty;
|
||||
pplog.slevel = user.slevel;
|
||||
#endregion
|
||||
#region Assign
|
||||
if (pplog.asno != null)
|
||||
{
|
||||
return JsonOK(-3);
|
||||
}
|
||||
userno = User.userno;
|
||||
var assign = Dao.Get<Assign>("users.assigns2", new Hashtable() { { "asno", pplog.asno }, { "excel1", ",a.post" }, { "orderby", "a.asname" } }).First();
|
||||
pplog.asname = assign.asname;
|
||||
pplog.brno = assign.brno;
|
||||
pplog.ceoname = assign.ceoname;
|
||||
pplog.post = assign.post;
|
||||
pplog.address1 = assign.address1;
|
||||
pplog.address2 = assign.address2;
|
||||
pplog.btype = assign.btype;
|
||||
pplog.bkind = assign.bkind;
|
||||
pplog.fgnobno = assign.fgnobno;
|
||||
pplog.eino = assign.eino;
|
||||
pplog.mname = assign.mname;
|
||||
pplog.mphone = assign.mphone;
|
||||
pplog.taxemail = assign.taxemail;
|
||||
}
|
||||
#endregion
|
||||
Dao.Insert("cm.pplog.applyedu.in", pplog);
|
||||
#endregion
|
||||
|
||||
#region Users.asno update
|
||||
Dao.Save("users.asno.save", new Hashtable() { { "asno", pplog.asno }, { "userno", pplog.userno } });
|
||||
#endregion
|
||||
|
||||
#region Pay
|
||||
var payitems = new List<PayItem>() { };
|
||||
var uip = GetUserIP();
|
||||
foreach (var v in pis.Split(';'))
|
||||
{
|
||||
var vs = v.Split(':');
|
||||
payitems.Add(new PayItem()
|
||||
{
|
||||
ptype = pcno == null ? 0 : 1,
|
||||
pcno = pcno,
|
||||
itemno = GetInt(vs[0]),
|
||||
userno = userno,
|
||||
ptype = 0,
|
||||
pcno = null,
|
||||
itemno = pplog.cmno,
|
||||
userno = pplog.userno,
|
||||
status = 1,
|
||||
ispc = pcno == null ? 0 : 1,
|
||||
ispc = 0,
|
||||
pstatus = 1,
|
||||
pcnt = 1,
|
||||
payamt = GetInt(vs[1]),
|
||||
payamtcash = ptype == 5 ? GetInt(vs[2]) : 0,
|
||||
payamtcard = ptype == 5 ? GetInt(vs[3]) : 0,
|
||||
payamt = payamt,
|
||||
payamtcash = 0,
|
||||
payamtcard = 0,
|
||||
uno = SUserInfo.UserNo,
|
||||
isrebate = pplog.isrebate ?? 0,
|
||||
rbank = pplog.rbankname,
|
||||
rbankaccnum = pplog.rbankacc,
|
||||
tbankuser = pplog.rbankowner,
|
||||
uip = uip
|
||||
});
|
||||
}
|
||||
//정가확인
|
||||
var cms = Dao.Get<CM>("cm.cms.forpay" + (pcno == null ? "" : "pc"), new Hashtable() { { "userno", userno }, { pcno == null ? "cmno" : "pcno", pcno == null ? payitems.First().itemno : pcno.Value } });
|
||||
var cms = Dao.Get<CM>("cm.cms.forpay", new Hashtable() { { "userno", pplog.userno }, { "cmno", payitems.First().itemno } });
|
||||
foreach (var pi in payitems)
|
||||
{
|
||||
pi.orgamt = cms.Where(w => w.cmno == pi.itemno).First().fee;
|
||||
|
|
@ -142,7 +171,8 @@ namespace NP.Base.Controllers
|
|||
var pay = new Pay()
|
||||
{
|
||||
ptype = ptype,
|
||||
userno = userno,
|
||||
userno = pplog.userno,
|
||||
username = user.username,
|
||||
pstatus = 1,
|
||||
rstatus = 0,
|
||||
refunding = 0,
|
||||
|
|
@ -151,11 +181,15 @@ namespace NP.Base.Controllers
|
|||
payamt = payitems.Sum(s => s.payamt),
|
||||
PIs = payitems,
|
||||
cmnos = string.Join(",", payitems.Select(s => s.itemno)),
|
||||
iscashrct = 0,
|
||||
pplno = pplog.pplno,
|
||||
uno = SUserInfo.UserNo,
|
||||
uip = GetUserIP()
|
||||
};
|
||||
#endregion
|
||||
|
||||
//등록된 교육생인가 확인
|
||||
var checklectuser = Dao.Get<Lect>("lect.checkuser", new Hashtable() { {"userno",userno}, { "cmnos", pay.cmnos } }).Count();
|
||||
var checklectuser = Dao.Get<Lect>("lect.checkuser", new Hashtable() { {"userno", pplog.userno }, { "cmnos", pay.cmnos } }).Count();
|
||||
if(checklectuser > 0)
|
||||
{
|
||||
return JsonOK(-4);
|
||||
|
|
|
|||
|
|
@ -252,38 +252,38 @@ namespace NP.Base.Controllers
|
|||
public JsonResult savePPLog(VMCourse vm)
|
||||
{
|
||||
int rtn = 0;
|
||||
PPLog ppllog = new PPLog();
|
||||
ppllog.uno = SUserInfo.UserNo;
|
||||
ppllog.uip = GetUserIP();
|
||||
ppllog.cmno = vm.cmno;
|
||||
ppllog.userno = vm.User.userno;
|
||||
ppllog.asno = vm.Assign != null ? vm.Assign.asno : (long?)null;
|
||||
ppllog.isready = Request["applicableCM"].ToString() == "정상접수" ? 0 : 1;
|
||||
ppllog.cgcode = vm.stringval;
|
||||
ppllog.cshape = !string.IsNullOrEmpty(vm.stringval2) ? Convert.ToInt32(vm.stringval2) : (int?)null;
|
||||
ppllog.asname = string.Empty;
|
||||
PPLog pplog = new PPLog();
|
||||
pplog.uno = SUserInfo.UserNo;
|
||||
pplog.uip = GetUserIP();
|
||||
pplog.cmno = vm.cmno;
|
||||
pplog.userno = vm.User.userno;
|
||||
pplog.asno = vm.Assign != null ? vm.Assign.asno : (long?)null;
|
||||
pplog.isready = Request["applicableCM"].ToString() == "정상접수" ? 0 : 1;
|
||||
pplog.cgcode = vm.stringval;
|
||||
pplog.cshape = !string.IsNullOrEmpty(vm.stringval2) ? Convert.ToInt32(vm.stringval2) : (int?)null;
|
||||
pplog.asname = string.Empty;
|
||||
if (vm.stringval == "0")
|
||||
{
|
||||
ppllog.typeman = !string.IsNullOrEmpty(vm.stringval3) ? Convert.ToInt32(vm.stringval3) : (int?)null;
|
||||
ppllog.typeedu = !string.IsNullOrEmpty(vm.stringval4) ? Convert.ToInt32(vm.stringval4) : (int?)null;
|
||||
ppllog.typegrade = !string.IsNullOrEmpty(vm.stringval5) ? Convert.ToInt32(vm.stringval5) : (int?)null;
|
||||
ppllog.typejob = !string.IsNullOrEmpty(vm.stringval6) ? Convert.ToInt32(vm.stringval6) : (int?)null;
|
||||
pplog.typeman = !string.IsNullOrEmpty(vm.stringval3) ? Convert.ToInt32(vm.stringval3) : (int?)null;
|
||||
pplog.typeedu = !string.IsNullOrEmpty(vm.stringval4) ? Convert.ToInt32(vm.stringval4) : (int?)null;
|
||||
pplog.typegrade = !string.IsNullOrEmpty(vm.stringval5) ? Convert.ToInt32(vm.stringval5) : (int?)null;
|
||||
pplog.typejob = !string.IsNullOrEmpty(vm.stringval6) ? Convert.ToInt32(vm.stringval6) : (int?)null;
|
||||
}
|
||||
else
|
||||
{
|
||||
ppllog.cgno = !string.IsNullOrEmpty(vm.stringval3) ? Convert.ToInt32(vm.stringval3) : (int?)null;
|
||||
pplog.cgno = !string.IsNullOrEmpty(vm.stringval3) ? Convert.ToInt32(vm.stringval3) : (int?)null;
|
||||
}
|
||||
|
||||
ppllog.cmisno = !string.IsNullOrEmpty(Request["cmisno"]) ? Convert.ToInt64(Request["cmisno"]) : (long?)null;
|
||||
ppllog.isrebate = !string.IsNullOrEmpty(Request["isrebate"]) ? Convert.ToInt32(Request["isrebate"]) : (int?)null;
|
||||
ppllog.isaccommodation = !string.IsNullOrEmpty(Request["isaccommodation"]) ? Convert.ToInt32(Request["isaccommodation"].ToString()) : (int?)null;
|
||||
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 (ppllog.isrebate == 1)
|
||||
if (pplog.isrebate == 1)
|
||||
{
|
||||
ppllog.rbankname = !string.IsNullOrEmpty(Request["rbankname"]) ? Request["rbankname"].ToString() : null;
|
||||
ppllog.rbankacc = !string.IsNullOrEmpty(Request["rbankacc"]) ? Request["rbankacc"].ToString() : null;
|
||||
ppllog.rbankowner = !string.IsNullOrEmpty(Request["rbankowner"]) ? Request["rbankowner"].ToString() : null;
|
||||
pplog.rbankname = !string.IsNullOrEmpty(Request["rbankname"]) ? Request["rbankname"].ToString() : null;
|
||||
pplog.rbankacc = !string.IsNullOrEmpty(Request["rbankacc"]) ? Request["rbankacc"].ToString() : null;
|
||||
pplog.rbankowner = !string.IsNullOrEmpty(Request["rbankowner"]) ? Request["rbankowner"].ToString() : null;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
|
@ -291,7 +291,7 @@ namespace NP.Base.Controllers
|
|||
var isCompany = !string.IsNullOrEmpty(Request["isCompany"]) ? Convert.ToInt32(Request["isCompany"]) : (int?)null;
|
||||
if (isCompany == 0) //개인
|
||||
{
|
||||
ppllog.asno = null;
|
||||
pplog.asno = null;
|
||||
vm.Assign = null;
|
||||
}
|
||||
else if (isCompany == 1) //업체
|
||||
|
|
@ -307,53 +307,53 @@ namespace NP.Base.Controllers
|
|||
#region Assign
|
||||
if (vm.Assign != null)
|
||||
{
|
||||
ppllog.asname = vm.Assign.asname;
|
||||
ppllog.brno = vm.Assign.brno.IndexOf("-") > 0 ? vm.Assign.brno.Replace("-", "") : vm.Assign.brno;
|
||||
ppllog.ceoname = vm.Assign.ceoname;
|
||||
ppllog.post = vm.Assign.post;
|
||||
ppllog.address1 = vm.Assign.address1;
|
||||
ppllog.address2 = vm.Assign.address2;
|
||||
ppllog.btype = vm.Assign.btype;
|
||||
ppllog.bkind = vm.Assign.bkind;
|
||||
pplog.asname = vm.Assign.asname;
|
||||
pplog.brno = vm.Assign.brno.IndexOf("-") > 0 ? vm.Assign.brno.Replace("-", "") : vm.Assign.brno;
|
||||
pplog.ceoname = vm.Assign.ceoname;
|
||||
pplog.post = vm.Assign.post;
|
||||
pplog.address1 = vm.Assign.address1;
|
||||
pplog.address2 = vm.Assign.address2;
|
||||
pplog.btype = vm.Assign.btype;
|
||||
pplog.bkind = vm.Assign.bkind;
|
||||
|
||||
Int64? fgnobno = (Int64?)null;
|
||||
if (Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0)
|
||||
{
|
||||
fgnobno = SetFile(Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), fgnobno ?? 0, "assign", "fgnobno");
|
||||
}
|
||||
ppllog.fgnobno = fgnobno;
|
||||
pplog.fgnobno = fgnobno;
|
||||
|
||||
ppllog.eino = vm.Assign.eino;
|
||||
ppllog.mname = vm.Assign.mname;
|
||||
ppllog.mphone = string.Format("{0}-{1}-{2}", vm.Assign.mphone1, vm.Assign.mphone2, vm.Assign.mphone3);
|
||||
ppllog.taxemail = string.Format("{0}@{1}", vm.Assign.taxemail1, vm.Assign.taxemail2);
|
||||
pplog.eino = vm.Assign.eino;
|
||||
pplog.mname = vm.Assign.mname;
|
||||
pplog.mphone = string.Format("{0}-{1}-{2}", vm.Assign.mphone1, vm.Assign.mphone2, vm.Assign.mphone3);
|
||||
pplog.taxemail = string.Format("{0}@{1}", vm.Assign.taxemail1, vm.Assign.taxemail2);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region User
|
||||
if (!string.IsNullOrEmpty(vm.User.userpno1) && !string.IsNullOrEmpty(vm.User.userpno2))
|
||||
{
|
||||
ppllog.userpno = string.Format("{0}{1}", vm.User.userpno1, vm.User.userpno2);
|
||||
pplog.userpno = string.Format("{0}{1}", vm.User.userpno1, vm.User.userpno2);
|
||||
}
|
||||
ppllog.mobile = string.Format("{0}-{1}-{2}", vm.User.mobile1, vm.User.mobile2, vm.User.mobile3);
|
||||
ppllog.email = string.Format("{0}@{1}", vm.User.email1, vm.User.email2);
|
||||
ppllog.upost = vm.User.post;
|
||||
ppllog.uaddress1 = vm.User.address1;
|
||||
ppllog.uaddress2 = vm.User.address2;
|
||||
ppllog.isassignuser = vm.User.isassignuser;
|
||||
ppllog.uduty = vm.User.uduty;
|
||||
ppllog.slevel = vm.User.slevel;
|
||||
pplog.mobile = string.Format("{0}-{1}-{2}", vm.User.mobile1, vm.User.mobile2, vm.User.mobile3);
|
||||
pplog.email = string.Format("{0}@{1}", vm.User.email1, vm.User.email2);
|
||||
pplog.upost = vm.User.post;
|
||||
pplog.uaddress1 = vm.User.address1;
|
||||
pplog.uaddress2 = vm.User.address2;
|
||||
pplog.isassignuser = vm.User.isassignuser;
|
||||
pplog.uduty = vm.User.uduty;
|
||||
pplog.slevel = vm.User.slevel;
|
||||
#endregion
|
||||
|
||||
if (ppllog.asno != null)
|
||||
if (pplog.asno != null)
|
||||
{
|
||||
Dao.Save("cm.assign.applyedu.up", ppllog);
|
||||
Dao.Save("cm.assign.applyedu.up", pplog);
|
||||
}
|
||||
Dao.Save("cm.users.applyedu.up", ppllog);
|
||||
Dao.Insert("cm.pplog.applyedu.in", ppllog);
|
||||
if (ppllog.pplno > 0)
|
||||
Dao.Save("cm.users.applyedu.up", pplog);
|
||||
Dao.Insert("cm.pplog.applyedu.in", pplog);
|
||||
if (pplog.pplno > 0)
|
||||
{
|
||||
return JsonOK(ppllog.pplno);
|
||||
return JsonOK(pplog.pplno);
|
||||
}
|
||||
return JsonOK(rtn);
|
||||
|
||||
|
|
|
|||
|
|
@ -31,10 +31,6 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Castle.DynamicProxy">
|
||||
<HintPath>..\..\LMS_TSTI\Source\Core\NPTech.LMS.Core\bin\Release\Castle.DynamicProxy.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Common.Logging">
|
||||
<HintPath>..\References\Common.Logging.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@
|
|||
<statements>
|
||||
<insert id="pay.pay.in" parameterClass="pay">
|
||||
insert into pay(ptype,ispg,isgroup,userno,username,isexam,pstatus,rstatus,refunding,paylimit,payoktime,pgkey
|
||||
,orgamt,discamt,deliamt,isrefunddvr,payamt,refundamt,pplno,isbill,<include refid="sql.inc"></include>)
|
||||
,orgamt,discamt,deliamt,isrefunddvr,payamt,refundamt,pplno,isbill,iscashrct,<include refid="sql.inc"></include>)
|
||||
values (#ptype#,#ispg#,#isgroup#,#userno#,#username#,0,#pstatus#,#rstatus#,#refunding#,#paylimit#,case when #isinmoney# is not null then <include refid="sql.now"></include> else #payoktime# end,#pgkey#
|
||||
,#orgamt#,#discamt#,#deliamt#,#isrefunddvr#,#payamt#,#refundamt#,#pplno#,#isbill#,<include refid="sql.inv"></include>);
|
||||
,#orgamt#,#discamt#,#deliamt#,#isrefunddvr#,#payamt#,#refundamt#,#pplno#,#isbill#,#iscashrct#,<include refid="sql.inv"></include>);
|
||||
<selectKey type="post" property="payno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
|
||||
</insert>
|
||||
<insert id="pay.payitem.in" parameterClass="payitem">
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ namespace NP.Model
|
|||
public IList<ExamUserRenew> ExamUserRenews { get; set; }
|
||||
public IList<UserAuth> userauths { get; set; }
|
||||
public Assign Assign { get; set; }
|
||||
public PPLog PPLog { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue