/// <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);
    }
Esempio n. 3
0
    /// <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);
    }