YNICTE/BO/Controllers/userController.cs

342 lines
16 KiB
C#
Raw Normal View History

2020-10-12 14:39:23 +09:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using NP.Model;
namespace NP.BO.Controllers
{
public class userController : BOBaseController
{
public ActionResult users(NP.Model.VMUser vm){vm.viewname = "user";return us(vm);}
public ActionResult professors(NP.Model.VMUser vm){vm.viewname = "professor";return us(vm);}
public ActionResult admins(NP.Model.VMUser vm){vm.viewname = "admin";return us(vm);}
public ActionResult us(VMUser vm)
{
LogSet(new ActLog() {logtype = 10, logtarget = vm.viewname == "user" ? 11 : vm.viewname == "professor" ? 12 : 13, logdata = vm.viewname == "user" ? "사용자목록" : vm.viewname == "professor" ? "교강사목록" : "운영자목록", uno = SUserInfo.UserNo, uip = GetUserIP() });
vm.Users = InitM<Users>();
var ht = SetHash(vm);
if (!SUserInfo.IsAdmin)
{
ht.Add("asno", SUserInfo.ASNo);
}
if (vm.viewname == "user"){ht.Add("usertype", 1);}
else if (vm.viewname == "professor"){ht.Add("usertype", 11);}
else if (vm.viewname == "admin"){ht.Add("usertypeover", 80); ht.Add("includesysadmin", 1); }
ht.Add("asname", vm.stringval);
ht.Add("brno", (vm.stringval2 ?? "").Replace("-", ""));
ht.Add("status", vm.stringval3);
vm.stringval4 = vm.stringval4 ?? "username";
ht.Add(vm.stringval4, vm.stringval5);
if (vm.stringval4 == "mobile" && !string.IsNullOrEmpty(vm.stringval5))
{
var v5 = vm.stringval5.Replace("-", "");
if (v5.Length == 10)
{
vm.stringval5 = v5.Substring(0, 3) + "-" + v5.Substring(3, 3) + "-" + v5.Substring(6);
}
else if (v5.Length == 11)
{
vm.stringval5 = v5.Substring(0, 3) + "-" + v5.Substring(3, 4) + "-" + v5.Substring(7);
}
ht[vm.stringval4] = vm.stringval5;
}
vm.Users = Dao.Get<Users>("users.users", ht);
ViewBag.IsSiteAdmin = SUserInfo.IsSiteAdmin;
vm.pagetotalcount = GetCount(vm.Users.FirstOrDefault());
return View("us",vm);
}
public ActionResult userreg(NP.Model.VMUser vm) { return ur(vm); }
public ActionResult professorreg(NP.Model.VMUser vm) { return ur(vm); }
public ActionResult adminreg(NP.Model.VMUser vm) { return ur(vm); }
public ActionResult ur(VMUser vm)
{
2020-11-30 14:44:19 +09:00
vm.User = new Users() { status = 1, /*jointype=0,*/ usertype = vm.viewname == "user" ? 1 : vm.viewname == "professor" ? 11 : 0 };
2020-10-12 14:39:23 +09:00
vm.Lects = new List<Lect>() { };
vm.FileList = new List<File>() { };
vm.CMPRs = new List<CMPR>() { };
2021-01-06 13:01:08 +09:00
vm.Councels = new List<Councel>() { };
vm.ComCodes2 = GetComCodes("bldgcat");
2020-10-12 14:39:23 +09:00
if (vm.intval > 0)
{
vm.User = Dao.Get<Users>("users.users", new System.Collections.Hashtable() { { "userno", vm.intval } , { "includesysadmin", 1 } }).First();
2021-01-06 13:01:08 +09:00
vm.Councel = new Councel() { };
vm.Councels = Dao.Get<Councel>("users.councels", new System.Collections.Hashtable() { { "userno", vm.intval } });
2020-10-12 14:39:23 +09:00
LogSet(new ActLog() { logtype = 20, logtarget = 21, logdata = vm.User.username + "("+vm.User.userid+")", userno = vm.User.userno, uno = SUserInfo.UserNo, uip = GetUserIP() });
if (vm.viewname == "user")
{
vm.Lects = Dao.Get<Lect>("lect.lects.my2", new System.Collections.Hashtable() { { "userno", vm.User.userno } });
2020-10-12 14:39:23 +09:00
}
else if (vm.viewname == "professor")
{
vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", new System.Collections.Hashtable() { { "userno", vm.User.userno },{ "ismaster",0},{ "cmisdel",0} });
vm.pagetotalcount = GetCount(vm.CMPRs.FirstOrDefault());
}
if ((vm.User.fgnoprofile ?? 0) > 0)
{
vm.FileList = GetFiles(vm.User.fgnoprofile.Value);
}
}
else if (!SUserInfo.IsAdmin)
{
vm.User.asno = SUserInfo.ASNo;
}
if (vm.viewname != "admin")
{
vm.ComCodes = GetComCodes("jobposition,job", true);
for (int i = vm.ComCodes.Count()-1; i > -1; i--)
{
if (vm.ComCodes[i].isuse == 0 && (vm.ComCodes[i].cgroup != "jobposition" || (vm.ComCodes[i].cgroup == "jobposition" && vm.ComCodes[i].refcode != "9")))
{
vm.ComCodes.RemoveAt(i);
}
}
}
else
{
vm.userauths = Dao.Get<NP.Model.UserAuth>("sys.menu.auths", new System.Collections.Hashtable() { { "isadmin", 1 } });
vm.ComCodes = GetComCodes("jobposition,job");
}
return View("ur", vm);
}
public ActionResult urprint(VMUser vm)
{
vm.User = Dao.Get<Users>("users.users", new System.Collections.Hashtable() { { "userno", vm.intval } }).First();
vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", new System.Collections.Hashtable() { { "userno", vm.User.userno }, { "ismaster", 0 }, { "cmisdel", 0 } });
vm.pagetotalcount = GetCount(vm.CMPRs.FirstOrDefault());
return View(vm);
}
public ActionResult assigns(NP.Model.VMUser vm)
{
vm.pagerowcount = 15;
vm.Assigns = InitM<Assign>();
var ht = SetHash(vm);
if (!SUserInfo.IsAdmin)
{
ht.Add("asno", SUserInfo.ASNo);
}
else
{
vm.IsAdmin = true;
}
if (!IsPost())
{
vm.stringval21 = "1,0";
}
vm.stringval12 = vm.stringval12 ?? DateTime.Now.Year.ToString();
vm.stringval18 = vm.stringval18 ?? "a.joindate desc";
vm.stringval19 = vm.stringval19 ?? "a.asname asc";
ht.Add("isjoin", vm.stringval);
ht.Add("asname", vm.stringval2);
ht.Add("statuses", vm.stringval3);
ht.Add("ceoname", vm.stringval4);
ht.Add("mname", vm.stringval5);
ht.Add("issite", vm.stringval20);
ht.Add("statusfee", vm.stringval21);
2020-10-16 17:53:04 +09:00
ht.Add("mphone", vm.stringval22);
2020-10-12 14:39:23 +09:00
if (!string.IsNullOrEmpty(vm.stringval6) || !string.IsNullOrEmpty(vm.stringval7))
{
ht.Add("salesamountf", GetInt64(vm.stringval6 ?? "0"));
ht.Add("salesamountt", GetInt64(vm.stringval7 ?? "0"));
}
if (!string.IsNullOrEmpty(vm.stringval8) || !string.IsNullOrEmpty(vm.stringval9))
{
ht.Add("mcountf", GetInt64(vm.stringval8 ?? "0"));
ht.Add("mcountt", GetInt64(vm.stringval9 ?? "0"));
}
if (!string.IsNullOrEmpty(vm.stringval10) || !string.IsNullOrEmpty(vm.stringval11))
{
2020-10-16 17:53:04 +09:00
ht.Add("cdtf", vm.stringval10??"1980-11-28");
ht.Add("cdtt", string.IsNullOrEmpty(vm.stringval11)?DateTime.Now.ToString("yyyy-MM-dd 23:59:59") : (vm.stringval11 + " 23:59:59"));
2020-10-12 14:39:23 +09:00
}
ht.Add("fyear", vm.stringval12);
ht.Add("astype", vm.stringval13);
ht.Add("asctg", vm.stringval14);
ht.Add("askey", vm.stringval15);
ht.Add("brno", string.IsNullOrEmpty(vm.stringval16)?null: vm.stringval16.Replace("-", ""));
//ht.Add("gcode", vm.stringval17);
ht.Add("orderby", vm.stringval18 + "," + vm.stringval19);
if (vm.isexceldown == 1)
{
ht.Remove("pagenum");
if (vm.excelname.Split('_')[0] == "Assign")
{
ht.Add("excel1", ",concat('[',a.post,']') post");
ht.Add("isexcel", "1");
//ht.Add("asnolt", 19);
return ExportExcel(
new String[] { "회원사코드","법인명", "대표자","회원구분","업종","주요키워드", "우편번호", "사업장주소", "사업자등록번호","법인등록번호", "가입년도", "가입상태", "계열","회비","올해납부여부","올해납부금액" },
new String[] { "ascode","asname", "ceoname","astypename","bkind","askeyname" ,"post", "adr1", "brnofmt", "grnofmt","joindateyear" ,"isjoinname", "asctgname","joinprice","fnstatusname","fnprice" },
Dao.Get<Assign>("users.assigns2", ht),
vm.excelname);
}
else
{
ht.Add("excel1", ",a.post");
ht.Add("isexcel", "1");
return ExportExcel(
new String[] { "회원사코드","법인명","사업장우편번호" ,"사업장주소", "업무구분", "부서명", "성명", "직위", "전화번호", "휴대전화", "이메일", "담당자우편번호", "담당자주소" },
new String[] { "ascode", "asname","post" ,"adr1", "mjtypename", "depart", "mname", "position", "telno", "mobile", "email","post2" ,"adr2" },
Dao.Get<AssignMan>("users.assignmans2", ht),
vm.excelname);
}
}
else
{
ht.Add("excel1", ",a.post");
vm.ComCodes = GetComCodes("astype,asctg,askey");
vm.Assigns = Dao.Get<Assign>("users.assigns2", ht);
//if (vm.Assigns.Count() > 0)
//{
// vm.AssignFees = Dao.Get<AssignFee>("users.assignfees", new System.Collections.Hashtable() { { "asnos", string.Join(",", vm.Assigns.Select(s => s.asno)) }, { "fyear", DateTime.Now.Year }, { "status", 1 } });
//}
vm.pagetotalcount = GetCount(vm.Assigns.FirstOrDefault());
}
return View(vm);
}
public ActionResult asr(VMUser vm)
{
vm.IsAdmin = SUserInfo.IsAdmin;
vm.FileList = new List<File>() { };
if (!vm.IsAdmin)
{
vm.intval = SUserInfo.ASNo;
}
vm.Assign = new Assign() { isjoin = 1, status = 1 };
if (vm.intval > 0)
{
vm.Assign = Dao.Get<Assign>("users.assigns2", new System.Collections.Hashtable() { { "asno", vm.intval },{ "excel1",",a.post" },{ "orderby", "a.asname" } }).First();
LogSet(new ActLog() { logtype = 50, logtarget = 31, logdata = vm.Assign.asname, userno = vm.Assign.asno, uno = SUserInfo.UserNo, uip = GetUserIP() });
var fnos = "";
if ((vm.Assign.fgnobno??0) > 0)
{
fnos += vm.Assign.fgnobno.Value.ToString();
}
if ((vm.Assign.fgnobank ?? 0) > 0)
{
fnos += "," + vm.Assign.fgnobank.Value.ToString();
}
if (fnos != "")
{
vm.FileList = GetFiles(fnos.StartsWith(",") ? fnos.Substring(1) : fnos);
}
}
else
{
vm.Assign.ascode = Dao.Get<int>("users.assign.newascode", 1).First();
}
vm.ComCodes = GetComCodes("astype,asctg,askey");
return View(vm);
}
public ActionResult asv(VMUser vm)
{
vm.IsAdmin = SUserInfo.IsAdmin;
vm.IsSiteAdmin = SUserInfo.IsSiteAdmin;
vm.FileList = new List<File>() { };
if (!SUserInfo.IsAdmin)
{
vm.intval = SUserInfo.ASNo;
}
vm.Assign = Dao.Get<Assign>("users.assigns2", new System.Collections.Hashtable() { { "asno", vm.intval },{ "fyear",DateTime.Now.Year},{ "excel1",",a.post" }, { "orderby", "a.asname" } }).First();
LogSet(new ActLog() { logtype = 50, logtarget = 31, logdata = vm.Assign.asname, userno = vm.Assign.asno, uno = SUserInfo.UserNo, uip = GetUserIP() });
var fnos = "";
if ((vm.Assign.fgnobno ?? 0) > 0)
{
fnos += vm.Assign.fgnobno.Value.ToString();
}
if ((vm.Assign.fgnobank ?? 0) > 0)
{
fnos += "," + vm.Assign.fgnobank.Value.ToString();
}
if (fnos != "")
{
vm.FileList = GetFiles(fnos.StartsWith(",") ? fnos.Substring(1) : fnos);
}
vm.AssignMans = Dao.Get<AssignMan>("users.assignmans", new System.Collections.Hashtable() { { "asno", vm.intval } });
return View(vm);
}
public ActionResult asp(VMUser vm)
{
if (!SUserInfo.IsAdmin)
{
vm.intval = SUserInfo.ASNo;
}
vm.Assign = Dao.Get<Assign>("users.assigns2", new System.Collections.Hashtable() { { "asno", vm.intval }, { "fyear", DateTime.Now.Year },{ "excel1", ",a.post" }, { "orderby", "a.asname" } }).First();
vm.AssignMans = Dao.Get<AssignMan>("users.assignmans", new System.Collections.Hashtable() { { "asno", vm.Assign.asno } });
return View(vm);
}
public ActionResult asfee(VMUser vm)
{
vm.IsAdmin = SUserInfo.IsAdmin;
vm.IsSiteAdmin = SUserInfo.IsSiteAdmin;
vm.SCUserNo = SUserInfo.UserNo;
if (!SUserInfo.IsAdmin && !SUserInfo.IsSiteAdmin)
{
Response.Redirect("/");
}
vm.Assign = Dao.Get<Assign>("users.assigns2", new System.Collections.Hashtable() { { "asno", vm.intval }, { "fyear", DateTime.Now.Year },{ "excel1", ",a.post" }, { "orderby", "a.asname" } }).First();
vm.AssignFees = Dao.Get<AssignFee>("users.assignfees", new System.Collections.Hashtable() { { "asno", vm.Assign.asno } });
vm.SCUserName = SUserInfo.UserName;
return View(vm);
}
public ActionResult assite(VMUser vm)
{
if (!SUserInfo.IsAdmin)
{
Response.Redirect("/");
}
vm.Assign = Dao.Get<Assign>("users.assignsite", new System.Collections.Hashtable() { { "asno", vm.intval } }).First();
vm.FileList = new List<File>();
if ((vm.Assign.sitelogo ?? 0) > 0)
{
vm.FileList = GetFiles(vm.Assign.sitelogo.Value);
}
return View(vm);
}
// 비밀번호 90일 경과된 사용자 정보 조회
public ActionResult pwchange(VMUser vm)
{
vm.User = Dao.Get<Users>("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "includesysadmin", 1 } }).First();
return View(vm);
}
/// <summary>
/// 개인정보 수정(우측 상단 드랍박스 내)
/// </summary>
/// <param name="vm"></param>
/// <returns></returns>
public ActionResult editinfo(VMUser vm)
{
ViewBag.isadmin = SUserInfo.IsAdmin;
ViewBag.issiteadmin = SUserInfo.IsSiteAdmin;
ViewBag.isprofessor = SUserInfo.IsTeacher;
vm.FileList = new List<File>() { };
vm.User = Dao.Get<Users>("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "includesysadmin", 1 } }).First();
if (SUserInfo.IsTeacher)
{
vm.ComCodes = GetComCodes("jobposition,job", true);
for (int i = vm.ComCodes.Count() - 1; i > -1; i--)
{
if (vm.ComCodes[i].isuse == 0 && (vm.ComCodes[i].cgroup != "jobposition" || (vm.ComCodes[i].cgroup == "jobposition" && vm.ComCodes[i].refcode != "9")))
{
vm.ComCodes.RemoveAt(i);
}
}
}
else
{
vm.ComCodes = GetComCodes("jobposition,job");
}
if ((vm.User.fgnoprofile ?? 0) > 0)
{
vm.FileList = GetFiles(vm.User.fgnoprofile.Value);
}
return View(vm);
}
2020-10-12 14:39:23 +09:00
}
}