<오류수정>

1. PMS NO : 
2. (주요)작업내용 
 - 기존 system.net.http.formatting.dll 잇슈 문제로
   지태연작업 프로젝트와 서인덕 작업 프로젝트 파일 매칭 작업을 진행함
This commit is contained in:
jity7777 2022-04-28 05:05:09 +00:00
parent da8571bdfb
commit b2b0a0483a
20 changed files with 3490 additions and 3291 deletions

View File

@ -44,14 +44,36 @@ namespace NP.BO.Controllers
}
return View(vm);
}
/*덕이 엑셀*/
public ActionResult exelboard()
{
return View();
}
/*덕이 엑셀기록*/
/*덕이...*/
/// <summary>
/// 엑셀로그
/// </summary>
/// <returns></returns>
public ActionResult exelboard(VMCM vm)
{
if (!IsPost())
{
vm.stringval5 = null;
vm.stringval6 = null;
}
var ht = SetHash(vm, false);
if (string.IsNullOrEmpty(vm.stringval))
{
vm.stringval = DateTime.Now.Year.ToString();
}
ht.Add("userid", vm.stringval4);
ht.Add("sstime", vm.stringval5);
ht.Add("setime", vm.stringval6);
ht.Add("isallday", "1");
/*Excellog excellog = new Excellog();*/
vm.excelloglook = Dao.Get<Excellog>("excellog.look", ht);
vm.pagetotalcount = GetCount(vm.excelloglook.FirstOrDefault());
return View(vm);
}
public ActionResult homesemployess(NP.Model.VMCC vm)
{
vm.Boards = InitM<Board>();
@ -86,7 +108,6 @@ namespace NP.BO.Controllers
}
return View(vm);
}
/*덕이꺼 끝*/
public ActionResult homes(NP.Model.VMCC vm)
{
vm.Boards = InitM<Board>();
@ -98,9 +119,9 @@ namespace NP.BO.Controllers
}
else
{
vm.Assigns = Dao.Get<Assign>("users.assigns", new System.Collections.Hashtable() { {"issite", 1 } });
vm.Assigns = Dao.Get<Assign>("users.assigns", new System.Collections.Hashtable() { { "issite", 1 } });
}
vm.BMs = Dao.Get<BoardMaster>("board.bms", new System.Collections.Hashtable() { { "asno", vm.stringval }, { "bmposition", 0 }, {"isdefaults", string.IsNullOrEmpty(vm.stringval) ? "0,2" : "3" } });
vm.BMs = Dao.Get<BoardMaster>("board.bms", new System.Collections.Hashtable() { { "asno", vm.stringval }, { "bmposition", 0 }, { "isdefaults", string.IsNullOrEmpty(vm.stringval) ? "0,2" : "3" } });
vm.BMOs = new List<BoardMasterOpening>() { };
if (!string.IsNullOrEmpty(vm.stringval2))
{
@ -115,23 +136,19 @@ namespace NP.BO.Controllers
if (vm.Boards.Count() > 0)
{
vm.Boards2 = Dao.Get<Board>("board.bcmt.cnt", new System.Collections.Hashtable() { { "bnos", string.Join(",", vm.Boards.Select(s => s.bno)) } });
foreach(var d in vm.Boards)
foreach (var d in vm.Boards)
{
d.ccount = vm.Boards2.Where(w => w.bno == d.bno).First().ccount;
}
}
return View(vm);
}
//이거 숙제라고 하셨사와용
/*public ActionResult cmmasters(NP.Model.VMCM vm)
{
vm.viewidx = 1;
vm.viewname = "cmmasterreg";
vm.listviewname = "cmmasters";
return homes(vm);
}*/
/*덕이 직원게시판 등록*/
/// <summary>
/// 외부 직원게시판
/// </summary>
/// <param name="vm"></param>
/// <returns></returns>
public ActionResult homer2(NP.Model.VMCC vm)
{
if (vm.Board != null && vm.Board.pbno != null)
@ -187,7 +204,7 @@ namespace NP.BO.Controllers
vm.SCUserName = SUserInfo.UserName;
return View(vm);
}
/*덕이 직원게시판 등록 끝*/
public ActionResult homer(NP.Model.VMCC vm)
{
if (vm.Board != null && vm.Board.pbno != null)
@ -264,7 +281,7 @@ namespace NP.BO.Controllers
}
else
{
vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "tmno", vm.stringval2 },{ "ismaster",0 } ,{ "orderby","d.cname,d.classno" } });
vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "tmno", vm.stringval2 }, { "ismaster", 0 }, { "orderby", "d.cname,d.classno" } });
}
}
vm.BMs = Dao.Get<BoardMaster>("board.bms", new System.Collections.Hashtable() { { "bmposition", 1 } });
@ -349,8 +366,8 @@ namespace NP.BO.Controllers
{
vm.Terms = Dao.Get<Term>("cm.term.ys", new System.Collections.Hashtable() { });
vm.Assigns = Dao.Get<Assign>("users.assigns", new System.Collections.Hashtable() { { "status", 1 } });
vm.userauths = Dao.Get<NP.Model.UserAuth>("sys.menu.auths", new System.Collections.Hashtable() { {"isall",1 } });
vm.EmailSend = new EmailSend() { };
vm.userauths = Dao.Get<NP.Model.UserAuth>("sys.menu.auths", new System.Collections.Hashtable() { { "isall", 1 } });
vm.EmailSend = new EmailSend() { };
return View(vm);
}
public ActionResult memos(NP.Model.VMCC vm)

View File

@ -179,11 +179,18 @@ namespace NP.BO.Controllers
if (vm.isexceldown == 1)
{
vm.Lects = Dao.Get<Lect>("lect.lects.att",ht);
if (vm.excellog != null)
{
vm.excellog.userno = SUserInfo.UserNo;
vm.excellog.userip = GetUserIP();
}
return ExportExcel(
new String[] { "고객사", "이름","직위", "교육생ID", "이메일", "전화번호", "휴대폰번호", "신청일", "수강상태", "결제상태" , "교육일", "기술인구분","직무분야","교육목적","등급"},
new String[] { "asname", "username", "uduty", "userid", "email", "telno", "mobile", "cdtymd", "statusname", "pstatusname", "estartstring", "typemanname", "typejobname", "typeeduname", "typegradename" },
vm.Lects,
"신청자명단");
"신청자명단", null, null, vm.excellog);
}
else
@ -721,6 +728,14 @@ namespace NP.BO.Controllers
{
ht.Add(vm.stringval6, vm.stringval7);
}
if (vm.excellog != null)
{
vm.excellog.userno = SUserInfo.UserNo;
vm.excellog.userip = GetUserIP();
}
switch (vm.tabidx)
{
case 0:
@ -744,7 +759,7 @@ namespace NP.BO.Controllers
,"payamt","isrebatename","rbankamt","rbank","rbankaccnum","rbankuser","taxemail","association"
,"pcgname","cgname","studyplacename","tyear", "iscompletename" },
vm.Lects,
"성적처리전체" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day,null,",2,4");
"성적처리전체" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day,null,",2,4", vm.excellog);
}
vm.pagetotalcount = GetCount(vm.Lects.FirstOrDefault());
break;
@ -760,7 +775,7 @@ namespace NP.BO.Controllers
new String[] { "No", "운영기수", "구분", "고객사", "교육장", "과정명", "시험명", "교육생", "ID", "핸드폰", "교육시작일", "교육종료일", "응시일자(제출일자)","경과시간", "IP", "응시상태", "총점", "수료여부" },
new String[] { "rno", "sseq", "isrebatename", "asname", "studyplacename", "cname", "exname", "username", "userid", "mobile", "leststr", "leestrExcel", "estarteend", "eseterm", "eip", "estatename", "tpoint", "iscompletename" },
vm.LectEXes,
"성적처리평가" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day);
"성적처리평가" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day, null, null, vm.excellog);
}
vm.pagetotalcount = GetCount(vm.LectEXes.FirstOrDefault());
}
@ -779,7 +794,7 @@ namespace NP.BO.Controllers
new String[] { "No", "운영기수", "교육장", "과정명", "교육생", "ID", "핸드폰", "교육시작일", "교육종료일", "상태", "점수", "첨삭", "모사", "최근제출일(IP)", "최근평가일(IP)","수료여부" },
new String[] { "rno", "sseq", "studyplacename", "cname", "username", "userid", "mobile", "leststr", "leestrExcel", "sdstatename", "cpoint2", "feedbox", "copyratename", "submittimeip_format", "checktimeip_format", "iscompletename" },
vm.LectSDs,
"성적처리과제" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day);
"성적처리과제" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day, null, null, vm.excellog);
}
vm.pagetotalcount = GetCount(vm.LectSDs.FirstOrDefault());
}
@ -885,11 +900,18 @@ namespace NP.BO.Controllers
payItem.studyplacename = vm.ComCodes.Where(w => w.cgroup.ToString() == "studyplace" && w.ccode == payItem.studyplace).FirstOrDefault()?.cname;
payItem.cmistudyplacename = vm.ComCodes.Where(w => w.cgroup.ToString() == "studyplace" && w.ccode == payItem.cmistudyplace).FirstOrDefault()?.cname;
}
if(vm.excellog != null)
{
vm.excellog.userno = SUserInfo.UserNo;
vm.excellog.userip = GetUserIP();
}
return ExportExcel(
new String[] { "결제번호", "신청자이름", "ID","주민번호", "핸드폰", "회사명", "상품유형", "환급여부", "상품명", "결제금액", "결제방법", "입금금액", "환불금액", "신청일","신청일시", "입금일", "결제상태", "환급은행명", "환급계좌번호", "환급예금주", "교육장소", "강좌교육시작일", "강좌교육종료일", "신청교육장소", "교육종료일","기술인분류","교육구분","직무분야","등급","목적","수료여부" },
new String[] { "payno", "username", "userid"," userpno", "mobile", "asname", "cshapename", "isrebatename", "itemname", "payamt", "pptypename", "payamt", "refundamt", "cdtymd","cdtymdhms", "payymd", "pstatusname2", "rbank", "rbankaccnum", "tbankuser", "studyplacename", "sdateymd", "edateymd", "cmistudyplacename", "cmiestartymd","tmname","edukind","tjname","tgname","tename", "completename" },
vm.PayItems,
"ProductSales_" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day);
"ProductSales_" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day, null, null, vm.excellog);
}
return View(vm);
}
@ -1013,7 +1035,7 @@ namespace NP.BO.Controllers
new String[] {"payno","cdtymd", "payoktimeymd", "pstatusname2","username", "userid", "mobile", "itemname","eendymd", "asname", "ceoname","asaddr",
"brno", "btype","bkind", "manname", "telno", "email", "isreceiptname", "taxamt", "taxdatereqymd","taxdateymd","realtaxdateymd","status"},
vm.PayTaxes,
"계산서요청"+DateTime.Now.ToString("yy.MM.dd"), null);
"계산서요청"+DateTime.Now.ToString("yy.MM.dd"));
}
vm.pagetotalcount = GetCount(vm.PayTaxes.FirstOrDefault());

View File

@ -455,11 +455,17 @@ namespace NP.BO.Controllers
vm.CMs = new List<CM>() { };
if (vm.isexceldown == 1)
{
if (vm.excellog != null)
{
vm.excellog.userno = SUserInfo.UserNo;
vm.excellog.userip = GetUserIP();
}
return ExportExcel(
new String[] { "No", "상위분류", "과정분류", "과정", "강좌(반)", "교육기간", "고객사", "교육생(ID)", "부서", "직급", "핸드폰", "이메일", "교육비", "학습진도율", "수료" },
new String[] { "rnorvt","pcgname","cgname","pcname","cnameclassno","sssename","asname","usernameid","depart","ccpositionname","mobile","email","payamt","attrate","iscompleteye" },
vm.CMLects,
vm.excelname);
vm.excelname, null, null, vm.excellog);
}
if (SUserInfo.IsSiteAdmin)
{

View File

@ -30,7 +30,7 @@
<section id="content" class="m-t-lg wrapper-md animated fadeInUp">
<div class="container aside-xxl">
@*<a class="navbar-brand block" href="#">YOU & PARTNERS</a>
<a class="navbar-brand block" href="#" style="font-size: 11px; line-height: 20px;">(Career Consulting Group)</a>*@
<a class="navbar-brand block" href="#" style="font-size: 11px; line-height: 20px;">(Career Consulting Group)</a>*@
<div class="text-center"><img src="~/Img/gnb_logo.png" style="max-width: 200px;" alt="YNP" /></div>
<br />
<section class="panel panel-default bg-white m-t-lg" style="margin-top: 0px;">
@ -52,12 +52,12 @@
</div>
<a href="#" id="btn_login" class="btn btn-facebook btn-block m-b-sm">Login to Your Account</a>
@*<div style="font-size: 11px;">
- 본 시스템은 <span style="color: red;">구글 크롬</span></b>에 최적화되어있습니다.<br />
- 타 브라우저로 접근 시 일부 기능이 제한될 수 있습니다.(<a style="text-decoration: underline;" href="https://www.google.com/intl/ko_ALL/chrome/" target="_blank" title="크롬다운로드">크롬 다운로드</a>)
</div>*@
- 본 시스템은 <span style="color: red;">구글 크롬</span></b>에 최적화되어있습니다.<br />
- 타 브라우저로 접근 시 일부 기능이 제한될 수 있습니다.(<a style="text-decoration: underline;" href="https://www.google.com/intl/ko_ALL/chrome/" target="_blank" title="크롬다운로드">크롬 다운로드</a>)
</div>*@
<input type="hidden" id="logincnt" name="logincnt" value="0"/>
<input type="hidden" id="logincnt" name="logincnt" value="0" />
</form>
</section>
</div>
@ -66,13 +66,13 @@
<footer id="footer"><div class="text-center padder"><p><small style="color: #fff;">CTE framework base on Bootstrap<br>&copy; @DateTime.Now.Year</small></p></div></footer>
<!-- / footer -->
@*<script src="/js/jquery.min.js"></script>
<!-- Bootstrap -->
<script src="/js/bootstrap.js"></script>
<!-- App -->
<script src="/js/app.js"></script>
<script src="/js/app.plugin.js"></script>
<script src="/js/slimscroll/jquery.slimscroll.min.js"></script>*@
<script>
<!-- Bootstrap -->
<script src="/js/bootstrap.js"></script>
<!-- App -->
<script src="/js/app.js"></script>
<script src="/js/app.plugin.js"></script>
<script src="/js/slimscroll/jquery.slimscroll.min.js"></script>*@
<script>
window.onunload=function(){
window.location.replace(self.location);
}
@ -276,7 +276,7 @@
function showbox() {
$(".divIpcheck").slideDown("fast");
}
</script>
</script>
<div class="xxx" style="position: fixed; z-index: 10; background-color: #555; opacity: 0.7; left: 0; top: 0; right: 0; bottom: 0; display: none;"></div>
<div class="xxx" id="msginfo" style="position: fixed; z-index: 11; background-color: #ddd; left: 50%; width: 50%; text-align: center; margin-left: -25%; top: 30%; padding: 30px 30px; border-radius: 5px; font-size: 18px; display: none;">

View File

@ -62,44 +62,56 @@
</style>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
function exceldown(fid, url, checktbody, exname, limitstringval) {
var limit = 14;
if (limitstringval) {
limit = limitstringval;
}
if ($("#" + checktbody + " tr").length < 1) {
msg("검색결과가 없습니다. 검색결과가 있을때만 다운로드할 수 있습니다.");
}
else {
$("#mainexcelform *").remove();
$("#mainexcelform").attr("action", url);
function exceldown2(fid, url, checktbody, exname, limitstringval, jsonDataStr) {
var limit = 14;
if (limitstringval) {
limit = limitstringval;
}
if ($("#" + checktbody + " tr").length < 1) {
msg("검색결과가 없습니다. 검색결과가 있을때만 다운로드할 수 있습니다.");
}
else {
$("#mainexcelform *").remove();
$("#mainexcelform").attr("action", url);
let comment = $("#comment").val();
let url = $("#excelParam2").val();
$("#mainexcelform").append("<input type=\"hidden\" name=\"position\" value=\"" + url+"\" />");
$("#mainexcelform").append("<input type=\"hidden\" name=\"comment\" value=\"" + comment + "\" />");
let comment = "";
$("#mainexcelform").append("<input type=\"hidden\" name=\"isexceldown\" value=\"1\" />");
$("#mainexcelform").append("<input type=\"hidden\" name=\"excelname\" value=\"" + exname + "_@DateTime.Now.ToString("yyyyMMdd")\" />");
if ($("#" + fid).find("*[name='tabidx']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"tabidx\" value=\"" + $("#" + fid).find("*[name='tabidx']").val() + "\" />"); }
if ($("#" + fid).find("*[name='stringval']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"stringval\" value=\"" + $("#" + fid).find("*[name='stringval']").val() + "\" />"); }
for (var i = 2; i < limit; i++) {
if ($("#" + fid).find("*[name='stringval" + i + "']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"stringval" + i + "\" value=\"" + $("#" + fid).find("*[name='stringval" + i + "']").val() + "\" />"); }
}
if ($("#" + fid).find("*[name='searchtype']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"searchtype\" value=\"" + $("#" + fid).find("*[name='searchtype']").val() + "\" />"); }
if ($("#" + fid).find("*[name='searchtext']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"searchtext\" value=\"" + $("#" + fid).find("*[name='searchtext']").val() + "\" />"); }
if ($("#" + fid).find("input[name='CheckOn']:checked").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"CheckOn\" value=\"on\" />"); }
if ($("#" + fid).find("input[name='CheckOn2']:checked").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"CheckOn2\" value=\"on\" />"); }
if ($("#" + fid).find("input[name='CheckOn3']:checked").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"CheckOn3\" value=\"on\" />"); }
$("#mainexcelform").submit();
if ($("#comment").length > 0) {
comment = $("#comment").val();
}
if (jsonDataStr != "") {
let jsonData = JSON.parse(jsonDataStr);
let kk = "";
$.each(jsonData, function (key, value) {
$("#mainexcelform").append("<input type=\"hidden\" name=\"" + key + "\" value=\"" + value+"\" />");
});
}
$("#mainexcelform").append("<input type=\"hidden\" name=\"excellog.position\" value=\"@(ViewBag.Title)\" />");
$("#mainexcelform").append("<input type=\"hidden\" name=\"excellog.comment\" value=\"" + comment + "\" />");
$("#mainexcelform").append("<input type=\"hidden\" name=\"isexceldown\" value=\"1\" />");
$("#mainexcelform").append("<input type=\"hidden\" name=\"excelname\" value=\"" + exname + "_@DateTime.Now.ToString("yyyyMMdd")\" />");
if ($("#" + fid).find("*[name='tabidx']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"tabidx\" value=\"" + $("#" + fid).find("*[name='tabidx']").val() + "\" />"); }
if ($("#" + fid).find("*[name='stringval']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"stringval\" value=\"" + $("#" + fid).find("*[name='stringval']").val() + "\" />"); }
for (var i = 2; i < limit; i++) {
if ($("#" + fid).find("*[name='stringval" + i + "']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"stringval" + i + "\" value=\"" + $("#" + fid).find("*[name='stringval" + i + "']").val() + "\" />"); }
}
if ($("#" + fid).find("*[name='searchtype']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"searchtype\" value=\"" + $("#" + fid).find("*[name='searchtype']").val() + "\" />"); }
if ($("#" + fid).find("*[name='searchtext']").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"searchtext\" value=\"" + $("#" + fid).find("*[name='searchtext']").val() + "\" />"); }
if ($("#" + fid).find("input[name='CheckOn']:checked").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"CheckOn\" value=\"on\" />"); }
if ($("#" + fid).find("input[name='CheckOn2']:checked").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"CheckOn2\" value=\"on\" />"); }
if ($("#" + fid).find("input[name='CheckOn3']:checked").length == 1) { $("#mainexcelform").append("<input type=\"hidden\" name=\"CheckOn3\" value=\"on\" />"); }
$("#mainexcelform").submit();
}
}
function callComment(fid, url, checktbody, exname, limitstringval) {
$('#comment').val('');
$("#excelParam1").val(fid)
//$("#excelParam2").val(url)
$("#excelParam2").val(url)
$("#excelParam3").val(checktbody)
$("#excelParam4").val(exname)
$("#excelParam5").val(limitstringval)
@ -121,11 +133,17 @@
$('#bglayer').hide();
let fid = $("#excelParam1").val()
let url = $("#excelParam2").val()
let checktbody = $("#excelParam3").val()
let exname = $("#excelParam4").val()
let limitstringval = $("#excelParam5").val()
let jsonDataStr = ""
exceldown(fid, url, checktbody, exname, limitstringval);
if ($("#excelParam10").length > 0) {
jsonDataStr = $("#excelParam10").val();
}
exceldown2(fid, url, checktbody, exname, limitstringval, jsonDataStr);
}
}

View File

@ -67,6 +67,10 @@
@if (!ViewBag.IsSubAdmin96)
{
<a href="#" class="btn btn-success" onclick="callexcel()">엑셀다운로드</a>
//location.href = '/croom/cmlects?isexceldown=1&intval=@Model.CM.cmno&addstringval=' + val('addstringval') + '&addstringval2=' + val('addstringval2');
@*<a href="#" onclick="javascript:callComment('mform', '/croom/cmlects', 'tbody1', 'ProductSales', 23);" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>*@
@Html.Raw("&nbsp;&nbsp;");
}
<a href="#" class="btn btn-default" onclick="golist()">목록</a>
@ -158,6 +162,7 @@
<form id="dform" method="post" action="/croom/lectcms">
@Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { { "preform", 1 } })
</form>
@Html.Partial("./Partial/ExcelCommentBox")
<div id="thisbox" class="findbox draggable regbox" style="width: 600px; 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>
<table class="regtable">
@ -285,6 +290,7 @@
@Html.Partial("./Partial/FileScript")
@Html.Partial("./Partial/ScriptDate")
@Html.Partial("./Partial/ScdScript", null, new ViewDataDictionary() { { "cmno", Model.CM.cmno } })
<input type="hidden" id="excelParam10" value="" />
}
@section scripts{
<script>
@ -326,9 +332,20 @@
} else { msg("이미 탈퇴된 회원입니다."); }
}
}
function callexcel() {
location.href = '/croom/cmlects?isexceldown=1&intval=@Model.CM.cmno&addstringval=' + val('addstringval') + '&addstringval2=' + val('addstringval2');
// location.href = '/croom/cmlects?isexceldown=1&intval=@Model.CM.cmno&addstringval=' + val('addstringval') + '&addstringval2=' + val('addstringval2');
callComment('mform', '/croom/cmlects', 'tbody1', 0)
let jsonData = {};
jsonData.intval = @(Model.CM.cmno);
jsonData.addstringval = val('addstringval');
jsonData.addstringval2 = val('addstringval2');
$("#excelParam10").val(JSON.stringify(jsonData))
}
var _lectno;
var _pstatus;
var _rstatus;

View File

@ -1,5 +1,5 @@
@model NP.Model.VMLect
@{
@model NP.Model.VMLect
@{
}
<form id="mform2" method="post" action="/croom/gradeall">
<section class="panel panel-default">
@ -7,7 +7,8 @@
<div style="padding: 5px 10px; text-align: right;">
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
@Html.Partial("./Partial/sembtns", "#tbody1;" + (Model.IsAdmin ? "1;1" : "0;0") + ";1;1;0;평가안내")
<a href="#" onclick="javascript:exceldown('mform', '/croom/gradeall', 'tbody1', '성적처리전체');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
@*<a href="#" onclick="javascript:exceldown('mform', '/croom/gradeall', 'tbody1', '성적처리전체');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>*@
<a href="#" onclick="javascript:callComment('mform', '/croom/gradeall', 'tbody1', '성적처리전체');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
@if (Model.IsAdmin)
{
<a href="#" class="btn btn-primary" onclick="save();">수료확인</a>
@ -49,71 +50,71 @@
<tbody class="data" id="tbody1">
@foreach (var d in Model.Lects)
{
<tr>
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
<td>@d.rnorvt</td>
@if (d.cshape == 2)
{
<td>@d.sseq</td>
}
else
{
<td>-</td>
}
<td>@d.isrebatename</td>
<td>@d.asname</td>
<td>@d.studyplacename</td>
<td>@d.cname</td>
<td>@d.username</td>
<td>@d.userid</td>
<td>@d.mobile</td>
<td>@((d.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
@if (d.cshape == 2)
{
if (d.iscomplete != 1)
<tr>
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
<td>@d.rnorvt</td>
@if (d.cshape == 2)
{
<td class="link text-center"><a href="#" onclick="javascript: openScd(@d.cmno,@d.lectno,@d.cmisno);">@d.eend.ToShortDateString()</a></td>
<td>@d.sseq</td>
}
else
{
<td>@d.eend.ToShortDateString()</td>
<td>-</td>
}
}
else
{
<td>@d.edate.Value.ToShortDateString()</td>
}
@if (!ViewBag.IsSubAdmin96)
{
<td class="link text-center"><a onclick="viewatt(@d.lectno)" href="#">@d.attrate %</a></td>
}
else
{
<td class="link text-center">@d.attrate %</td>
}
@*<td>@( d.ex0cnt < 1 ? "-" : d.ex0lectcnt < 1 && d.ex0cnt > 0 ? "미제출" : d.ex0lectpoint.ToString())</td>*@
<td>@(d.ex1cnt < 1 ? "-" :d.ex1lectcnt < 1 && d.ex1cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
<td>@(d.sd0cnt < 1 ? "-" :d.sd0lectcnt < 1 && d.sd0cnt > 0 ? "미제출" : d.sd0lectpoint.ToString())</td>
<td style="display:none;">@( d.sd1cnt < 1 ? "-" :d.sd1lectcnt < 1 && d.sd1cnt > 0 ? "미제출" : d.sd1lectpoint.ToString())</td>
<td>@(((d.apoint + d.mpoint + d.fpoint + d.spoint + d.dpoint)).ToString())</td>
@if (d.isoffabs == 1)
{
<td class="link text-center"><a href="#" onclick="save4(@d.cmno,@d.lectno);">@d.istatusname</a></td>
}
else
{
<td class="text-center">-</td>
}
<td>@(d.rs0lectcnt) / @(d.rs0cnt)</td>
@if (!ViewBag.IsSubAdmin96)
{
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("<a href=\"#\" onclick=\"viewcert({0})\">{1}</a>", d.lectno, "수료") : d.iscompletename)</td>
}
else
{
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("{1}", d.lectno, "수료") : d.iscompletename)</td>
}
</tr>
<td>@d.isrebatename</td>
<td>@d.asname</td>
<td>@d.studyplacename</td>
<td>@d.cname</td>
<td>@d.username</td>
<td>@d.userid</td>
<td>@d.mobile</td>
<td>@((d.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
@if (d.cshape == 2)
{
if (d.iscomplete != 1)
{
<td class="link text-center"><a href="#" onclick="javascript: openScd(@d.cmno,@d.lectno,@d.cmisno);">@d.eend.ToShortDateString()</a></td>
}
else
{
<td>@d.eend.ToShortDateString()</td>
}
}
else
{
<td>@d.edate.Value.ToShortDateString()</td>
}
@if (!ViewBag.IsSubAdmin96)
{
<td class="link text-center"><a onclick="viewatt(@d.lectno)" href="#">@d.attrate %</a></td>
}
else
{
<td class="link text-center">@d.attrate %</td>
}
@*<td>@( d.ex0cnt < 1 ? "-" : d.ex0lectcnt < 1 && d.ex0cnt > 0 ? "미제출" : d.ex0lectpoint.ToString())</td>*@
<td>@(d.ex1cnt < 1 ? "-" :d.ex1lectcnt < 1 && d.ex1cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
<td>@(d.sd0cnt < 1 ? "-" :d.sd0lectcnt < 1 && d.sd0cnt > 0 ? "미제출" : d.sd0lectpoint.ToString())</td>
<td style="display:none;">@( d.sd1cnt < 1 ? "-" :d.sd1lectcnt < 1 && d.sd1cnt > 0 ? "미제출" : d.sd1lectpoint.ToString())</td>
<td>@(((d.apoint + d.mpoint + d.fpoint + d.spoint + d.dpoint)).ToString())</td>
@if (d.isoffabs == 1)
{
<td class="link text-center"><a href="#" onclick="save4(@d.cmno,@d.lectno);">@d.istatusname</a></td>
}
else
{
<td class="text-center">-</td>
}
<td>@(d.rs0lectcnt) / @(d.rs0cnt)</td>
@if (!ViewBag.IsSubAdmin96)
{
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("<a href=\"#\" onclick=\"viewcert({0})\">{1}</a>", d.lectno, "수료") : d.iscompletename)</td>
}
else
{
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("{1}", d.lectno, "수료") : d.iscompletename)</td>
}
</tr>
}
</tbody>
</table>
@ -121,6 +122,7 @@
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
</section>
</form>
@Html.Partial("./Partial/ExcelCommentBox")
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; 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>
<ul id="ulScd"></ul>
@ -132,7 +134,7 @@
<h4><i class="fa fa-bars"></i> <span id="pcap">OFF출결관리</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
<br />
<table class="regtable">
<colgroup><col width="100"/><col/></colgroup>
<colgroup><col width="100" /><col /></colgroup>
<tr style="display:none;">
<th>회차선택</th>
<td>
@ -150,9 +152,9 @@
<select id="cmisno" class="form-control" onchange="getoff()">
<option value="">신청교육일</option>
@*@foreach(var d in Model.CMinningscds)
{
<option value="@d.cmisno">@d.estart.ToString("yyyy-MM-dd")</option>
}*@
{
<option value="@d.cmisno">@d.estart.ToString("yyyy-MM-dd")</option>
}*@
</select>
</td>
</tr>

View File

@ -1,5 +1,5 @@
@model NP.Model.VMLect
@{
@model NP.Model.VMLect
@{
int idx = 1;
}
<form id="mform2" method="post">
@ -8,9 +8,10 @@
<div style="padding: 10px 10px">
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-응시상태;2:응시완료;1:응시중;0:미응시" }, { "name", "addstringval2" }, { "selected", Model.addstringval2 }, { "onchange", "submit()" } })
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
<a href="#" onclick="javascript:exceldown('mform', '/croom/gradeall', 'tbody1', '성적처리평가');" class="btn btn-s-xs btn-success" style="margin-left: 5px; float:right;">엑셀다운로드</a>
@*<a href="#" onclick="javascript:exceldown('mform', '/croom/gradeall', 'tbody1', '성적처리평가');" class="btn btn-s-xs btn-success" style="margin-left: 5px; float:right;">엑셀다운로드</a>*@
<a href="#" onclick="javascript:callComment('mform', '/croom/gradeall', 'tbody1', '성적처리평가');" class="btn btn-s-xs btn-success" style="margin-left: 5px; float:right;">엑셀다운로드</a>
@Html.Partial("./Partial/sembtns", "#tbody1;" + (Model.IsAdmin ? "1;1;1" : "0;0;0") + ";1;right;평가안내")
</div>
<div class="table-responsive" id="excel1">
<table class="table table-striped b-t b-light">
@ -60,7 +61,7 @@
<td>@d.username</td>
<td>@d.userid</td>
<td>@d.mobile</td>
<td>@((d.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
@if (d.cshape == 2)
{
@ -104,6 +105,7 @@
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
</section>
</form>
@Html.Partial("./Partial/ExcelCommentBox")
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; 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>
<ul id="ulScd"></ul>
@ -148,16 +150,50 @@
<a href="#" id="btnnext" class="btn btn-info btn-xs" onclick="nextex(1)">다음▶</a>
<a href="#" class="btn btn-default btn-xs closethisbox" data-click="checkclose()">닫기</a>
</div>
</div>
</div>
<style type="text/css">
td.estate0{background-color: #ffd7bb !important; color: red;}
.tablea0{word-break: break-all; width: 100%;}
.tablea0 tr td{text-align: center;}
.tablea0 tr td.qi{text-align: left;}
.regtable tr td .tablea0 tr td {padding: 6px 5px;}
#exsummary tr td{text-align: center;}
td.qi div.imgbox.active{position: fixed; left: 10%; top: 10%; height: 80%; width: 80%; z-index: 3000; background-color: #999; text-align: center;padding-top: 10%;}
td.qi div.imgbox.active img{height: 60%; max-width: 60%;}
td.estate0 {
background-color: #ffd7bb !important;
color: red;
}
.tablea0 {
word-break: break-all;
width: 100%;
}
.tablea0 tr td {
text-align: center;
}
.tablea0 tr td.qi {
text-align: left;
}
.regtable tr td .tablea0 tr td {
padding: 6px 5px;
}
#exsummary tr td {
text-align: center;
}
td.qi div.imgbox.active {
position: fixed;
left: 10%;
top: 10%;
height: 80%;
width: 80%;
z-index: 3000;
background-color: #999;
text-align: center;
padding-top: 10%;
}
td.qi div.imgbox.active img {
height: 60%;
max-width: 60%;
}
</style>
<script>
$(document).ready(function () {

View File

@ -5,9 +5,10 @@
<form id="mform" method="post">
<section class="panel panel-default">
<div style="padding: 10px 10px">
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-응시상태;1:제출;0:미제출" }, { "name", "addstringval2" }, { "selected", Model.addstringval2}, { "onchange", "findme()" } })
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-응시상태;1:제출;0:미제출" }, { "name", "addstringval2" }, { "selected", Model.addstringval2 }, { "onchange", "findme()" } })
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
<a href="#" onclick="javascript:exceldown('mform', '/croom/gradeall', 'tbody1', '성적처리과제');" class="btn btn-s-xs btn-success" style="margin-left: 5px; float:right;">엑셀다운로드</a>
@*<a href="#" onclick="javascript:exceldown('mform', '/croom/gradeall', 'tbody1', '성적처리과제');" class="btn btn-s-xs btn-success" style="margin-left: 5px; float:right;">엑셀다운로드</a>*@
<a href="#" onclick="javascript:callComment('mform', '/croom/gradeall', 'tbody1', '성적처리과제');" class="btn btn-s-xs btn-success" style="margin-left: 5px; float:right;">엑셀다운로드</a>
@Html.Partial("./Partial/sembtns", "#tbody1;" + (Model.IsAdmin ? "1;11;" : "0;0;0") + ";1;right;평가안내")
</div>
<div class="table-responsive" id="excel1">
@ -39,7 +40,7 @@
<tr data-sdno="@d.sdno" data-lectno="@d.lectno">
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" data-tpoint="@d.tpoint" /></td>
<td>@d.rnorvt</td>
@if(d.cshape== 2)
@if (d.cshape == 2)
{
<td>@d.sseq</td>
}
@ -90,6 +91,7 @@
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
</section>
</form>
@Html.Partial("./Partial/ExcelCommentBox")
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; 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>
<ul id="ulScd"></ul>
@ -195,7 +197,7 @@
if (isprenext) {
$("#tbody1 tr").remove();
capp("/acommon/lectallsds", { pagenum: @((int)Model.pagenum), pagerowcount:@(Model.pagerowcount), sdstate: valnull("addstringval2"), edate: valnull("stringval"), cshape: valnull("stringval2"), cname: valnull("stringval3"), cnamestr: valnull("stringval3"), iscomplete: valnull("stringval4"), studyplace: valnull("stringval5"), searchtype: valnull("stringval6"), searchtext: valnull("stringval7"), sdtype: 0, sdateall: valnull("stringval8"), edateall: valnull("stringval9"), asname: valnull("stringval10") }, "cblectsds", null, null, null, true);
} else {
} else {
capp("/acommon/lectallsds", { pagenum: @((int)Model.pagenum), pagerowcount:@(Model.pagerowcount), sdstate: valnull("addstringval2"), edate: valnull("stringval"), cshape: valnull("stringval2"), cname: valnull("stringval3"), cnamestr: valnull("stringval3"), iscomplete: valnull("stringval4"), studyplace: valnull("stringval5"), searchtype: valnull("stringval6"), searchtext: valnull("stringval7"), sdtype: 0, sdateall: valnull("stringval8"), edateall: valnull("stringval9"), asname: valnull("stringval10") }, "cblectsds");
}
}

View File

@ -27,7 +27,7 @@
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval) ? (DateTime?)null : Convert.ToDateTime(Model.stringval), new ViewDataDictionary { { "name", "stringval" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval2) ? (DateTime?)null : Convert.ToDateTime(Model.stringval2), new ViewDataDictionary { { "name", "stringval2" } })
</td>
</tr>
<tr>
<tr>
<th>교육일조회</th>
<td class="text-left">
<a href="#" style="padding: 6px 12px;" onclick="setdate2(1)" class="btn btn-select btn-xxs">오늘</a>
@ -73,13 +73,13 @@
</td>
</tr>
@*<tr>
<th>회사정보</th>
<td class="text-left">
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":회원구분;1:회원사;0:비회원사" }, { "name", "stringval8" }, { "selected", Model.stringval8 } })
@Html.Partial("./Partial/Text", Model.stringval9, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval9", Value = Model.stringval9, PH = "회사명 검색", CssClass = "" }))
@Html.Partial("./Partial/Text", Model.stringval10, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval10", Value = Model.stringval10, PH = "사업자등록번호 검색", CssClass = "" }))
</td>
</tr>*@
<th>회사정보</th>
<td class="text-left">
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":회원구분;1:회원사;0:비회원사" }, { "name", "stringval8" }, { "selected", Model.stringval8 } })
@Html.Partial("./Partial/Text", Model.stringval9, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval9", Value = Model.stringval9, PH = "회사명 검색", CssClass = "" }))
@Html.Partial("./Partial/Text", Model.stringval10, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval10", Value = Model.stringval10, PH = "사업자등록번호 검색", CssClass = "" }))
</td>
</tr>*@
<tr>
<th>결제상품</th>
<td class="text-left">
@ -95,7 +95,7 @@
</tr>
<tr>
<th>교육장소</th>
<td class="text-left">
<td class="text-left">
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary { { "name", "stringval22" }, { "selected", Model.stringval22 }, { "style", "width: 100%" }, { "df", ":교육장소" } })
</td>
</tr>
@ -104,7 +104,7 @@
<td class="text-left">
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":전체검색;username:이름;userid:ID;itemname:상품명;cname:교육과정명;payno:결제번호;asname:회사명" }, { "name", "stringval15" }, { "selected", Model.stringval15 } })
@Html.Partial("./Partial/Text", Model.stringval16, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval16", Value = Model.stringval16, PH = "", CssClass = "ff" }))
</td>
</tr>
<tr>
@ -122,7 +122,8 @@
<div class="tar buttonbox">
@Html.Partial("./Partial/sembtns", "#tbody1;" + (ViewBag.isadmin ? "1;1;1" : "0;0;0") + ";1;0;결제안내")
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
<a href="#" onclick="javascript:exceldown('mform', '/croom/pay', 'tbody1', 'ProductSales', 23);" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
@*<a href="#" onclick="javascript:exceldown('mform', '/croom/pay', 'tbody1', 'ProductSales', 23);" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>*@
<a href="#" onclick="javascript:callComment('mform', '/croom/pay', 'tbody1', 'ProductSales', 23);" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
</div>
<section class="panel panel-default">
<div class="table-responsive" id="excel1">
@ -182,6 +183,7 @@
<form id="dform" method="post" action="">
@Html.Partial("./Partial/dform", Model, new ViewDataDictionary { { "preform", 1 } })
</form>
@Html.Partial("./Partial/ExcelCommentBox")
<form id="taxform" method="post" action="/croom/taxdetail">
<input type="hidden" id="intval" name="intval" />
</form>

View File

@ -47,7 +47,8 @@
</section>
<div class="tar buttonbox">
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
<a href="#" onclick="javascript:exceldown('mform', '/data/learnassigns', 'tbody1', 'CourseAssigns');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
@*<a href="#" onclick="javascript:exceldown('mform', '/data/learnassigns', 'tbody1', 'CourseAssigns');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>*@
<a href="#" onclick="javascript:callComment('mform', '/data/learnassigns', 'tbody1', 'CourseAssigns');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
</div>
<section class="panel panel-default">
<div class="table-responsive" id="excel1">
@ -99,6 +100,7 @@
</section>
@Html.HiddenFor(m => m.tabidx)
</form>
@Html.Partial("./Partial/ExcelCommentBox")
@section styles{
<style type="text/css">
#excel1 {overflow: initial; width: 100%; height: 550px;}

View File

@ -142,12 +142,12 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Controller\AOCommon.cs" />
<Compile Include="Controller\ACommonCC.cs" />
<Compile Include="Controller\ACommonCRoom.cs" />
<Compile Include="Controller\ACommonUser.cs" />
<Compile Include="Controller\ACommonCM.cs" />
<Compile Include="Controller\ACommon.cs" />
<Compile Include="Controller\AOCommon.cs" />
<Compile Include="Controller\BaseController.cs" />
<Compile Include="Controller\BasePartialController.cs" />
<Compile Include="Controller\FCommonCC.cs" />

View File

@ -794,6 +794,11 @@ namespace NP.Base
}
return null;
}
public ActionResult ExportExcel(string[] paramHeaders, string[] paramColumns, System.Collections.IEnumerable paramObj, string paramFileNameNoExt)
{
return ExportExcel(paramHeaders, paramColumns, paramObj, paramFileNameNoExt, null, null);
}
/// <summary>
/// 해당 컨트롤러에서 View를 ExportExcel로 리턴
/// List<CodeMode> test=new List<CodeMode>();
@ -862,6 +867,69 @@ namespace NP.Base
System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
return null;
}
public ActionResult ExportExcel(string[] paramHeaders, string[] paramColumns, System.Collections.IEnumerable paramObj, string paramFileNameNoExt, System.Data.DataTable _dt = null, string textcolumns = null, Excellog excellog = null)
{
var dataGrid = new System.Web.UI.WebControls.DataGrid();
var dataTable = new System.Data.DataTable(paramFileNameNoExt);
if (_dt == null)
{
//컬럼생성
for (int i = 0; i < paramHeaders.Length; i++)
{
dataTable.Columns.Add(paramHeaders[i]);
}
foreach (object instance in paramObj)
{
Type t = instance.GetType();
System.Data.DataRow newRow = dataTable.NewRow();
for (int i = 0; i < paramColumns.Length; i++)
{
System.Reflection.PropertyInfo property = t.GetProperty(paramColumns[i].Trim());
newRow[i] = property.GetValue(instance, null);
}
dataTable.Rows.Add(newRow);
}
}
else
{
dataTable = _dt;
}
//@CUSTOM@ : 엑셀컬럼에 text형식으로 받을 columnindex String 지정
deidbtextcolumns = textcolumns;
dataGrid.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(DataExportExcel_ItemDataBound);
dataGrid.DataSource = dataTable;
dataGrid.DataBind();
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(sw);
dataGrid.RenderControl(htmlWrite);
System.Text.StringBuilder sbResponseString = new System.Text.StringBuilder();
sbResponseString.Append("<html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns=\"http://www.w3.org/TR/REC-html40\">");
//@CUSTOM@ : text형식 style 지정 => mso-number-format:\@;
sbResponseString.Append("<head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>Sheet1</x:Name><x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->" + (@"<style> .text { mso-number-format:\@; } </style>") + "</head> <body>");
sbResponseString.Append(sw.ToString() + "</body></html>");
Response.Clear();
Response.AppendHeader("Content-Type", "application/vnd.ms-excel");
Response.AppendHeader("Content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(string.Format(paramFileNameNoExt + ".xls"), Encoding.UTF8));
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.Write(sbResponseString.ToString());
Response.Flush();
System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
if(excellog != null)
{
Dao.Save("excellog.in", excellog);
}
return null;
}
//@CUSTOM@ : text형식 style 지정속성
private string deidbtextcolumns { get; set; }
public void ExportExcelXLSX<T>(List<T> data, String fname)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -319,6 +319,10 @@ namespace NP.FO.Controllers
sb2auth.Append("</ul></li>");
//영남요청건으로 하위메뉴 보임인건 하나도 없어도 메뉴출력하도록 수정
var menu = GetMENUPAGES.Where(w => w.pdepth == 1 && (w.isopen == 1 || w.isopen == 2) && w.ppno == m.pno && w.pagetype != 4).FirstOrDefault();
if(menu == null)
{
menu = new MenuPage();
}
if(m.pno == 16)
{
sbmauth.Append(string.Format("<li class=\"topmenu{1}\"><a href=\"#\" onclick=\"gomenu({2}, {3}, '{4}', this)\">{0}</a><ul>", m.pagename, m.pno,menu.pno,menu.pagetype,menu.pageurl));

View File

@ -1,121 +1,121 @@
@model NP.Model.VMCourse
<div class="container">
<div class="schBox" style="display:none;">
<form id="smartSearchForm" method="post">
<input type="hidden" name="cmno" id="cmno" />
<input type="hidden" name="stringval" id="stringval" value="@Model.stringval" />
@if (Model.stringval == "0" || Model.stringval == null || Model.stringval == "")
{
<ul class="schTab">
<li id="liTab1" class="current" style="font-size:16pt;"><a href="#">건설기술진흥법교육</a></li>
<li id="liTab2" style="font-size:16pt;display:none;"><a href="#">기타교육</a></li>
</ul>
<ul class="schCont">
<li>
<select name="stringval2" id="stringval2">
@*<option value="0" @(Model.stringval2 == "0" ? "selected" : "")>온라인교육</option>*@
@*<option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option>*@
<option value="2" @(Model.stringval2 == "2" ? "selected" : "")>온라인교육</option>
</select>
</li>
<li>
@*typeman는 데이터가 model.comcodes2임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval3, new SelectList(Model.ComCodes2, "ccode", "cname"), "-선택-")
</li>
<li>
@*typeedu는 데이터가 model.comcodes3임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval4, new SelectList(Model.ComCodes3, "ccode", "cname"), "-선택-")
</li>
<li>
@*typegrade는 데이터가 model.comcodes4임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval5, new SelectList(Model.ComCodes4, "ccode", "cname"), "-선택-")
</li>
<li>
@Html.DropDownListFor(x => x.stringval6, new SelectList(Model.ComCodes5, "ccode", "cname"), "-선택-")
</li>
<li>
@Html.DropDownListFor(x => x.stringval7, new SelectList(Model.ComCodes6, "ccode", "cname"), "-선택-")
</li>
<li><a href="#" id="btnSearch">검색</a></li>
</ul>
}
else if (Model.stringval == "1")
{
<ul class="schTab">
<li id="liTab1"><a href="#" style="font-size:16pt;">건설기술진흥법교육</a></li>
<li id="liTab2" class="current" style="font-size:16pt;"><a href="#">기타교육</a></li>
</ul>
<ul class="schCont">
<li>
<select name="stringval2" id="stringval2">
@*<option value="0" @(Model.stringval2 == "0" ? "selected" : "")>온라인교육</option>*@
<option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option>
<option value="2" @(Model.stringval2 == "2" ? "selected" : "")>온라인교육</option>
</select>
</li>
<li>
@Html.DropDownListFor(x => x.stringval3, new SelectList(Model.CMsEtc, "cgno", "cgname"), "-선택-")
</li>
<li><a href="#" id="btnSearch">검색</a></li>
</ul>
}
</form>
</div>
<p class="subDsc mt15">본인의 기술인 정보를 모르실 경우에는 아래링크를 클릭하여 정보 확인 후 교육신청을 하여 주시기 바랍니다.</p>
<ul class="smtLnk">
<li><a href="https://homenet.kocea.or.kr:1443" target="_blank">한국건설기술인협회 이동</a></li>
<li><a href="https://www.kira.or.kr" target="_blank">건축사협회 이동</a></li>
</ul>
<br/>
@if(Model.stringval2 == "2")
{
<p class='subDsc' style='color:red;'>※ 온라인 교육은 입금완료시 교육이 바로 시작되며 동영상 시청이 가능합니다</p>
}
<input type="hidden" id="hidCmno" />
<ul class="smtList" style="margin-bottom:150px">
@foreach (var item in Model.CMs)
<div class="container">
<div class="schBox" style="display:none;">
<form id="smartSearchForm" method="post">
<input type="hidden" name="cmno" id="cmno" />
<input type="hidden" name="stringval" id="stringval" value="@Model.stringval" />
@if (Model.stringval == "0" || Model.stringval == null || Model.stringval == "")
{
<li>
<div class="smtlCont">
<h5><em style="font-size:15px" class="@(item.cshape == 0 ? "org" : item.cshape == 1 ? "grn" : "blu")">@(item.cshape == 0 ? "온라인" : item.cshape == 1 ? "교육장교육" : "온라인교육")</em> <span style="font-size:22px">@item.cname</span></h5>
<ul class="smtlBtn">
<li style="font-size:18px;"><a href="#" class="smtlBtn02" onclick="javascript: getSubCm(@item.cshape, @item.cmno)">조회하기</a></li>
</ul>
</div>
@if (item.cshape == 1)
{
<ul class="smtlTab" id="divTab_@item.cmno" style="display:none">
<li class="current" onclick="javascript:setStudyplace(this,@item.cmno);"><a href="javascript:getSubCm(1, @item.cmno);">전체</a></li>
@foreach (var t in Model.ComCodes)
{
<li onclick="javascript:setStudyplace(this,@item.cmno);"><a href="javascript:getSubCm(1, @item.cmno, @t.ccode);">@t.cname 교육장</a></li>
}
</ul>
}
<input type="hidden" id="pcmno_@(item.cmno)_cgcode" value="@(item.cgcode)" />
<ul class="smtlChk" id="ulSubCm_@item.cmno"></ul>
</li>
<ul class="schTab">
<li id="liTab1" class="current" style="font-size:16pt;"><a href="#">건설기술진흥법교육</a></li>
<li id="liTab2" style="font-size:16pt;display:none;"><a href="#">기타교육</a></li>
</ul>
<ul class="schCont">
<li>
<select name="stringval2" id="stringval2">
@*<option value="0" @(Model.stringval2 == "0" ? "selected" : "")>온라인교육</option>*@
@*<option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option>*@
<option value="2" @(Model.stringval2 == "2" ? "selected" : "")>온라인교육</option>
</select>
</li>
<li>
@*typeman는 데이터가 model.comcodes2임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval3, new SelectList(Model.ComCodes2, "ccode", "cname"), "-선택-")
</li>
<li>
@*typeedu는 데이터가 model.comcodes3임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval4, new SelectList(Model.ComCodes3, "ccode", "cname"), "-선택-")
</li>
<li>
@*typegrade는 데이터가 model.comcodes4임, 수정시 주의할것*@
@Html.DropDownListFor(x => x.stringval5, new SelectList(Model.ComCodes4, "ccode", "cname"), "-선택-")
</li>
<li>
@Html.DropDownListFor(x => x.stringval6, new SelectList(Model.ComCodes5, "ccode", "cname"), "-선택-")
</li>
<li>
@Html.DropDownListFor(x => x.stringval7, new SelectList(Model.ComCodes6, "ccode", "cname"), "-선택-")
</li>
<li><a href="#" id="btnSearch">검색</a></li>
</ul>
}
@if (Model.CMs.Count == 0)
else if (Model.stringval == "1")
{
<li style="border:0px;">
<div style="margin: 0 auto;display: table;text-align: center;">
<p style="font-size: 25px;line-height: 50px;">현재 개설된 과정이 없습니다.</p><p class="subDsc">자세한 사항은 1544-7660으로 문의 하세요.</p>
</div>
</li>
<ul class="schTab">
<li id="liTab1"><a href="#" style="font-size:16pt;">건설기술진흥법교육</a></li>
<li id="liTab2" class="current" style="font-size:16pt;"><a href="#">기타교육</a></li>
</ul>
<ul class="schCont">
<li>
<select name="stringval2" id="stringval2">
@*<option value="0" @(Model.stringval2 == "0" ? "selected" : "")>온라인교육</option>*@
<option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option>
<option value="2" @(Model.stringval2 == "2" ? "selected" : "")>온라인교육</option>
</select>
</li>
<li>
@Html.DropDownListFor(x => x.stringval3, new SelectList(Model.CMsEtc, "cgno", "cgname"), "-선택-")
</li>
<li><a href="#" id="btnSearch">검색</a></li>
</ul>
}
</ul>
<ul class="clsBtn society">
<li style="display:none;"><a href="/" >뒤로가기</a></li>
<li><a href="/" >뒤로가기</a></li>
</ul>
</form>
</div>
<p class="subDsc mt15">본인의 기술인 정보를 모르실 경우에는 아래링크를 클릭하여 정보 확인 후 교육신청을 하여 주시기 바랍니다.</p>
<ul class="smtLnk">
<li><a href="https://homenet.kocea.or.kr:1443" target="_blank">한국건설기술인협회 이동</a></li>
<li><a href="https://www.kira.or.kr" target="_blank">건축사협회 이동</a></li>
</ul>
<br />
@if (Model.stringval2 == "2")
{
<p class='subDsc' style='color:red;'>※ 온라인 교육은 입금완료시 교육이 바로 시작되며 동영상 시청이 가능합니다</p>
}
<input type="hidden" id="hidCmno" />
<ul class="smtList" style="margin-bottom:150px">
@foreach (var item in Model.CMs)
{
<li>
<div class="smtlCont">
<h5><em style="font-size:15px" class="@(item.cshape == 0 ? "org" : item.cshape == 1 ? "grn" : "blu")">@(item.cshape == 0 ? "온라인" : item.cshape == 1 ? "교육장교육" : "온라인교육")</em> <span style="font-size:22px">@item.cname</span></h5>
<ul class="smtlBtn">
<li style="font-size:18px;"><a href="#" class="smtlBtn02" onclick="javascript: getSubCm(@item.cshape, @item.cmno)">조회하기</a></li>
</ul>
</div>
@if (item.cshape == 1)
{
<ul class="smtlTab" id="divTab_@item.cmno" style="display:none">
<li class="current" onclick="javascript:setStudyplace(this,@item.cmno);"><a href="javascript:getSubCm(1, @item.cmno);">전체</a></li>
@foreach (var t in Model.ComCodes)
{
<li onclick="javascript:setStudyplace(this,@item.cmno);"><a href="javascript:getSubCm(1, @item.cmno, @t.ccode);">@t.cname 교육장</a></li>
}
</ul>
}
<input type="hidden" id="pcmno_@(item.cmno)_cgcode" value="@(item.cgcode)" />
<ul class="smtlChk" id="ulSubCm_@item.cmno"></ul>
</li>
}
@if (Model.CMs.Count == 0)
{
<li style="border:0px;">
<div style="margin: 0 auto;display: table;text-align: center;">
<p style="font-size: 25px;line-height: 50px;">현재 개설된 과정이 없습니다.</p><p class="subDsc">자세한 사항은 1544-7660으로 문의 하세요.</p>
</div>
</li>
}
</ul>
<ul class="clsBtn society">
<li style="display:none;"><a href="/">뒤로가기</a></li>
<li><a href="/">뒤로가기</a></li>
</ul>
</div>
<div class="clsPop" id="divIntro" style="display:none;">
<div>
<div>
@ -387,7 +387,7 @@
checkLectIsComplete(_cmno);
}
else {
msg("1. 선택한 교육목적으로 인정되지 않는 경우\n\n2. 이미 신청 또는 수료한 교육과 함께 수료하면 인정이 되지 않는 경우따라서 현제 화면에 나와있는 다른 교육으로 신청하여 주시기 바랍니다.\n\n문의 : 1544 - 7660");
msg("이 교육은 아래의 사유 중 하나에 해당되어 신청되지 않는 교육입니다.<br><br>1. 선택한 교육목적으로 인정되지 않는 경우<br>2. 이미 신청 또는 수료한 교육과 함께 수료하면 인정이 되지 않는 경우<br><br>따라서 현재 화면에 나와있는 다른 교육으로 신청하여 주시기 바랍니다.<br><br>문의 : 1544 - 7660");
}
}
else {

View File

@ -62,5 +62,7 @@ namespace NP.Model
public Data ErrLi { get; set; }
public int todayLectinningCount { get; set; }
public int daylectinninglimit { get; set; }
public Excellog excellog { get; set; }
}
}

View File

@ -36,5 +36,6 @@ namespace NP.Model
public EmailSend EmailSend { get; set; }
public IList<EmailSend> EmailBans { get; set; }
public IList<CMinningscd> CMinningscds { get; set; }
public Excellog excellog { get; set; }
}
}

View File

@ -39,5 +39,7 @@ namespace NP.Model
public IList<Term> Terms { get; set; }
public IList<CMCalc> CMCalcs { get; set; }
public IList<CG> CGs { get; set; }
public Excellog excellog { get; set; }
}
}