public ActionResult Delete(string year, string INSTNO, string TrSeialNo) { try { if (Session["INSTNO"] == null || string.IsNullOrEmpty(Session["INSTNO"].ToString())) { //Log.Error(ex + ex.StackTrace); TempData["SessionExipred"] = "true"; //TempData["error"] = ex + ex.StackTrace; //tran.Rollback(); return(RedirectToAction("Index", "Login", null)); } UnitAToBSum queryCrit = new UnitAToBSum(); queryCrit.Year = year; queryCrit.INSTNO = INSTNO; queryCrit.TrSeialNo = int.Parse(TrSeialNo); MysqlDBA <UnitAToBSum> mysqlDBA = new MysqlDBA <UnitAToBSum>(FunctionController.CONNSTR); mysqlDBA.Delete(queryCrit); TempData["success"] = "OK"; TempData["parentreload"] = "OK"; } catch (Exception ex) { Log.Error(ex + ex.StackTrace); TempData["action"] = "Function"; TempData["error"] = ex + ex.StackTrace; //tran.Rollback(); return(RedirectToAction("Index", "SupportUnit", null)); } return(RedirectToAction("Index", "SupportUnit", null)); }
public ActionResult Add(SupportUnitAdd data) { try { if (Session["INSTNO"] == null || string.IsNullOrEmpty(Session["INSTNO"].ToString())) { //Log.Error(ex + ex.StackTrace); TempData["SessionExipred"] = "true"; //TempData["error"] = ex + ex.StackTrace; //tran.Rollback(); return(RedirectToAction("Index", "Login", null)); } MysqlDBA <UnitAToBSum> mysqlDBA = new MysqlDBA <UnitAToBSum>(FunctionController.CONNSTR); UnitAToBSum alloc = new UnitAToBSum(); alloc.Year = (DateTime.Now.Year - 1911).ToString(); alloc.INSTNO = Session["INSTNO"].ToString(); //-1代表新增,取新流水號 if (data.TrSeialNo1 == "-1") { alloc.TrSeialNo = Utility.Utility.getUnitAToBSumSerNo(mysqlDBA); alloc.TrSeialNo++; } else { //不是-1表修改,帶原來流水號 alloc.TrSeialNo = int.Parse(data.TrSeialNo1); } alloc.INSTNO = Session["INSTNO"].ToString(); alloc.LCareType = data.ServiceType; alloc.UnitBNo = data.INSTNO; alloc.UnitBName = data.INSTName; alloc.TrCaseNum = data.CaseNo; //alloc.Modifydate = DateTime.Now.ToString("yyyy-MM-dd"); alloc.CreateDate = DateTime.Now.ToString("yyyy-MM-dd"); mysqlDBA.InsertOrUpdate(alloc); TempData["success"] = "OK"; TempData["parentreload"] = "OK"; //alloc } catch (Exception ex) { Log.Error(ex + ex.StackTrace); TempData["action"] = "Function"; TempData["error"] = ex + ex.StackTrace; //tran.Rollback(); return(RedirectToAction("Index", "SupportUnitAdd", null)); } return(RedirectToAction("Index", "SupportUnit", null)); }
public ActionResult Edit(string year, string INSTNO, string TrSeialNo1) { try { if (Session["INSTNO"] == null || string.IsNullOrEmpty(Session["INSTNO"].ToString())) { //Log.Error(ex + ex.StackTrace); TempData["SessionExipred"] = "true"; //TempData["error"] = ex + ex.StackTrace; //tran.Rollback(); return(RedirectToAction("Index", "Login", null)); } List <UnitAToBSum> listData = new List <UnitAToBSum>(); UnitAToBSum queryCrit = new UnitAToBSum(); queryCrit.Year = year; queryCrit.INSTNO = INSTNO; queryCrit.TrSeialNo = int.Parse(TrSeialNo1); MysqlDBA <UnitAToBSum> mysqlDBA = new MysqlDBA <UnitAToBSum>(FunctionController.CONNSTR); DataSet ds = mysqlDBA.getDataSet(string.Format("SELECT * FROM UnitAToBSum WHERE Year='{0}' AND INSTNO='{1}' AND TrSeialNo = '{2}'", queryCrit.Year, queryCrit.INSTNO, queryCrit.TrSeialNo)); foreach (DataRow row in ds.Tables[0].Rows) { UnitAToBSum data = new UnitAToBSum(); data.Year = row["Year"].ToString(); data.INSTNO = row["INSTNO"].ToString(); data.TrSeialNo = int.Parse(row["TrSeialNo"].ToString()); data.LCareType = row["LCareType"].ToString(); data.UnitBNo = row["UnitBNo"].ToString(); data.UnitBName = row["UnitBName"].ToString(); data.TrCaseNum = row["TrCaseNum"].ToString(); listData.Add(data); } TempData["UnitAToBSum"] = listData; List <CodeBase> codeBaseData = new List <CodeBase>(); codeBaseData = (List <CodeBase>) new MysqlDBA <CodeBase>(FunctionController.CONNSTR).getAllDataList(new CodeBase()); TempData["CodeBase"] = codeBaseData; } catch (Exception ex) { Log.Error(ex + ex.StackTrace); TempData["action"] = "Function"; TempData["error"] = ex + ex.StackTrace; //tran.Rollback(); return(RedirectToAction("Index", "SupportUnit", null)); } return(RedirectToAction("Index", "SupportUnitAdd", null)); }
// GET: SupportUnit public ActionResult Index(int page = 1) { List <UnitAToBSum> listData = new List <UnitAToBSum>(); SupportUnitAdd model = new SupportUnitAdd(); try { if (Session["INSTNO"] == null || string.IsNullOrEmpty(Session["INSTNO"].ToString())) { //Log.Error(ex + ex.StackTrace); TempData["SessionExipred"] = "true"; //TempData["error"] = ex + ex.StackTrace; //tran.Rollback(); return(RedirectToAction("Index", "Login", null)); } MysqlDBA <UnitAToBSum> dbaHRAlloc = new MysqlDBA <UnitAToBSum>(FunctionController.CONNSTR); UnitAToBSum queryCrit = new UnitAToBSum(); queryCrit.Year = (DateTime.Now.Year - 1911).ToString(); if (Session["INSTNO"] == null || string.IsNullOrEmpty(Session["INSTNO"].ToString())) { TempData["SessionExipred"] = "true"; return(RedirectToAction("Index", "Login", null)); } queryCrit.INSTNO = Session["INSTNO"].ToString(); listData = (List <UnitAToBSum>)dbaHRAlloc.getDataList(queryCrit); model.SupportUnits = listData.OrderBy(p => p.TrSeialNo).ToPagedList(page, defaultPageSize); List <CodeBase> codeBaseData = new List <CodeBase>(); codeBaseData = (List <CodeBase>) new MysqlDBA <CodeBase>(FunctionController.CONNSTR).getAllDataList(new CodeBase()); //TempData["UnitAToBSumList"] = listData; TempData["CodeBase"] = codeBaseData; } catch (Exception ex) { Log.Error(ex + ex.StackTrace); TempData["action"] = "Function"; TempData["error"] = ex + ex.StackTrace; //tran.Rollback(); return(RedirectToAction("Index", "SupportUnit", null)); } return(View(model)); }
public ActionResult BasicData(string accountNo) { if (Session["INSTNO"] == null || string.IsNullOrEmpty(Session["INSTNO"].ToString())) { TempData["SessionExipred"] = "true"; return(RedirectToAction("Index", "Login", null)); } MysqlDBA <INSTBase> instBaseDBA = new MysqlDBA <INSTBase>(FunctionController.CONNSTR); MysqlDBA <UnitAYear> mysqlDBAUAY = new MysqlDBA <UnitAYear>(FunctionController.CONNSTR); if (accountNo == null) { TempData["SessionExipred"] = "true"; return(View("Index", "Login", null)); } string INSTNO = accountNo;//((string[)accountNo)[0].ToString(); BasicData basicData = new BasicData(); INSTBase instBase = new INSTBase(); UnitAYear queryCrit = new UnitAYear(); queryCrit.Year = (DateTime.Now.Year - 1911).ToString(); queryCrit.INSTNO = INSTNO; List <UnitAYear> listResult = (List <UnitAYear>)mysqlDBAUAY.getDataList(queryCrit); UnitAYear result = new UnitAYear(); if (listResult.Count > 0) { result = listResult[0]; } try { instBase.INSTNO = INSTNO; List <INSTBase> objInstList = (List <INSTBase>)instBaseDBA.getDataList(instBase); if (objInstList.Count > 0) { basicData.INSTNO = objInstList[0].INSTNO; basicData.INSTName = objInstList[0].INSTName; basicData.INSTTel = objInstList[0].INSTTel; basicData.address = objInstList[0].INSTAddress; basicData.Contact = result.Contact; basicData.AttrMed = Utility.Utility.getBaseAttr(objInstList[0].AttrMed);; if (objInstList.Count > 0 && objInstList[0] != null && !string.IsNullOrEmpty(objInstList[0].IncDate)) { basicData.EstabDate = (DateTime.Parse(objInstList[0].IncDate).Year - 1911).ToString() + "年" + DateTime.Parse(objInstList[0].IncDate).Month + "月" + DateTime.Parse(objInstList[0].IncDate).Day + "日"; } basicData.SpecialArea = result.MainAreas; basicData.EMail = result.EMail; basicData.ResignNum = result.ResignNum; basicData.CMDBegYearNum = result.CMDBegYearNum; basicData.CMDPeriodAddNum = result.CMDPeriodAddNum; HRAlloc hRAlloc = new HRAlloc(); hRAlloc.INSTNO = INSTNO; hRAlloc.Year = (DateTime.Now.Year - 1911).ToString(); //人力配置 basicData.hrAlloc = Utility.Utility.getHRAlloc(hRAlloc); foreach (HRAlloc alloc in basicData.hrAlloc) { alloc.JobType = Utility.Utility.getCodeBaseText((List <CodeBase>) new MysqlDBA <CodeBase>(FunctionController.CONNSTR).getDataList(new CodeBase()), "HRAlloc", "JobType", alloc.JobType); alloc.PROBG = Utility.Utility.getCodeBaseText((List <CodeBase>) new MysqlDBA <CodeBase>(FunctionController.CONNSTR).getDataList(new CodeBase()), "HRAlloc", "ProfBack", alloc.PROBG); alloc.FullTimeNum = alloc.FullTimeNum; alloc.PartTimeNum = alloc.PartTimeNum; } //合作提供服務單位 List <UnitAToBSum> list = new List <UnitAToBSum>(); MysqlDBA <UnitAToBSum> mysqlDBA_UAB = new MysqlDBA <UnitAToBSum>(FunctionController.CONNSTR); UnitAToBSum queryCritUAB = new UnitAToBSum(); queryCritUAB.Year = (DateTime.Now.Year - 1911).ToString(); queryCritUAB.INSTNO = INSTNO; list = (List <UnitAToBSum>)mysqlDBA_UAB.getDataListNoKey(queryCritUAB); basicData.unitAToBSums = list; //個管服務量 List <CaseSvr> listCaseSvr = new List <CaseSvr>(); MysqlDBA <CaseSvr> mysqlDBA_CaseSvr = new MysqlDBA <CaseSvr>(FunctionController.CONNSTR); CaseSvr queryCritCaseSvr = new CaseSvr(); queryCritCaseSvr.Year = (DateTime.Now.Year - 1911).ToString(); queryCritCaseSvr.INSTNO = INSTNO; listCaseSvr = (List <CaseSvr>)mysqlDBA_CaseSvr.getDataList(queryCritCaseSvr); basicData.caseSvrs = listCaseSvr; //個管服務時效 List <CaseSvrEff> listCaseSvrEff = new List <CaseSvrEff>(); MysqlDBA <CaseSvrEff> mysqlDBA_CaseSvrEff = new MysqlDBA <CaseSvrEff>(FunctionController.CONNSTR); CaseSvrEff queryCritCaseSvrEff = new CaseSvrEff(); queryCritCaseSvrEff.Year = (DateTime.Now.Year - 1911).ToString(); queryCritCaseSvrEff.INSTNO = INSTNO; listCaseSvrEff = (List <CaseSvrEff>)mysqlDBA_CaseSvrEff.getDataList(queryCritCaseSvrEff); basicData.caseSvrsEff = listCaseSvrEff; CaseSvrEffView obj = null; foreach (CaseSvrEff eff in basicData.caseSvrsEff) { var viewObj = from vo in basicData.caseSvrsEffView where vo.Year == eff.Year && vo.YM == eff.YM && vo.INSTNO == eff.INSTNO select vo; if (viewObj.ToList().Count > 0) { obj = (CaseSvrEffView)viewObj.ToList()[0]; } else { obj = new CaseSvrEffView(); obj.Year = eff.Year; obj.YM = eff.YM; obj.INSTNO = eff.INSTNO; basicData.caseSvrsEffView.Add(obj); } if (eff.SvrType == "01") { obj._01UpAvgDays = eff.UpAvgDays; } if (eff.SvrType == "02") { obj._02UpCasePer = eff.UpCasePer; } if (eff.SvrType == "03") { obj._03UpCasePer = eff.UpCasePer; } } if (Session["INSTNO"] == null || string.IsNullOrEmpty(Session["INSTNO"].ToString())) { TempData["SessionExipred"] = "true"; return(RedirectToAction("Index", "Login", null)); } //社區資源網絡會議 List <UnitAMeeting> lstCommResMeeting = (List <UnitAMeeting>) new MysqlDBA <UnitAMeeting>(FunctionController.CONNSTR).getDataListNoKey( new UnitAMeeting() { INSTNO = Session["INSTNO"].ToString(), MType = "1" } ); lstCommResMeeting.ForEach(o => o.MDate = Utility.Utility.convertUDT2ROCDateFormat(o.MDate)); basicData.commResMeeting = lstCommResMeeting; //區域跨專業個案討論會 List <UnitAMeeting> lstAreaProfMeeting = (List <UnitAMeeting>) new MysqlDBA <UnitAMeeting>(FunctionController.CONNSTR).getDataListNoKey( new UnitAMeeting() { INSTNO = Session["INSTNO"].ToString(), MType = "2" } ); lstAreaProfMeeting.ForEach(o => o.MDate = Utility.Utility.convertUDT2ROCDateFormat(o.MDate)); basicData.areaProfMeeting = lstAreaProfMeeting; } } catch (Exception ex) { Log.Error(ex + ex.StackTrace); TempData["action"] = "query"; TempData["error"] = ex + ex.StackTrace; return(View("Index", "Function", null)); } return(View(basicData)); }
public ActionResult UploadServiceUnit(HttpPostedFileBase file_input) { try { if (file_input == null || file_input.ContentLength == 0) { TempData["error"] = "請先上傳檔案!"; return(RedirectToAction("Index", "SupportUnit", null)); } DataSet result; DataRowCollection dataRow; DataColumnCollection dataColumn; int colIndex = 1; int rowIndex = 0; if (file_input.ContentLength > 0) { var fileName = Path.GetFileName(file_input.FileName); //檔案明加上時間戳記 fileName = fileName.Split('.')[0] + DateTime.Now.ToString("yyyyMMddHHmmss") + "." + fileName.Split('.')[1]; var path = Path.Combine(Server.MapPath("~/FileUploads"), fileName); file_input.SaveAs(path); using (FileStream fileStream = System.IO.File.Open(path, FileMode.Open, FileAccess.Read)) { using (IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(fileStream)) { result = excelReader.AsDataSet(new ExcelDataSetConfiguration() { UseColumnDataType = false, ConfigureDataTable = (tableReader) => new ExcelDataTableConfiguration() { //設定讀取資料時是否忽略標題 UseHeaderRow = false } }); dataRow = result.Tables[0].Rows; dataColumn = result.Tables[0].Columns; MysqlDBA <UnitAToBSum> mysqlDBA = new MysqlDBA <UnitAToBSum>(FunctionController.CONNSTR); UnitAToBSum alloc = new UnitAToBSum(); for (int i = 2; i < dataRow.Count; i++) { List <CodeBase> codeBaseList = Utility.Utility.getCodeBaseValueList("UnitAtoBSum", "LCareType", result.Tables[0].Rows[i][0].ToString()); if (codeBaseList.Count > 0) { alloc.LCareType = codeBaseList[0].CodeValue; colIndex++; } else { TempData["action"] = "Function"; TempData["error"] = "機構名稱不可空白!"; return(RedirectToAction("Index", "SupportUnit", null)); } if (string.IsNullOrEmpty(result.Tables[0].Rows[i][1].ToString())) { TempData["action"] = "Function"; TempData["error"] = "服務類別錯誤,無此服務類別:" + result.Tables[0].Rows[i][1].ToString(); return(RedirectToAction("Index", "SupportUnit", null)); } try { int.Parse(result.Tables[0].Rows[i][2].ToString()); if (int.Parse(result.Tables[0].Rows[i][2].ToString()) < 0) { throw new Exception(); } } catch (Exception ex) { TempData["action"] = "Function"; TempData["error"] = "轉介個案數量錯誤或空白:\"" + result.Tables[0].Rows[i][0].ToString() + "\"不是一個正整數"; return(RedirectToAction("Index", "SupportUnit", null)); } } for (int i = 2; i < dataRow.Count; i++) { colIndex = 0; alloc = new UnitAToBSum(); alloc.Year = (DateTime.Now.Year - 1911).ToString(); alloc.INSTNO = Session["INSTNO"].ToString(); alloc.TrSeialNo = Utility.Utility.getUnitAToBSumSerNo(mysqlDBA); alloc.TrSeialNo++; alloc.INSTNO = Session["INSTNO"].ToString(); List <CodeBase> codeBaseList = Utility.Utility.getCodeBaseValueList("UnitAtoBSum", "LCareType", result.Tables[0].Rows[i][colIndex].ToString()); alloc.LCareType = codeBaseList[0].CodeValue; colIndex++; alloc.UnitBNo = ""; alloc.UnitBName = result.Tables[0].Rows[i][colIndex].ToString(); colIndex++; alloc.TrCaseNum = result.Tables[0].Rows[i][colIndex].ToString(); colIndex++; //alloc.Modifydate = DateTime.Now.ToString("yyyy-MM-dd"); alloc.CreateDate = DateTime.Now.ToString("yyyy-MM-dd"); mysqlDBA.InsertOrUpdate(alloc); } TempData["success"] = "OK"; TempData["parentreload"] = "OK"; } } } } catch (Exception ex) { Log.Error(ex + ex.StackTrace); TempData["action"] = "Function"; TempData["error"] = ex + ex.StackTrace; return(RedirectToAction("Index", "SupportUnit", null)); } return(RedirectToAction("Index", "SupportUnit", null)); }