/// <summary> /// 取得網站成績 /// </summary> /// <param name="pData"></param> /// <returns></returns> public JsonResult getWebTestResult(EGG_TEST_INFO pData) { RESPONSE_MSG rm = new RESPONSE_MSG(); string actionName = "getWebTestResult"; DBLink link = new DBLink(); bool hasUpdate = false; JsonResult jr = null; string LineID = DateTime.Now.ToString("yyyyMMddHHmmssfff"); try { if (this.AnserList.Skip(5).Take(3).Contains(pData.BUY_PLACE)) { pData.TEMP = this.getNowTemp(pData.BUY_PLACE); } this.insertRowData(ref pData, ref rm, ref link, LineID); pData.DAYS = ((DateTime.Now - DateTime.Parse(pData.BUY_DATE)).Days + 1).ToString(); hasUpdate = true; this.updateRowData(ref pData, ref hasUpdate, ref rm, ref link, LineID, ""); jr = this.getTestResult(LineID); } catch (Exception ex) { rm.status = RESPONSE_STATUS.ERROR; rm.message = "程式碼發生錯誤"; LogTool.Fatal(ex, actionName, this.csName); } return(Json(jr.Data, JsonRequestBehavior.AllowGet)); }
protected T returnObj <T>(RESPONSE_MSG <T> pRm) { if (pRm.status != RESPONSE_STATUS.SUCCESS) { this.throwHttpResponseException(pRm.lastError); } return(pRm.attachment); }
/// <summary> /// 檢查是否有此新聞資料 /// </summary> /// <param name="URL"></param> /// <returns></returns> public JsonResult getEventURL(string URL) { RESPONSE_MSG rm = new RESPONSE_MSG(); string actionName = "getEventURL"; try { } catch (Exception ex) { throw; } return(Json(rm, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 新增食安事件 /// </summary> /// <param name="pData"></param> /// <returns></returns> public JsonResult inserEvent(EGG_EVENT_DATA pData) { RESPONSE_MSG rm = new RESPONSE_MSG(); string actionName = "inserEvent"; try { } catch (Exception ex) { throw; } return(Json(rm, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 檢查紀錄日期 /// <para>門診病人紀錄單時,只可填寫當天紀錄日期</para> /// <para>急診病人紀錄單時,只可填寫急診區間的紀錄日期</para> /// </summary> /// <param name="setIpdno"></param> /// <param name="pRecordDate"></param> /// <param name="pPatInfo"></param> /// <returns></returns> public RESPONSE_MSG saveRecordDateCheck(string setIpdno, string pRecordDate, IPDPatientInfo pPatInfo) { List <string> msgList = new List <string>(); RESPONSE_MSG rm = new RESPONSE_MSG(); rm.status = RESPONSE_STATUS.SUCCESS; string actionName = "saveRecordDateCheck"; try { //記錄單日期不可以大於今天 if (DateHelper.isDate(pRecordDate) && DateHelper.Parse(pRecordDate) > DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"))) { msgList.Add("記錄單日期(" + pRecordDate + ")不可大於今天(" + DateTime.Now.ToString("yyyy-MM-dd 23:59:59") + ")"); } if (!string.IsNullOrWhiteSpace(setIpdno)) { string pIpd_no = getHistoryList(setIpdno, 0); string pDiag_date = getHistoryList(setIpdno, 1); string endDate = getHistoryList(setIpdno, 2); string pSource = getHistoryList(setIpdno, 3); } else { rm.status = RESPONSE_STATUS.ERROR; msgList.Add("取得病患資料失敗!請洽資訊人員"); LogTool.SaveLogMessage("setIpdno為空值", actionName, GetLogToolCS.BaseModel); } } catch (Exception ex) { rm.status = RESPONSE_STATUS.EXCEPTION; rm.message = "存檔檢查發生錯誤,請洽資訊人員"; LogTool.SaveLogMessage(ex, actionName, GetLogToolCS.BaseModel); } finally { if (msgList != null && msgList.Count > 0) { rm.status = RESPONSE_STATUS.ERROR; rm.message = string.Join("\n", msgList); } } return(rm); }
}//getTestData private void insertRowData(ref EGG_TEST_INFO test_info, ref RESPONSE_MSG rm, ref DBLink link, string LineID) { test_info.USER_ID = LineID; test_info.CREATE_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); test_info.CREATE_ID = LineID; test_info.CREATE_NAME = LineID; test_info.DATASTATUS = "0"; string sql_inser = "INSERT INTO EGG_TEST_INFO ('USER_ID', 'CREATE_DATE', 'CREATE_ID', 'CREATE_NAME', 'DATASTATUS') VALUES (@USER_ID, @CREATE_DATE, @CREATE_ID, @CREATE_NAME, @DATASTATUS );"; link.DBA.DBExecute <DB_EGG_TEST_INFO>(sql_inser, new List <DB_EGG_TEST_INFO>() { test_info }); if (link.DBA.hasLastError) { LogTool.Fatal(link.DBA.lastError, "insertRowData", this.csName); rm.status = RESPONSE_STATUS.ERROR; rm.message = "程式發生錯誤,請洽資訊人員!"; } else { rm.attachment = test_info.tempList; } }
/// <summary> /// getTest 取得目前測資料 /// ex.http://localhost:4803/data/getTestData?LineID=testWeb&msg=蛋蛋測試區 /// </summary> /// <param name="LineID"></param> /// <returns></returns> public JsonResult getTestData(string LineID = "", string msg = "") { string actionName = "getTestData"; RESPONSE_MSG rm = new RESPONSE_MSG(); LogTool.Info(string.Join(",", new List <string>() { LineID, msg }), actionName, this.csName); //紀錄log EGG_TEST_INFO test_info = new EGG_TEST_INFO(); DBLink link = new DBLink(); bool hasTestData = false; bool hasUpdate = false; try { #region 取得測試資料 string sql = test_info.getSelectList_KEY_USER_ID(); DynamicParameters dp = new DynamicParameters(); dp.Add("USER_ID", LineID); List <EGG_TEST_INFO> test_List = new List <EGG_TEST_INFO>(); #endregion test_List = link.DBA.getSqlDataTable <EGG_TEST_INFO>(sql, dp); if (msg == "getList") { if (test_List.Exists(x => x.DATASTATUS == "0")) { rm.attachment = test_List.Find(x => x.DATASTATUS == "0").tempList; } else { rm.attachment = new List <EGG_TEST_TEMP>(); } return(Json(rm, JsonRequestBehavior.AllowGet)); } //是否有使用者資料,且有正在進行中的TEST資料 if (test_List.Count > 0 && test_List.Exists(x => x.DATASTATUS == "0")) { //有資料,且有正在測試的資料 hasTestData = true; test_info = test_List.Find(x => x.DATASTATUS == "0"); #region 資料判斷 this.updateRowData(ref test_info, ref hasUpdate, ref rm, ref link, LineID, msg); #endregion } else if (test_List.Count == 0 || !test_List.Exists(x => x.DATASTATUS == "0")) { //沒資料,或沒正在測試的資料 #region 沒資料判斷 if (msg == this.AnserList[0]) { //確認是否是開始測驗 this.insertRowData(ref test_info, ref rm, ref link, LineID); } else { if (this.AnserList.Contains(msg)) { this.insertRowData(ref test_info, ref rm, ref link, LineID); this.updateRowData(ref test_info, ref hasUpdate, ref rm, ref link, LineID, msg); rm.status = RESPONSE_STATUS.WARN; rm.message = "查無測驗資料,先至功能選單點選蛋蛋測試區!"; } } //if #endregion } //if } catch (Exception ex) { LogTool.Fatal(ex, actionName, this.csName); rm.status = RESPONSE_STATUS.ERROR; rm.message = "程式發生錯誤,請洽資訊人員!"; } return(Json(rm, JsonRequestBehavior.AllowGet)); }//getTestData
/// <summary> /// 取得測試結果 /// ex.http://localhost:4803/data/getTestResult?LineID=testWeb /// </summary> /// <param name="LineID"></param> /// <returns></returns> public JsonResult getTestResult(string LineID = "") { RESPONSE_MSG rm = new RESPONSE_MSG(); string actionName = "getTestResult"; LogTool.Info(LineID, actionName, this.csName); //紀錄log EGG_TEST_INFO test_info = new EGG_TEST_INFO(); DBLink link = new DBLink(); try { #region 取得測試資料 string sql = test_info.getSelectList_KEY_USER_ID(); DynamicParameters dp = new DynamicParameters(); dp.Add("USER_ID", LineID); List <EGG_TEST_INFO> test_List = new List <EGG_TEST_INFO>(); #endregion test_List = link.DBA.getSqlDataTable <EGG_TEST_INFO>(sql, dp); if (test_List.Count > 0) { if (test_List.Exists(x => x.DATASTATUS == "0")) { test_info = test_List.Find(x => x.DATASTATUS == "0"); if (test_info.tempList.Count == 4) { #region 測試完畢,計算成績 rm.message = "您這一次測試結果如下所示"; test_info.DATASTATUS = "1"; this.getEggScore(ref test_info); test_info.MODIFY_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); test_info.MODIFY_ID = LineID; test_info.MODIFY_NAME = LineID; link.DBA.DBExecute <EGG_TEST_INFO>(test_info.getUpdateSQL_KEY_USER_ID_CREATE_DATE(), new List <EGG_TEST_INFO>() { test_info }); if (link.DBA.hasLastError) { rm.status = RESPONSE_STATUS.ERROR; rm.message = "SQL 發生錯誤,請洽資訊人員!"; LogTool.Error(link.DBA.lastError, actionName, this.csName); } else { rm.status = RESPONSE_STATUS.SUCCESS; rm.attachment = test_info; } #endregion } else { rm.status = RESPONSE_STATUS.ERROR; rm.message = "上有測驗尚未完成,請選擇功能清單點選測試區,繼續完成!"; } rm.attachment = test_info; } else { rm.message = "您最後一次測試結果如下所示"; test_info = test_List.FindAll(x => x.DATASTATUS == "1").OrderByDescending(x => DateTime.Parse(x.CREATE_DATE)).First(); rm.attachment = test_info; } } else { rm.message = "查無測試結果資料,請選擇功能清單點選測試區!"; } } catch (Exception ex) { LogTool.Fatal(ex, actionName, this.csName); rm.status = RESPONSE_STATUS.ERROR; rm.message = "程式發生錯誤,請洽資訊人員!"; } return(Json(rm, JsonRequestBehavior.AllowGet)); }
private void updateRowData(ref EGG_TEST_INFO test_info, ref bool hasUpdate, ref RESPONSE_MSG rm, ref DBLink link, string LineID, string msg) { #region 更新欄位 LogTool.Info(Newtonsoft.Json.JsonConvert.SerializeObject(this.AnserList), "updateRowData", "updateRowData"); //in Key List if (this.AnserList.Contains(msg)) { if (msg == this.AnserList[1]) { test_info.WASH_EGG = "我買的是洗選蛋"; //"我買的是洗選蛋" } if (msg == this.AnserList[2]) { test_info.WASH_EGG = "我買的不是洗選蛋"; //" "我買的不是洗選蛋" } if (msg == this.AnserList[3]) { test_info.STORE = "我把雞蛋放在室溫"; // "我把雞蛋放在室溫" } if (msg == this.AnserList[4]) { test_info.STORE = "我把雞蛋放在冰箱"; // "我把雞蛋放在冰箱" } if (msg == this.AnserList[5]) { test_info.BUY_PLACE = "我在北部"; // "我在北部" } if (msg == this.AnserList[6]) { test_info.BUY_PLACE = "我在中部"; // "我在中部" } if (msg == this.AnserList[7]) { test_info.BUY_PLACE = "我在南部"; // "我在南部" } if (this.AnserList.Skip(5).Take(3).Contains(msg)) { test_info.TEMP = this.getNowTemp(test_info.BUY_PLACE); } hasUpdate = true; } //是否是數值 if (NumberHelper.isInt(msg)) { hasUpdate = true; int _days = int.Parse(msg); if (Math.Abs(_days) >= 0) { test_info.DAYS = msg; rm.attachment = test_info.tempList; } else { rm.status = RESPONSE_STATUS.WARN; rm.message = "請輸入1-30任何一個數值!"; LogTool.Error(Newtonsoft.Json.JsonConvert.SerializeObject(test_info), "updateRowData", this.csName); } } #endregion if (rm.status == RESPONSE_STATUS.SUCCESS) { if (hasUpdate) { test_info.MODIFY_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); test_info.MODIFY_ID = LineID; test_info.MODIFY_NAME = LineID; link.DBA.DBExecute <EGG_TEST_INFO>(test_info.getUpdateSQL_KEY_USER_ID_CREATE_DATE(), new List <EGG_TEST_INFO>() { test_info }); } if (link.DBA.hasLastError) { rm.status = RESPONSE_STATUS.ERROR; rm.message = "SQL 發生錯誤,請洽資訊人員!"; LogTool.Error(link.DBA.lastError, "updateRowData", this.csName); } else { rm.status = RESPONSE_STATUS.SUCCESS; rm.attachment = test_info.tempList; } } }
/// <summary> /// 設定檔案名稱ㄋ /// </summary> /// <param name="fileName"></param> public exportFile(string fileName) { csName = GetLogToolCS.exportFile; RESPONSE_MSG = new RESPONSE_MSG(); this.FileDownloadName = fileName; }