Example #1
0
 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));
 }
Example #2
0
 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));
 }
Example #3
0
 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));
 }
Example #4
0
        // 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));
        }
Example #5
0
        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));
        }
Example #6
0
 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));
 }