This commit is contained in:
hyunho 2021-01-08 02:27:03 +00:00
parent 60a78a4444
commit 974759cdcb
5 changed files with 61 additions and 5 deletions

View File

@ -161,11 +161,14 @@ namespace NP.BO.Controllers
} }
public ActionResult learns(VMMM vm) public ActionResult learns(VMMM vm)
{ {
vm.CGs = Dao.Get<CG>("cm.cgs", new System.Collections.Hashtable() { { "isuse", 1 }, { "isdel", 0 } });
vm.Terms = Dao.Get<Term>("cm.term.ys", new System.Collections.Hashtable() { }); vm.Terms = Dao.Get<Term>("cm.term.ys", new System.Collections.Hashtable() { });
vm.stringval = vm.stringval ?? DateTime.Now.Year.ToString(); vm.stringval = vm.stringval ?? DateTime.Now.Year.ToString();
if (vm.tabidx == 0) if (vm.tabidx == 0)
{ {
vm.Datas = Dao.Get<Data>("cm.data.lect.bycm", new System.Collections.Hashtable() { { "year" + vm.stringval2 == null ? "" : "x", vm.stringval }, { "tmno", vm.stringval2 } }); vm.Datas = Dao.Get<Data>("cm.data.lect.bycm", new System.Collections.Hashtable() {
{ "year" + vm.stringval2 == null ? "" : "x", vm.stringval }, { "tmno", vm.stringval2 }, { "cshape", vm.stringval3 }, { "pcgno", vm.stringval4 }, { "cgno", vm.stringval5 }
});
vm.Datas.Add(new Data() { dtype = 1, strval = "총계", intval = vm.Datas.Sum(s => s.intval), intval2 = vm.Datas.Sum(s => s.intval2), intval3 = vm.Datas.Sum(s => s.intval3), intval4 = vm.Datas.Sum(s => s.intval4), intval5 = vm.Datas.Sum(s => s.intval5), intval6 = vm.Datas.Sum(s => s.intval6), intval7 = vm.Datas.Sum(s => s.intval7), intval8 = vm.Datas.Sum(s => s.intval8), intval9 = vm.Datas.Sum(s => s.intval9), intval10 = vm.Datas.Sum(s => s.intval10) }); vm.Datas.Add(new Data() { dtype = 1, strval = "총계", intval = vm.Datas.Sum(s => s.intval), intval2 = vm.Datas.Sum(s => s.intval2), intval3 = vm.Datas.Sum(s => s.intval3), intval4 = vm.Datas.Sum(s => s.intval4), intval5 = vm.Datas.Sum(s => s.intval5), intval6 = vm.Datas.Sum(s => s.intval6), intval7 = vm.Datas.Sum(s => s.intval7), intval8 = vm.Datas.Sum(s => s.intval8), intval9 = vm.Datas.Sum(s => s.intval9), intval10 = vm.Datas.Sum(s => s.intval10) });
if (vm.isexceldown == 1) if (vm.isexceldown == 1)
{ {
@ -178,7 +181,9 @@ namespace NP.BO.Controllers
} }
else if (vm.tabidx == 1) else if (vm.tabidx == 1)
{ {
vm.Datas = Dao.Get<Data>("cm.data.lect.byc", new System.Collections.Hashtable() { { "year" + vm.stringval2 == null ? "" : "x", vm.stringval }, { "tmno", vm.stringval2 } }); vm.Datas = Dao.Get<Data>("cm.data.lect.byc", new System.Collections.Hashtable() {
{ "year" + vm.stringval2 == null ? "" : "x", vm.stringval }, { "tmno", vm.stringval2 }, { "cshape", vm.stringval3 }, { "pcgno", vm.stringval4 }, { "cgno", vm.stringval5 }
});
vm.Datas.Add(new Data() { dtype = 1, strval = "총계", intval = vm.Datas.Sum(s => s.intval), intval2 = vm.Datas.Sum(s => s.intval2), intval3 = vm.Datas.Sum(s => s.intval3), intval4 = vm.Datas.Sum(s => s.intval4), intval5 = vm.Datas.Sum(s => s.intval5), intval6 = vm.Datas.Sum(s => s.intval6), intval7 = vm.Datas.Sum(s => s.intval7), intval8 = vm.Datas.Sum(s => s.intval8), intval9 = vm.Datas.Sum(s => s.intval9), intval10 = vm.Datas.Sum(s => s.intval10) }); vm.Datas.Add(new Data() { dtype = 1, strval = "총계", intval = vm.Datas.Sum(s => s.intval), intval2 = vm.Datas.Sum(s => s.intval2), intval3 = vm.Datas.Sum(s => s.intval3), intval4 = vm.Datas.Sum(s => s.intval4), intval5 = vm.Datas.Sum(s => s.intval5), intval6 = vm.Datas.Sum(s => s.intval6), intval7 = vm.Datas.Sum(s => s.intval7), intval8 = vm.Datas.Sum(s => s.intval8), intval9 = vm.Datas.Sum(s => s.intval9), intval10 = vm.Datas.Sum(s => s.intval10) });
if (vm.isexceldown == 1) if (vm.isexceldown == 1)
{ {

View File

@ -20,6 +20,9 @@
<option value="@t.tmno" @(Model.stringval2 == t.tmno.ToString() ? "selected" : "")>@t.tseq 기</option> <option value="@t.tmno" @(Model.stringval2 == t.tmno.ToString() ? "selected" : "")>@t.tseq 기</option>
} }
</select> </select>
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "0:온라인;1:오프라인;2:혼합" }, { "name", "stringval3" }, { "selected", Model.stringval3 }, { "df", ":-유형선택" } })
@Html.Partial("./Partial/Select", Model.CGs.Where(w => w.pcgno == null), new ViewDataDictionary { { "name", "stringval4" }, { "selected", Model.stringval4 }, { "style", "width: 100%" }, { "df", ":-상위분류" } })
@*@Html.Partial("./Partial/Select", Model.CGs.Where(w => w.pcgno != null && w.pcgno.ToString() == Model.stringval4), new ViewDataDictionary { { "name", "stringval5" }, { "selected", Model.stringval5 }, { "style", "width: 100%;" }, { "df", ":-분류" } })*@
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search", OnClick = "" }) @Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search", OnClick = "" })
</div> </div>
</div> </div>
@ -85,6 +88,7 @@
</form> </form>
<script> <script>
var terms = '@(string.Join(";", Model.Terms.Select(s=>string.Format("{0}:{1}:{2}", s.tmno, s.tyear, s.tseq))))'; var terms = '@(string.Join(";", Model.Terms.Select(s=>string.Format("{0}:{1}:{2}", s.tmno, s.tyear, s.tseq))))';
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 () {
$("#year").on("change", function () { $("#year").on("change", function () {
$("#tmno option:gt(0)").remove(); $("#tmno option:gt(0)").remove();
@ -98,5 +102,21 @@
}); });
} }
}); });
$("#stringval4").on("change", function () {
bindcgno("stringval4", "stringval5");
});
}); });
var _bindcdnocid = "";
function bindcgno(id, cid) {
_bindcdnocid = cid;
$("#" + cid + " option:gt(0)").remove();
if ($("#" + id).val() != "") {
$.each(_cgs.split(';'), function (i, d) {
if (d.split(':')[0] == $("#" + id).val()) {
$("#" + _bindcdnocid).append("<option value=\"" + d.split(':')[1] + "\">" + d.split(':')[2] + "</option>");
}
});
}
}
</script> </script>

View File

@ -17,9 +17,12 @@
<option value="">-기수선택</option> <option value="">-기수선택</option>
@foreach (var t in Model.Terms.Where(w => w.tyear == DateTime.Now.Year)) @foreach (var t in Model.Terms.Where(w => w.tyear == DateTime.Now.Year))
{ {
<option value="@t.tmno" @(Model.stringval2 == t.tmno.ToString() ? "selected":"")>@t.tseq 기</option> <option value="@t.tmno" @(Model.stringval2 == t.tmno.ToString() ? "selected" : "")>@t.tseq 기</option>
} }
</select> </select>
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "0:온라인;1:오프라인;2:혼합" }, { "name", "stringval3" }, { "selected", Model.stringval3 }, { "df", ":-유형선택" } })
@Html.Partial("./Partial/Select", Model.CGs.Where(w => w.pcgno == null), new ViewDataDictionary { { "name", "stringval4" }, { "selected", Model.stringval4 }, { "style", "width: 100%" }, { "df", ":-상위분류" } })
@Html.Partial("./Partial/Select", Model.CGs.Where(w => w.pcgno != null && w.pcgno.ToString() == Model.stringval4), new ViewDataDictionary { { "name", "stringval5" }, { "selected", Model.stringval5 }, { "style", "width: 100%;" }, { "df", ":-과정분류" } })
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search", OnClick = "" }) @Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search", OnClick = "" })
</div> </div>
</div> </div>
@ -89,6 +92,7 @@
</form> </form>
<script> <script>
var terms = '@(string.Join(";", Model.Terms.Select(s=>string.Format("{0}:{1}:{2}", s.tmno, s.tyear, s.tseq))))'; var terms = '@(string.Join(";", Model.Terms.Select(s=>string.Format("{0}:{1}:{2}", s.tmno, s.tyear, s.tseq))))';
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 () {
$("#year").on("change", function () { $("#year").on("change", function () {
$("#tmno option:gt(0)").remove(); $("#tmno option:gt(0)").remove();
@ -102,5 +106,21 @@
}); });
} }
}); });
$("#stringval4").on("change", function () {
bindcgno("stringval4", "stringval5");
});
}); });
var _bindcdnocid = "";
function bindcgno(id, cid) {
_bindcdnocid = cid;
$("#" + cid + " option:gt(0)").remove();
if ($("#" + id).val() != "") {
$.each(_cgs.split(';'), function (i, d) {
if (d.split(':')[0] == $("#" + id).val()) {
$("#" + _bindcdnocid).append("<option value=\"" + d.split(':')[1] + "\">" + d.split(':')[2] + "</option>");
}
});
}
}
</script> </script>

View File

@ -881,7 +881,9 @@
order by g.cgname,g.cgno,f.cgname,f.cgno,e.cname,e.cmno order by g.cgname,g.cgno,f.cgname,f.cgno,e.cname,e.cmno
</select> </select>
<select id="cm.data.lect.bycm" parameterClass="hashtable" resultClass="data"> <select id="cm.data.lect.bycm" parameterClass="hashtable" resultClass="data">
select b3.cgno,b2.cgno,f.cmno select
b.cshape, case when b.cshape=0 then '온라인' when b.cshape=1 then '오프라인' else '혼합' end cshapename
,b3.cgno,b2.cgno,f.cmno
,b3.cgname strval,b2.cgname strval2,f.cname strval3 ,b3.cgname strval,b2.cgname strval2,f.cname strval3
,count(c.lectno) intval,sum(c.iscomplete) intval2 ,count(c.lectno) intval,sum(c.iscomplete) intval2
,sum(e.isjoin) intval3,sum(case when e.isjoin=1 and c.iscomplete=1 then 1 else 0 end) intval4 ,sum(e.isjoin) intval3,sum(case when e.isjoin=1 and c.iscomplete=1 then 1 else 0 end) intval4
@ -899,12 +901,17 @@
<dynamic prepend="where"> <dynamic prepend="where">
<isNotNull property="year" prepend="and">a.tyear=#year#</isNotNull> <isNotNull property="year" prepend="and">a.tyear=#year#</isNotNull>
<isNotNull property="tmno" prepend="and">a.tmno=#tmno#</isNotNull> <isNotNull property="tmno" prepend="and">a.tmno=#tmno#</isNotNull>
<isNotNull property="cshape" prepend="and">b.cshape=#cshape#</isNotNull>
<isNotNull property="pcgno" prepend="and">b3.cgno=#pcgno#</isNotNull>
<isNotNull property="cgno" prepend="and">b2.cgno=#cgno#</isNotNull>
</dynamic> </dynamic>
group by b3.cgno,b2.cgno,f.cmno,b3.cgname,b2.cgname,f.cname group by b3.cgno,b2.cgno,f.cmno,b3.cgname,b2.cgname,f.cname
order by b3.cgname,b3.cgno,b2.cgname,b2.cgno,f.cname,f.cmno order by b3.cgname,b3.cgno,b2.cgname,b2.cgno,f.cname,f.cmno
</select> </select>
<select id="cm.data.lect.byc" parameterClass="hashtable" resultClass="data"> <select id="cm.data.lect.byc" parameterClass="hashtable" resultClass="data">
select b3.cgno,b2.cgno,f.cmno,b.cmno select
b.cshape, case when b.cshape=0 then '온라인' when b.cshape=1 then '오프라인' else '혼합' end cshapename
,b3.cgno,b2.cgno,f.cmno,b.cmno
,b3.cgname strval,b2.cgname strval2,f.cname strval3,concat(b.cname,'(',b.classno,')') strval4,concat(date_format(b.sstime,'%y.%m.%d'),'~',date_format(b.setime,'%y.%m.%d')) strval5 ,b3.cgname strval,b2.cgname strval2,f.cname strval3,concat(b.cname,'(',b.classno,')') strval4,concat(date_format(b.sstime,'%y.%m.%d'),'~',date_format(b.setime,'%y.%m.%d')) strval5
,count(c.lectno) intval,sum(c.iscomplete) intval2 ,count(c.lectno) intval,sum(c.iscomplete) intval2
,sum(e.isjoin) intval3,sum(case when e.isjoin=1 and c.iscomplete=1 then 1 else 0 end) intval4 ,sum(e.isjoin) intval3,sum(case when e.isjoin=1 and c.iscomplete=1 then 1 else 0 end) intval4
@ -922,6 +929,9 @@
<dynamic prepend="where"> <dynamic prepend="where">
<isNotNull property="year" prepend="and">a.tyear=#year#</isNotNull> <isNotNull property="year" prepend="and">a.tyear=#year#</isNotNull>
<isNotNull property="tmno" prepend="and">a.tmno=#tmno#</isNotNull> <isNotNull property="tmno" prepend="and">a.tmno=#tmno#</isNotNull>
<isNotNull property="cshape" prepend="and">b.cshape=#cshape#</isNotNull>
<isNotNull property="pcgno" prepend="and">b3.cgno=#pcgno#</isNotNull>
<isNotNull property="cgno" prepend="and">b2.cgno=#cgno#</isNotNull>
</dynamic> </dynamic>
group by b3.cgno,b2.cgno,f.cmno,b3.cgname,b2.cgname,f.cname,b.cmno,b.cname,b.sstime,b.setime group by b3.cgno,b2.cgno,f.cmno,b3.cgname,b2.cgname,f.cname,b.cmno,b.cname,b.sstime,b.setime
order by b3.cgname,b3.cgno,b2.cgname,b2.cgno,f.cname,f.cmno,b.cname,b.cmno,b.classno order by b3.cgname,b3.cgno,b2.cgname,b2.cgno,f.cname,f.cmno,b.cname,b.cmno,b.classno

View File

@ -38,5 +38,6 @@ namespace NP.Model
public IList<AuthLog> AuthLogs { get; set; } public IList<AuthLog> AuthLogs { get; set; }
public IList<Term> Terms { get; set; } public IList<Term> Terms { get; set; }
public IList<CMCalc> CMCalcs { get; set; } public IList<CMCalc> CMCalcs { get; set; }
public IList<CG> CGs { get; set; }
} }
} }