/// <summary> /// 取得異常時間、提醒訊息 /// </summary> /// <returns></returns> private bool getPunchPara(out ParaModel paraData, out MsgParaModel paraMsgData) { bool result = false; var msg = ""; paraData = new ParaModel(); paraMsgData = new MsgParaModel(); var datas = new PunchParaBean(); var viewData = new PunchParaModel() { CompID = UserInfo.getUserInfo().CompID, }; result = Punch.GetPunchPara(viewData, out datas, out msg); if (result && datas != null) { paraData = Punch.paraFormat(datas.Para); paraMsgData = Punch.paraMsgFormat(datas.MsgPara); } else { throw new Exception("".Equals(msg) ? "查無資料" : msg); } return(result); }
/// <summary> /// 檢查打卡時間是否異常 /// </summary> /// <param name="viewData"></param> /// <returns></returns> private string isPunchError(PunchModel viewData) { string result = ""; bool hasPara = false; ParaModel paraTime = new ParaModel(); MsgParaModel paraMsg = new MsgParaModel(); try { hasPara = getPunchPara(out paraTime, out paraMsg); if (hasPara && paraMsg != null && paraTime != null) { int punchTime = Int32.Parse(viewData.PunchTime4Count);//要把時間:去掉,轉換格式,Model還要再多一個存取欄位 //int punchTime = Int32.Parse("0630"); int beginTime = Int32.Parse(viewData.BeginTime); int endTime = Int32.Parse(viewData.EndTime); int punchInBT = Int32.Parse(paraTime.PunchInBT); int punchOutBT = Int32.Parse(paraTime.PunchOutBT); int regularIn = beginTime - punchInBT; int regularOut = endTime + punchOutBT; if (punchTime < regularIn) { result = "T"; } if (punchTime > regularOut) { result = "F"; if (punchTime >= 2200 && punchTime < 2400 || punchTime >= 0 && punchTime < 600) { result += "L"; } } _MsgParamodel = paraMsg; } } catch (Exception ex) { //Util.MsgBox(ex.Message); throw new Exception(ex.Message); } return(result); }
/// <summary> /// 將Json資料解析 /// </summary> /// <param name="dbDataList">DB資料</param> /// <returns>格式化後資料</returns> public static MsgParaModel paraMsgFormat(string jsonStr) { JArray jsAry = JsonConvert.DeserializeObject <JArray>(jsonStr); MsgParaModel paraMsgData = new MsgParaModel(); paraMsgData.PunchInMsgFlag = jsAry[0]["PunchInMsgFlag"].ToString(); paraMsgData.PunchInDefaultContent = jsAry[0]["PunchInDefaultContent"].ToString(); paraMsgData.PunchInSelfContent = jsAry[0]["PunchInSelfContent"].ToString(); paraMsgData.PunchOutMsgFlag = jsAry[0]["PunchOutMsgFlag"].ToString(); paraMsgData.PunchOutDefaultContent = jsAry[0]["PunchOutDefaultContent"].ToString(); paraMsgData.PunchOutSelfContent = jsAry[0]["PunchOutSelfContent"].ToString(); paraMsgData.AffairMsgFlag = jsAry[0]["AffairMsgFlag"].ToString(); paraMsgData.AffairDefaultContent = jsAry[0]["AffairDefaultContent"].ToString(); paraMsgData.AffairSelfContent = jsAry[0]["AffairSelfContent"].ToString(); paraMsgData.OVTenMsgFlag = jsAry[0]["OVTenMsgFlag"].ToString(); paraMsgData.OVTenDefaultContent = jsAry[0]["OVTenDefaultContent"].ToString(); paraMsgData.OVTenSelfContent = jsAry[0]["OVTenSelfContent"].ToString(); paraMsgData.FemaleMsgFlag = jsAry[0]["FemaleMsgFlag"].ToString(); paraMsgData.FemaleDefaultContent = jsAry[0]["FemaleDefaultContent"].ToString(); paraMsgData.FemaleSelfContent = jsAry[0]["FemaleSelfContent"].ToString(); return(paraMsgData); }