<기능개선>
1. PMS NO : 8310 2. (주요)작업내용 (1) Dao/MyBatis/Maps/CRoom.xml - cgcode 컬럼 추가 (2) Model/Pay.cs - cgcode 필드 추가 및 edukind 변경 (3) 그외 - Base/Controller/ACommon.cs : 증빙서류출력(과거)등록시 조건 수정 - FO/Views/CRoom/Index.cshtml : 알림톡 잇슈관련 복원 - FO/Views/CRoom/Innings.cshtml: 알림톡 잇슈관련 복원
This commit is contained in:
parent
dd8649bb33
commit
e3124b7a57
|
|
@ -1789,64 +1789,93 @@ namespace NP.Base.Controllers
|
|||
d.sedate = Convert.ToDateTime(d.sedatestring);
|
||||
}
|
||||
|
||||
if(string.IsNullOrEmpty(d.userpno.Trim()))
|
||||
if(!string.IsNullOrWhiteSpace(d.kind) && !string.IsNullOrWhiteSpace(d.cg))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 주민번호가 공란입니다." });
|
||||
}
|
||||
else if (string.IsNullOrEmpty(d.cgname.Trim()))
|
||||
if (string.IsNullOrEmpty(d.userpno.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 주민번호가 공란입니다." });
|
||||
}
|
||||
else if (string.IsNullOrEmpty(d.cgname.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 과정명이 공란입니다." });
|
||||
}
|
||||
//else if (string.IsNullOrEmpty(d.completeno.Trim()))
|
||||
//{
|
||||
// return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 수료번호가 공란입니다." });
|
||||
//}
|
||||
else if (string.IsNullOrEmpty(d.ssdatestring.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육시작일이 공란입니다." });
|
||||
}
|
||||
else if (string.IsNullOrEmpty(d.sedatestring.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육종료일이 공란입니다." });
|
||||
}
|
||||
/*
|
||||
else if (string.IsNullOrEmpty(d.username.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 이름이 공란입니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.brno.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 사업자등록번호는 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.eino.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 고용보험관리번호는 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.sctime.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육이수시간은 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.sprice.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육비는 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.rprice.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 환급액은 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.rbankno.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 환급계좌는 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.syear.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육년도는 숫자만 입력가능합니다." });
|
||||
}
|
||||
*/
|
||||
d.uno = SUserInfo.UserNo;
|
||||
d.uip = GetUserIP();
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
int result = 0;
|
||||
int cnt = 0;
|
||||
int limit = 5; // 10000;
|
||||
List<Document> tempData = new List<Document>();
|
||||
|
||||
foreach(var item in data)
|
||||
{
|
||||
++cnt;
|
||||
tempData.Add(item);
|
||||
|
||||
if (cnt > limit)
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 과정명이 공란입니다." });
|
||||
result += Dao.Save("cr.documnetspast.batch", new Hashtable() { { "Ds", tempData } });
|
||||
|
||||
cnt = 0;
|
||||
tempData = new List<Document>();
|
||||
}
|
||||
else if (string.IsNullOrEmpty(d.completeno.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 수료번호가 공란입니다." });
|
||||
}
|
||||
else if (string.IsNullOrEmpty(d.ssdatestring.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육시작일이 공란입니다." });
|
||||
}
|
||||
else if (string.IsNullOrEmpty(d.sedatestring.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육종료일이 공란입니다." });
|
||||
}
|
||||
/*
|
||||
else if (string.IsNullOrEmpty(d.username.Trim()))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 이름이 공란입니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.brno.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 사업자등록번호는 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.eino.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 고용보험관리번호는 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.sctime.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육이수시간은 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.sprice.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육비는 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.rprice.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 환급액은 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.rbankno.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 환급계좌는 숫자만 입력가능합니다." });
|
||||
}
|
||||
else if (!long.TryParse(d.syear.Trim(), out tryParseResult))
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 교육년도는 숫자만 입력가능합니다." });
|
||||
}
|
||||
*/
|
||||
d.uno = SUserInfo.UserNo;
|
||||
d.uip = GetUserIP();
|
||||
}
|
||||
return JsonOK(Dao.Save("cr.documnetspast.batch", new Hashtable() { { "Ds", data } }));
|
||||
}
|
||||
|
||||
if(tempData.Count > 0)
|
||||
{
|
||||
result += Dao.Save("cr.documnetspast.batch", new Hashtable() { { "Ds", tempData } });
|
||||
}
|
||||
|
||||
return JsonOK(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -903,13 +903,13 @@
|
|||
,count(p.payno) over() pagetotalcount
|
||||
,scd.estart cmiestart, scd.eend cmieeend, scd.studyplace cmistudyplace
|
||||
,pi.rbank , CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) rbankaccnum, pi.tbankuser
|
||||
,cc1.cname tgname,cc2.cname tename
|
||||
,cc3.cname tmname,cc4.cname tjname
|
||||
,cc1.cname tgname,cc2.cname tename, cg.cgcode
|
||||
,cc3.cname tmname,cc4.cname tjname
|
||||
from (
|
||||
select 0 isexamready,p.payno,max(case when pi.ptype in (0,1,3,4) then pi.pino else 0 end) pi1,min(pi.pino) pi2,count(pi.pino) ccount
|
||||
from pay p
|
||||
inner join payitem pi on pi.payno=p.payno
|
||||
<isNotNull property="piptype">and pi.ptype=#piptype#</isNotNull>
|
||||
select 0 isexamready,p.payno,max(case when pi.ptype in (0,1,3,4) then pi.pino else 0 end) pi1,min(pi.pino) pi2,count(pi.pino) ccount
|
||||
from pay p
|
||||
inner join payitem pi on pi.payno=p.payno
|
||||
<isNotNull property="piptype">and pi.ptype=#piptype#</isNotNull>
|
||||
<isNotNull property="isrebates">and pi.ptype in (0, 4) and pi.isrebate in ($isrebates$)</isNotNull>
|
||||
inner join users u on u.userno=p.userno
|
||||
left outer join assign ua on ua.asno=u.asno
|
||||
|
|
@ -970,28 +970,29 @@
|
|||
<isNotNull property="usernameiditemname">and (u.username=#usernameiditemname# or u.userid=#usernameiditemname# or ex.exname like concat('%',#usernameiditemname#,'%') or ua.asname like concat('%',#usernameiditemname#,'%'))</isNotNull>
|
||||
<isNotNull property="isgroup">and a.exno=0</isNotNull>
|
||||
<isNotNull property="mobile" prepend="and">cast(AES_DECRYPT(UNHEX(u.mobile), 'np123@!' ) as char) like concat('%',#mobile#,'%')</isNotNull>
|
||||
) a
|
||||
left outer join pay p on a.isexamready=0 and p.payno=a.payno
|
||||
left outer join payitem pi on a.isexamready=0 and pi.pino=case when a.pi1=0 then a.pi2 else a.pi1 end
|
||||
left outer join examuser ue on a.isexamready=1 and ue.exno=a.payno and ue.userno=a.pi1
|
||||
left outer join exam uee on a.isexamready=1 and uee.exno=ue.exno
|
||||
inner join users u on u.userno=case when a.isexamready=0 then p.userno else ue.userno end
|
||||
left outer join pplog pp on p.pplno = pp.pplno
|
||||
left outer join assign ua on ua.asno=u.asno
|
||||
left outer join payrfditem pri on a.isexamready=0 and pri.pino=pi.pino
|
||||
left outer join payrfd pr on a.isexamready=0 and pr.rfdno=pri.rfdno
|
||||
left outer join cm cm on a.isexamready=0 and pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
||||
left outer join lect le on a.isexamready=0 and le.pino=pi.pino and le.ischanged=0
|
||||
left outer join book bk on a.isexamready=0 and pi.ptype=2 and bk.bkno=pi.itemno
|
||||
left outer join exam ex on a.isexamready=0 and ex.exno=pi.itemno
|
||||
left outer join examuser exu on exu.exno=ex.exno and exu.userno=p.userno
|
||||
left outer join pplog ppl on ppl.pplno = p.pplno
|
||||
left outer join cminningscd scd on scd.cmisno = le.cmisno
|
||||
left outer join comcode cc1 on cc1.ccode = ppl.typegrade
|
||||
left outer join comcode cc2 on cc2.ccode = ppl.typeedu
|
||||
left outer join comcode cc3 on cc3.ccode = ppl.typeman
|
||||
left outer join comcode cc4 on cc4.ccode = ppl.typejob
|
||||
<dynamic prepend="where">
|
||||
) a
|
||||
left outer join pay p on a.isexamready=0 and p.payno=a.payno
|
||||
left outer join payitem pi on a.isexamready=0 and pi.pino=case when a.pi1=0 then a.pi2 else a.pi1 end
|
||||
left outer join examuser ue on a.isexamready=1 and ue.exno=a.payno and ue.userno=a.pi1
|
||||
left outer join exam uee on a.isexamready=1 and uee.exno=ue.exno
|
||||
inner join users u on u.userno=case when a.isexamready=0 then p.userno else ue.userno end
|
||||
left outer join pplog pp on p.pplno = pp.pplno
|
||||
left outer join assign ua on ua.asno=u.asno
|
||||
left outer join payrfditem pri on a.isexamready=0 and pri.pino=pi.pino
|
||||
left outer join payrfd pr on a.isexamready=0 and pr.rfdno=pri.rfdno
|
||||
left outer join cm cm on a.isexamready=0 and pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
||||
left outer join cg cg on cm.cgno = cg.cgno
|
||||
left outer join lect le on a.isexamready=0 and le.pino=pi.pino and le.ischanged=0
|
||||
left outer join book bk on a.isexamready=0 and pi.ptype=2 and bk.bkno=pi.itemno
|
||||
left outer join exam ex on a.isexamready=0 and ex.exno=pi.itemno
|
||||
left outer join examuser exu on exu.exno=ex.exno and exu.userno=p.userno
|
||||
left outer join pplog ppl on ppl.pplno = p.pplno
|
||||
left outer join cminningscd scd on scd.cmisno = le.cmisno
|
||||
left outer join comcode cc1 on cc1.ccode = ppl.typegrade
|
||||
left outer join comcode cc2 on cc2.ccode = ppl.typeedu
|
||||
left outer join comcode cc3 on cc3.ccode = ppl.typeman
|
||||
left outer join comcode cc4 on cc4.ccode = ppl.typejob
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="estart" prepend="and">scd.estart >= #estart#</isNotNull>
|
||||
<isNotNull property="eend" prepend="and">scd.eend <= #eend#</isNotNull>
|
||||
<isNotNull property="studyplace" prepend="and">scd.studyplace=#studyplace#</isNotNull>
|
||||
|
|
@ -1622,7 +1623,7 @@
|
|||
where no=#no#
|
||||
</update>
|
||||
<update id="cr.documnetspast.batch" parameterClass="hashtable">
|
||||
insert into docprintpast (kind, cg, cshape, username, userpno, typeman, edukind, typeedu, typegrade, typejob, cgname, completeno, companyname, companyaddr, brno, eino, btype, bkind, ceoname, ssdate, sedate, sctime, assign, slevel, uduty, phone, mname, mphone, sprice, rprice, rbank, rbankno, rbankuser, taxemail, syear, <include refid="sql.inc"></include>)
|
||||
insert into docprintpast(kind, cg, cshape, username, userpno, typeman, edukind, typeedu, typegrade, typejob, cgname, completeno, companyname, companyaddr, brno, eino, btype, bkind, ceoname, ssdate, sedate, sctime, assign, slevel, uduty, phone, mname, mphone, sprice, rprice, rbank, rbankno, rbankuser, taxemail, syear, <include refid="sql.inc"></include>)
|
||||
<iterate property="Ds" open="" conjunction="union all" close="">
|
||||
select #Ds[].kind#, #Ds[].cg#, #Ds[].cshape#, #Ds[].username#
|
||||
, HEX(AES_ENCRYPT(#Ds[].userpno#, <include refid="sql.digest"></include>))
|
||||
|
|
|
|||
|
|
@ -298,6 +298,8 @@
|
|||
viewcontents(_cmino, false,@Model.croomlectno);
|
||||
} else {
|
||||
_authplatform = capResult.msg;
|
||||
|
||||
// ### 모바일 인증 처리
|
||||
if(_authplatform == "0"){
|
||||
msg("학습인증수단이 없는 회원입니다. 정보수정을 통해 학습인증수단을 입력해주세요.");
|
||||
} else if (_authplatform == "1") {
|
||||
|
|
@ -305,6 +307,8 @@
|
|||
} else if (_authplatform == "2") {
|
||||
confirmtoggle(true, "학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 회차 당 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkmobile()");
|
||||
}
|
||||
// ### 모바일 인증 중단 처리
|
||||
// viewcontents(_cmino, false,@Model.croomlectno);
|
||||
}
|
||||
} else {
|
||||
msg("휴대폰 번호가 공란입니다.<br/>정보수정을 통해 번호를 입력해주세요.");
|
||||
|
|
|
|||
|
|
@ -202,6 +202,7 @@
|
|||
//viewcontents(_cmino, false,@Model.croomlectno);
|
||||
} else {
|
||||
_authplatform = capResult.msg;
|
||||
// ### 모바일 인증 처리
|
||||
if(_authplatform == "0"){
|
||||
msg("학습인증수단이 없는 회원입니다. 정보수정을 통해 학습인증수단을 입력해주세요.");
|
||||
} else if (_authplatform == "1") {
|
||||
|
|
@ -209,6 +210,8 @@
|
|||
} else if (_authplatform == "2") {
|
||||
confirmtoggle(true, "학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 회차 당 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkmobile()");
|
||||
}
|
||||
// ### 모바일 인증 중단 처리
|
||||
//msg("학습을 시작합니다.", null, null, null, "viewcontents("+_cmino+",false,@(Model.croomlectno))");
|
||||
}
|
||||
} else {
|
||||
msg("휴대폰 번호가 공란입니다.<br/>정보수정을 통해 번호를 입력해주세요.");
|
||||
|
|
|
|||
|
|
@ -620,7 +620,8 @@ namespace NP.Model
|
|||
{
|
||||
get
|
||||
{
|
||||
return tename == null ? "" : tename.Contains("기본교육") ? "기본" : "전문";
|
||||
return cgcode == "101" ? "기본" : "전문";
|
||||
//return tename == null ? "" : tename.Contains("기본교육") ? "기본" : "전문";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
|
|
@ -640,6 +641,7 @@ namespace NP.Model
|
|||
|
||||
public String userpno { get; set; }
|
||||
public string studytime { get; set; }
|
||||
public string cgcode { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue