"신청정보 부분의 교육시작일, 교육종료일 변경
교육장 - 수강생 교육시작/종료일 - 둘다 변경 가능. 업데이트. 온라인 - 문구변경 : 교육시작일 -> 교육시작일(결제완료일) - 문구변경 : 교육종료일 -> 교육종료일(집체교육일) - 교육시작일 : 변경 불가능 - 교육종료일 : 교육일정변경 선택창 출력 (교육운영>수강신청>교육일정변경) - 수료관리 수정 화면에서만 교육일정 변경 제한을 해제 (인원이 차있어도, 일정이 지났어도 선택이 가능하도록)"
This commit is contained in:
parent
63751d98da
commit
ef19fa2fae
|
|
@ -684,6 +684,7 @@
|
||||||
<Content Include="Views\croom\completions.cshtml" />
|
<Content Include="Views\croom\completions.cshtml" />
|
||||||
<Content Include="Views\Shared\Partial\AssignBox2.cshtml" />
|
<Content Include="Views\Shared\Partial\AssignBox2.cshtml" />
|
||||||
<Content Include="Views\croom\documentspast.cshtml" />
|
<Content Include="Views\croom\documentspast.cshtml" />
|
||||||
|
<Content Include="Views\Shared\Partial\CMScdBox2.cshtml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="App_Data\" />
|
<Folder Include="App_Data\" />
|
||||||
|
|
|
||||||
|
|
@ -1045,6 +1045,11 @@ namespace NP.BO.Controllers
|
||||||
completion.typejobName = vm.ComCodes.Where(w => w.ccode == completion.typejob).FirstOrDefault()?.cname;
|
completion.typejobName = vm.ComCodes.Where(w => w.ccode == completion.typejob).FirstOrDefault()?.cname;
|
||||||
completion.typemanName = vm.ComCodes.Where(w => w.ccode == completion.typeman).FirstOrDefault()?.cname;
|
completion.typemanName = vm.ComCodes.Where(w => w.ccode == completion.typeman).FirstOrDefault()?.cname;
|
||||||
completion.studyplaceName = vm.ComCodes.Where(w => w.ccode == completion.studyplace).FirstOrDefault()?.cname;
|
completion.studyplaceName = vm.ComCodes.Where(w => w.ccode == completion.studyplace).FirstOrDefault()?.cname;
|
||||||
|
if(completion.cshape == 2)
|
||||||
|
{
|
||||||
|
completion.sdate = completion.payoktime;
|
||||||
|
completion.edate = completion.estart;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vm.isexceldown == 1)
|
if (vm.isexceldown == 1)
|
||||||
|
|
@ -1057,6 +1062,11 @@ namespace NP.BO.Controllers
|
||||||
completion.typejobName = vm.ComCodes.Where(w => w.ccode == completion.typejob).FirstOrDefault()?.cname;
|
completion.typejobName = vm.ComCodes.Where(w => w.ccode == completion.typejob).FirstOrDefault()?.cname;
|
||||||
completion.typemanName = vm.ComCodes.Where(w => w.ccode == completion.typeman).FirstOrDefault()?.cname;
|
completion.typemanName = vm.ComCodes.Where(w => w.ccode == completion.typeman).FirstOrDefault()?.cname;
|
||||||
completion.studyplaceName = vm.ComCodes.Where(w => w.ccode == completion.studyplace).FirstOrDefault()?.cname;
|
completion.studyplaceName = vm.ComCodes.Where(w => w.ccode == completion.studyplace).FirstOrDefault()?.cname;
|
||||||
|
if (completion.cshape == 2)
|
||||||
|
{
|
||||||
|
completion.sdate = completion.payoktime;
|
||||||
|
completion.edate = completion.estart;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return ExportExcel(
|
return ExportExcel(
|
||||||
new String[] {"순번" ,"사용자ID","이름","주민번호","교육생연락처","교육유형","교육구분","기술인분류","직무분야","교육목적","등급","교육시작일","교육종료일",
|
new String[] {"순번" ,"사용자ID","이름","주민번호","교육생연락처","교육유형","교육구분","기술인분류","직무분야","교육목적","등급","교육시작일","교육종료일",
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,6 @@
|
||||||
var data = { value: $(this).val(), text: $(this).data("text"), estart: $(this).data("estart") };
|
var data = { value: $(this).val(), text: $(this).data("text"), estart: $(this).data("estart") };
|
||||||
@(Model.Split(';')[0])(data);
|
@(Model.Split(';')[0])(data);
|
||||||
hidecmscdbox();
|
hidecmscdbox();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,8 @@
|
||||||
<input type="hidden" id="completion_pino" name="completion.pino" />
|
<input type="hidden" id="completion_pino" name="completion.pino" />
|
||||||
<input type="hidden" id="completion_pplno" name="completion.pplno" />
|
<input type="hidden" id="completion_pplno" name="completion.pplno" />
|
||||||
<input type="hidden" id="completion_asno" name="completion.asno" />
|
<input type="hidden" id="completion_asno" name="completion.asno" />
|
||||||
|
<input type="hidden" id="completion_cmno" name="completion.cmno" />
|
||||||
|
<input type="hidden" id="completion_cmisno" name="completion.cmisno" />
|
||||||
<h5>ㆍ강좌정보/수료정보</h5>
|
<h5>ㆍ강좌정보/수료정보</h5>
|
||||||
<table class="regtable">
|
<table class="regtable">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
|
|
@ -236,12 +238,25 @@
|
||||||
<col style="width:20%" />
|
<col style="width:20%" />
|
||||||
<col style="width:30%" />
|
<col style="width:30%" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tr>
|
<tr id="trcshape1">
|
||||||
<th>교육시작일 <spn style="color:red;">*</spn></th>
|
<th>교육시작일 <spn style="color:red;">*</spn></th>
|
||||||
<td>@Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "completion.sdate" } })</td>
|
<td>@Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "completion.sdate" } })</td>
|
||||||
<th>교육종료일 <spn style="color:red;">*</spn></th>
|
<th>교육종료일 <spn style="color:red;">*</spn></th>
|
||||||
<td>@Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "completion.edate" } })</td>
|
<td>@Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "completion.edate" } })</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr id="trcshape2">
|
||||||
|
<th>교육시작일(결제완료일) <spn style="color:red;">*</spn></th>
|
||||||
|
<td id="completion_payoktime"></td>
|
||||||
|
<th>교육종료일(집체교육일) <spn style="color:red;">*</spn></th>
|
||||||
|
<td>
|
||||||
|
<div class="col-sm-10" style="padding-left:0px;">
|
||||||
|
@Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "completion.estart", Style = "width:100%;", IsReadOnly = true }))
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2" 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" id="btnfindscdshow"><i class="fa fa-search"></i></a>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>기술인분류 <spn style="color:red;">*</spn></th>
|
<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>
|
<td>@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "typeman"), new ViewDataDictionary { { "name", "completion.typeman" }, { "style", "width: 100%" }, { "df", ":-기술인분류" } })</td>
|
||||||
|
|
@ -354,21 +369,32 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="postlayer" class="daumpost">
|
<div id="postlayer" class="daumpost">
|
||||||
<a href="#" class="btn btn-xxs btn-select closedaumpost" onclick="closeDaumPostcode();">close</a>
|
<a href="#" class="btn btn-xxs btn-select closedaumpost" onclick="closeDaumPostcode();">close</a>
|
||||||
</div>
|
</div>
|
||||||
@Html.Partial("./Partial/AssignBox2", "bindAssign;고객사 검색;1")
|
@Html.Partial("./Partial/AssignBox2", "bindAssign;고객사 검색;1")
|
||||||
|
@Html.Partial("./Partial/CMScdBox2", "bindCMScd;교육일정선택;1")
|
||||||
@section scriptsHeader{
|
@section scriptsHeader{
|
||||||
@Html.Partial("./Partial/ScriptDate")
|
@Html.Partial("./Partial/ScriptDate")
|
||||||
@Html.Partial("./Partial/ScriptPost")
|
@Html.Partial("./Partial/ScriptPost")
|
||||||
}
|
}
|
||||||
@section scripts{
|
@section scripts{
|
||||||
<script src="~/js/moment.js"></script>
|
<script src="~/js/moment.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var _cgs = '@(string.Join(";", Model.CGs.Select(s=>string.Format("{0}:{1}:{2}", s.pcgno??0, s.cgno, s.cgname))))';
|
var _cgs = '@(string.Join(";", Model.CGs.Select(s=>string.Format("{0}:{1}:{2}", s.pcgno??0, s.cgno, s.cgname))))';
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$("#stringval2").on("change", function () {
|
$("#stringval2").on("change", function () {
|
||||||
bindcgno("stringval2", "stringval3");
|
bindcgno("stringval2", "stringval3");
|
||||||
|
});
|
||||||
|
$("#btnfindscdshow").on("click", function () {
|
||||||
|
var cmno = $("#completion_cmno").val();
|
||||||
|
if (cmno != "") {
|
||||||
|
findcmscdshow(cmno);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
function bindCMScd(data) {
|
||||||
|
$("#completion_cmisno").val(data.value);
|
||||||
|
$("#completion_estart").val(moment(data.estart).format('YYYY-MM-DD'));
|
||||||
|
}
|
||||||
function bindAssign(data) {
|
function bindAssign(data) {
|
||||||
$("#completion_asno").val(data.asno);
|
$("#completion_asno").val(data.asno);
|
||||||
$("#completion_asname").val(data.asname);
|
$("#completion_asname").val(data.asname);
|
||||||
|
|
@ -395,22 +421,15 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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());
|
|
||||||
return yyyy + "-" + MM + "-" + dd;;
|
|
||||||
}
|
|
||||||
function viewcompletion(lectno) {
|
function viewcompletion(lectno) {
|
||||||
capp("/acommon/completion", { lectno: lectno }, "cbviewcompletion",null,null,true);
|
capp("/acommon/completion", { lectno: lectno }, "cbviewcompletion",null,null,true);
|
||||||
}
|
}
|
||||||
function cbviewcompletion() {
|
function cbviewcompletion() {
|
||||||
if (capResult.code == 1000) {
|
if (capResult.code == 1000) {
|
||||||
for (key in capResult.obj) {
|
for (key in capResult.obj) {
|
||||||
if (key == "sdate" || key == "edate") {
|
if (key == "sdate" || key == "edate" || key == "payoktime" || key == "estart") {
|
||||||
capResult.obj[key] = jsonDateToString(capResult.obj[key]);
|
capResult.obj[key] = moment(capResult.obj[key]).format('YYYY-MM-DD');
|
||||||
} else if (key == "userpno") {
|
} else if (key == "userpno") {
|
||||||
capResult.obj[key] = capResult.obj[key].substr(0, 6) + "-" + capResult.obj[key].substr(6);
|
capResult.obj[key] = capResult.obj[key].substr(0, 6) + "-" + capResult.obj[key].substr(6);
|
||||||
} else if (key == "payamt") {
|
} else if (key == "payamt") {
|
||||||
|
|
@ -422,6 +441,13 @@
|
||||||
$("#completion_" + key).val(capResult.obj[key]);
|
$("#completion_" + key).val(capResult.obj[key]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (capResult.obj.cshape == 2) {
|
||||||
|
$("#trcshape1").hide();
|
||||||
|
$("#trcshape2").show();
|
||||||
|
} else {
|
||||||
|
$("#trcshape1").show();
|
||||||
|
$("#trcshape2").hide();
|
||||||
|
}
|
||||||
bglayer(); $("#completionbox").slideDown("fast");
|
bglayer(); $("#completionbox").slideDown("fast");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1522,13 +1522,10 @@
|
||||||
select a.*
|
select a.*
|
||||||
from (
|
from (
|
||||||
select
|
select
|
||||||
l.lectno,l.iscomplete,l.completetime,l.completeno
|
l.lectno,l.iscomplete,l.completetime,l.completeno,l.cmisno,l.sdate,l.edate,l.cmno
|
||||||
,case when cm.cshape = 1 then l.sdate
|
|
||||||
else p.payoktime end sdate
|
|
||||||
,case when cm.cshape = 1 then l.edate
|
|
||||||
else cmi.estart end edate
|
|
||||||
,l.cdt,l.cno,pp.udt,l.uno,l.uip
|
,l.cdt,l.cno,pp.udt,l.uno,l.uip
|
||||||
,cm.cgno,cm.studytime,cm.cshape,cm.cname,cm.studyplace
|
,cm.cgno,cm.studytime,cm.cshape,cm.cname,cm.studyplace
|
||||||
|
,cmi.estart
|
||||||
,t.tyear
|
,t.tyear
|
||||||
,cg.cgname,cg.pcgno
|
,cg.cgname,cg.pcgno
|
||||||
,pcg.cgname as pcgname
|
,pcg.cgname as pcgname
|
||||||
|
|
@ -1538,7 +1535,7 @@
|
||||||
,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) as email
|
,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) as email
|
||||||
,pi.tbankuser as rbankuser,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
|
,CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) as rbankaccnum
|
||||||
,p.payamt
|
,p.payamt,p.payoktime
|
||||||
,pp.pplno,pp.typeman,pp.typeedu,pp.typegrade,pp.typejob
|
,pp.pplno,pp.typeman,pp.typeedu,pp.typegrade,pp.typejob
|
||||||
,pp.asname,pp.post,pp.address1,pp.address2,pp.brno,pp.eino,pp.btype,pp.bkind,pp.ceoname,pp.mname,pp.association
|
,pp.asname,pp.post,pp.address1,pp.address2,pp.brno,pp.eino,pp.btype,pp.bkind,pp.ceoname,pp.mname,pp.association
|
||||||
,CAST(AES_DECRYPT(UNHEX(pp.mphone), <include refid="sql.digest"></include>) AS char) as mphone
|
,CAST(AES_DECRYPT(UNHEX(pp.mphone), <include refid="sql.digest"></include>) AS char) as mphone
|
||||||
|
|
@ -1555,7 +1552,7 @@
|
||||||
left outer join pay p on p.payno = l.payno
|
left outer join pay p on p.payno = l.payno
|
||||||
left outer join payitem pi on pi.payno = p.payno
|
left outer join payitem pi on pi.payno = p.payno
|
||||||
left outer join pplog pp on pp.pplno = p.pplno
|
left outer join pplog pp on pp.pplno = p.pplno
|
||||||
left outer join cminningscd cmi on cmi.cmisno = pp.cmisno
|
left outer join cminningscd cmi on cmi.cmisno = l.cmisno
|
||||||
where l.iscomplete = 1
|
where l.iscomplete = 1
|
||||||
<isNotNull property="lectno" prepend="and">l.lectno = #lectno#</isNotNull>
|
<isNotNull property="lectno" prepend="and">l.lectno = #lectno#</isNotNull>
|
||||||
<isNotNull property="scompletetime" prepend="and">l.completetime >= #scompletetime#</isNotNull>
|
<isNotNull property="scompletetime" prepend="and">l.completetime >= #scompletetime#</isNotNull>
|
||||||
|
|
@ -1600,6 +1597,7 @@
|
||||||
update lect
|
update lect
|
||||||
set <include refid="sql.up"></include>
|
set <include refid="sql.up"></include>
|
||||||
<isNotNull property="iscomplete" compareValue="0" >,iscomplete=#iscomplete#,completetime=null</isNotNull>
|
<isNotNull property="iscomplete" compareValue="0" >,iscomplete=#iscomplete#,completetime=null</isNotNull>
|
||||||
|
<isNotNull property="cmisno">,cmisno=#cmisno#</isNotNull>
|
||||||
<isNotNull property="sdate">,sdate=#sdate#</isNotNull>
|
<isNotNull property="sdate">,sdate=#sdate#</isNotNull>
|
||||||
<isNotNull property="edate">,edate=#edate#</isNotNull>
|
<isNotNull property="edate">,edate=#edate#</isNotNull>
|
||||||
where lectno=#lectno# and userno=#userno#;
|
where lectno=#lectno# and userno=#userno#;
|
||||||
|
|
|
||||||
30
Model/CM.cs
30
Model/CM.cs
|
|
@ -3836,5 +3836,35 @@ namespace NP.Model
|
||||||
return payno > 0 ? "pr" + payno : null;
|
return payno > 0 ? "pr" + payno : null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 결제일 : pay.payoktime
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? payoktime { get; set; }
|
||||||
|
public String payoktimeymd
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return payoktime != null ? payoktime.Value.ToString("yyyy-MM-dd") : null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 혼합교육강좌 일정 교육시작일 : cminningscd.estart
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? estart { get; set; }
|
||||||
|
public String estartymd
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return estart != null ? estart.Value.ToString("yyyy-MM-dd") : null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 혼합교육강좌 일정키 : cminningscd.cmisno
|
||||||
|
/// </summary>
|
||||||
|
public Int64? cmisno { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 강좌/과정키, 패키지강좌의 강좌키
|
||||||
|
/// </summary>
|
||||||
|
public int cmno { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue