Exemplo n.º 1
0
    /// <summary>
    /// 取得DB資料
    /// 個人班表
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool PunchUpdateInquire_DoQuery(Punch_Confirm_Remedy_Model model, out List <Punch_Confirm_Remedy_Bean> datas, out string msg)
    {
        bool result = false;

        msg   = "";
        datas = new List <Punch_Confirm_Remedy_Bean>();
        try
        {
            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings(_attendantDBName).ConnectionString
            })
            {
                Punch_Confirm_Remedy_Bean dataBean = new Punch_Confirm_Remedy_Bean()
                {
                    EmpID            = model.EmpID,
                    ConfirmStatus    = model.ConfirmStatus,
                    AbnormalFlag     = model.AbnormalFlag,
                    RemedyPunchFlag  = model.RemedyPunchFlag,
                    ConfirmPunchFlag = model.ConfirmPunchFlag,
                    StartPunchDate   = model.StartPunchDate,
                    EndPunchDate     = model.EndPunchDate
                };
                StringBuilder sb = new StringBuilder();
                SqlCommand.Select_Punch_Confirm_Remedy(dataBean, ref sb, true);
                try
                {
                    datas = conn.Query <Punch_Confirm_Remedy_Bean>(sb.ToString(), dataBean).ToList();
                }
                catch (Exception)
                {
                    throw;
                }
                if (datas == null)
                {
                    throw new Exception("查無資料!");
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
Exemplo n.º 2
0
    /// <summary>
    /// 取得DB資料
    /// 個人班表
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool PunchAppdOperation_DoQuery(Punch_Confirm_Remedy_Model model, out List <Punch_Confirm_Remedy_Bean> datas, out string msg)
    {
        bool result = false;

        msg   = "";
        datas = new List <Punch_Confirm_Remedy_Bean>();
        try
        {
            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings(_attendantDBName).ConnectionString
            })
            {
                Punch_Confirm_Remedy_Bean dataBean = new Punch_Confirm_Remedy_Bean()
                {
                    ValidCompID   = model.ValidCompID,
                    ValidID       = model.ValidID,
                    ConfirmStatus = model.ConfirmStatus
                };
                StringBuilder sb = new StringBuilder();
                SqlCommand.Select_Punch_Confirm_Remedy_OpenLog(dataBean, ref sb, true);
                try
                {
                    datas = conn.Query <Punch_Confirm_Remedy_Bean>(sb.ToString(), dataBean).ToList();
                }
                catch (Exception)
                {
                    throw;
                }
                if (datas == null)
                {
                    throw new Exception("查無資料!");
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
Exemplo n.º 3
0
    /// <summary>
    /// 取得簽核人員資料
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool GetValidInfo(Punch_Confirm_Remedy_Model model, out Punch_Confirm_Remedy_Bean datas, out string msg)
    {
        bool result = false;

        msg   = "";
        datas = new Punch_Confirm_Remedy_Bean();
        try
        {
            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings(_attendantDBName).ConnectionString
            })
            {
                Punch_Confirm_Remedy_Bean dataBean = new Punch_Confirm_Remedy_Bean()
                {
                    CompID = model.CompID,
                    EmpID  = model.EmpID,
                };
                StringBuilder sb = new StringBuilder();
                SqlCommand.SelectPersonValid(ref sb);
                try
                {
                    datas = conn.Query <Punch_Confirm_Remedy_Bean>(sb.ToString(), dataBean).FirstOrDefault();
                }
                catch (Exception)
                {
                    throw;
                }
                if (datas == null)
                {
                    throw new Exception("查無資料!");
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
    protected void LoadData()
    {
        gvMain.Visible = true;
        var isSuccess = false;
        var msg       = "";
        var datas     = new List <Punch_Confirm_Remedy_Bean>();
        var viewData  = new Punch_Confirm_Remedy_Model()
        {
            ValidCompID   = StringIIF(UserInfo.getUserInfo().CompID),
            ValidID       = StringIIF(UserInfo.getUserInfo().UserID),
            ConfirmStatus = "2"
        };

        isSuccess = PunchUpdate.PunchAppdOperation_DoQuery(viewData, out datas, out msg);
        if (isSuccess && datas != null && datas.Count > 0)
        {
            viewData.SelectGridDataList = PunchUpdate.GridDataFormat(datas); //Format Data
        }
        gvMain.DataSource = viewData.SelectGridDataList;
        gvMain.DataBind();
    }
    private void DoQuery()
    {
        var isSuccess = false;
        var msg       = "";
        var datas     = new List <Punch_Confirm_Remedy_Bean>();
        var viewData  = new Punch_Confirm_Remedy_Model()
        {
            //CompID = StringIIF(UserInfo.getUserInfo().CompID),
            EmpID            = StringIIF(UserInfo.getUserInfo().UserID),
            StartPunchDate   = StringIIF(ucStartPunchDate.ucSelectedDate),
            EndPunchDate     = StringIIF(ucEndPunchDate.ucSelectedDate),
            ConfirmPunchFlag = StringIIF(ddlConfirmPunchFlag.SelectedValue),
            ConfirmStatus    = StringIIF(ddlConfirmStatus.SelectedValue),
            AbnormalFlag     = StringIIF(ddlAbnormalFlag.SelectedValue)
        };

        isSuccess = PunchUpdate.PunchUpdateInquire_DoQuery(viewData, out datas, out msg);
        if (isSuccess && datas != null && datas.Count > 0)
        {
            viewData.SelectGridDataList = PunchUpdate.GridDataFormat(datas); //Format Data
        }
        gvMain.DataSource = viewData.SelectGridDataList;
        gvMain.DataBind();
    }
Exemplo n.º 6
0
    /// <summary>
    /// 申請後送簽流程
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool PunchUpdateModify_SaveData(Punch_Confirm_Remedy_Bean model, out long seccessCount, out string msg)
    {
        bool result = false;

        seccessCount = 0;
        msg          = "";

        bool validResult = false;
        Punch_Confirm_Remedy_Bean datas = new Punch_Confirm_Remedy_Bean();
        string validMsg = "";

        try
        {
            Dictionary <string, string> empData       = new Dictionary <string, string>();
            Dictionary <string, string> toUserData    = new Dictionary <string, string>();
            Dictionary <string, string> ValidUserData = new Dictionary <string, string>();
            string      flowCode       = "";
            string      flowSN         = "";
            bool        nextIsLastFlow = false;
            string      meassge        = "";
            FlowExpress flow           = new FlowExpress(Util.getAppSetting("app://AattendantDB_PunchUpdate/"));
            string      KeyValue       = "";//字串
            string      ShowValue      = "";
            string      strFlowCaseID  = "";

            DbHelper      db = new DbHelper(Aattendant._AattendantDBName);
            CommandHelper sb = db.CreateCommandHelper();
            DbConnection  cn = db.OpenConnection();
            DbTransaction tx = cn.BeginTransaction();

            Punch_Confirm_Remedy_Bean dataBean = new Punch_Confirm_Remedy_Bean()
            {
                FlowCaseID              = model.FlowCaseID,
                CompID                  = model.CompID,
                EmpID                   = model.EmpID,
                EmpName                 = model.EmpName,
                DutyDate                = model.DutyDate,
                DutyTime                = model.DutyTime,
                PunchDate               = model.PunchDate,
                PunchTime               = model.PunchTime,
                PunchConfirmSeq         = model.PunchConfirmSeq,
                DeptID                  = model.DeptID,
                DeptName                = model.DeptName,
                OrganID                 = model.OrganID,
                OrganName               = model.OrganName,
                FlowOrganID             = model.FlowOrganID,
                FlowOrganName           = model.FlowOrganName,
                MAFT10_FLAG             = model.MAFT10_FLAG,
                ConfirmStatus           = model.ConfirmStatus,
                PunchRemedySeq          = model.PunchRemedySeq,
                RemedyReasonID          = model.RemedyReasonID,
                RemedyReasonCN          = model.RemedyReasonCN,
                RemedyPunchTime         = model.RemedyPunchTime,
                AbnormalFlag            = model.AbnormalFlag,
                AbnormalReasonID        = model.AbnormalReasonID,
                AbnormalReasonCN        = model.AbnormalReasonCN,
                AbnormalDesc            = model.AbnormalDesc,
                Remedy_MAFT10_FLAG      = model.Remedy_MAFT10_FLAG,
                Remedy_AbnormalFlag     = model.Remedy_AbnormalFlag,
                Remedy_AbnormalReasonID = model.Remedy_AbnormalReasonID,
                Remedy_AbnormalReasonCN = model.Remedy_AbnormalReasonCN,
                Remedy_AbnormalDesc     = model.Remedy_AbnormalReasonID == "99" ? model.Remedy_AbnormalDesc : "",
                LastChgComp             = model.LastChgComp,
                LastChgID               = model.LastChgID,
                LastChgDate             = model.LastChgDate,
                //Remedy
                RemedyPunchFlag = model.RemedyPunchFlag,
                BatchFlag       = model.BatchFlag,
                PORemedyStatus  = model.PORemedyStatus,
                RejectReason    = model.RejectReason,
                RejectReasonCN  = model.RejectReasonCN,
                ValidDateTime   = model.ValidDateTime,
                //ValidTime = model.ValidTime,
                ValidCompID = model.ValidCompID,
                ValidID     = model.ValidID,
                ValidName   = model.ValidName
            };

            OBFlowUtility.QueryFlowDataAndToUserData_First(dataBean.CompID, dataBean.OrganID, dataBean.FlowOrganID, dataBean.EmpID, dataBean.EmpID, dataBean.PunchDate, out empData, out toUserData, out flowCode, out flowSN, out nextIsLastFlow, out meassge, "PO01", "PO");

            Punch_Confirm_Remedy_Model validInfo = new Punch_Confirm_Remedy_Model()
            {
                CompID = toUserData["SignIDComp"],
                EmpID  = toUserData["SignID"]
            };
            validResult = GetValidInfo(validInfo, out datas, out validMsg);
            if (!validResult)
            {
                throw new Exception(validMsg);
            }
            dataBean.ValidCompID = toUserData["SignIDComp"];
            dataBean.ValidID     = toUserData["SignID"];
            dataBean.ValidName   = datas.ValidName;

            KeyValue      = dataBean.CompID + "," + dataBean.EmpID + "," + dataBean.PunchDate + "," + dataBean.PunchRemedySeq;
            ShowValue     = dataBean.CompID + "," + dataBean.EmpID + "," + dataBean.PunchDate + "," + dataBean.PunchTime;
            ValidUserData = CustVerify.getEmpID_Name_Dictionary(toUserData["SignID"], toUserData["SignIDComp"]);

            if (FlowExpress.IsFlowInsVerify(flow.FlowID, KeyValue.Split(","), ShowValue.Split(","), nextIsLastFlow ? "btnSendLast" : "btnSend", ValidUserData, ""))
            {
                strFlowCaseID       = FlowExpress.getFlowCaseID(flow.FlowID, KeyValue);
                dataBean.FlowCaseID = strFlowCaseID;
                SqlCommand.PunchUpdateModify_InsertPunchRemedyLog(dataBean, ref sb);
                OBFlowUtility.ChangeFlowFlag(strFlowCaseID, flowCode, flowSN, dataBean.ValidCompID, dataBean.ValidID, "1", ref sb);
                OBFlowUtility.InsertHROtherFlowLogCommand(strFlowCaseID, "1", strFlowCaseID + "." + "1".PadLeft(5, '0'), "P", dataBean.EmpID, dataBean.OrganID,
                                                          dataBean.FlowOrganID, dataBean.ValidID, flowCode, flowSN, "1", "1", toUserData["SignIDComp"], toUserData["SignID"], toUserData["SignOrganID"], toUserData["SignFlowOrganID"], "1", false, ref sb);

                try
                {
                    //================
                    //sb.Append("錯誤製造");
                    //=================
                    seccessCount = db.ExecuteNonQuery(sb.BuildCommand(), tx); //執行新增,成功筆數回傳,並做Transaction機制
                    tx.Commit();                                              //成功Transaction直接Commit
                }
                catch (Exception)
                {
                    FlowExpress.IsFlowCaseDeleted(flow.FlowID, strFlowCaseID, true); //送簽用IsFlowCaseDeleted //審核用IsFlowRollBack
                    tx.Rollback();                                                   //失敗Transaction Rollback
                    throw;
                }
                result = true;
            }
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
Exemplo n.º 7
0
    public static List <Punch_Confirm_Remedy_Model> GridDataFormat(List <Punch_Confirm_Remedy_Bean> dbDataList)
    {
        var result = new List <Punch_Confirm_Remedy_Model>();

        foreach (var item in dbDataList)
        {
            var data = new Punch_Confirm_Remedy_Model();
            //Confirm

            data.CompID                  = string.IsNullOrEmpty(item.CompID) ? "" : item.CompID;
            data.EmpID                   = string.IsNullOrEmpty(item.EmpID) ? "" : item.EmpID;
            data.EmpName                 = string.IsNullOrEmpty(item.EmpName) ? "" : item.EmpName;
            data.DutyDate                = string.IsNullOrEmpty(item.DutyDate) ? "" : item.DutyDate;
            data.DutyTime                = string.IsNullOrEmpty(item.DutyTime) ? "" : item.DutyTime;
            data.PunchDate               = string.IsNullOrEmpty(item.PunchDate) ? "" : item.PunchDate;
            data.PunchTime               = string.IsNullOrEmpty(item.PunchTime) ? "" : item.PunchTime;
            data.PunchConfirmSeq         = string.IsNullOrEmpty(item.PunchConfirmSeq) ? "" : item.PunchConfirmSeq;
            data.DeptID                  = string.IsNullOrEmpty(item.DeptID) ? "" : item.DeptID;
            data.DeptName                = string.IsNullOrEmpty(item.DeptName) ? "" : item.DeptName;
            data.OrganID                 = string.IsNullOrEmpty(item.OrganID) ? "" : item.OrganID;;
            data.OrganName               = string.IsNullOrEmpty(item.OrganName) ? "" : item.OrganName;
            data.FlowOrganID             = string.IsNullOrEmpty(item.FlowOrganID) ? "" : item.FlowOrganID;
            data.FlowOrganName           = string.IsNullOrEmpty(item.FlowOrganName) ? "" : item.FlowOrganName;
            data.Sex                     = string.IsNullOrEmpty(item.Sex) ? "" : item.Sex;
            data.PunchFlag               = string.IsNullOrEmpty(item.PunchFlag) ? "" : item.PunchFlag;
            data.WorkTypeID              = string.IsNullOrEmpty(item.WorkTypeID) ? "" : item.WorkTypeID;
            data.WorkType                = string.IsNullOrEmpty(item.WorkType) ? "" : item.WorkType;
            data.MAFT10_FLAG             = string.IsNullOrEmpty(item.MAFT10_FLAG) ? "" : item.MAFT10_FLAG;
            data.ConfirmStatus           = string.IsNullOrEmpty(item.ConfirmStatus) ? "" : item.ConfirmStatus;
            data.AbnormalType            = string.IsNullOrEmpty(item.AbnormalType) ? "" : item.AbnormalType;
            data.ConfirmPunchFlag        = string.IsNullOrEmpty(item.ConfirmPunchFlag) ? "" : item.ConfirmPunchFlag;
            data.PunchSeq                = string.IsNullOrEmpty(item.PunchSeq) ? "" : item.PunchSeq;
            data.PunchRemedySeq          = string.IsNullOrEmpty(item.PunchRemedySeq) ? "" : item.PunchRemedySeq;
            data.RemedyReasonID          = string.IsNullOrEmpty(item.RemedyReasonID) ? "" : item.RemedyReasonID;
            data.RemedyReasonCN          = string.IsNullOrEmpty(item.RemedyReasonCN) ? "" : item.RemedyReasonCN;
            data.RemedyPunchTime         = string.IsNullOrEmpty(item.RemedyPunchTime) ? "" : item.RemedyPunchTime;
            data.AbnormalFlag            = string.IsNullOrEmpty(item.AbnormalFlag) ? "" : item.AbnormalFlag;
            data.AbnormalReasonID        = string.IsNullOrEmpty(item.AbnormalReasonID) ? "" : item.AbnormalReasonID;
            data.AbnormalReasonCN        = string.IsNullOrEmpty(item.AbnormalReasonCN) ? "" : item.AbnormalReasonCN;
            data.AbnormalDesc            = string.IsNullOrEmpty(item.AbnormalDesc) ? "" : item.AbnormalDesc;
            data.Remedy_AbnormalFlag     = string.IsNullOrEmpty(item.Remedy_AbnormalFlag) ? "" : item.Remedy_AbnormalFlag;
            data.Remedy_AbnormalReasonID = string.IsNullOrEmpty(item.Remedy_AbnormalReasonID) ? "" : item.Remedy_AbnormalReasonID;
            data.Remedy_AbnormalReasonCN = string.IsNullOrEmpty(item.Remedy_AbnormalReasonCN) ? "" : item.Remedy_AbnormalReasonCN;
            data.Remedy_AbnormalDesc     = string.IsNullOrEmpty(item.Remedy_AbnormalDesc) ? "" : item.Remedy_AbnormalDesc;
            data.Source                  = string.IsNullOrEmpty(item.Source) ? "" : item.Source;
            data.APPContent              = string.IsNullOrEmpty(item.APPContent) ? "" : item.APPContent;
            data.LastChgComp             = string.IsNullOrEmpty(item.LastChgComp) ? "" : item.LastChgComp;
            data.LastChgID               = string.IsNullOrEmpty(item.LastChgID) ? "" : item.LastChgID;
            data.LastChgDate             = string.IsNullOrEmpty(item.LastChgDate) ? "" : item.LastChgDate;

            //Confirm與Remedy沒有公用的欄位
            data.RemedyPunchFlag    = string.IsNullOrEmpty(item.RemedyPunchFlag) ? "" : item.RemedyPunchFlag;
            data.BatchFlag          = string.IsNullOrEmpty(item.BatchFlag) ? "" : item.BatchFlag;
            data.PORemedyStatus     = string.IsNullOrEmpty(item.PORemedyStatus) ? "" : item.PORemedyStatus;
            data.RejectReason       = string.IsNullOrEmpty(item.RejectReason) ? "" : item.RejectReason;
            data.RejectReasonCN     = string.IsNullOrEmpty(item.RejectReasonCN) ? "" : item.RejectReasonCN;
            data.ValidDateTime      = string.IsNullOrEmpty(item.ValidDateTime) ? "" : item.ValidDateTime;
            data.ValidCompID        = string.IsNullOrEmpty(item.ValidCompID) ? "" : item.ValidCompID;
            data.ValidID            = string.IsNullOrEmpty(item.ValidID) ? "" : item.ValidID;
            data.ValidName          = string.IsNullOrEmpty(item.ValidName) ? "" : item.ValidName;
            data.Remedy_MAFT10_FLAG = string.IsNullOrEmpty(item.Remedy_MAFT10_FLAG) ? "" : item.Remedy_MAFT10_FLAG;

            //gridview顯示中文用
            data.ConfirmStatusGCN    = string.IsNullOrEmpty(item.ConfirmStatusGCN) ? "" : item.ConfirmStatusGCN;
            data.ConfirmPunchFlagGCN = string.IsNullOrEmpty(item.ConfirmPunchFlagGCN) ? "" : item.ConfirmPunchFlagGCN;
            data.AbnormalReasonGCN   = string.IsNullOrEmpty(item.AbnormalReasonGCN) ? "" : item.AbnormalReasonGCN;
            data.SourceGCN           = string.IsNullOrEmpty(item.SourceGCN) ? "" : item.SourceGCN;
            data.SexGCN = string.IsNullOrEmpty(item.SexGCN) ? "" : item.SexGCN;

            //給預存PunchCheckData計算用資料
            data.SpecialFlag    = string.IsNullOrEmpty(item.SpecialFlag) ? "" : item.SpecialFlag;
            data.RestBeginTime  = string.IsNullOrEmpty(item.RestBeginTime) ? "" : item.RestBeginTime;
            data.RestEndTime    = string.IsNullOrEmpty(item.RestEndTime) ? "" : item.RestEndTime;
            data.OtherPunchTime = string.IsNullOrEmpty(item.OtherPunchTime) ? "" : item.OtherPunchTime;

            //永豐流程FlowCaseID
            data.FlowCaseID = string.IsNullOrEmpty(item.FlowCaseID) ? "" : item.FlowCaseID;
            result.Add(data);
        }
        return(result);
    }