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 UploadCaseCount(HttpPostedFileBase file_input_count) { if (Session["INSTNO"] == null || string.IsNullOrEmpty(Session["INSTNO"].ToString())) { TempData["SessionExipred"] = "true"; return(RedirectToAction("Index", "Login", null)); } DataSet result; DataRowCollection dataRow; DataColumnCollection dataColumn; MysqlDBA <CaseSvr> mysqlDBA = new MysqlDBA <CaseSvr>(FunctionController.CONNSTR); try { if (file_input_count == null || file_input_count.ContentLength == 0) { TempData["error"] = "請先上傳檔案!"; return(RedirectToAction("Index", "CaseListCount", null)); } if (file_input_count.ContentLength > 0) { var fileName = Path.GetFileName(file_input_count.FileName); fileName = fileName.Split('.')[0] + DateTime.Now.ToString("yyyyMMddHHmmss") + "." + fileName.Split('.')[1]; var path = Path.Combine(Server.MapPath("~/FileUploads"), fileName); file_input_count.SaveAs(path); CaseSvr caseSvr = new CaseSvr(); 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; for (int i = 1; i < dataRow.Count; i++) { caseSvr = new CaseSvr(); int j = 1; try { caseSvr.OldCaseNum = int.Parse(result.Tables[0].Rows[i][j].ToString()); j++;//2020-09-01 OldCaseNum不使用 //2020-09-01 Svr01CaseRenum --> 新案複評量, Svr02CaseRenum --> A單位計畫複評量 //caseSvr.Svr01CaseRenum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; //caseSvr.Svr02CaseRenum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; //2020-09-01 Svr01CaseRenum --> 新案複評量, Svr02CaseRenum --> A單位計畫複評量 caseSvr.TraceCaseTotal = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; caseSvr.MultSvrCaseNum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; caseSvr.SelfReferral = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; caseSvr.FullPeoNum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; caseSvr.PartPeoNum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; //} caseSvr.CreateDate = DateTime.Now.ToString("yyyy-MM-dd"); } catch (FormatException ex) { TempData["error"] = "數字格式錯誤!在第" + i + "列第" + j + "行"; return(RedirectToAction("Index", "CaseListCount", null)); } } mysqlDBA.Delete(new CaseSvr() { INSTNO = Session["INSTNO"].ToString(), Year = (DateTime.Now.Year - 1911).ToString() }); for (int i = 1; i < dataRow.Count; i++) { caseSvr = new CaseSvr(); caseSvr.Year = (DateTime.Now.Year - 1911).ToString(); caseSvr.INSTNO = Session["INSTNO"].ToString(); caseSvr.YM = result.Tables[0].Rows[i][0].ToString(); int j = 1; try { caseSvr.OldCaseNum = int.Parse(result.Tables[0].Rows[i][j].ToString()); j++;//2020-09-01 OldCaseNum不使用 //2020-09-01 Svr01CaseRenum --> 新案複評量, Svr02CaseRenum --> A單位計畫複評量 //caseSvr.Svr01CaseRenum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; //caseSvr.Svr02CaseRenum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; //2020-09-01 Svr01CaseRenum --> 新案複評量, Svr02CaseRenum --> A單位計畫複評量 caseSvr.TraceCaseTotal = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; caseSvr.MultSvrCaseNum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; caseSvr.SelfReferral = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; caseSvr.FullPeoNum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; caseSvr.PartPeoNum = int.Parse(convertNullNumericString(result.Tables[0].Rows[i][j].ToString())); j++; //} caseSvr.CreateDate = DateTime.Now.ToString("yyyy-MM-dd"); } catch (FormatException ex) { TempData["error"] = "數字格式錯誤!在第" + i + "列第" + j + "行"; return(RedirectToAction("Index", "CaseListCount", null)); } mysqlDBA.InsertOrUpdate(caseSvr); } } } Dictionary <string, string> param1 = new Dictionary <string, string>(); param1.Add("EvalYear", (DateTime.Now.Year - 1911).ToString()); param1.Add("UnitAInstNo", Session["INSTNO"].ToString()); mysqlDBA.ExecuteProcedure("UpdateNewCaseSvr", param1); TempData["success"] = "OK"; } } catch (Exception ex) { Log.Error(ex + ex.StackTrace); TempData["action"] = "Function"; TempData["error"] = ex + ex.StackTrace; return(RedirectToAction("Index", "CaseListCount", null)); } return(RedirectToAction("Index", "CaseListCount")); }