From fa8ee14ae6cf068c2e9753156e5a8807c49ba606 Mon Sep 17 00:00:00 2001 From: lch Date: Tue, 25 May 2021 07:22:56 +0000 Subject: [PATCH] =?UTF-8?q?"5.=20=C2=B7=20=EA=B5=90=EC=9C=A1=EC=9A=B4?= =?UTF-8?q?=EC=98=81>=EC=A6=9D=EB=B9=99=EC=84=9C=EB=A5=98=EC=B6=9C?= =?UTF-8?q?=EB=A0=A5(=EA=B3=BC=EA=B1=B0)=20=ED=99=94=EB=A9=B4=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=EC=9D=98=20=EB=93=B1=EB=A1=9D/=EC=88=98?= =?UTF-8?q?=EC=A0=95=EA=B8=B0=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BO/BO.csproj | 3 +- BO/Content/file/documentspast.xlsx | Bin 0 -> 17054 bytes BO/Controllers/croomController.cs | 25 ++- BO/Views/croom/documentspast.cshtml | 327 +++++++++++++++++++++++++++- Base/Controller/ACommon.cs | 77 +++++++ Base/Controller/ACommonCRoom.cs | 13 ++ Dao/DB/DB1.Scheme.txt | 62 +++++- Dao/DB/DB1.SchemeFK.txt | 12 + Dao/MyBatis/Maps/CRoom.xml | 114 ++++++++-- Model/Documents.cs | 22 +- 10 files changed, 614 insertions(+), 41 deletions(-) create mode 100644 BO/Content/file/documentspast.xlsx diff --git a/BO/BO.csproj b/BO/BO.csproj index 7a1f6bc..f8d9518 100644 --- a/BO/BO.csproj +++ b/BO/BO.csproj @@ -60,7 +60,7 @@ ..\packages\Common.Logging.Core.3.0.0\lib\net40\Common.Logging.Core.dll - ..\..\LMS_TSTI\Source\Core\NPTech.LMS.Core\bin\Release\IBatisNet.Common.Logging.Log4Net.dll + ..\References\IBatisNet.Common.Logging.Log4Net.dll ..\References\Popbill\Linkhub.dll @@ -497,6 +497,7 @@ + diff --git a/BO/Content/file/documentspast.xlsx b/BO/Content/file/documentspast.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c0b322c884c2fe8f1dc49e4ec931b17f93a569dd GIT binary patch literal 17054 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"cr.documnets.syear", ht).ToList(); - vm.cgs = Dao.Get("cr.documnets.cg", ht).ToList(); - vm.cshapes = Dao.Get("cr.documnets.cshape", ht).ToList(); - vm.typemans = Dao.Get("cr.documnets.typeman", ht).ToList(); - vm.edukinds = Dao.Get("cr.documnets.edukind", ht).ToList(); - vm.typeedus = Dao.Get("cr.documnets.typeedu", ht).ToList(); - vm.typegrades = Dao.Get("cr.documnets.typegrade", ht).ToList(); - vm.typejobs = Dao.Get("cr.documnets.typejob", ht).ToList(); + vm.syears = Dao.Get("cr.documnetspasts.syear", ht).ToList(); + vm.cgs = Dao.Get("cr.documnetspasts.cg", ht).ToList(); + vm.cshapes = Dao.Get("cr.documnetspasts.cshape", ht).ToList(); + vm.typemans = Dao.Get("cr.documnetspasts.typeman", ht).ToList(); + vm.edukinds = Dao.Get("cr.documnetspasts.edukind", ht).ToList(); + vm.typeedus = Dao.Get("cr.documnetspasts.typeedu", ht).ToList(); + vm.typegrades = Dao.Get("cr.documnetspasts.typegrade", ht).ToList(); + vm.typejobs = Dao.Get("cr.documnetspasts.typejob", ht).ToList(); + vm.kinds = Dao.Get("cr.documnetspasts.kind", ht).ToList(); List words = new List(); words.Add(new textvalue { text = "이름", value = "이름"}); words.Add(new textvalue { text = "주민등록번호", value = "주민등록번호" }); @@ -983,17 +984,17 @@ namespace NP.BO.Controllers case "사업자등록번호": ht.Add("word", "brno"); break; } ht.Add("text", vm.stringval12); - vm.DocumentList = Dao.Get("cr.documnetspast", ht); + vm.DocumentList = Dao.Get("cr.documnetspasts", ht); vm.pagetotalcount = GetCount(vm.DocumentList.FirstOrDefault()); if (vm.isexceldown == 1) { - vm.DocumentList = Dao.Get("cr.documnetspast", ht); + vm.DocumentList = Dao.Get("cr.documnetspasts", ht); return ExportExcel( - new String[] { "구분","과정분류","교육유형","아이디","이름","주민번호","기술인분류","교육구분","교육목적","등급","직무분야","과정명","수료번호","업체명","업체주소","사업자등록번호", + new String[] { "구분","과정분류","교육유형","이름","주민번호","기술인분류","교육구분","교육목적","등급","직무분야","과정명","수료번호","업체명","업체주소","사업자등록번호", "고용보험관리번호","업태","종목","대표자","교육시작일","교육종료일","교육이수시간","소속협회","학력","직위","교육생연락처","업체담당자","업체담당당자 연락처","교육비", "환급액","환급은행명","환급계좌" ,"환급계좌예금주","계산서이메일","교육연도"}, - new String[] { "kind", "cg", "cshape","id", "username", "userpno", "typeman", "edukind", "typeedu", "typegrade", "typejob", "cgname", "completeno", "companyname", + new String[] { "kind", "cg", "cshape", "username", "userpno", "typeman", "edukind", "typeedu", "typegrade", "typejob", "cgname", "completeno", "companyname", "companyaddr", "brno", "eino", "btype", "bkind", "ceoname", "ssdateymd","sedateymd","sctime","assign","slevel","uduty","phone","mname","mphone", "sprice","rprice","rbank","rbankno","rbankuser","taxemail","syear"}, vm.DocumentList, diff --git a/BO/Views/croom/documentspast.cshtml b/BO/Views/croom/documentspast.cshtml index 4494e59..a5dd52d 100644 --- a/BO/Views/croom/documentspast.cshtml +++ b/BO/Views/croom/documentspast.cshtml @@ -99,6 +99,7 @@
@@ -109,6 +110,9 @@ + + + @@ -149,7 +153,10 @@ @foreach (var item in Model.DocumentList) { + + + @@ -191,13 +198,329 @@ @Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount) +
+

과거 증빙서류 수정닫기

+ +
수정등록/수정 일자구분 과정분류 교육유형 이름
@(item.cdt != DateTime.MinValue ? item.cdtymd : item.udt != DateTime.MinValue ? item.udtymd : "-") @item.kind@item.cg @item.cshape @item.username @(item.userpno.Length > 7 ? item.userpno.Insert(6,"-") : item.userpno)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
과정분류 + @Html.Partial("./Partial/Select", Model.cgs, new ViewDataDictionary { { "name", "document.cg" }, { "style", "width: 100%" }, { "df", ":-선택" } }) + 교육유형 + @Html.Partial("./Partial/Select", Model.cshapes, new ViewDataDictionary { { "name", "document.cshape" }, { "style", "width: 100%" }, { "df", ":-선택" } }) +
이름 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.username", Style = "width:100%;" })) + 주민번호 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.userpno", Style = "width:100%;" })) +
기술인분류 + @Html.Partial("./Partial/Select", Model.typemans, new ViewDataDictionary { { "name", "document.typeman" }, { "style", "width: 100%" }, { "df", ":-선택" } }) + 교육구분 + @Html.Partial("./Partial/Select", Model.edukinds, new ViewDataDictionary { { "name", "document.edukind" }, { "style", "width: 100%" }, { "df", ":-선택" } }) +
교육목적 + @Html.Partial("./Partial/Select", Model.typeedus, new ViewDataDictionary { { "name", "document.typeedu" }, { "style", "width: 100%" }, { "df", ":-선택" } }) + 등급 + @Html.Partial("./Partial/Select", Model.typegrades, new ViewDataDictionary { { "name", "document.typegrade" }, { "style", "width: 100%" }, { "df", ":-선택" } }) +
직무분야 + @Html.Partial("./Partial/Select", Model.typejobs, new ViewDataDictionary { { "name", "document.typejob" }, { "style", "width: 100%" }, { "df", ":-선택" } }) + 과정명 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.cgname", Style = "width:100%;" })) +
수료번호 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.completeno", Style = "width:100%;" })) + 업체명 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.companyname", Style = "width:100%;" })) +
업체주소 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.companyaddr", Style = "width:100%;" })) +
사업자등록번호 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.brno", Style = "width:100%;" })) + 고용보험관리번호 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.eino", Style = "width:100%;" })) +
업태 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.btype", Style = "width:100%;" })) + 종목 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.bkind", Style = "width:100%;" })) +
대표자 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.ceoname", Style = "width:100%;" })) + 교육일시작일 + @Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "document.ssdate" } }) +
교육일종료일 + @Html.Partial("./Partial/Date", null, new ViewDataDictionary { { "name", "document.sedate" } }) + 교육이수시간 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.sctime", Style = "width:100%;" })) +
소속협회 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.assign", Style = "width:100%;" })) + 학력 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.slevel", Style = "width:100%;" })) +
직위 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.uduty", Style = "width:100%;" })) + 교육생연락처 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.phone", Style = "width:100%;" })) +
업체담당자 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.mname", Style = "width:100%;" })) + 업체담당자연락처 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.mphone", Style = "width:100%;" })) +
교육비 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.sprice", Style = "width:100%;" })) + 환급액 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.rprice", Style = "width:100%;" })) +
환급은행명 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.rbank", Style = "width:100%;" })) + 환급계좌 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.rbankno", Style = "width:100%;" })) +
환급계좌예금주 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.rbankuser", Style = "width:100%;" })) + 계산서이메일 + @Html.Partial("./Partial/Text", null, Helpers.DicText(new NP.Model.TextDic() { Name = "document.taxemail", Style = "width:100%;" })) +
교육연도 + @Html.Partial("./Partial/Select", Model.syears, new ViewDataDictionary { { "name", "document.syear" }, { "style", "width: 100%" }, { "df", ":-선택" } }) + 구분 + @Html.Partial("./Partial/Select", Model.kinds, new ViewDataDictionary { { "name", "document.kind" }, { "style", "width: 100%" }, { "df", ":-선택" } }) +
+
+ 수정 +
+
+
+

닫기

+
+
일괄등록
+
+
+ +
+
+
+ +
+
+
+
@section scriptsHeader{ - @Html.Partial("./Partial/ScriptDate") } @section scripts{ } \ No newline at end of file diff --git a/Base/Controller/ACommon.cs b/Base/Controller/ACommon.cs index 9fbbf94..aa8e2c2 100644 --- a/Base/Controller/ACommon.cs +++ b/Base/Controller/ACommon.cs @@ -1431,6 +1431,83 @@ namespace NP.Base.Controllers return JsonOK(Dao.SaveContentsBatch(cts), false); } } + case "documentbatch": + { + var data = new Lib.ExcelToEntity(uploadfile).Read(2, 1).ToList(); + //입력된 정보 검증 + if (data.Count() < 1) + { + return JsonBack(new JsonRtn() { code = 1, msg = "데이터가 없습니다." }); + } + int i = 1; + foreach (var d in data) + { + long tryParseResult = 0; + d.userpno = d.userpno.Replace("-", ""); + if (!String.IsNullOrEmpty(d.ssdatestring)) + { + int index = d.ssdatestring.IndexOf(" "); + if (index > -1) + { + d.ssdate = Convert.ToDateTime(d.ssdatestring.Substring(0, index + 1)); + } + else { + d.ssdate = Convert.ToDateTime(d.ssdatestring.Substring(0, 10)); + } + } + if (!String.IsNullOrEmpty(d.sedatestring)) + { + int index = d.sedatestring.IndexOf(" "); + if (index > -1) + { + d.sedate = Convert.ToDateTime(d.sedatestring.Substring(0, index + 1)); + } + else + { + d.sedate = Convert.ToDateTime(d.sedatestring.Substring(0, 10)); + } + } + if (string.IsNullOrEmpty(d.username.Trim())) + { + return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 이름이 공란입니다." }); + } + else if(string.IsNullOrEmpty(d.userpno.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 } })); + } } } } diff --git a/Base/Controller/ACommonCRoom.cs b/Base/Controller/ACommonCRoom.cs index 1f2e931..c49a348 100644 --- a/Base/Controller/ACommonCRoom.cs +++ b/Base/Controller/ACommonCRoom.cs @@ -1223,6 +1223,19 @@ namespace NP.Base.Controllers { return JsonOK(Dao.Save("pay.pplogtype.up", new Hashtable() { { "pplno", pplno }, { "typeman", typeman }, { "typejob", typejob }, { "typeedu", typeedu }, { "typegrade", typegrade } })); } + [HttpPost] + public JsonResult DocumnetsPast(Int64 no) + { + return JsonBack(Dao.Get("cr.documnetspast", new Hashtable() { { "no", no } }).First()); + } + [HttpPost] + public JsonResult DocumnetsPastUpdate(Document document) + { + document.userpno = document.userpno.Replace("-", ""); + document.uno = SUserInfo.UserNo; + document.uip = GetUserIP(); + return JsonOK(Dao.Save("cr.documnetspast.up", document)); + } } } \ No newline at end of file diff --git a/Dao/DB/DB1.Scheme.txt b/Dao/DB/DB1.Scheme.txt index b8d9d02..8979428 100644 --- a/Dao/DB/DB1.Scheme.txt +++ b/Dao/DB/DB1.Scheme.txt @@ -1492,4 +1492,64 @@ create table councel ( atext mediumtext DEFAULT NULL, isdel tinyint not null default 0, cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL -,primary key(bno)); \ No newline at end of file +,primary key(bno)); + +CREATE TABLE docprintpast ( + no BIGINT(20) NOT NULL AUTO_INCREMENT, + kind VARCHAR(50) NULL DEFAULT NULL COLLATE utf8_general_ci, + cg VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + cshape VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + username VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + userpno VARBINARY(200) NULL DEFAULT NULL, + typeman VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + edukind VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + typeedu VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + typegrade VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + typejob VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + cgname VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + completeno VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + companyname VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + companyaddr VARCHAR(100) NULL DEFAULT NULL COLLATE utf8_general_ci, + brno VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + eino VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + btype VARCHAR(50) NULL DEFAULT NULL COLLATE utf8_general_ci, + bkind VARCHAR(100) NULL DEFAULT NULL COLLATE utf8_general_ci, + ceoname VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + ssdate DATETIME NULL DEFAULT NULL, + sedate DATETIME NULL DEFAULT NULL, + sctime VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + assign VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + slevel VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + uduty VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + phone VARBINARY(200) NULL DEFAULT NULL, + mname VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + mphone VARBINARY(200) NULL DEFAULT NULL, + sprice VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + rprice VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + rbank VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + rbankno VARBINARY(200) NULL DEFAULT NULL, + rbankuser VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + taxemail VARBINARY(200) NULL DEFAULT NULL, + syear VARCHAR(30) NULL DEFAULT NULL COLLATE utf8_general_ci, + cdt DATETIME NULL DEFAULT NULL, + cno BIGINT(20) NULL DEFAULT NULL, + udt DATETIME NULL DEFAULT NULL, + uno BIGINT(20) NULL DEFAULT NULL, + uip VARCHAR(50) NULL DEFAULT NULL COLLATE utf8_general_ci, + PRIMARY KEY (no) USING BTREE, + INDEX idocprintpastsedate (sedate) USING BTREE, + INDEX idocprintpastsyear (syear) USING BTREE, + INDEX idocprintpasttypeman (typeman) USING BTREE, + INDEX idocprintpastedukind (edukind) USING BTREE, + INDEX idocprintpasttypeedu (typeedu) USING BTREE, + INDEX idocprintpasttypegrade (typegrade) USING BTREE, + INDEX idocprintpasttypejob (typejob) USING BTREE, + INDEX idocprintpastssdate (ssdate) USING BTREE, + INDEX idocprintpastcshape (cshape) USING BTREE, + INDEX idocprintpastcg (cg) USING BTREE, + INDEX idocprintpastkind (kind) USING BTREE +) +COLLATE=utf8_general_ci +ENGINE=InnoDB +AUTO_INCREMENT=181866 +; \ No newline at end of file diff --git a/Dao/DB/DB1.SchemeFK.txt b/Dao/DB/DB1.SchemeFK.txt index 5e7f908..fca172c 100644 --- a/Dao/DB/DB1.SchemeFK.txt +++ b/Dao/DB/DB1.SchemeFK.txt @@ -221,3 +221,15 @@ alter table boardmaster add unique index uiboardmaster (bmcode); alter table users add unique index uiusersuserid(userid); alter table users add unique index uiusersemail(email); alter table ct add unique index uictccode(ccode); + +alter table docprintpast add index idocprintpastsedate (sedate) +alter table docprintpast add index idocprintpastsyear (syear) +alter table docprintpast add index idocprintpasttypeman (typeman) +alter table docprintpast add index idocprintpastedukind (edukind) +alter table docprintpast add index idocprintpasttypeedu (typeedu) +alter table docprintpast add index idocprintpasttypegrade (typegrade) +alter table docprintpast add index idocprintpasttypejob (typejob) +alter table docprintpast add index idocprintpastssdate (ssdate) +alter table docprintpast add index idocprintpastcshape (cshape) +alter table docprintpast add index idocprintpastcg (cg) +alter table docprintpast add index idocprintpastkind (kind) diff --git a/Dao/MyBatis/Maps/CRoom.xml b/Dao/MyBatis/Maps/CRoom.xml index a7eee4c..f22fa8c 100644 --- a/Dao/MyBatis/Maps/CRoom.xml +++ b/Dao/MyBatis/Maps/CRoom.xml @@ -1347,20 +1347,25 @@ ,mgtkey=#mgtkey# where taxno=#taxno# - select a.* from ( select - a.no,a.kind,a.cg,a.cshape,a.username,CAST(AES_DECRYPT(UNHEX(a.userpno), ) AS char) userpno + a.no,a.kind,a.cg,a.cshape,a.username + ,CAST(AES_DECRYPT(UNHEX(a.userpno), ) AS char) userpno ,a.typeman,a.edukind,a.typeedu,a.typegrade,a.typejob,a.cgname,a.completeno,a.companyname,a.companyaddr,a.brno,a.eino,a.btype ,a.bkind,a.ceoname,date_format(a.ssdate, '%Y-%m-%d') ssdate,date_format(a.sedate, '%Y-%m-%d') sedate,a.sctime,a.assign,a.slevel,a.uduty - ,CAST(AES_DECRYPT(UNHEX(a.phone), ) AS char) phone,a.mname - ,CAST(AES_DECRYPT(UNHEX(a.mphone), ) AS char) mphone,a.sprice,a.rprice,a.rbank - ,CAST(AES_DECRYPT(UNHEX(a.rbankno), ) AS char) rbankno,a.rbankuser - ,CAST(AES_DECRYPT(UNHEX(a.taxemail), ) AS char) taxemail,a.syear + ,CAST(AES_DECRYPT(UNHEX(a.phone), ) AS char) phone + ,a.mname + ,CAST(AES_DECRYPT(UNHEX(a.mphone), ) AS char) mphone + ,a.sprice,a.rprice,a.rbank + ,CAST(AES_DECRYPT(UNHEX(a.rbankno), ) AS char) rbankno + ,a.rbankuser + ,CAST(AES_DECRYPT(UNHEX(a.taxemail), ) AS char) taxemail + ,a.syear,a.cdt,a.cno,a.udt,a.uno,a.uip ,row_number() over(order by a.ssdate desc) rno - ,count(a.ssdate) over() pagetotalcount + ,count(a.ssdate) over() pagetotalcount from docprintpast a where a.ssdate >= #ssdate# and a.sedate <= #sedate# and a.syear=#syear# @@ -1384,42 +1389,121 @@ order by a.rno - + select + a.no,a.kind,a.cg,a.cshape,a.username + ,CAST(AES_DECRYPT(UNHEX(a.userpno), ) AS char) userpno + ,a.typeman,a.edukind,a.typeedu,a.typegrade,a.typejob,a.cgname,a.completeno,a.companyname,a.companyaddr,a.brno,a.eino,a.btype + ,a.bkind,a.ceoname,date_format(a.ssdate, '%Y-%m-%d') ssdate,date_format(a.sedate, '%Y-%m-%d') sedate,a.sctime,a.assign,a.slevel,a.uduty + ,CAST(AES_DECRYPT(UNHEX(a.phone), ) AS char) phone + ,a.mname + ,CAST(AES_DECRYPT(UNHEX(a.mphone), ) AS char) mphone + ,a.sprice,a.rprice,a.rbank + ,CAST(AES_DECRYPT(UNHEX(a.rbankno), ) AS char) rbankno + ,a.rbankuser + ,CAST(AES_DECRYPT(UNHEX(a.taxemail), ) AS char) taxemail + ,a.syear,a.cdt,a.cno,a.udt,a.uno,a.uip + from docprintpast a + where a.no = #no# + + + update docprintpast + set + ,kind=#kind# + ,cg=#cg# + ,cshape=#cshape# + ,username=#username# + ,userpno=HEX(AES_ENCRYPT(#userpno#, )) + ,typeman=#typeman# + ,edukind=#edukind# + ,typeedu=#typeedu# + ,typegrade=#typegrade# + ,typejob=#typejob# + ,cgname=#cgname# + ,completeno=#completeno# + ,companyname=#companyname# + ,companyaddr=#companyaddr# + ,brno=#brno# + ,eino=#eino# + ,btype=#btype# + ,bkind=#bkind# + ,ceoname=#ceoname# + ,ssdate=#ssdate# + ,sedate=#sedate# + ,sctime=#sctime# + ,assign=#assign# + ,slevel=#slevel# + ,uduty=#uduty# + ,phone=HEX(AES_ENCRYPT(#phone#, )) + ,mname=#mname# + ,mphone=HEX(AES_ENCRYPT(#mphone#, )) + ,sprice=#sprice# + ,rprice=#rprice# + ,rbank=#rbank# + ,rbankno=HEX(AES_ENCRYPT(#rbankno#, )) + ,rbankuser=#rbankuser# + ,taxemail=HEX(AES_ENCRYPT(#taxemail#, )) + ,syear=#syear# + where no=#no# + + + 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, ) + + select #Ds[].kind#, #Ds[].cg#, #Ds[].cshape#, #Ds[].username# + , HEX(AES_ENCRYPT(#Ds[].userpno#, )) + , #Ds[].typeman#, #Ds[].edukind#, #Ds[].typeedu#, #Ds[].typegrade#, #Ds[].typejob#, #Ds[].cgname#, #Ds[].completeno#, #Ds[].companyname#, #Ds[].companyaddr#, #Ds[].brno#, #Ds[].eino#, #Ds[].btype#, #Ds[].bkind#, #Ds[].ceoname#, #Ds[].ssdate#, #Ds[].sedate#, #Ds[].sctime#, #Ds[].assign#, #Ds[].slevel#, #Ds[].uduty# + , HEX(AES_ENCRYPT(#Ds[].phone#, )) + , #Ds[].mname# + , HEX(AES_ENCRYPT(#Ds[].mphone#, )) + , #Ds[].sprice#, #Ds[].rprice#, #Ds[].rbank# + , HEX(AES_ENCRYPT(#Ds[].rbankno#, )) + , #Ds[].rbankuser# + , HEX(AES_ENCRYPT(#Ds[].taxemail#, )) + , #Ds[].syear# + , now(), #Ds[].uno#, now(), #Ds[].uno#, #Ds[].uip# + ; + + + - select a.cg value,a.cg text from docprintpast a where a.cg is not null and a.cg <> "" group by a.cg - select a.cshape value,a.cshape text from docprintpast a where a.cshape is not null and a.cshape <> "" group by a.cshape - select a.typeman value,a.typeman text from docprintpast a where a.typeman is not null and a.typeman <> "" group by a.typeman - select a.edukind value,a.edukind text from docprintpast a where a.edukind is not null and a.edukind <> "" group by a.edukind - select a.typeedu value,a.typeedu text from docprintpast a where a.typeedu is not null and a.typeedu <> "" group by a.typeedu - select a.typegrade value,a.typegrade text from docprintpast a where a.typegrade is not null and a.typegrade <> "" group by a.typegrade - select a.typejob value,a.typejob text from docprintpast a where a.typejob is not null and a.typejob <> "" group by a.typejob diff --git a/Model/Documents.cs b/Model/Documents.cs index ffca30a..25c92f4 100644 --- a/Model/Documents.cs +++ b/Model/Documents.cs @@ -19,8 +19,9 @@ namespace NP.Model public List typegrades { get; set; } public List typejobs { get; set; } public List words { get; set; } + public List kinds { get; set; } } - public class Document + public class Document : BaseModel { /// /// 순서 @@ -37,11 +38,7 @@ namespace NP.Model /// /// 교육유형 /// - public String cshape { get; set; } - /// - /// 아이디 (공백) - /// - public String id { get; set; } + public String cshape { get; set; } /// /// 이름 /// @@ -117,7 +114,10 @@ namespace NP.Model return ssdate != null ? ssdate.Value.ToString("yyyy-MM-dd") : null; } } - + /// + /// 교육시작일(엑셀매칭용) + /// + public string ssdatestring { get; set; } /// /// 교육종료일 /// @@ -130,6 +130,10 @@ namespace NP.Model } } /// + /// 교육종료일(엑셀매칭용) + /// + public string sedatestring { get; set; } + /// /// 교육이수시간 /// public String sctime { get; set; } @@ -187,9 +191,7 @@ namespace NP.Model public String syear { get; set; } public int? pagenum { get; set; } public int pageviewcount { get; set; } - public int pagerowcount { get; set; } - public int pagetotalcount { get; set; } - + public int pagerowcount { get; set; } } public class textvalue {