/// <summary> /// 수정기안 /// </summary> /// <param name="iapp_ref_id"></param> /// <param name="iori_doc"></param> /// <param name="ititle"></param> /// <param name="ibiz_type"></param> /// <param name="iapp_status"></param> /// <param name="ifile_ref_id"></param> /// <param name="itxr_user"></param> /// <param name="dtAppLine"></param> /// <param name="pParam"></param> /// <param name="isFirstDraft"></param> /// <returns></returns> public bool TxrMoDraft(decimal iapp_ref_id, string iori_doc, string ititle, string ibiz_type, string iapp_status, string idraft_status, string ifile_ref_id, int itxr_user , DataTable dtAppLine, NameValueCollection pParam) { int iRtnRow = 0; IDbConnection conn = DbAgentHelper.CreateDbConnection(); conn.Open(); IDbTransaction trx = conn.BeginTransaction(); try { Biz_Com_Approval_Prc objPrc = new Biz_Com_Approval_Prc(); iRtnRow = this.MoDraft_Dac(conn, trx, iapp_ref_id, iori_doc, ititle, ibiz_type, iapp_status, idraft_status, ifile_ref_id, itxr_user); if (base.Transaction_Result == "Y" && base.IApp_Ref_Id > 0 && base.IVersion_No > 0) { for (int i = 0; i < dtAppLine.Rows.Count; i++) { objPrc.IApp_Ref_Id = base.IApp_Ref_Id; objPrc.IVersion_No = base.IVersion_No; objPrc.ILine_Step = int.Parse(dtAppLine.Rows[i]["LINE_STEP"].ToString()); objPrc.IApp_Emp_Id = int.Parse(dtAppLine.Rows[i]["APP_EMP_ID"].ToString()); objPrc.IComplete_Yn = dtAppLine.Rows[i]["COMPLETE_YN"].ToString(); objPrc.IComments = dtAppLine.Rows[i]["COMMENTS"].ToString(); objPrc.IReturn_Reason = dtAppLine.Rows[i]["RETURN_REASON"].ToString(); objPrc.ILine_Type = dtAppLine.Rows[i]["LINE_TYPE"].ToString(); objPrc.IApp_Method = dtAppLine.Rows[i]["APP_METHOD"].ToString(); objPrc.Itxr_user = int.Parse(dtAppLine.Rows[i]["TXR_USER"].ToString()); iRtnRow = objPrc.UpdateData (conn, trx , objPrc.IApp_Ref_Id , objPrc.IVersion_No , objPrc.ILine_Step , objPrc.IApp_Emp_Id , objPrc.IComplete_Yn , objPrc.IComments , objPrc.IReturn_Reason , objPrc.ILine_Type , objPrc.IApp_Method , objPrc.Itxr_user); if (objPrc.Transaction_Result == "N") { base.Transaction_Message = objPrc.Transaction_Message; base.Transaction_Result = objPrc.Transaction_Result; trx.Rollback(); return(false); } } trx.Commit(); } else { trx.Rollback(); base.Transaction_Message = objPrc.Transaction_Message; base.Transaction_Result = "N"; return(false); } } catch (Exception e) { base.Transaction_Message = e.Message; base.Transaction_Result = "N"; trx.Rollback(); return(false); } finally { //trx.Commit(); conn.Close(); conn.Dispose(); } return(true); }
/// <summary> /// 최초기안 일괄처리 /// </summary> /// <param name="iori_doc"></param> /// <param name="ititle"></param> /// <param name="ibiz_type"></param> /// <param name="iapp_status"></param> /// <param name="ifile_ref_id"></param> /// <param name="itxr_user"></param> /// <param name="dtAppLine"></param> /// <returns></returns> public bool TxrDraftBatch(IDbConnection conn, IDbTransaction trx, string iori_doc, string ititle, string ibiz_type, string iapp_status, string idraft_status, string ifile_ref_id, int itxr_user , DataTable dtAppLine, NameValueCollection pParam) { int iRtnRow = 0; try { Biz_Com_Approval_Prc objPrc = new Biz_Com_Approval_Prc(); iRtnRow = this.InsertData(conn, trx, iori_doc, ititle, ibiz_type, iapp_status, idraft_status, ifile_ref_id, itxr_user); if (base.Transaction_Result == "Y" && base.IApp_Ref_Id > 0 && base.IVersion_No > 0) { for (int i = 0; i < dtAppLine.Rows.Count; i++) { objPrc.IApp_Ref_Id = base.IApp_Ref_Id; objPrc.IVersion_No = base.IVersion_No; objPrc.ILine_Step = int.Parse(dtAppLine.Rows[i]["LINE_STEP"].ToString()); objPrc.IApp_Emp_Id = int.Parse(dtAppLine.Rows[i]["APP_EMP_ID"].ToString()); objPrc.IComplete_Yn = dtAppLine.Rows[i]["COMPLETE_YN"].ToString(); objPrc.IComments = dtAppLine.Rows[i]["COMMENTS"].ToString(); objPrc.IReturn_Reason = dtAppLine.Rows[i]["RETURN_REASON"].ToString(); objPrc.ILine_Type = dtAppLine.Rows[i]["LINE_TYPE"].ToString(); objPrc.IApp_Method = dtAppLine.Rows[i]["APP_METHOD"].ToString(); objPrc.Itxr_user = int.Parse(dtAppLine.Rows[i]["TXR_USER"].ToString()); iRtnRow = objPrc.UpdateData (conn, trx , objPrc.IApp_Ref_Id , objPrc.IVersion_No , objPrc.ILine_Step , objPrc.IApp_Emp_Id , objPrc.IComplete_Yn , objPrc.IComments , objPrc.IReturn_Reason , objPrc.ILine_Type , objPrc.IApp_Method , objPrc.Itxr_user); if (objPrc.Transaction_Result == "N") { base.Transaction_Message = objPrc.Transaction_Message; base.Transaction_Result = objPrc.Transaction_Result; //trx.Rollback(); return(false); } } // 최초기안의 경우에만 원문서에 문서번호 Update if (!this.UpdateOriDocAppKey(conn, trx, ibiz_type, pParam, objPrc.IApp_Ref_Id)) { base.Transaction_Message = "결재원문에 결재상태를 수정할 수 없습니다."; base.Transaction_Result = "N"; //trx.Rollback(); return(false); } //trx.Commit(); } else { //trx.Rollback(); base.Transaction_Message = objPrc.Transaction_Message; base.Transaction_Result = "N"; return(false); } } catch (Exception e) { base.Transaction_Message = e.Message; base.Transaction_Result = "N"; //trx.Rollback(); return(false); } finally { //trx.Commit(); //conn.Close(); //conn.Dispose(); } return(true); }