<기능개선>

1. PMS NO : 8022
2. (주요)작업내용 
(1) fo/bo 일괄커밋
This commit is contained in:
jity7777 2023-07-10 05:18:15 +00:00
parent 244a110a02
commit daa1270a05
20 changed files with 164 additions and 50 deletions

View File

@ -195,6 +195,7 @@
<Compile Include="App_Start\FilterConfig.cs" /> <Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" /> <Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="Controllers\AccountController.cs" /> <Compile Include="Controllers\AccountController.cs" />
<Compile Include="Controllers\BatchController.cs" />
<Compile Include="Controllers\BOBaseController.cs" /> <Compile Include="Controllers\BOBaseController.cs" />
<Compile Include="Controllers\croomController.cs" /> <Compile Include="Controllers\croomController.cs" />
<Compile Include="Controllers\dataController.cs" /> <Compile Include="Controllers\dataController.cs" />
@ -709,6 +710,7 @@
<ItemGroup> <ItemGroup>
<Folder Include="App_Data\" /> <Folder Include="App_Data\" />
<Folder Include="Models\" /> <Folder Include="Models\" />
<Folder Include="Views\Batch\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="fonts\glyphicons-halflings-regular.woff" /> <Content Include="fonts\glyphicons-halflings-regular.woff" />

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace NP.BO.Controllers
{
public class BatchController : NP.Base.BaseController
{
public ActionResult lectinninmove(String batchKey, bool isTest = true)
{
return Content("ok");
}
}
}

View File

@ -266,6 +266,13 @@ namespace NP.BO.Controllers
{ {
vm.CMInningscds = Dao.Get<CMinningscd>("cm.cminningscds", new System.Collections.Hashtable() { { "cmino", vm.CMInnings[0].cmino } }); vm.CMInningscds = Dao.Get<CMinningscd>("cm.cminningscds", new System.Collections.Hashtable() { { "cmino", vm.CMInnings[0].cmino } });
} }
if (vm.CMInningscds.Count() > 0)
{
long cmino = vm.CMInningscds.First().cmino;
vm.CMInningscds2 = Dao.Get<CMinningscd>("cm.cminningscds.attr2Check", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "cmino", cmino } });
}
vm.ComCodes = GetComCodes("studyplace"); vm.ComCodes = GetComCodes("studyplace");
vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }); vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } });
ViewBag.fronturl = GetConfig("fronturl"); ViewBag.fronturl = GetConfig("fronturl");

View File

@ -57,10 +57,10 @@
} }
else { else {
if (seq == 0) { if (seq == 0) {
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' data-date='" + d.estartShortDateString + "' data-scdInfoSummary='" + d.scdInfoSummary + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>"); li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' data-date='" + d.estartShortDateString + "' data-scdInfoSummary='" + d.scdInfoSummary + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음, " + d.intv1 + "명 출결완료)</label></label>");
} }
else { else {
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' data-date='" + d.estartShortDateString + "' data-scdInfoSummary='" + d.scdInfoSummary + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>"); li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' data-date='" + d.estartShortDateString + "' data-scdInfoSummary='" + d.scdInfoSummary + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음, " + d.intv1 + "명 출결완료)</label></label>");
} }
} }
} }
@ -111,8 +111,8 @@
$("#completion_estart").val(scdDate); $("#completion_estart").val(scdDate);
$("#bglayer2").hide(); $("#bglayer2").hide();
$("#scdbox").hide(); $("#scdbox").hide();
//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") };
var data = { value: $("input:radio[name=rdoScds]:checked").val(), text: scdInfoSummary, estart: scdDate }; var data = { value: $("input:radio[name=rdoScds]:checked").val(), text: scdInfoSummary, estart: scdDate };
bindCMScd(data); bindCMScd(data);
break; break;
default: default:

View File

@ -1,6 +1,7 @@
@model NP.Model.VMCM @model NP.Model.VMCM
@{ @{
int studyplaceseq = 0; int studyplaceseq = 0;
int tempInt = 0;
} }
<div style="@(Model.CM.cmno < 1 ? "display: none;":"")"> <div style="@(Model.CM.cmno < 1 ? "display: none;":"")">
<ul class="pagination pagination-md" style="margin: 0;"> <ul class="pagination pagination-md" style="margin: 0;">
@ -66,9 +67,16 @@
</table> </table>
</div> </div>
</section> </section>
@{
long cmino = 0;
if(Model.CMInningscds.Count() > 0)
{
cmino = Model.CMInningscds.First().cmino;
}
}
<div class="tar buttonbox"><a href="#" onclick="regscd(0,0,@(Model.CMInnings.Count() > 0 ? Model.CMInnings.FirstOrDefault().scdtype : -1));" class="btn btn-s-xs btn-info">일정등록</a></div> <div class="tar buttonbox"><a href="#" onclick="regscd(0,0,@(Model.CMInnings.Count() > 0 ? Model.CMInnings.FirstOrDefault().scdtype : -1));" class="btn btn-s-xs btn-info">일정등록</a></div>
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;"> <section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 교육일정등록<span class=""></span></strong></header> <header class="panel-heading"><strong><i class="fa fa-bars"></i> 교육일정등록 @(cmino)<span class=""></span></strong></header>
<div class="table-responsive" id="excel1"> <div class="table-responsive" id="excel1">
<table class="table table-striped b-t b-light"> <table class="table table-striped b-t b-light">
<thead> <thead>
@ -78,7 +86,7 @@
<th width="80">교육장소</th> <th width="80">교육장소</th>
<th>교육종료일</th> <th>교육종료일</th>
<th>제한인원</th> <th>제한인원</th>
<th>등록인원(완료/대기)</th> <th>등록인원(완료/대기/출결완료)</th>
<th>최근수정일</th> <th>최근수정일</th>
</tr> </tr>
</thead> </thead>
@ -87,13 +95,14 @@
{ {
foreach (var item in Model.CMInningscds) foreach (var item in Model.CMInningscds)
{ {
tempInt = Model.CMInningscds2.Where(c => c.cmino == item.cmino && c.cmisno == item.cmisno && c.intv1 == 2).Count();
<tr> <tr>
<td>@item.scdseq</td> <td>@item.scdseq</td>
<td>@item.sseq</td> <td>@item.sseq</td>
<td>@item.studyplacename</td> <td>@item.studyplacename</td>
<td class="link"><a href="#" onclick="regscd(@item.cmino, @item.cmisno)">@item.estart ~ @item.eend</a></td> <td class="link"><a href="#" onclick="regscd(@item.cmino, @item.cmisno)">@item.estart ~ @item.eend</a></td>
<td>@item.quotastr</td> <td>@item.quotastr</td>
<td>@item.regmem / @item.zstring0</td> <td>@item.regmem / @item.zstring0 / @tempInt</td>
<td>@item.udt</td> <td>@item.udt</td>
</tr> </tr>
} }

View File

@ -125,7 +125,7 @@
</section> </section>
</form> </form>
@Html.Partial("./Partial/ExcelCommentBox") @Html.Partial("./Partial/ExcelCommentBox")
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;"> <div id="scdbox" class="findbox draggable regbox" style="width: 500px; z-index: 1041; top: 60px; 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> <h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
<ul id="ulScd"></ul> <ul id="ulScd"></ul>
<div class="findboxbtnbox" id="btnsavelect"> <div class="findboxbtnbox" id="btnsavelect">

View File

@ -252,7 +252,7 @@
<br /><br /> <br /><br />
</div> </div>
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;"> <div id="scdbox" class="findbox draggable regbox" style="width: 500px; z-index: 1041; top: 60px; 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> <h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
<ul id="ulScd"></ul> <ul id="ulScd"></ul>
<div class="findboxbtnbox" id="btnsavelect"> <div class="findboxbtnbox" id="btnsavelect">

View File

@ -404,7 +404,7 @@
<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>
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 2001; top: 100px;left:300px; overflow: auto;"> <div id="scdbox" class="findbox draggable regbox" style="width: 500px; z-index: 2001; top: 100px;left:300px; overflow: auto;">
<h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox2">닫기</a></h4> <h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox2">닫기</a></h4>
<ul id="ulScd"></ul> <ul id="ulScd"></ul>
<div class="findboxbtnbox" id="btnsavelect"> <div class="findboxbtnbox" id="btnsavelect">

View File

@ -209,7 +209,7 @@
</div> </div>
<br /><br /> <br /><br />
</div> </div>
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;"> <div id="scdbox" class="findbox draggable regbox" style="width: 500px; z-index: 1041; top: 60px; 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> <h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
<ul id="ulScd"></ul> <ul id="ulScd"></ul>
<div class="findboxbtnbox" id="btnsavelect"> <div class="findboxbtnbox" id="btnsavelect">

View File

@ -137,7 +137,7 @@
</section> </section>
</form> </form>
@Html.Partial("./Partial/ExcelCommentBox") @Html.Partial("./Partial/ExcelCommentBox")
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;"> <div id="scdbox" class="findbox draggable regbox" style="width: 500px; z-index: 1041; top: 60px; 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> <h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
<ul id="ulScd"></ul> <ul id="ulScd"></ul>
<div class="findboxbtnbox" id="btnsavelect"> <div class="findboxbtnbox" id="btnsavelect">

View File

@ -448,7 +448,7 @@
<br /><br /> <br /><br />
<input type="hidden" id="hidpplno" /> <input type="hidden" id="hidpplno" />
</div> </div>
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;"> <div id="scdbox" class="findbox draggable regbox" style="width: 500px; z-index: 1041; top: 60px; 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> <h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
<ul id="ulScd"></ul> <ul id="ulScd"></ul>
<div class="findboxbtnbox" id="btnsavelect"> <div class="findboxbtnbox" id="btnsavelect">

View File

@ -423,7 +423,7 @@
<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>
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;"> <div id="scdbox" class="findbox draggable regbox" style="width: 500px; z-index: 1041; top: 60px; 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> <h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
<ul id="ulScd"></ul> <ul id="ulScd"></ul>
<div class="findboxbtnbox" id="btnsavelect"> <div class="findboxbtnbox" id="btnsavelect">

View File

@ -513,7 +513,6 @@ namespace NP.Base.Controllers
var cancelcount = 0; var cancelcount = 0;
foreach (var lect in lects) foreach (var lect in lects)
{ {
// #수료확인 #xodus 작업범위아님
var ispass = Dao.Get<Lect>("grade.ispass", new Hashtable() { { "lectno", lect.lectno } }).FirstOrDefault().ispass; var ispass = Dao.Get<Lect>("grade.ispass", new Hashtable() { { "lectno", lect.lectno } }).FirstOrDefault().ispass;
if (ispass == 1) if (ispass == 1)
{ {
@ -1818,11 +1817,26 @@ namespace NP.Base.Controllers
{ {
var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu.admin" + (scdallCheck > 0 ? "2" : ""), new System.Collections.Hashtable() { { "cmno", cmno } }); var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu.admin" + (scdallCheck > 0 ? "2" : ""), new System.Collections.Hashtable() { { "cmno", cmno } });
//var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu.admin", new System.Collections.Hashtable() { { "cmno", cmno } }); //var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu.admin", new System.Collections.Hashtable() { { "cmno", cmno } });
IList<CMinningscd> result2 = new List<CMinningscd>();
if (result.Count() > 0)
{
long cmino = result.First().cmino;
result2 = Dao.Get<CMinningscd>("cm.cminningscds.attr2Check", new System.Collections.Hashtable() { { "cmno", cmno }, { "cmino", cmino } });
}
foreach (var item in result) foreach (var item in result)
{ {
item.scdInfoSummary = string.Format("[{0}] {1}", item.studyplacename, item.estart.ToString("yyyy년 MM월 dd일 ddd요일 HH:mm")); item.scdInfoSummary = string.Format("[{0}] {1}", item.studyplacename, item.estart.ToString("yyyy년 MM월 dd일 ddd요일 HH:mm"));
if (item.estart < DateTime.Now) if (item.estart < DateTime.Now)
item.isEnd = true; item.isEnd = true;
if(result2.Count() > 0)
{
item.intv1 = result2.Where(c => c.cmino == item.cmino && c.cmisno == item.cmisno && c.intv1 == 2).Count();
item.remainPeople += item.intv1;
}
} }
if (iscmlects == 1) if (iscmlects == 1)

View File

@ -538,9 +538,17 @@ namespace NP.Base.Controllers
hsData.Add("studyplace", studyPlace); hsData.Add("studyplace", studyPlace);
var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu" + (lectno != null ? ".lectno" : ""), hsData); var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu" + (lectno != null ? ".lectno" : ""), hsData);
IList<CMinningscd> result2 = new List<CMinningscd>();
if (result.Count() > 0)
{
long cmino = result.First().cmino;
result2 = Dao.Get<CMinningscd>("cm.cminningscds.attr2Check", new System.Collections.Hashtable() { { "cmno", cmno }, { "cmino", cmino } });
}
hsData.Clear(); hsData.Clear();
hsData.Add("cmno", cmno); hsData.Add("cmno", cmno);
var resultTmp = Dao.Get<CM>("cm.cms", hsData).FirstOrDefault(); var resultTmp = Dao.Get<CM>("cm.cms", hsData).FirstOrDefault();
//var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu"+(lectno != null ? ".lectno" : ""), new System.Collections.Hashtable() { { "cmno", cmno },{"lectno",lectno }, { "month", (month == null) ? null : month } }); //var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu"+(lectno != null ? ".lectno" : ""), new System.Collections.Hashtable() { { "cmno", cmno },{"lectno",lectno }, { "month", (month == null) ? null : month } });
DateTime now = DateTime.Now; DateTime now = DateTime.Now;
result = result.Where(c => c.estart > now.AddYears(-1) && c.estart < now.AddYears(1)).ToList(); result = result.Where(c => c.estart > now.AddYears(-1) && c.estart < now.AddYears(1)).ToList();
@ -560,6 +568,12 @@ namespace NP.Base.Controllers
if (item.estart < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"))) if (item.estart < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")))
item.isEnd = true; item.isEnd = true;
if (result2.Count() > 0)
{
item.intv1 = result2.Where(c => c.cmino == item.cmino && c.cmisno == item.cmisno && c.intv1 == 2).Count();
item.remainPeople += item.intv1;
}
} }
return JsonBack(result); return JsonBack(result);
@ -659,9 +673,17 @@ where t1.status = 1 and t4.pstatus= 1
/// <param name="cmisno"></param> /// <param name="cmisno"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public JsonResult CheckQtyScd(int cmisno) public JsonResult CheckQtyScd(int cmno, int cmino, int cmisno)
{ {
var pass = Dao.Get<int>("cm.cminningscdcheck", new System.Collections.Hashtable() { { "cmisno", cmisno }}).First(); var pass = Dao.Get<int>("cm.cminningscdcheck", new System.Collections.Hashtable() { { "cmisno", cmisno }}).First();
IList<CMinningscd> result2 = Dao.Get<CMinningscd>("cm.cminningscds.attr2Check", new System.Collections.Hashtable() { { "cmno", cmno }, { "cmino", cmino }, { "cmisno", cmisno } });
if(result2.Count() > 0)
{
int addPass = result2.Where(c => c.intv1 == 2).Count();
pass += addPass;
}
if (pass == 0) if (pass == 0)
{ {
return JsonBack(new JsonRtn() { code = 0, msg = "해당 일정은 모집 인원이 마감되었습니다." }); return JsonBack(new JsonRtn() { code = 0, msg = "해당 일정은 모집 인원이 마감되었습니다." });
@ -681,9 +703,21 @@ where t1.status = 1 and t4.pstatus= 1
/// <param name="lectno"></param> /// <param name="lectno"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public JsonResult UpdateScd(int cmisno, int lectno) public JsonResult UpdateScd(int cmno, int cmino, int cmisno, int lectno)
{ {
var pass = Dao.Get<int>("cm.cminningscdcheck", new System.Collections.Hashtable() { { "cmisno", cmisno } }).First(); var pass = Dao.Get<int>("cm.cminningscdcheck", new System.Collections.Hashtable() { { "cmisno", cmisno } }).First();
IList<CMinningscd> result2 = new List<CMinningscd>();
result2 = Dao.Get<CMinningscd>("cm.cminningscds.attr2Check", new System.Collections.Hashtable() { { "cmno", cmno }, { "cmino", cmino } });
if (result2.Count() > 0)
{
int tempInt = result2.Where(c => c.cmino == cmino && c.cmisno == cmisno && c.intv1 == 2).Count();
pass += tempInt;
}
if (pass == 0) if (pass == 0)
return JsonBack(new JsonRtn() { code = 0, msg = "해당 일정은 모집 인원이 마감되었습니다." }); return JsonBack(new JsonRtn() { code = 0, msg = "해당 일정은 모집 인원이 마감되었습니다." });
else if (pass > 0) else if (pass > 0)

View File

@ -1919,7 +1919,7 @@
and a.remainPeople &gt; 0--> and a.remainPeople &gt; 0-->
order by a.estart order by a.estart
</select> </select>
<select id="cm.cminningscds.applyedu.admin2" parameterClass="hashtable" resultClass="cminningscd"> <select id="cm.cminningscds.applyedu.admin2" parameterClass="hashtable" resultClass="cminningscd">
select a.* select a.*
from ( from (
@ -1951,6 +1951,17 @@
and a.remainPeople &gt; 0--> and a.remainPeople &gt; 0-->
order by a.estart order by a.estart
</select> </select>
<select id="cm.cminningscds.attr2Check" parameterClass="hashtable" resultClass="cminningscd">
SELECT l.cmno, l.lectno, istatus as intv1, li.cmino, l.cmisno
FROM lect l
INNER JOIN users u ON l.userno = u.userno AND u.status = 1
LEFT OUTER JOIN lectinning li ON li.lectno = l.lectno
WHERE l.status IN (1,2) AND l.ischanged=0 AND l.cmno = #cmno# AND cmino = #cmino# AND istatus IS NOT NULL
<isNotNull property="cmisno" prepend="and">l.cmisno=#cmisno#</isNotNull>
GROUP BY l.cmno, l.lectno, istatus, li.cmino, l.cmisno
</select>
<select id="cm.cminningscds.applyedu" parameterClass="hashtable" resultClass="cminningscd"> <select id="cm.cminningscds.applyedu" parameterClass="hashtable" resultClass="cminningscd">
select a.* select a.*
from ( from (
@ -2126,7 +2137,7 @@
</select> </select>
<select id="cm.cminningscdcheck" parameterClass="hashtable" resultClass="int"> <select id="cm.cminningscdcheck" parameterClass="hashtable" resultClass="int">
select select
a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0) a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status in (1,2) and z.ischanged=0)
from cminningscd a from cminningscd a
where a.cmisno = #cmisno# where a.cmisno = #cmisno#
</select> </select>

View File

@ -20,27 +20,27 @@
,a.sd1cnt,a.sd1lectcnt,a.sd1lectpoint,(a.sd1lectpoint / 100) * (case when b.isrebate=1 then d.discussrfd else d.discuss end / 100) * 100 dpoint ,a.sd1cnt,a.sd1lectcnt,a.sd1lectpoint,(a.sd1lectpoint / 100) * (case when b.isrebate=1 then d.discussrfd else d.discuss end / 100) * 100 dpoint
,a.rs0cnt,a.rs0lectcnt,a.rs0lectpoint ,a.rs0cnt,a.rs0lectcnt,a.rs0lectpoint
,case when case when b.isrebate=1 then d.attendcutrfd else d.attendcut end &lt;= b.attrate then 1 else 0 end ispassa ,(case when (case when b.isrebate=1 then d.attendcutrfd else d.attendcut end) &lt;= b.attrate then 1 else 0 end) ispassa
,case when case when b.isrebate=1 then d.midcutrfd else d.midcut end &lt;= a.ex0lectpoint then 1 else 0 end ispassm ,(case when (case when b.isrebate=1 then d.midcutrfd else d.midcut end) &lt;= a.ex0lectpoint then 1 else 0 end) ispassm
,case when case when b.isrebate=1 then d.finalcutrfd else d.finalcut end &lt;= a.ex1lectpoint then 1 else 0 end ispassf ,(case when (case when b.isrebate=1 then d.finalcutrfd else d.finalcut end) &lt;= a.ex1lectpoint then 1 else 0 end) ispassf
,case when case when b.isrebate=1 then d.subjectcutrfd else d.subjectcut end &lt;= a.sd0lectpoint then 1 else 0 end ispasss ,(case when (case when b.isrebate=1 then d.subjectcutrfd else d.subjectcut end) &lt;= a.sd0lectpoint then 1 else 0 end) ispasss
,case when case when b.isrebate=1 then d.discusscutrfd else d.discusscut end &lt;= a.sd1lectpoint then 1 else 0 end ispassd ,(case when (case when b.isrebate=1 then d.discusscutrfd else d.discusscut end) &lt;= a.sd1lectpoint then 1 else 0 end) ispassd
,case when case when ifnull(d.isoffabs,0)=1 then ifnull(a.at0cnt,0) else 0 end &lt;= ifnull(a.at0lectcnt,0) then 1 else 0 end ispassat ,(case when (case when ifnull(d.isoffabs,0)=1 then ifnull(a.at0cnt,0) else 0 end) &lt;= ifnull(a.at0lectcnt,0) then 1 else 0 end) ispassat
,case when ,(case when
case when case when ifnull(d.isoffabs,0)=1 then ifnull(a.at0cnt,0) else 0 end &lt;= ifnull(a.at0lectcnt,0) then 1 else 0 end = 1 and (case when (case when ifnull(d.isoffabs,0)=1 then ifnull(a.at0cnt,0) else 0 end) &lt;= ifnull(a.at0lectcnt,0) then 1 else 0 end) = 1 and
case when case when b.isrebate=1 then d.attendcutrfd else d.attendcut end &lt;= b.attrate then 1 else 0 end =1 and (case when (case when b.isrebate=1 then d.attendcutrfd else d.attendcut end) &lt;= b.attrate then 1 else 0 end) =1 and
case when case when b.isrebate=1 then d.midcutrfd else d.midcut end &lt;= a.ex0lectpoint then 1 else 0 end =1 and (case when (case when b.isrebate=1 then d.midcutrfd else d.midcut end) &lt;= a.ex0lectpoint then 1 else 0 end) =1 and
case when case when b.isrebate=1 then d.finalcutrfd else d.finalcut end &lt;= a.ex1lectpoint then 1 else 0 end =1 and (case when (case when b.isrebate=1 then d.finalcutrfd else d.finalcut end) &lt;= a.ex1lectpoint then 1 else 0 end) =1 and
case when case when b.isrebate=1 then d.subjectcutrfd else d.subjectcut end &lt;= a.sd0lectpoint then 1 else 0 end =1 and (case when (case when b.isrebate=1 then d.subjectcutrfd else d.subjectcut end) &lt;= a.sd0lectpoint then 1 else 0 end) =1 and
case when case when b.isrebate=1 then d.discusscutrfd else d.discusscut end &lt;= a.sd1lectpoint then 1 else 0 end =1 and (case when (case when b.isrebate=1 then d.discusscutrfd else d.discusscut end) &lt;= a.sd1lectpoint then 1 else 0 end) =1 and
case when case when b.isrebate=1 then d.cutrfd else d.cut end &lt;= (case when (case when b.isrebate=1 then d.cutrfd else d.cut end) &lt;=
((b.attrate / 100) * (case when b.isrebate=1 then d.attendrfd else d.attend end / 100 * 100)) ((b.attrate / 100) * ((case when b.isrebate=1 then d.attendrfd else d.attend end) / 100 * 100))
+((a.ex0lectpoint / 100) * (case when b.isrebate=1 then d.midrfd else d.mid end / 100)* 100) +((a.ex0lectpoint / 100) * ((case when b.isrebate=1 then d.midrfd else d.mid end) / 100)* 100)
+((a.ex1lectpoint / 100) * (case when b.isrebate=1 then d.finalrfd else d.final end / 100)* 100) +((a.ex1lectpoint / 100) * ((case when b.isrebate=1 then d.finalrfd else d.final end) / 100)* 100)
+((a.sd0lectpoint / 100) * (case when b.isrebate=1 then d.subjectrfd else d.subject end / 100)* 100) +((a.sd0lectpoint / 100) * ((case when b.isrebate=1 then d.subjectrfd else d.subject end) / 100)* 100)
+((a.sd1lectpoint / 100) * (case when b.isrebate=1 then d.discussrfd else d.discuss end / 100)* 100) then 1 else 0 end = 1 then 1 else 0 end ispass +((a.sd1lectpoint / 100) * ((case when b.isrebate=1 then d.discussrfd else d.discuss end) / 100)* 100) then 1 else 0 end) = 1 then 1 else 0 end) ispass
from ( from (
select a.lectno select a.lectno
,sum(ex0cnt) ex0cnt,sum(ex0lectcnt) ex0lectcnt,sum(ex0lectpoint) ex0lectpoint ,sum(ex0cnt) ex0cnt,sum(ex0lectcnt) ex0lectcnt,sum(ex0lectpoint) ex0lectpoint

View File

@ -256,7 +256,7 @@
</style> </style>
@Html.Partial("./Partial/ScriptDate") @Html.Partial("./Partial/ScriptDate")
} }
<script type="text/javascript"> <script type="text/javascript">
var model = {}; var model = {};
model.pplog = @Html.Raw(Json.Encode(new List<NP.Model.PPLog>() { ( Model.PPLog != null ? Model.PPLog : new NP.Model.PPLog {}) }.Select(s => new { s.asname, s.brno, s.ceoname, s.post, s.address1, s.address2, s.rbankacc, s.bkind, s.btype, s.taxemail}).First()));; model.pplog = @Html.Raw(Json.Encode(new List<NP.Model.PPLog>() { ( Model.PPLog != null ? Model.PPLog : new NP.Model.PPLog {}) }.Select(s => new { s.asname, s.brno, s.ceoname, s.post, s.address1, s.address2, s.rbankacc, s.bkind, s.btype, s.taxemail}).First()));;
@ -315,8 +315,10 @@
msg("계산서 발급 시 회사정보가 필요합니다. 뒤로가기를 클릭하여 회사정보를 입력해주세요."); msg("계산서 발급 시 회사정보가 필요합니다. 뒤로가기를 클릭하여 회사정보를 입력해주세요.");
} else if ($("#isbill").val() == 1 && $("#taxdatereq").val() == "") { } else if ($("#isbill").val() == 1 && $("#taxdatereq").val() == "") {
msg("계산서날짜를 입력해주세요."); msg("계산서날짜를 입력해주세요.");
}else { } else {
capp("/focommon/CheckQtyScd", { cmisno: $("#becmisno").val()}, "CheckQtyScdResult"); let cmno = $("#cmno").val();
let cmino = $("#becmino").val();
capp("/focommon/CheckQtyScd", { cmno: cmno, cmino: cmino, cmisno: $("#becmisno").val()}, "CheckQtyScdResult");
} }
} }
@ -346,7 +348,9 @@
} }
else { else {
if (capResult.obj.ptype == 6 || capResult.obj.ptype == 7) { if (capResult.obj.ptype == 6 || capResult.obj.ptype == 7) {
location.href = "@Model.viewname4?payno=" + capResult.obj.payno + "&absptype=" + capResult.obj.ptype; let url = "@Model.viewname4?payno=" + capResult.obj.payno + "&absptype=" + capResult.obj.ptype;
url += "&cmino=" + $("#becmino").val() + "&cmisno=" + $("#becmisno").val() + "&cmno=" + $("#cmno").val();
location.href = url;
return; return;
} }
else { else {
@ -386,4 +390,4 @@
return "N"; return "N";
} }
} }
</script> </script>

View File

@ -117,7 +117,9 @@
$('#layermessage') $('#layermessage')
msg("<sapn style='font-size: 15pt; text-align: left; margin:auto; display: inherit;'>■ 일정변경은 같은 교육과정에서만 가능합니다<br><br> - <span style='color:blue;'>일정변경 가능</span><br><br> 설계시공 최초 전문B교육 -> 설계시공 최초 전문B교육<br><br> - <span style='color:red;'>일정변경 불가</span><br><br> 설계시공 최초 전문B교육 -> 설계시공 최초 전문A교육 <br><br>■ 변경 할 일정이 <span style='color:red;'>접수마감</span> 인 경우 해당 일정으로 <span style='color:red;'>변경이 불가능 합니다.</span></span>"); msg("<sapn style='font-size: 15pt; text-align: left; margin:auto; display: inherit;'>■ 일정변경은 같은 교육과정에서만 가능합니다<br><br> - <span style='color:blue;'>일정변경 가능</span><br><br> 설계시공 최초 전문B교육 -> 설계시공 최초 전문B교육<br><br> - <span style='color:red;'>일정변경 불가</span><br><br> 설계시공 최초 전문B교육 -> 설계시공 최초 전문A교육 <br><br>■ 변경 할 일정이 <span style='color:red;'>접수마감</span> 인 경우 해당 일정으로 <span style='color:red;'>변경이 불가능 합니다.</span></span>");
} }
var vLectno; var vLectno;
var _cmno = 0;
var _cmino = 0;
function pc(lectno,userno) { function pc(lectno,userno) {
if (lectno < 1) { if (lectno < 1) {
@ -132,6 +134,7 @@
function openScd(cmno, lectno, cshape) { function openScd(cmno, lectno, cshape) {
vLectno = lectno vLectno = lectno
$(".mpgPop").show(); $(".mpgPop").show();
_cmno = cmno;
setScd(cmno, cshape); setScd(cmno, cshape);
} }
function setScd(cmno, cshape) { function setScd(cmno, cshape) {
@ -196,6 +199,10 @@
$.each(capResult.obj, function (i, d) { $.each(capResult.obj, function (i, d) {
var li = $("<li />"); var li = $("<li />");
if (d.cmisno == 12763) {
var kk = "13";
}
if (dateStyle == "style2") { if (dateStyle == "style2") {
d.scdInfoSummary = d.scdInfoSummary + "까지" d.scdInfoSummary = d.scdInfoSummary + "까지"
} }
@ -206,6 +213,9 @@
} }
var pData = $("<p />"); var pData = $("<p />");
_cmno = d.cmno;
_cmino = d.cmino;
//var aApplyClass = $("<a />", { "onclick": "javascript:applyClassEdu(" + d.cmno + ", " + d.pcmno + ", " + d.cmino + ", " + d.cmisno + ");" }); //var aApplyClass = $("<a />", { "onclick": "javascript:applyClassEdu(" + d.cmno + ", " + d.pcmno + ", " + d.cmino + ", " + d.cmisno + ");" });
/*var spanApplyClass = $("<span />", { "class": "smtlChkBtn smtlChk03", "style": "font-size:18px" });*/ /*var spanApplyClass = $("<span />", { "class": "smtlChkBtn smtlChk03", "style": "font-size:18px" });*/
/*var spanApplyClass = $("<span />", { "style": "font-size:18px" });*/ /*var spanApplyClass = $("<span />", { "style": "font-size:18px" });*/
@ -231,12 +241,12 @@
if (d.isselected == 1) { if (d.isselected == 1) {
//spanApplyClass.text("수강신청"); //spanApplyClass.text("수강신청");
//aApplyClass.append(spanApplyClass); //aApplyClass.append(spanApplyClass);
pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수중]&nbsp;&nbsp;&nbsp;&nbsp; </label>" + radioEduDay + " checked> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label></label>"); pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수중]&nbsp;&nbsp;&nbsp;&nbsp; </label>" + radioEduDay + " checked> " + d.scdInfoSummary + "<label style='color: red;display:;'> (" + d.remainPeople + "명 남음)</label></label>");
} }
else { else {
//spanApplyClass.text("수강신청"); //spanApplyClass.text("수강신청");
//aApplyClass.append(spanApplyClass); //aApplyClass.append(spanApplyClass);
pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수중] &nbsp;&nbsp;&nbsp;&nbsp;</label>" + radioEduDay + "'> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label> " + "</label>"); pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수중] &nbsp;&nbsp;&nbsp;&nbsp;</label>" + radioEduDay + "'> " + d.scdInfoSummary + "<label style='color: red;display:;'> (" + d.remainPeople + "명 남음)</label> " + "</label>");
//pData.append(aApplyClass); //pData.append(aApplyClass);
} }
} }
@ -263,6 +273,8 @@
ulScd.append(li); ulScd.append(li);
noDisPlay = false; noDisPlay = false;
notContentsCheck = true; notContentsCheck = true;
_cmino = 0;
_cmno = 0;
} }
li.append(pData); li.append(pData);
@ -275,6 +287,8 @@
li.append("<label> - 선택 가능한 교육종료일이 없습니다.</label>"); li.append("<label> - 선택 가능한 교육종료일이 없습니다.</label>");
ulScd.append(li); ulScd.append(li);
notContentsCheck = true; notContentsCheck = true;
_cmino = 0;
_cmno = 0;
} }
if (notContentsCheck) { if (notContentsCheck) {
@ -342,7 +356,7 @@
msg("선택한 일정이 없습니다."); msg("선택한 일정이 없습니다.");
return; return;
} }
capp("/focommon/UpdateScd", { cmisno: cmisno, lectno: lectno }, "scdSave"); capp("/focommon/UpdateScd", { cmisno: cmisno, lectno: lectno, cmno: _cmno, cmino: _cmino }, "scdSave");
} }
} }
function scdSave() { function scdSave() {

View File

@ -164,9 +164,9 @@ namespace NP.Model
//public String fgkey { get; set; } //public String fgkey { get; set; }
//public DateTime? date1 { get; set; } //public DateTime? date1 { get; set; }
//public DateTime? date2 { get; set; } //public DateTime? date2 { get; set; }
//public int intv1 { get; set; } public int intv1 { get; set; }
//public int intv2 { get; set; } public int intv2 { get; set; }
//public int intv3 { get; set; } public int intv3 { get; set; }
//public Int64? longv1 { get; set; } //public Int64? longv1 { get; set; }
//public Int64? longv2 { get; set; } //public Int64? longv2 { get; set; }
//public Int64? longv3 { get; set; } //public Int64? longv3 { get; set; }

View File

@ -22,6 +22,7 @@ namespace NP.Model
public IList<CMInning> CMInnings { get; set; } public IList<CMInning> CMInnings { get; set; }
public IList<Book> Books { get; set; } public IList<Book> Books { get; set; }
public IList<CMinningscd> CMInningscds { get; set; } public IList<CMinningscd> CMInningscds { get; set; }
public IList<CMinningscd> CMInningscds2 { get; set; }
public Book Book { get; set; } public Book Book { get; set; }
public CMEV CMEV { get; set; } public CMEV CMEV { get; set; }
public IList<EST> ESTs { get; set; } public IList<EST> ESTs { get; set; }