/// <summary>
    /// 查詢人員資料
    /// </summary>
    private void QueryEmpInfo(string txtEmp, string regStr)
    {
        var isSuccess = false;
        var msg       = "";
        var datas     = new OnBizPublicOutBean();
        var viewData  = new OnBizPublicOutModel()
        {
            CompID = UserInfo.getUserInfo().CompID,
            EmpID  = txtEmp
        };

        isSuccess = OnBizReq.SelectPerson(viewData, out datas, out msg);
        if (isSuccess && datas != null)
        {
            viewData = OnBizReq.EmpInfoFormat(datas);
            switch (regStr)
            {
            case "EmpID":
            {
                SetEmpInfoDetail(viewData);
                _OnBizEmpInfoModel = viewData;
                break;
            }

            case "DeputyID":
            {
                SetDeputyInfoDetail(viewData);
                _OnBizDeputyInfoModel = viewData;
                break;
            }
            }
        }
    }
    //-------------------------------------------------------------主要邏輯區

    /// <summary>
    /// 查詢邏輯
    /// </summary>
    private void DoQuery()
    {
        var isSuccess = false;
        var msg       = "";
        var fieldName = "";
        var datas     = new List <OnBizPublicOutBean>();
        var viewData  = new OnBizPublicOutModel()
        {
            CompID           = StringIIF(ddlCompID.SelectedValue),
            EmpID            = StringIIF(txtEmpID.Text),
            OBOrganID        = StringIIF(GetOrganWhere()),
            OBFlowOrganID    = StringIIF(GetFlowOrganWhere()),
            OBVisitBeginDate = StringIIF(ucStartDate.ucSelectedDate),
            OBVisitEndDate   = StringIIF(ucEndDate.ucSelectedDate)
        };

        fieldName = ddlOrganID.SelectedValue;

        isSuccess = OnBizReqInqForOrgan.SelectVisitFormOrgan(viewData, fieldName, out datas, out msg);
        if (isSuccess && datas != null && datas.Count > 0)
        {
            viewData.SelectGridDataList = OnBizReq.GridDataFormat(datas); //Format Data
        }
        gvMain.DataSource = viewData.SelectGridDataList;
        gvMain.DataBind();
        //_OnBizRegInquireModel = viewData;
    }
    //-------------------------------------------------------------方法

    #region "行政線"

    private void LoadOrgType()
    {
        var isSuccess = false;
        var msg       = "";
        var datas     = new List <OrganListModel>();
        var viewData  = new OnBizPublicOutModel()
        {
            CompID       = UserInfo.getUserInfo().CompID,
            EmpID        = UserInfo.getUserInfo().UserID,
            selectCompID = ddlCompID.SelectedValue
        };

        isSuccess = OnBizReqInqForOrgan.SelectOrgan(viewData, out datas, out msg);
        if (isSuccess && datas != null && datas.Count > 0)
        {
            _AllowOrgan = datas;

            ddlOrgType.DataSource     = datas.Select(x => new { x.OrgType, x.OrgTypeName }).Distinct().ToList();
            ddlOrgType.DataTextField  = "OrgTypeName";
            ddlOrgType.DataValueField = "OrgType";
            ddlOrgType.DataBind();
            ddlOrgType.Items.Insert(0, new ListItem("----請選擇----", ""));
        }
        else
        {
            _AllowOrgan = new List <OrganListModel>();
            resetDDL(ddlOrgType);
            resetDDL(ddlDeptID);
            resetDDL(ddlOrganID);
        }
    }
Esempio n. 4
0
    /// <summary>
    /// SelectOrgan
    /// 公出單紀錄查詢
    /// 取得行政組織下拉選單
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool SelectOrgan(OnBizPublicOutModel model, out List <OrganListModel> datas, out string msg)
    {
        bool result = false;

        msg   = "";
        datas = new List <OrganListModel>();
        try
        {
            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings(_eHRMSDB_ITRD).ConnectionString
            })
            {
                StringBuilder sb = new StringBuilder();
                SqlCommand.SelectOrganSql(ref sb);
                try
                {
                    datas = conn.Query <OrganListModel>(sb.ToString(), model).ToList();
                }
                catch (Exception)
                {
                    throw;
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
    //-------------------------------------------------------------方法

    /// <summary>
    /// 查詢最大FormSeq
    /// </summary>
    private void QueryMaxSeq()
    {
        var result    = "";
        var isSuccess = false;
        var msg       = "";
        var datas     = new OnBizPublicOutBean();
        var viewData  = new OnBizPublicOutModel()
        {
            CompID      = UserInfo.getUserInfo().CompID,
            OBWriterID  = UserInfo.getUserInfo().UserID,
            OBWriteDate = DateTime.Now.ToString("yyyy/MM/dd")
        };

        isSuccess = OnBizReqAddes.SelectVisitFormMaxSeq(viewData, out datas, out msg);
        if (isSuccess && datas != null)
        {
            var seq = Int32.Parse(datas.FormSeq) + 1;
            result = seq.ToString();
        }
        else
        {
            result = "1";
        }
        _maxSeq = result;
    }
    /// <summary>
    /// 送簽流程
    /// </summary>
    private void DoSend()
    {
        bool   result       = false;
        long   seccessCount = 0;
        string msg          = "";

        try
        {
            OnBizPublicOutModel model = setViewModel();

            result = OnBizReq.Insert_UpdateVisitFormSign(model, "Addes", out seccessCount, out msg);
            if (!result)
            {
                throw new Exception(msg);
            }
            if (seccessCount == 0)
            {
                throw new Exception("送簽失敗!!");
            }
            Util.MsgBox("送簽成功!!");
            LoadData();
        }
        catch (Exception ex)
        {
            Util.MsgBox(ex.Message);
        }
    }
    //-------------------------------------------------------------主要邏輯區

    /// <summary>
    /// 新增邏輯
    /// </summary>
    private void DoSave()
    {
        bool   result       = false;
        long   seccessCount = 0;
        string msg          = "";

        try
        {
            OnBizPublicOutModel model = setViewModel();

            result = OnBizReqAddes.InsertVisitForm(model, out seccessCount, out msg);
            if (!result)
            {
                throw new Exception(msg);
            }
            if (seccessCount == 0)
            {
                throw new Exception("無資料被新增!!");
            }
            Util.MsgBox("新增成功");
            LoadData();
        }
        catch (Exception ex)
        {
            Util.MsgBox(ex.Message);
        }
    }
    //-------------------------------------------------------------主要邏輯區

    /// <summary>
    /// 修改邏輯
    /// </summary>
    private void DoUpdate()
    {
        bool   result       = false;
        long   seccessCount = 0;
        string msg          = "";

        try
        {
            OnBizPublicOutModel model = setViewModel();

            result = OnBizReqModify.UpdateVisitForm(model, out seccessCount, out msg);
            if (!result)
            {
                throw new Exception(msg);
            }
            if (seccessCount == 0)
            {
                throw new Exception("無資料被修改!!");
            }
            Util.MsgBox("修改筆數 : " + seccessCount);
        }
        catch (Exception ex)
        {
            Util.MsgBox(ex.Message);
        }
    }
 /// <summary>
 /// 公出人員資料明細
 /// </summary>
 private void SetEmpInfoDetail(OnBizPublicOutModel model)
 {
     txtEmpID.Text              = model.EmpID;
     lblEmpID.Text              = model.EmpNameN;
     CompName.Text              = model.CompID + " " + model.CompName;
     OrganName.Text             = model.OBOrganID + " " + model.OBOrganName;
     TitleName.Text             = model.OBTitleID + " " + model.OBTitleName;
     Position.Text              = model.OBPositionID + " " + model.OBPosition;
     btnDeputyID.selectOutEmpID = model.EmpID;
 }
    /// <summary>
    /// 將畫面上的直塞入ViewModel
    /// </summary>
    /// <returns></returns>
    private OnBizPublicOutModel setViewModel()
    {
        OnBizPublicOutModel model = new OnBizPublicOutModel()
        {
            CompID              = StringIIF(_OnBizEmpInfoModel.CompID),
            oldCompID           = StringIIF(_OnBizModel.CompID),
            EmpID               = StringIIF(txtEmpID.Text),
            oldEmpID            = StringIIF(_OnBizModel.EmpID),
            EmpNameN            = StringIIF(lblEmpID.Text),
            OBWriteDate         = StringIIF(WriteDate.Text),
            OBWriteTime         = StringIIF(DateTime.Now.ToString("HH:mm")),
            OBWriterID          = StringIIF(UserInfo.getUserInfo().UserID),
            oldOBWriteDate      = StringIIF(_OnBizModel.OBWriteDate),
            OBWriterName        = StringIIF(UserInfo.getUserInfo().UserName),
            OBFormSeq           = StringIIF(_OnBizModel.OBFormSeq), //還需再修改
            oldOBFormSeq        = StringIIF(_OnBizModel.OBFormSeq),
            OBDeptID            = StringIIF(_OnBizEmpInfoModel.OBDeptID),
            OBDeptName          = StringIIF(_OnBizEmpInfoModel.OBDeptName),
            OBOrganID           = StringIIF(_OnBizEmpInfoModel.OBOrganID),
            OBOrganName         = StringIIF(_OnBizEmpInfoModel.OBOrganName),
            OBWorkTypeID        = StringIIF(_OnBizEmpInfoModel.OBWorkTypeID),
            OBWorkType          = StringIIF(_OnBizEmpInfoModel.OBWorkType),
            OBFlowOrganID       = StringIIF(_OnBizEmpInfoModel.OBFlowOrganID),
            OBFlowOrganName     = StringIIF(_OnBizEmpInfoModel.OBFlowOrganName),
            OBTitleID           = StringIIF(_OnBizEmpInfoModel.OBTitleID),
            OBTitleName         = StringIIF(_OnBizEmpInfoModel.OBTitleName),
            OBPositionID        = StringIIF(_OnBizEmpInfoModel.OBPositionID),
            OBPosition          = StringIIF(_OnBizEmpInfoModel.OBPosition),
            OBTel_1             = StringIIF(txtTel_1.Text),
            OBTel_2             = StringIIF(txtTel_2.Text),
            OBVisitBeginDate    = StringIIF(txtVisitBeginDate.ucSelectedDate),
            OBBeginTime         = StringIIF((ddlBeginTimeA.Text + ":" + ddlBeginTimeB.Text)),
            OBBeginTimeH        = StringIIF(ddlBeginTimeA.Text),
            OBBeginTimeM        = StringIIF(ddlBeginTimeB.Text),
            OBVisitEndDate      = StringIIF(txtVisitBeginDate.ucSelectedDate),
            OBEndTime           = StringIIF((ddlEndTimeA.Text + ":" + ddlEndTimeB.Text)),
            OBEndTimeH          = StringIIF(ddlEndTimeA.Text),
            OBEndTimeM          = StringIIF(ddlEndTimeB.Text),
            OBDeputyID          = StringIIF(txtDeputyID.Text),
            OBDeputyName        = StringIIF(lblDeputyID.Text),
            OBLocationType      = StringIIF(Inner.Checked ? "1" : "2"),
            OBInterLocationID   = StringIIF(Inner.Checked ? txtInterLocationName.Text.Split(" ")[0] : ""),
            OBInterLocationName = StringIIF(Inner.Checked ? txtInterLocationName.Text.Split(" ")[1] : ""),
            OBExterLocationName = StringIIF(txtExterLocationName.Text),
            OBVisiterName       = StringIIF(txtVisiterName.Text),
            OBVisiterTel        = StringIIF(txtVisiterTel.Text),
            OBVisitReasonID     = StringIIF(ddlVisitReasonCN.SelectedValue),
            OBVisitReasonCN     = StringIIF("".Equals(ddlVisitReasonCN.SelectedValue)?"":ddlVisitReasonCN.SelectedItem.Text),
            OBVisitReasonDesc   = StringIIF(txtVisitReasonDesc.Text),
            OBLastChgComp       = UserInfo.getUserInfo().CompID,
            OBLastChgID         = UserInfo.getUserInfo().UserID,
        };

        return(model);
    }
    /// <summary>
    /// 載入資料(原件初始化)
    /// </summary>
    private void LoadData()
    {
        _OnBizReqDetailModel = _SessionDetailModel;
        _BackPage            = _OnBizReqDetailModel.PageName;
        _SessionDetailModel  = null;

        Inner.Enabled  = false;
        Outter.Enabled = false;
        QueryOBEmpInfo();
        initScreen();
    }
    private void LoadRoleCode40()
    {
        var isSuccess = false;
        var msg       = "";
        var datas     = new List <FlowOrganListModel>();
        var viewData  = new OnBizPublicOutModel()
        {
            CompID       = UserInfo.getUserInfo().CompID,
            EmpID        = UserInfo.getUserInfo().UserID,
            selectCompID = ddlCompID.SelectedValue,
            FlowType     = "D"
        };

        isSuccess = OnBizReqInqForOrgan.SelectFlowOrgan(viewData, out datas, out msg);
        if (isSuccess && datas != null && datas.Count > 0)
        {
            _AllowFlowOrgan = datas;

            viewData = new OnBizPublicOutModel()
            {
                CompID       = UserInfo.getUserInfo().CompID,
                EmpID        = UserInfo.getUserInfo().UserID,
                selectCompID = ddlCompID.SelectedValue,
                FlowType     = "B"
            };

            isSuccess = OnBizReqInqForOrgan.SelectFlowOrgan(viewData, out datas, out msg);
            if (isSuccess && datas != null && datas.Count > 0)
            {
                _AllowFlowOrganView          = datas;
                ddlRoleCode40.DataSource     = datas.Where(x => x.RoleCode == "40").Select(x => new { x.OrganID, x.OrganName }).Distinct().ToList();
                ddlRoleCode40.DataTextField  = "OrganName";
                ddlRoleCode40.DataValueField = "OrganID";
                ddlRoleCode40.DataBind();
                ddlRoleCode40.Items.Insert(0, new ListItem("----請選擇----", ""));
            }
            else
            {
                _AllowFlowOrganView = new List <FlowOrganListModel>();
                resetDDL(ddlRoleCode40);
                resetDDL(ddlRoleCode30);
                resetDDL(ddlRoleCode20);
                resetDDL(ddlRoleCode10);
            }
        }
        else
        {
            _AllowFlowOrgan = new List <FlowOrganListModel>();
            resetDDL(ddlRoleCode40);
            resetDDL(ddlRoleCode30);
            resetDDL(ddlRoleCode20);
            resetDDL(ddlRoleCode10);
        }
    }
Esempio n. 13
0
    /// <summary>
    /// DetailFormat
    /// 公出修改、公出明細
    /// 將DB資料轉成ViewModel
    /// </summary>
    /// <param name="dbDataList">DB資料</param>
    /// <returns>格式化後資料</returns>
    public static OnBizPublicOutModel DetailFormat(OnBizPublicOutBean dbDataList)
    {
        var result = new OnBizPublicOutModel()
        {
            CompID               = dbDataList.CompID,
            CompName             = dbDataList.CompName,
            CompID_Name          = dbDataList.CompID + " " + dbDataList.CompName,
            EmpID                = dbDataList.EmpID,
            EmpNameN             = dbDataList.EmpNameN,
            EmpID_Name           = dbDataList.EmpID + " " + dbDataList.EmpNameN,
            OBWriteDate          = dbDataList.WriteDate,
            OBWriterID           = dbDataList.WriterID,
            OBWriterName         = dbDataList.WriterName,
            OBWriterID_Name      = dbDataList.WriterID + " " + dbDataList.WriterName,
            OBFormSeq            = dbDataList.FormSeq,
            OBVisitFormNo        = dbDataList.VisitFormNo,
            OBOrganID            = dbDataList.OrganID,
            OBOrganName          = dbDataList.OrganName,
            OBTitleID            = dbDataList.TitleID,
            OBTitleName          = dbDataList.TitleName,
            OBPositionID         = dbDataList.PositionID,
            OBPosition           = dbDataList.Position,
            OBTel_1              = dbDataList.Tel_1,
            OBTel_2              = dbDataList.Tel_2,
            OBVisitBeginDate     = dbDataList.VisitBeginDate,
            OBBeginTime          = dbDataList.BeginTime,
            OBBeginTimeH         = dbDataList.BeginTime.Split(":")[0],
            OBBeginTimeM         = dbDataList.BeginTime.Split(":")[1],
            OBVisitEndDate       = dbDataList.VisitBeginDate,
            OBEndTime            = dbDataList.EndTime,
            OBEndTimeH           = dbDataList.EndTime.Split(":")[0],
            OBEndTimeM           = dbDataList.EndTime.Split(":")[1],
            OBDeputyID           = dbDataList.DeputyID,
            OBDeputyName         = dbDataList.DeputyName,
            OBLocationType       = dbDataList.LocationType,
            OBInterLocationID    = dbDataList.InterLocationID,
            OBInterLocationName  = dbDataList.InterLocationName,
            OBExterLocationName  = dbDataList.ExterLocationName,
            OBVisiterName        = dbDataList.VisiterName,
            OBVisiterTel         = dbDataList.VisiterTel,
            OBVisitReasonID      = dbDataList.VisitReasonID,
            OBVisitReasonCN      = dbDataList.VisitReasonCN,
            OBVisitReasonDesc    = dbDataList.VisitReasonDesc,
            OBLastChgComp        = dbDataList.LastChgComp,
            OBLastChgCompName    = dbDataList.LastChgCompName,
            OBLastChgCompID_Name = dbDataList.LastChgComp + " " + dbDataList.LastChgCompName,
            OBLastChgID          = dbDataList.LastChgID,
            OBLastChgName        = dbDataList.LastChgName,
            OBLastChgID_Name     = dbDataList.LastChgID + " " + dbDataList.LastChgName,
            OBLastChgDate        = dbDataList.LastChgDate
        };

        return(result);
    }
Esempio n. 14
0
    /// <summary>
    /// 公出查詢
    /// 取得Grid資料
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool SelectVisitForm(OnBizPublicOutModel model, out List <OnBizPublicOutBean> datas, out string msg)
    {
        bool result = false;

        msg   = "";
        datas = new List <OnBizPublicOutBean>();
        try
        {
            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings(_attendantDBName).ConnectionString
            })
            {
                OnBizPublicOutBean dataBean = new OnBizPublicOutBean()
                {
                    OBUseType      = model.OBUseType,
                    CompID         = model.CompID,
                    EmpID          = model.EmpID,
                    VisitBeginDate = model.OBVisitBeginDate,
                    VisitEndDate   = model.OBVisitEndDate,
                    OBFormStatus   = model.OBFormStatus
                };
                StringBuilder sb = new StringBuilder();
                SqlCommand.SelectVisitFormsql(dataBean, ref sb);
                try
                {
                    datas = conn.Query <OnBizPublicOutBean>(sb.ToString(), dataBean).ToList();
                }
                catch (Exception)
                {
                    throw;
                }
                if (datas == null || datas.Count == 0)
                {
                    throw new Exception("查無資料!");
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
Esempio n. 15
0
    /// <summary>
    /// gvMain_RowCommand
    /// 點選明細跳轉至明細頁
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void gvMain_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        GridViewRow clickedRow = ((LinkButton)e.CommandSource).NamingContainer as GridViewRow;

        if (e.CommandName == "Detail")
        {
            //DataKey gridData = gvMain.DataKeys[dataRow.RowIndex];
            var viewData = new OnBizPublicOutModel();
            viewData.CompID      = gvMain.DataKeys[clickedRow.RowIndex].Values["CompID"].ToString();
            viewData.EmpID       = gvMain.DataKeys[clickedRow.RowIndex].Values["EmpID"].ToString();
            viewData.OBWriteDate = gvMain.DataKeys[clickedRow.RowIndex].Values["OBWriteDate"].ToString();
            viewData.OBFormSeq   = gvMain.DataKeys[clickedRow.RowIndex].Values["OBFormSeq"].ToString();
            viewData.PageName    = "OnBizRegInquireView";
            _SessionModifyModel  = viewData;

            Response.Redirect("OnBizReqDetailView.aspx");
        }
    }
Esempio n. 16
0
    //-------------------------------------------------------------方法

    /// <summary>
    /// 修改邏輯
    /// 勾選一筆資料存入Session
    /// </summary>
    private void selectedGridData()
    {
        foreach (GridViewRow dataRow in gvMain.Rows)
        {
            if (dataRow.RowType == DataControlRowType.DataRow)
            {
                CheckBox chk_Update = (CheckBox)dataRow.Cells[0].FindControl("chkChoose");
                if (chk_Update.Checked)
                {
                    var viewData = new OnBizPublicOutModel();
                    viewData.CompID      = gvMain.DataKeys[dataRow.RowIndex].Values["CompID"].ToString();
                    viewData.EmpID       = gvMain.DataKeys[dataRow.RowIndex].Values["EmpID"].ToString();
                    viewData.OBWriteDate = gvMain.DataKeys[dataRow.RowIndex].Values["OBWriteDate"].ToString();
                    viewData.OBFormSeq   = gvMain.DataKeys[dataRow.RowIndex].Values["OBFormSeq"].ToString();
                    _SessionModifyModel  = viewData;
                }
            }
        }
    }
    /// <summary>
    /// 載入資料(原件初始化)
    /// </summary>
    private void LoadData()
    {
        _OnBizModel         = _SessionModifyModel;
        _SessionModifyModel = null;

        initReasonCN();
        QueryWorkSite();

        txtInterLocationName.Enabled = false;
        txtExterLocationName.Enabled = false;

        QueryOBEmpInfo();
        QueryEmpInfo(_OnBizModel.EmpID, "EmpID");
        QueryEmpInfo(_OnBizModel.OBDeputyID, "DeputyID");
        DoClear();

        btnEmpID.selectCompID    = UserInfo.getUserInfo().CompID;
        btnDeputyID.selectCompID = UserInfo.getUserInfo().CompID;
    }
Esempio n. 18
0
    //--------------------------------------------------------------------------------------------------------------------------For : 公出修改、公出明細

    /// <summary>
    /// SelectOnlyVisitForm
    /// 公出修改、公出明細
    /// 取得公出個人資料
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool SelectOnlyVisitForm(OnBizPublicOutModel model, out OnBizPublicOutBean datas, out string msg)
    {
        bool result = false;

        msg   = "";
        datas = new OnBizPublicOutBean();
        try
        {
            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings(_attendantDBName).ConnectionString
            })
            {
                OnBizPublicOutBean dataBean = new OnBizPublicOutBean()
                {
                    CompID    = model.CompID,
                    EmpID     = model.EmpID,
                    WriteDate = model.OBWriteDate,
                    FormSeq   = model.OBFormSeq
                };
                StringBuilder sb = new StringBuilder();
                SqlCommand.SelectOnlyVisitFormSql(ref sb);
                try
                {
                    datas = conn.Query <OnBizPublicOutBean>(sb.ToString(), dataBean).FirstOrDefault();
                }
                catch (Exception)
                {
                    throw;
                }
                if (datas == null)
                {
                    throw new Exception("查無資料!");
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
Esempio n. 19
0
    /// <summary>
    /// 註銷邏輯
    /// </summary>
    private void DoLogoff()
    {
        var    isSuccess    = false;
        string msg          = "";
        long   seccessCount = 0;
        var    datas        = new List <OnBizPublicOutModel>();

        foreach (GridViewRow dataRow in gvMain.Rows)
        {
            if (dataRow.RowType == DataControlRowType.DataRow)
            {
                CheckBox chk_Update = (CheckBox)dataRow.Cells[0].FindControl("chkChoose");
                if (chk_Update.Checked)
                {
                    var viewData = new OnBizPublicOutModel();
                    viewData.CompID        = gvMain.DataKeys[dataRow.RowIndex].Values["CompID"].ToString();
                    viewData.EmpID         = gvMain.DataKeys[dataRow.RowIndex].Values["EmpID"].ToString();
                    viewData.OBWriterID    = UserInfo.getUserInfo().UserID;
                    viewData.OBWriterName  = UserInfo.getUserInfo().UserName;
                    viewData.OBDeptID      = UserInfo.getUserInfo().DeptID;
                    viewData.OBDeptName    = UserInfo.getUserInfo().DeptName;
                    viewData.OBWriteDate   = gvMain.DataKeys[dataRow.RowIndex].Values["OBWriteDate"].ToString();
                    viewData.OBFormSeq     = gvMain.DataKeys[dataRow.RowIndex].Values["OBFormSeq"].ToString();
                    viewData.FlowCaseID    = gvMain.DataKeys[dataRow.RowIndex].Values["FlowCaseID"].ToString();
                    viewData.OBLastChgComp = UserInfo.getUserInfo().CompID;
                    viewData.OBLastChgID   = UserInfo.getUserInfo().UserID;
                    viewData.OBLastChgDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    datas.Add(viewData);
                }
            }
        }
        isSuccess = OnBizReq.LogoffVisitForm(datas, out seccessCount, out msg);//註銷邏輯拔掉
        if (!isSuccess)
        {
            throw new Exception(msg);
        }
        if (seccessCount == 0)
        {
            throw new Exception("無資料被註銷!!");
        }
        Util.MsgBox("註銷成功");
        DoQuery();
    }
    /// <summary>
    /// 查詢工作地點資料
    /// </summary>
    private void QueryWorkSite()
    {
        var isSuccess = false;
        var msg       = "";
        var datas     = new List <OnBizPublicOutBean>();
        var viewData  = new OnBizPublicOutModel()
        {
            CompID = UserInfo.getUserInfo().CompID
        };

        isSuccess = OnBizReq.SelectWorkSite(viewData, out datas, out msg);
        if (isSuccess && datas != null)
        {
            viewData.PersonGridDataList         = OnBizReq.WorkSiteFormat(datas);
            ddlInterLocationName.DataSource     = viewData.PersonGridDataList;
            ddlInterLocationName.DataValueField = "OBInterLocationID";
            ddlInterLocationName.DataTextField  = "OBInterLocationName";
            ddlInterLocationName.DataBind();
        }
    }
    //-------------------------------------------------------------初始物件

    /// <summary>
    /// 取得公司
    /// </summary>
    private void initComp()
    {
        var isSuccess = false;
        var msg       = "";
        var datas     = new List <DropDownListModel>();
        var viewData  = new OnBizPublicOutModel()
        {
            selectCompID = UserInfo.getUserInfo().CompID,
            EmpID        = UserInfo.getUserInfo().UserID
        };

        isSuccess = OnBizReqInqForOrgan.SelectBothComp(viewData, out datas, out msg);
        if (isSuccess && datas != null && datas.Count > 0)
        {
            ddlCompID.DataSource     = datas;
            ddlCompID.DataTextField  = "DataText";
            ddlCompID.DataValueField = "DataValue";
            ddlCompID.DataBind();
        }
    }
    //-------------------------------------------------------------主要邏輯區

    /// <summary>
    /// 查詢個人公出單資料
    /// </summary>
    private void QueryOBEmpInfo()
    {
        var isSuccess = false;
        var msg       = "";
        var datas     = new OnBizPublicOutBean();
        var viewData  = new OnBizPublicOutModel()
        {
            CompID      = StringIIF(_OnBizReqDetailModel.CompID),
            EmpID       = StringIIF(_OnBizReqDetailModel.EmpID),
            OBWriteDate = StringIIF(_OnBizReqDetailModel.OBWriteDate),
            OBFormSeq   = StringIIF(_OnBizReqDetailModel.OBFormSeq)
        };

        isSuccess = OnBizReq.SelectOnlyVisitForm(viewData, out datas, out msg);
        if (isSuccess && datas != null)
        {
            viewData             = OnBizReq.DetailFormat(datas); //Format Data
            _OnBizReqDetailModel = viewData;
        }
    }
Esempio n. 23
0
    /// <summary>
    /// SelectWorkSite
    /// 公出申請、公出修改
    /// 取得所有內部單位工作地點
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool SelectWorkSite(OnBizPublicOutModel model, out List <OnBizPublicOutBean> datas, out string msg)
    {
        bool result = false;

        msg   = "";
        datas = new List <OnBizPublicOutBean>();
        try
        {
            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings("eHRMSDB").ConnectionString
            })
            {
                OnBizPublicOutBean dataBean = new OnBizPublicOutBean()
                {
                    CompID = model.CompID,
                };
                StringBuilder sb = new StringBuilder();
                SqlCommand.SelectWorkSiteSql(ref sb);
                try
                {
                    datas = conn.Query <OnBizPublicOutBean>(sb.ToString(), dataBean).ToList();
                }
                catch (Exception)
                {
                    throw;
                }
                if (datas == null || datas.Count == 0)
                {
                    throw new Exception("查無資料!");
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
 /// <summary>
 /// 從Session取得公出、職務代理人員詳細資料
 /// </summary>
 private void SetEmpInfoFromSession()
 {
     if (_SessionEmpInfoModel.Count > 0)
     {
         Dictionary <string, string> dyEmp = _SessionEmpInfoModel;
         OnBizPublicOutModel         model = new OnBizPublicOutModel()
         {
             CompID          = StringIIF(dyEmp["CompID"].ToString()),
             CompName        = StringIIF(dyEmp["CompName"].ToString()),
             EmpID           = StringIIF(dyEmp["EmpID"].ToString()),
             EmpNameN        = StringIIF(dyEmp["EmpNameN"].ToString()),
             OBDeptID        = StringIIF(dyEmp["DeptID"].ToString()),
             OBDeptName      = StringIIF(dyEmp["DeptName"].ToString()),
             OBOrganID       = StringIIF(dyEmp["OrganID"].ToString()),
             OBOrganName     = StringIIF(dyEmp["OrganName"].ToString()),
             OBWorkTypeID    = StringIIF(dyEmp["WorkTypeID"].ToString()),
             OBWorkType      = StringIIF(dyEmp["WorkType"].ToString()),
             OBPositionID    = StringIIF(dyEmp["PositionID"].ToString()),
             OBPosition      = StringIIF(dyEmp["Position"].ToString()),
             OBFlowOrganID   = StringIIF(dyEmp["FlowOrganID"].ToString()),
             OBFlowOrganName = StringIIF(dyEmp["FlowOrganName"].ToString()),
             OBTitleID       = StringIIF(dyEmp["TitleID"].ToString()),
             OBTitleName     = StringIIF(dyEmp["TitleName"].ToString())
         };
         SetEmpInfoDetail(model);
         _OnBizEmpInfoModel = model;
     }
     if (_SessionDeputyInfoModel.Count > 0)
     {
         Dictionary <string, string> dyDeputy = _SessionDeputyInfoModel;
         OnBizPublicOutModel         model    = new OnBizPublicOutModel()
         {
             EmpID    = StringIIF(dyDeputy["EmpID"].ToString()),
             EmpNameN = StringIIF(dyDeputy["EmpNameN"].ToString()),
         };
         SetDeputyInfoDetail(model);
         _OnBizDeputyInfoModel = model;
     }
 }
Esempio n. 25
0
    //-------------------------------------------------------------主要邏輯區

    /// <summary>
    /// 查詢邏輯
    /// </summary>
    private void DoQuery()
    {
        var isSuccess = false;
        var msg       = "";
        var datas     = new List <OnBizPublicOutBean>();
        var viewData  = new OnBizPublicOutModel()
        {
            OBUseType        = StringIIF(ddlOBUseType.SelectedValue),
            CompID           = StringIIF(UserInfo.getUserInfo().CompID),
            EmpID            = StringIIF(UserInfo.getUserInfo().UserID),
            OBVisitBeginDate = StringIIF(ucStartDate.ucSelectedDate),
            OBVisitEndDate   = StringIIF(ucEndDate.ucSelectedDate),
            OBFormStatus     = StringIIF(ddlOBFormStatus.SelectedValue)
        };

        isSuccess = OnBizRegInquire.SelectVisitForm(viewData, out datas, out msg);
        if (isSuccess && datas != null && datas.Count > 0)
        {
            viewData.SelectGridDataList = OnBizReq.GridDataFormat(datas); //Format Data
        }
        gvMain.DataSource = viewData.SelectGridDataList;
        gvMain.DataBind();
    }
Esempio n. 26
0
    /// <summary>
    /// SelectEmpFlowValid
    /// 公出申請、公出修改
    /// 取得最小簽核主管下拉選單
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool SelectEmpFlowValid(OnBizPublicOutModel model, out List <DropDownListModel> datas, out string msg)
    {
        bool result = false;

        msg   = "";
        datas = new List <DropDownListModel>();
        try
        {
            OnBizPublicOutBean dataBean = new OnBizPublicOutBean()
            {
                CompID = model.CompID,
                EmpID  = model.EmpID
            };
            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings(_eHRMSDB_ITRD).ConnectionString
            })
            {
                StringBuilder sb = new StringBuilder();
                SqlCommand.SelectEmpFlowValidSql(ref sb);
                try
                {
                    datas = conn.Query <DropDownListModel>(sb.ToString(), dataBean).ToList();
                }
                catch (Exception)
                {
                    throw;
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
Esempio n. 27
0
    /// <summary>
    /// EmpInfoFormat
    /// 公出修改、公出申請
    /// 將DB資料轉成ViewModel
    /// </summary>
    /// <param name="dbDataList">DB資料</param>
    /// <returns>格式化後資料</returns>
    public static OnBizPublicOutModel EmpInfoFormat(OnBizPublicOutBean dbDataList)
    {
        var result = new OnBizPublicOutModel()
        {
            CompID          = dbDataList.CompID,
            CompName        = dbDataList.CompName,
            EmpID           = dbDataList.EmpID,
            EmpNameN        = dbDataList.EmpNameN,
            OBDeptID        = dbDataList.DeptID,
            OBDeptName      = dbDataList.DeptName,
            OBOrganID       = dbDataList.OrganID,
            OBOrganName     = dbDataList.OrganName,
            OBWorkTypeID    = dbDataList.WorkTypeID,
            OBWorkType      = dbDataList.WorkType,
            OBFlowOrganID   = dbDataList.FlowOrganID,
            OBFlowOrganName = dbDataList.FlowOrganName,
            OBTitleID       = dbDataList.TitleID,
            OBTitleName     = dbDataList.TitleName,
            OBPositionID    = dbDataList.PositionID,
            OBPosition      = dbDataList.Position,
        };

        return(result);
    }
Esempio n. 28
0
 /// <summary>
 /// 載入資料
 /// </summary>
 private void LoadData()
 {
     _SessionModifyModel = null;
     lblEmpID.Text       = UserInfo.getUserInfo().UserID + " " + UserInfo.getUserInfo().UserName;
 }
Esempio n. 29
0
    /// <summary>
    /// UpdateVisitForm
    /// 公出修改
    /// 更新DB資料
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="seccessCount">新增筆數</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool UpdateVisitForm(OnBizPublicOutModel model, out long seccessCount, out string msg)
    {
        bool result = false;

        seccessCount = 0;
        msg          = "";
        try
        {
            //測試資料
            var databean = new OnBizPublicOutBean()
            {
                CompID            = model.CompID,
                oldCompID         = model.oldCompID,
                EmpID             = model.EmpID,
                oldEmpID          = model.oldEmpID,
                EmpNameN          = model.EmpNameN,
                WriteDate         = model.OBWriteDate,
                WriteTime         = model.OBWriteTime,
                WriterID          = model.OBWriterID,
                oldWriteDate      = model.oldOBWriteDate,
                WriterName        = model.OBWriterName,
                FormSeq           = model.OBFormSeq,
                oldFormSeq        = model.oldOBFormSeq,
                FlowCaseID        = "",
                TransactionSeq    = "",
                VisitFormNo       = model.OBVisitFormNo,
                OBFormStatus      = "1",
                ValidDate         = "",
                ValidID           = "",
                ValidName         = "",
                RejectReasonID    = "",
                RejectReasonCN    = "",
                DeptID            = model.OBDeptID,
                DeptName          = model.OBDeptName,
                OrganID           = model.OBOrganID,
                OrganName         = model.OBOrganName,
                WorkTypeID        = model.OBWorkTypeID,
                WorkType          = model.OBWorkType,
                FlowOrganID       = model.OBFlowOrganID,
                FlowOrganName     = model.OBFlowOrganName,
                TitleID           = model.OBTitleID,
                TitleName         = model.OBTitleName,
                PositionID        = model.OBPositionID,
                Position          = model.OBPosition,
                Tel_1             = model.OBTel_1,
                Tel_2             = model.OBTel_2,
                VisitBeginDate    = model.OBVisitBeginDate,
                BeginTime         = model.OBBeginTimeH + ":" + model.OBBeginTimeM,
                VisitEndDate      = model.OBVisitEndDate,
                EndTime           = model.OBEndTimeH + ":" + model.OBEndTimeM,
                DeputyID          = model.OBDeputyID,
                DeputyName        = model.OBDeputyName,
                LocationType      = model.OBLocationType,
                InterLocationID   = model.OBInterLocationID,
                InterLocationName = model.OBInterLocationName,
                ExterLocationName = model.OBExterLocationName,
                VisiterName       = model.OBVisiterName,
                VisiterTel        = model.OBVisiterTel,
                VisitReasonID     = model.OBVisitReasonID,
                VisitReasonCN     = model.OBVisitReasonCN,
                VisitReasonDesc   = model.OBVisitReasonDesc,
                LastChgComp       = model.OBLastChgComp,
                LastChgID         = model.OBLastChgID,
                LastChgDate       = model.OBLastChgDate
            };

            using (var conn = new SqlConnection()
            {
                ConnectionString = DbHelper.getConnectionStrings(_attendantDBName).ConnectionString
            })
            {
                conn.Open();
                StringBuilder sb = new StringBuilder();
                SqlCommand.UpdateVisitFormSql(ref sb, true); //建立新增SqlCommand
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        seccessCount = conn.Execute(sb.ToString(), databean, trans); //執行新增,成功筆數回傳,並做Transaction機制
                        trans.Commit();                                              //成功Transaction直接Commit
                    }
                    catch (Exception)
                    {
                        trans.Rollback();     //失敗Transaction Rollback
                        throw;
                    }
                }
            }
            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }
Esempio n. 30
0
    /// <summary>
    /// Insert_UpdateVisitFormSign
    /// 公出申請、公出修改
    /// 申請後送簽流程
    /// </summary>
    /// <param name="model">畫面model</param>
    /// <param name="datas">回傳資料</param>
    /// <param name="msg">回傳訊息</param>
    /// <returns>bool</returns>
    public static bool Insert_UpdateVisitFormSign(OnBizPublicOutModel model, string regStr, out long seccessCount, out string msg)
    {
        bool result = false;

        seccessCount = 0;
        msg          = "";
        try
        {
            Dictionary <string, string> ValidUserData = new Dictionary <string, string>();
            FlowExpress flow                       = new FlowExpress(Util.getAppSetting("app://AattendantDB_OnBiz/"));
            string      KeyValue                   = "";//字串
            string[]    strarray                   = null;
            string      strFlowCaseID              = "";
            Dictionary <string, string> empData    = new Dictionary <string, string>();
            Dictionary <string, string> toUserData = new Dictionary <string, string>();
            string flowCode       = "";
            string flowSN         = "";
            bool   nextIsLastFlow = false;
            string meassge        = "";

            DbHelper      db = new DbHelper(_attendantDBName);
            CommandHelper sb = db.CreateCommandHelper();
            DbConnection  cn = db.OpenConnection();

            OnBizPublicOutBean dataBean = new OnBizPublicOutBean()
            {
                CompID            = model.CompID,
                oldCompID         = model.oldCompID,
                EmpID             = model.EmpID,
                oldEmpID          = model.oldEmpID,
                EmpNameN          = model.EmpNameN,
                WriteDate         = model.OBWriteDate,
                WriteTime         = model.OBWriteTime,
                WriterID          = model.OBWriterID,
                oldWriteDate      = model.oldOBWriteDate,
                WriterName        = model.OBWriterName,
                FormSeq           = model.OBFormSeq,
                oldFormSeq        = model.oldOBFormSeq,
                FlowCaseID        = "",
                TransactionSeq    = "",
                OBFormStatus      = "2",
                ValidDate         = "",
                ValidID           = "",
                ValidName         = "",
                RejectReasonID    = "",
                RejectReasonCN    = "",
                DeptID            = model.OBDeptID,
                DeptName          = model.OBDeptName,
                OrganID           = model.OBOrganID,
                OrganName         = model.OBOrganName,
                WorkTypeID        = model.OBWorkTypeID,
                WorkType          = model.OBWorkType,
                FlowOrganID       = model.OBFlowOrganID,
                FlowOrganName     = model.OBFlowOrganName,
                TitleID           = model.OBTitleID,
                TitleName         = model.OBTitleName,
                PositionID        = model.OBPositionID,
                Position          = model.OBPosition,
                Tel_1             = model.OBTel_1,
                Tel_2             = model.OBTel_2,
                VisitBeginDate    = model.OBVisitBeginDate,
                BeginTime         = model.OBBeginTime,
                VisitEndDate      = model.OBVisitEndDate,
                EndTime           = model.OBEndTime,
                DeputyID          = model.OBDeputyID,
                DeputyName        = model.OBDeputyName,
                LocationType      = model.OBLocationType,
                InterLocationID   = model.OBInterLocationID,
                InterLocationName = model.OBInterLocationName,
                ExterLocationName = model.OBExterLocationName,
                VisiterName       = model.OBVisiterName,
                VisiterTel        = model.OBVisiterTel,
                VisitReasonID     = model.OBVisitReasonID,
                VisitReasonCN     = model.OBVisitReasonCN,
                VisitReasonDesc   = model.OBVisitReasonDesc,
                LastChgComp       = model.OBLastChgComp,
                LastChgID         = model.OBLastChgID,
            };
            OBFlowUtility.QueryFlowDataAndToUserData_First(dataBean.CompID, dataBean.OrganID, dataBean.FlowOrganID, dataBean.EmpID, dataBean.WriterID, dataBean.VisitBeginDate,
                                                           out empData, out toUserData, out flowCode, out flowSN, out nextIsLastFlow, out meassge);

            dataBean.ValidID   = toUserData["SignID"].ToString();
            dataBean.ValidName = SelectSupervisor(toUserData["SignIDComp"], toUserData["SignID"]);

            KeyValue      = dataBean.CompID + "," + dataBean.EmpID + "," + dataBean.WriteDate + "," + dataBean.FormSeq;
            strarray      = (dataBean.EmpID + "," + dataBean.EmpNameN + "," + dataBean.VisitBeginDate + "," + dataBean.BeginTime + "," + dataBean.EndTime).Split(",");
            ValidUserData = CustVerify.getEmpID_Name_Dictionary(toUserData["SignID"], toUserData["SignIDComp"]);
            if (FlowExpress.IsFlowInsVerify(flow.FlowID, KeyValue.Split(","), strarray, "btnBefore", ValidUserData, ""))
            {
                strFlowCaseID       = FlowExpress.getFlowCaseID(flow.FlowID, KeyValue);
                dataBean.FlowCaseID = strFlowCaseID;
                switch (regStr)
                {
                case "Addes": { SqlCommand.InesrtVisitFormSendSql(dataBean, ref sb); break; }

                case "Modify": { SqlCommand.UpdateVisitFormSend(dataBean, ref sb); break; }
                }
                OBFlowUtility.InsertHROtherFlowLogCommand(strFlowCaseID, "1", strFlowCaseID + "1".PadLeft(5, '0'), "B", dataBean.EmpID, dataBean.OrganID, dataBean.FlowOrganID, dataBean.WriterID,
                                                          flowCode, flowSN, "1", "1", toUserData["SignIDComp"], toUserData["SignID"], toUserData["SignOrganID"], toUserData["SignFlowOrganID"], "1", false, ref sb);

                sendEMail(dataBean, ref sb);
            }
            try
            {
                using (var trans = cn.BeginTransaction())
                {
                    try
                    {
                        seccessCount = db.ExecuteNonQuery(sb.BuildCommand(), trans); //執行新增,成功筆數回傳,並做Transaction機制
                        trans.Commit();                                              //成功Transaction直接Commit
                    }
                    catch (Exception)
                    {
                        trans.Rollback(); //失敗Transaction Rollback
                        FlowExpress.IsFlowRollBack(flow.FlowID, dataBean.FlowCaseID);
                        throw;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            result = true;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return(result);
    }