diff --git a/BO/Controllers/AccountController.cs b/BO/Controllers/AccountController.cs
index 29f8e14..f308db8 100644
--- a/BO/Controllers/AccountController.cs
+++ b/BO/Controllers/AccountController.cs
@@ -287,6 +287,8 @@ namespace NP.BO.Controllers
m.Users.Add(new MemoUser()
{
userno = u.userno,
+ uno = SUserInfo.UserNo,
+ uip = GetUserIP(),
smstype = "A",
isok = string.IsNullOrEmpty(u.mobile) ? -1 : 1,
title = "[영남건설기술교육원] 진행평가 참여 알림",
@@ -301,6 +303,27 @@ namespace NP.BO.Controllers
SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage1");
m.Users.Clear();
}
+
+ foreach (var u in lects.Where(w => w.scdno < 8 && w.issms == 1))
+ {
+ m.Users.Add(new MemoUser()
+ {
+ userno = u.userno,
+ smstype = "S",
+ isok = string.IsNullOrEmpty(u.mobile) ? -1 : 1,
+ title = "[영남건설기술교육원] 진행평가 참여 알림",
+ mobile = (u.mobile ?? "").Replace("-", ""),
+ mcontents = string.Format("영남건설기술교육원입니다.\n\n[{0}]님이 수강중인 [{1}] 강좌의 교육 종료일이 {2}일 남았습니다. 종료되기전에 서둘러 " +
+ (u.scdno < 3 ? "학습을 진행" : u.scdno == 3 ? "진행평가에" : u.scdno == 4 ? "최종평가에" : u.scdno == 5 ? "과제을 제출" : u.scdno == 6 ? "토론에 참여" : u.scdno == 7 ? "강의평가에 참여" : "-") + "해주세요.\n\n☞사이트 : https://edu.kfcf.or.kr",
+ u.username, u.cname, u.dday)
+ });
+ }
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList());
+ m.Users.Clear();
+ }
+
var masteremail = GetConfig("masteremail");
var senderemail = masteremail.Split(';')[0];
foreach (var u in lects.Where(w => w.scdno < 3 && w.isemail == 1))
@@ -334,6 +357,26 @@ namespace NP.BO.Controllers
SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage7");
m.Users.Clear();
}
+
+ foreach (var u in lects.Where(w => w.scdno == 8 && w.issms == 1))
+ {
+ m.Users.Add(new MemoUser()
+ {
+ userno = u.userno,
+ smstype = "S",
+ title = "[영남건설기술교육원] 진행평가 참여 알림",
+ isok = string.IsNullOrEmpty(u.mobile) ? -1 : 1,
+ mobile = (u.mobile ?? "").Replace("-", ""),
+ mcontents = string.Format("영남건설기술교육원입니다.\n\n{0}님이 신청중인 [{1}] 강좌의 교육이 [{2}]에 {3}에서 시작됩니다.\n\n☞사이트 : https://edu.kfcf.or.kr",
+ u.username, u.cname, u.stime.ToString("yyyy-MM-dd"), u.place)
+ });
+ }
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList());
+ m.Users.Clear();
+ }
+
var masteremail = GetConfig("masteremail");
var senderemail = masteremail.Split(';')[0];
foreach (var u in lects.Where(w => w.scdno == 8 && w.isemail == 1))
@@ -366,6 +409,26 @@ namespace NP.BO.Controllers
SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage8");
m.Users.Clear();
}
+
+ foreach (var u in lects.Where(w => w.scdno == 9 && w.issms == 1))
+ {
+ m.Users.Add(new MemoUser()
+ {
+ userno = u.userno,
+ smstype = "S",
+ title = "[영남건설기술교육원] 진행평가 참여 알림",
+ isok = string.IsNullOrEmpty(u.mobile) ? -1 : 1,
+ mobile = (u.mobile ?? "").Replace("-", ""),
+ mcontents = string.Format("영남건설기술교육원입니다.\n\n{0}님이 신청중인 [{1}] 자격검정이 [{2}]에 {3}에서 이뤄질 예정입니다.\n\n☞사이트: https://edu.kfcf.or.kr",
+ u.username, u.cname, u.stime.ToString("yyyy-MM-dd HH:mm"), u.place)
+ });
+ }
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList());
+ m.Users.Clear();
+ }
+
var masteremail = GetConfig("masteremail");
var senderemail = masteremail.Split(';')[0];
foreach (var u in lects.Where(w => w.scdno == 9 && w.isemail == 1))
diff --git a/BO/Views/Home/Index.cshtml b/BO/Views/Home/Index.cshtml
index f63bbf9..f07bb6e 100644
--- a/BO/Views/Home/Index.cshtml
+++ b/BO/Views/Home/Index.cshtml
@@ -9,7 +9,7 @@
홈페이지Q&A미답변 |
강의Q&A미답변 |
환불요청 |
- 교재미배송 |
+ @*교재미배송 | *@
계산서미발행 |
@@ -19,7 +19,7 @@
@Model.Data.intval2.ToString("#,0") 건 |
@Model.Data.intval3.ToString("#,0") 건 |
@Model.Data.intval4.ToString("#,0") 건 |
- @Model.Data.intval5.ToString("#,0") 건 |
+ @*@Model.Data.intval5.ToString("#,0") 건 | *@
@Model.Data.intval6.ToString("#,0") 건 |
diff --git a/BO/Views/cm/qs.cshtml b/BO/Views/cm/qs.cshtml
index dd2bd91..40aec4d 100644
--- a/BO/Views/cm/qs.cshtml
+++ b/BO/Views/cm/qs.cshtml
@@ -232,6 +232,7 @@
// (es[5] != "" ? ("분류5: " + es[5]) : ""));
//}
else if (capResult.code == 123) {
+ $('#file').val("");
var es = capResult.msg.split(';');
msg2("존재하지 않는 문제유형코드가 있습니다. 확인후 다시 업로드해주세요.
" +
(es[0] != "" ? ("분류1: " + es[0] + "
") : "") +
@@ -241,6 +242,7 @@
(es[4] != "" ? ("분류5: " + es[4]) : ""));
}
else {
+ $('#file').val("");
console.log(capResult.msg);
msg2("업로드가 실패했습니다.
" + capResult.msg, null, true);
}
diff --git a/BO/js/site.js b/BO/js/site.js
index ef8e67a..79e30db 100644
--- a/BO/js/site.js
+++ b/BO/js/site.js
@@ -819,7 +819,7 @@ function capfile(url, data, callback, noeval, setBG, jsislayer2, abscaller) {
if (_setBG) {
$("#bglayer").hide();
}
- capResult = data;
+ data = null;
if (capResult.code == 1000 || _abscaller) {
eval(capfilecallback.substr(capfilecallback.length - 1, 1) == ")" ? capfilecallback : (capfilecallback + "()"));
}
diff --git a/BO/obj/Debug/BO.csprojAssemblyReference.cache b/BO/obj/Debug/BO.csprojAssemblyReference.cache
index 604a8d8..79ba8df 100644
Binary files a/BO/obj/Debug/BO.csprojAssemblyReference.cache and b/BO/obj/Debug/BO.csprojAssemblyReference.cache differ
diff --git a/Base/Controller/ACommon.cs b/Base/Controller/ACommon.cs
index 2f9d0d8..c41c2e6 100644
--- a/Base/Controller/ACommon.cs
+++ b/Base/Controller/ACommon.cs
@@ -1229,9 +1229,9 @@ namespace NP.Base.Controllers
return JsonBack(new JsonRtn() { code = 1, msg = "객관식은 최소한 보기 2개와 답을 입력해야합니다. " + seq + "번째 문제를 확인해주세요" });
}
//주관식 단답 정답 기입 확인
- if (d.atype > 0 && (string.IsNullOrEmpty(d.qitext1.Replace(" ", ""))))
+ if (d.atype == 1 && (string.IsNullOrEmpty(d.qitext1.Replace(" ", ""))))
{
- return JsonBack(new JsonRtn() { code = 1, msg = "단답형은 답을 입력해야합니다. " + seq + "번째 문제를 확인해주세요" });
+ return JsonBack(new JsonRtn() { code = 1, msg = "주관식과 단답형은 답을 입력해야합니다. " + seq + "번째 문제를 확인해주세요" });
}
////주관식 단답 정답 기입 확인
//if (d.atype > 0 && (string.IsNullOrEmpty(d.qitext1.Replace(" ", ""))))
diff --git a/Base/Controller/ACommonCRoom.cs b/Base/Controller/ACommonCRoom.cs
index 461ed01..f63be76 100644
--- a/Base/Controller/ACommonCRoom.cs
+++ b/Base/Controller/ACommonCRoom.cs
@@ -865,7 +865,23 @@ namespace NP.Base.Controllers
SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage1");
m.Users.Clear();
}
-
+
+ m.Users.Add(new MemoUser()
+ {
+ smstype = "S",
+ isok = 1,
+ title = "[영남건설기술교육원] 진행평가 참여 알림",
+ mobile = mobile,
+ mcontents = string.Format("영남건설기술교육원입니다.\n\n[{0}]님이 수강중인 [{1}] 강좌의 교육 종료일이 {2}일 남았습니다. 종료되기전에 서둘러 " +
+ (scdno < 3 ? "학습을 진행" : scdno == 3 ? "진행평가에" : scdno == 4 ? "최종평가에" : scdno == 5 ? "과제을 제출" : scdno == 6 ? "토론에 참여" : scdno == 7 ? "강의평가에 참여" : "-") + "해주세요.\n\n☞사이트 : https://ynicte.nptc.kr/",
+ "test", "테스트", 1)
+ });
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList());
+ m.Users.Clear();
+ }
+
if (IsEmail(email))
{
SendEmail(masteremail.Split(';')[1], GetInt(masteremail.Split(';')[2]), masteremail.Split(';')[3], masteremail.Split(';')[4], 999,
@@ -885,8 +901,27 @@ namespace NP.Base.Controllers
mobile = mobile,
mcontents = string.Format("영남건설기술교육원입니다.\n\n{0}님이 신청중인 [{1}] 강좌의 교육이 [{2}]에 {3}에서 시작됩니다.\n\n☞사이트 : https://ynicte.nptc.kr/",
"test", "테스트", DateTime.Now.ToString("yyyy-MM-dd"),"영남건설기술교육원 대회의실")});
- SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage7");
- m.Users.Clear();
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage7");
+ m.Users.Clear();
+ }
+
+ m.Users.Add(new MemoUser()
+ {
+ smstype = "S",
+ isok = 1,
+ title = "[영남건설기술교육원] 진행평가 참여 알림",
+ mobile = mobile,
+ mcontents = string.Format("영남건설기술교육원입니다.\n\n{0}님이 신청중인 [{1}] 강좌의 교육이 [{2}]에 {3}에서 시작됩니다.\n\n☞사이트 : https://ynicte.nptc.kr/",
+ "test", "테스트", DateTime.Now.ToString("yyyy-MM-dd"), "영남건설기술교육원 대회의실")
+ });
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList());
+ m.Users.Clear();
+ }
+
if (IsEmail(email))
{
SendEmail(masteremail.Split(';')[1], GetInt(masteremail.Split(';')[2]), masteremail.Split(';')[3], masteremail.Split(';')[4], 999, email, senderemail, "[영남건설기술교육원]", "[영남건설기술교육원] 진행평가 참여 알림",
@@ -905,11 +940,33 @@ namespace NP.Base.Controllers
mcontents = string.Format("영남건설기술교육원입니다.\n\n{0}님이 수강중인 [{1}] 자격검정이 [{2}]에 영남건설기술교육원 대회의실에서 이뤄질 예정입니다.\n\n☞사이트: https://ynicte.nptc.kr/",
"test", "테스트", DateTime.Now.ToString("yyyy-MM-dd HH:mm"))
});
- SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage8");
- m.Users.Clear();
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage8");
+ m.Users.Clear();
+ }
+
+ m.Users.Add(new MemoUser()
+ {
+ smstype = "S",
+ isok = 1,
+ title = "[영남건설기술교육원] 진행평가 참여 알림",
+ mobile = mobile,
+ mcontents = string.Format("영남건설기술교육원입니다.\n\n{0}님이 수강중인 [{1}] 자격검정이 [{2}]에 영남건설기술교육원 대회의실에서 이뤄질 예정입니다.\n\n☞사이트: https://ynicte.nptc.kr/",
+ "test", "테스트", DateTime.Now.ToString("yyyy-MM-dd HH:mm"))
+ });
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList());
+ m.Users.Clear();
+ }
+
+ if (IsEmail(email))
+ {
SendEmail(masteremail.Split(';')[1], GetInt(masteremail.Split(';')[2]), masteremail.Split(';')[3], masteremail.Split(';')[4], 999, email, senderemail, "[영남건설기술교육원]", "[영남건설기술교육원] 진행평가 참여 알림",
- string.Format("영남건설기술교육원입니다.
{0}님이 수강중인 [{1}] 자격검정이 [{2}]에 영남건설기술교육원 대회의실에서 이뤄질 예정입니다.
☞사이트: https://ynicte.nptc.kr/",
- "test", "테스트", DateTime.Now.ToString("yyyy-MM-dd HH:mm")));
+ string.Format("영남건설기술교육원입니다.
{0}님이 수강중인 [{1}] 자격검정이 [{2}]에 영남건설기술교육원 대회의실에서 이뤄질 예정입니다.
☞사이트: https://ynicte.nptc.kr/",
+ "test", "테스트", DateTime.Now.ToString("yyyy-MM-dd HH:mm")));
+ }
}
return JsonOK(1);
}
diff --git a/Base/Controller/BasePartialController.cs b/Base/Controller/BasePartialController.cs
index 846ae0f..1e5951a 100644
--- a/Base/Controller/BasePartialController.cs
+++ b/Base/Controller/BasePartialController.cs
@@ -11,6 +11,7 @@ using System.IO;
using System.Web.Mail;
using System.Web.Compilation;
using NP.Model;
+using System.Net.Http;
namespace NP.Base
{
@@ -1235,9 +1236,8 @@ namespace NP.Base
}
public void SaveTalk(IList Users, String tmplkey)
{
-
- IList m = new List() { };
- var us = Users.Where(w => w.isok == 1).ToList();
+ Memo m = new Memo() { Users = Users ,uno = SUserInfo.UserNo,uip = GetUserIP()};
+ var us = m.Users.Where(w => w.isok == 1).ToList();
if (us.Count() > 0)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
@@ -1259,8 +1259,61 @@ namespace NP.Base
var cmd = new MySql.Data.MySqlClient.MySqlCommand("insert into mts_atalk_msg(tran_sender_key,tran_tmpl_cd,tran_callback,tran_phone,tran_subject,tran_msg,tran_date,tran_type,tran_status,tran_replace_type,tran_replace_msg) values" + sb.ToString().Substring(1), conn);
cmd.ExecuteNonQuery();
}
+ Dao.Save("common.smsuser.in", m);
}
}
+ [HttpPost]
+ public JsonResult SaveSmsMulti(IList Users)
+ {
+ Memo m = new Memo() {Users = Users };
+ //m.mcontents = m.mcontents.Length > 1000 ? m.mcontents.Substring(0, 1000) : m.mcontents;
+ var us = m.Users.Where(w => w.isok == 1).ToList();
+ if (us.Count() > 0)
+ {
+ m.uno = SUserInfo.UserNo;
+ m.uip = GetUserIP();
+ Dao.Insert("common.sms.in", m);
+ System.Text.StringBuilder sbm = new System.Text.StringBuilder("");
+ System.Text.StringBuilder sbs = new System.Text.StringBuilder("");
+ var cbnum = GetConfig("mtssendnum");
+ for (var i = 0; i < us.Count(); i++)
+ {
+ us[i].ismms = System.Text.Encoding.Default.GetBytes(us[i].mcontents).Length > 90;
+ if (us[i].ismms)
+ {
+ sbm.Append(string.Format(",('{0}','{1}','{2}', now(),{5},'{3}','{4}')", us[i].mobile, cbnum, us[i].mcontents, m.mno, us[i].userno, us[i].ismms ? 4 : 0));
+ }
+ else
+ {
+ sbs.Append(string.Format(",('{0}','{1}','{2}', now(),{5},'{3}','{4}')", us[i].mobile, cbnum, us[i].mcontents, m.mno, us[i].userno, us[i].ismms ? 4 : 0));
+ }
+ }
+ var strConn = GetConfig("mtsdb");
+ //sms일경우
+ if(us.Where(w=>!w.ismms).Count()> 0)
+ {
+ using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn))
+ {
+ conn.Open();
+ var cmd = new MySql.Data.MySqlClient.MySqlCommand("insert into mts_sms_msg(tran_phone,tran_callback,tran_msg,tran_date,tran_type,tran_etc1,tran_etc2) values" + sbs.ToString().Substring(1), conn);
+ cmd.ExecuteNonQuery();
+ }
+ }
+ //mms일경우
+ if(us.Where(w=>w.ismms).Count() > 0)
+ {
+ using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn))
+ {
+ conn.Open();
+ var cmd = new MySql.Data.MySqlClient.MySqlCommand("insert into mts_mms_msg(tran_phone,tran_callback,tran_msg,tran_date,tran_type,tran_etc1,tran_etc2) values" + sbm.ToString().Substring(1), conn);
+ cmd.ExecuteNonQuery();
+ }
+ }
+
+ return JsonOK(Dao.Save("common.smsuser.in", m));
+ }
+ return JsonOK(0);
+ }
///
///
///
diff --git a/Base/obj/Debug/Base.csprojAssemblyReference.cache b/Base/obj/Debug/Base.csprojAssemblyReference.cache
index 6ec1aba..782c52b 100644
Binary files a/Base/obj/Debug/Base.csprojAssemblyReference.cache and b/Base/obj/Debug/Base.csprojAssemblyReference.cache differ
diff --git a/Dao/obj/Debug/Dao.csprojAssemblyReference.cache b/Dao/obj/Debug/Dao.csprojAssemblyReference.cache
index 4d50338..37188a2 100644
Binary files a/Dao/obj/Debug/Dao.csprojAssemblyReference.cache and b/Dao/obj/Debug/Dao.csprojAssemblyReference.cache differ
diff --git a/FO/Controllers/MyController.cs b/FO/Controllers/MyController.cs
index d0e5378..1bce72d 100644
--- a/FO/Controllers/MyController.cs
+++ b/FO/Controllers/MyController.cs
@@ -238,6 +238,7 @@ namespace NP.FO.Controllers
public ActionResult PayInfo(VMPay vm)
{
ViewBag.istest = GetConfig("ispaytest");
+ ViewBag.reporturl = GetConfig("reporturl");
vm.Pay = Dao.Get("pay.mypay", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "payno", vm.payno } }).FirstOrDefault();
if (vm.Pay == null)
{
diff --git a/FO/Views/My/PayInfo.cshtml b/FO/Views/My/PayInfo.cshtml
index c4b2d0d..0f7a90b 100644
--- a/FO/Views/My/PayInfo.cshtml
+++ b/FO/Views/My/PayInfo.cshtml
@@ -76,19 +76,19 @@
{
if (Model.PayRfd.rstatus == 0 && (Model.PayRfd.fgnob == null || Model.PayRfd.fgnor == null))
{
- [서류등록/취소] [신청서출력]
+ [서류등록/취소] [신청서출력]
}
else if (Model.PayRfd.rstatus == 0 && (Model.PayRfd.fgnob != null && Model.PayRfd.fgnor != null))
{
- [상세내용조회/취소] [신청서출력]
+ [상세내용조회/취소] [신청서출력]
}
else if (Model.PayRfd.rstatus == 1 && (Model.PayRfd.fgnob != null && Model.PayRfd.fgnor != null))
{
- [상세내용조회] [신청서출력]
+ [상세내용조회] [신청서출력]
}
else if (Model.PayRfd.rstatus == 2 && (Model.PayRfd.fgnob != null && Model.PayRfd.fgnor != null))
{
- [상세내용조회] [신청서출력]
+ [상세내용조회] [신청서출력]
}
}
@@ -680,6 +680,12 @@
gogo2();
});
}
+ function rfdrequest(lectno) {
+ var pop = window.open('@ViewBag.reporturl/rfdrequest.aspx?lectno='+lectno, "rfdrequest", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
+ if (pop == null) {
+ msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
+ }
+ }
@if (ViewBag.isPayTest == "1")
{
diff --git a/Model/Common.cs b/Model/Common.cs
index 4ee2c75..9961d9c 100644
--- a/Model/Common.cs
+++ b/Model/Common.cs
@@ -120,6 +120,7 @@ namespace NP.Model
public String message { get; set; }
public String mcontents { get; set; }
public String title { get; set; }
+ public bool ismms { get; set; }
}