This commit is contained in:
parent
fc371278f3
commit
858bbc1ed1
|
|
@ -383,10 +383,12 @@ namespace NP.Base.Controllers
|
|||
[HttpPost]
|
||||
public JsonResult GetScdForMixEdu(int cmno, int? month)
|
||||
{
|
||||
var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu", new System.Collections.Hashtable() { { "cmno", cmno }, { "month", (month == null) ? DateTime.Now.Year : month } });
|
||||
var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu", new System.Collections.Hashtable() { { "cmno", cmno }, { "month", (month == null) ? null : month } });
|
||||
foreach (var item in result)
|
||||
{
|
||||
item.scdInfoSummary = string.Format("[{0}] {1}", item.studyplacename, item.estart.ToString("yyyy년 MM월 dd일 ddd요일 HH:mm"));
|
||||
if (item.estart < DateTime.Now)
|
||||
item.isEnd = true;
|
||||
}
|
||||
|
||||
return JsonBack(result);
|
||||
|
|
@ -399,6 +401,21 @@ namespace NP.Base.Controllers
|
|||
return JsonBack(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public JsonResult UpdateScd(int cmisno, int lectno)
|
||||
{
|
||||
var pass = Dao.Get<int>("cm.cminningscdcheck", new System.Collections.Hashtable() { { "cmisno", cmisno }}).First();
|
||||
if (pass == 0)
|
||||
return JsonBack(new JsonRtn() { code = 0, msg = "해당 일정은 마감되었습니다." });
|
||||
else if(pass > 0)
|
||||
{
|
||||
Dao.Save("cm.lectcmisno.up" , new System.Collections.Hashtable() { { "cmisno", cmisno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = "일정을 변경하였습니다." });
|
||||
}
|
||||
return JsonBack(new JsonRtn() { code = -1, msg = "개발자에게 문의하세요." });
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1788,24 +1788,27 @@
|
|||
<isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull>
|
||||
</select>
|
||||
<select id="cm.cminningscds.applyedu" parameterClass="hashtable" resultClass="cminningscd">
|
||||
select *
|
||||
from(
|
||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
||||
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)) remainPeople
|
||||
,e.ccode, e.cname studyplacename
|
||||
from cminningscd a
|
||||
left outer join cminning c on c.cmino = a.cmino
|
||||
left outer join cm d on d.cmno = c.cmno
|
||||
left outer join comcode e on e.ccode = d.studyplace
|
||||
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cmno" prepend="and">c.cmno=#cmno#</isNotNull>
|
||||
</dynamic>
|
||||
) a
|
||||
select
|
||||
a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.ccode,a.studyplacename,a.startmonth
|
||||
,a.ccode, a.studyplacename,a.remainPeople
|
||||
,case when a.estart < now() or a.remainPeople <= 0 then 0 else 1 end isend
|
||||
from
|
||||
(
|
||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
||||
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)) remainPeople
|
||||
,e.ccode, e.cname studyplacename
|
||||
from cminningscd a
|
||||
left outer join cminning c on c.cmino = a.cmino
|
||||
left outer join cm d on d.cmno = c.cmno
|
||||
left outer join comcode e on e.ccode = d.studyplace
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cmno" prepend="and">c.cmno=#cmno#</isNotNull>
|
||||
</dynamic>
|
||||
)a
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="month" prepend="and">a.startmonth=#month#</isNotNull>
|
||||
</dynamic>
|
||||
order by a.estart desc
|
||||
order by isend desc,a.estart
|
||||
</select>
|
||||
<select id="cm.user.applyedu" parameterClass="hashtable" resultClass="users">
|
||||
select
|
||||
|
|
@ -1888,5 +1891,16 @@
|
|||
where a.userno = #userno#
|
||||
and b.cmno = #cmno# and b.iscomplete = 1
|
||||
</select>
|
||||
<select id="cm.cminningscdcheck" parameterClass="hashtable" resultClass="int">
|
||||
select
|
||||
a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)
|
||||
from cminningscd a
|
||||
where a.cmisno = #cmisno#
|
||||
</select>
|
||||
<update id="cm.lectcmisno.up" parameterClass="hashtable">
|
||||
update lect set <include refid="sql.up"></include>
|
||||
,cmisno =case when #cmisno# is not null then #cmisno# else cmisno end
|
||||
where lectno=#lectno#
|
||||
</update>
|
||||
</statements>
|
||||
</sqlMap>
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
,cg.cgname
|
||||
,pcg.cgcode pcgcode
|
||||
,c.tyear,c.tseq
|
||||
,u.username
|
||||
,u.username,u.uduty
|
||||
,case when uc.cname = '기타' then u.ccpositionetc else uc.cname end ccpositionname
|
||||
,ua.asname
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt desc</isNull>) rno
|
||||
|
|
|
|||
|
|
@ -337,29 +337,28 @@
|
|||
function renderScd() {
|
||||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
var cnt = 0;
|
||||
var seq = 0;
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.remainPeople <= 0)
|
||||
if (d.isEnd == true)
|
||||
{
|
||||
if (cnt == 0) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "<label style='color: red'> (종료)</label>");
|
||||
}
|
||||
else {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "<label style='color: red'> (종료)</label>");
|
||||
}
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label>");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cnt == 0) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label>");
|
||||
if (d.remainPeople <= 0) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label>");
|
||||
}
|
||||
else
|
||||
{
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label>");
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label>");
|
||||
}
|
||||
else {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
cnt++;
|
||||
seq++;
|
||||
ulScd.append(li);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,12 +61,12 @@
|
|||
}
|
||||
</dl>
|
||||
</a>
|
||||
@if (d.cshape == 2 && d.estart > Convert.ToDateTime("1900-01-01") && d.eend > Convert.ToDateTime("1900-01-01"))
|
||||
@if (d.cshape == 2 && d.estart > Convert.ToDateTime("1900-01-01") && d.eend > Convert.ToDateTime("1900-01-01") && d.iscomplete != 1 && Convert.ToDateTime(d.estart) > DateTime.Now)
|
||||
{
|
||||
<dl class="ltaDl" style="display:inline">
|
||||
<dd>
|
||||
|
||||
<input type="button" value="집체교육변경" />
|
||||
<input type="button" value="집체교육변경" onclick="javscript:openScd(@d.cmno,@d.lectno);" />
|
||||
</dd>
|
||||
</dl>
|
||||
}
|
||||
|
|
@ -146,18 +146,19 @@
|
|||
@Html.HiddenFor(m => m.intval)
|
||||
@Html.HiddenFor(m => m.stringval)
|
||||
</form>
|
||||
<div class="mpgPop" style="display: none" id="pop1">
|
||||
|
||||
<div class="mpgPop" style="display: none" id="popScd">
|
||||
<div>
|
||||
<div>
|
||||
<div class="mpgPopWrap">
|
||||
<div class="mpgPopTitle">
|
||||
<h5>QR코드</h5>
|
||||
<h5>교육일정선택</h5>
|
||||
<a href="javascript:mpgPopClose();"></a>
|
||||
</div>
|
||||
<div class="mpgPopCont">
|
||||
<img id="qrcode" src="../img/mypage/lecture_attend_qrcode.jpg" alt="" />
|
||||
<ul id="ulScd"></ul>
|
||||
<ul class="mpgPopBtn">
|
||||
<li><a href="#" class="bk" onclick="getqr()">저장</a></li>
|
||||
<li><a href="#" class="bk" onclick="selectScd()">선택완료</a></li>
|
||||
<li><a href="#" onclick="mpgPopClose()">취소</a></li>
|
||||
</ul>
|
||||
</div><!-- clsPopCont -->
|
||||
|
|
@ -169,59 +170,103 @@
|
|||
|
||||
}
|
||||
@section scripts{
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$(".lctQr > span").click(function () {
|
||||
$(".lctQr > span").removeClass("current");
|
||||
$(this).addClass("current");
|
||||
var id = $(this).attr("id");
|
||||
if (id == "lblAll") { $("#stringval").val(null) }
|
||||
if (id == "lblOff") { $("#stringval").val("1") }
|
||||
if (id == "lblMix") { $("#stringval").val("2") }
|
||||
if (id == "lblOn") { $("#stringval").val("0") }
|
||||
submit();
|
||||
});
|
||||
$("#lctQrChk").on("change", function () {
|
||||
setv("intval", 0);
|
||||
if ($(this).prop("checked")) {
|
||||
setv("intval", 1);
|
||||
}
|
||||
submit();
|
||||
});
|
||||
$('.ltaOpen').click(function () {
|
||||
var atdNum = $(this).attr('ltaOpen');
|
||||
if ($(this).is('.on')) {
|
||||
$("tr.payno" + $(this).attr("data-payno")).removeClass("on");
|
||||
$(this).removeClass('on');
|
||||
} else {
|
||||
$("tr.payno" + $(this).attr("data-payno")).addClass("on");
|
||||
$(this).addClass('on');
|
||||
}
|
||||
});
|
||||
<script>
|
||||
var vLectno;
|
||||
$(document).ready(function () {
|
||||
$(".lctQr > span").click(function () {
|
||||
$(".lctQr > span").removeClass("current");
|
||||
$(this).addClass("current");
|
||||
var id = $(this).attr("id");
|
||||
if (id == "lblAll") { $("#stringval").val(null) }
|
||||
if (id == "lblOff") { $("#stringval").val("1") }
|
||||
if (id == "lblMix") { $("#stringval").val("2") }
|
||||
if (id == "lblOn") { $("#stringval").val("0") }
|
||||
submit();
|
||||
});
|
||||
function qr() {
|
||||
capp("/fcommon/qrcode", {}, "cbqr");
|
||||
}
|
||||
function cbqr() {
|
||||
if (capResult.code == 1000) {
|
||||
$('html, body').addClass('lock');
|
||||
$("#qrcode").attr("src", capResult.obj);
|
||||
$("#pop1").show();
|
||||
$("#lctQrChk").on("change", function () {
|
||||
setv("intval", 0);
|
||||
if ($(this).prop("checked")) {
|
||||
setv("intval", 1);
|
||||
}
|
||||
}
|
||||
function getqr() {
|
||||
location.href = "/fcommon/QRCodeDown";
|
||||
}
|
||||
function pc(lectno,userno) {
|
||||
if (lectno < 1) {
|
||||
msg('본인의 수료증만 확인할 수 있습니다.');
|
||||
submit();
|
||||
});
|
||||
$('.ltaOpen').click(function () {
|
||||
var atdNum = $(this).attr('ltaOpen');
|
||||
if ($(this).is('.on')) {
|
||||
$("tr.payno" + $(this).attr("data-payno")).removeClass("on");
|
||||
$(this).removeClass('on');
|
||||
} else {
|
||||
window.open("/My/CertPrint?lectno=" + lectno+"&intval="+userno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
|
||||
$("tr.payno" + $(this).attr("data-payno")).addClass("on");
|
||||
$(this).addClass('on');
|
||||
}
|
||||
}
|
||||
function ps() {
|
||||
window.open("/My/CertSet");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
function pc(lectno,userno) {
|
||||
if (lectno < 1) {
|
||||
msg('본인의 수료증만 확인할 수 있습니다.');
|
||||
} else {
|
||||
window.open("/My/CertPrint?lectno=" + lectno+"&intval="+userno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
|
||||
}
|
||||
}
|
||||
function ps() {
|
||||
window.open("/My/CertSet");
|
||||
}
|
||||
function openScd(cmno, lectno) {
|
||||
vLectno = lectno
|
||||
$(".mpgPop").show();
|
||||
setScd(cmno);
|
||||
}
|
||||
function setScd(cmno) {
|
||||
capp("/focommon/GetScdForMixEdu", { cmno: cmno }, "renderScd");
|
||||
}
|
||||
function renderScd() {
|
||||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
var seq = 0;
|
||||
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.isEnd == true) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label>");
|
||||
}
|
||||
else {
|
||||
if (d.remainPeople <= 0) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label>");
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label>");
|
||||
}
|
||||
else {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
seq++;
|
||||
ulScd.append(li);
|
||||
});
|
||||
}
|
||||
|
||||
function selectScd() {
|
||||
if (confirm("일정을 변경하시겠습니까?")) {
|
||||
var cmisno = $("input:radio[name=rdoScds]:checked").val();
|
||||
var lectno = vLectno;
|
||||
if (cmisno == "" || cmisno == undefined || cmisno == null) {
|
||||
alert("선택한 일정이 없습니다.");
|
||||
return;
|
||||
}
|
||||
capp("/focommon/UpdateScd", { cmisno: cmisno, lectno: lectno }, "scdSave");
|
||||
}
|
||||
}
|
||||
function scdSave() {
|
||||
alert(capResult.msg);
|
||||
if (capResult.code == 1) {
|
||||
submit();
|
||||
}
|
||||
else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
{
|
||||
<li><span>소</span>속 : <b>@Model.Lect.asname</b></li>
|
||||
}
|
||||
<li><span>직</span>위 : <b>@(string.IsNullOrEmpty(Model.Lect.ccpositionname)?"-":Model.Lect.ccpositionname )</b></li>
|
||||
<li><span>직</span>위 : <b>@Model.Lect.uduty</b></li>
|
||||
<li><span>성</span>명 : <b>@Model.Lect.username</b></li>
|
||||
</ul>
|
||||
<h4>
|
||||
|
|
|
|||
19
Model/CM.cs
19
Model/CM.cs
|
|
@ -1036,8 +1036,18 @@ namespace NP.Model
|
|||
}
|
||||
}
|
||||
public int isacceptemail { get; set; }
|
||||
/// <summary>
|
||||
/// 교육일정시작일
|
||||
/// </summary>
|
||||
public DateTime estart { get; set; }
|
||||
/// <summary>
|
||||
/// 교육일정종료일
|
||||
/// </summary>
|
||||
public DateTime eend { get; set; }
|
||||
/// <summary>
|
||||
/// 직위
|
||||
/// </summary>
|
||||
public String uduty { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 자격검정시험
|
||||
|
|
@ -3275,6 +3285,15 @@ namespace NP.Model
|
|||
/// 내용요약
|
||||
/// </summary>
|
||||
public String scdInfoSummary { get; set; }
|
||||
/// <summary>
|
||||
/// 등록가능인원수
|
||||
/// </summary>
|
||||
public int remainPeople { get; set; }
|
||||
/// <summary>
|
||||
/// 교육일자종료여부
|
||||
/// </summary>
|
||||
public bool isEnd { get; set; }
|
||||
public int? termend { get; set; }
|
||||
public int? peopleend { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue