Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }