/// <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); } }
/// <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); } }
/// <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); }
/// <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); }
/// <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"); } }
//-------------------------------------------------------------方法 /// <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; }
//--------------------------------------------------------------------------------------------------------------------------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); }
/// <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; } }
/// <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; } }
//-------------------------------------------------------------主要邏輯區 /// <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(); }
/// <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); }
/// <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); }
/// <summary> /// 載入資料 /// </summary> private void LoadData() { _SessionModifyModel = null; lblEmpID.Text = UserInfo.getUserInfo().UserID + " " + UserInfo.getUserInfo().UserName; }
/// <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); }
/// <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); }