批量审批功能


    作    者:
    创建时间:
    功能简述:备案申请审批
    参数描述:
---------------------------------------------------------------------------------------------------------------------*/
ALTER PROCEDURE [dbo].[TRD_Management_BakApplyMgr_GovBakApply]
    @PlatID                VARCHAR(60) = NULL,        -- 平台编号
    @BakID                VARCHAR(60) = NULL,        -- 申请ID
    @UserID                VARCHAR(60) = NULL,    -- 审核人ID
    @UserName            VARCHAR(60) = NULL,        -- 审核人
    @OrgID                VARCHAR(60) = NULL,        -- 机构ID
    @XML                XML,                    -- 审批XML
    @Type                INT                        -- 操作类型(0:通过 1:拒绝)
AS
        --定义临时表
        DECLARE @TEMP TABLE 
        (
            ID INT,
            APPROVE_CONTENT NVARCHAR(256) ,
            BAK_CASECLASS NVARCHAR(256)
        )
        --XML数据插入临时表
        INSERT INTO @TEMP(ID,APPROVE_CONTENT,BAK_CASECLASS)
        SELECT 
                m.value('(ID)[1]','INT'),
                m.value('(APPROVE_CONTENT)[1]','NVARCHAR(256)'),
                m.value('(BAK_CASECLASS)[1]','NVARCHAR(256)')
            from @XML.nodes('/ROOT/GovBakEntity') T(m)

--写入备案主表审核人
UPDATE [dbo].[TRD_MANAGE_BAK]
   SET [AuditUser] = @UserName
 WHERE ID=@BakID
IF @Type = 0
    BEGIN
        --添加备案审核内容表
        INSERT INTO [dbo].[TRD_BAK_APPROVE]
                   ([BAK_ID]
                   ,[PLAT_ID]
                   ,[BAK_ITEM_ID]
                   ,[APPROVE_USER]
                   ,[APPROVE_DATE]
                   ,[APPROVE_USER_ID]
                   ,[APPROVE_CONTENT]
                   ,[APPROVE_ORG_ID]
                   ,[APPROVE_STATE]
                   ,[BAK_CASECLASS])
             SELECT 
                    @BakID
                   ,@PlatID
                   ,TMB.ID
                   ,@UserName
                   ,GETDATE()
                   ,@UserID
                   ,TMP.APPROVE_CONTENT
                   ,@OrgID
                   ,30                
                   ,TMP.BAK_CASECLASS   
            FROM @TEMP AS TMP
            INNER JOIN TRD_MANAGE_BAKITEM AS TMB
            ON TMP.ID=TMB.DC_PRODUCT_ID AND TMB.BAK_ID=@BakID
        --修改营运备案申请明细表状态(一审通过)
        UPDATE TRD_MANAGE_BAKITEM 
        SET STATE=30 
        FROM @TEMP AS TMP INNER JOIN TRD_MANAGE_BAKITEM AS TMB ON TMP.ID=TMB.DC_PRODUCT_ID AND TMB.BAK_ID=@BakID
    END        
ELSE   
    BEGIN
        --添加备案审核内容表
        INSERT INTO [dbo].[TRD_BAK_APPROVE]
                   ([BAK_ID]
                   ,[PLAT_ID]
                   ,[BAK_ITEM_ID]
                   ,[APPROVE_USER]
                   ,[APPROVE_DATE]
                   ,[APPROVE_USER_ID]
                   ,[APPROVE_CONTENT]
                   ,[APPROVE_ORG_ID]
                   ,[APPROVE_STATE]
                   ,[BAK_CASECLASS])
             SELECT 
                    @BakID
                   ,@PlatID
                   ,TMB.ID
                   ,@UserName
                   ,GETDATE()
                   ,@UserID
                   ,TMP.APPROVE_CONTENT
                   ,@OrgID
                   ,40                
                   ,TMP.BAK_CASECLASS   
            FROM @TEMP AS TMP
            INNER JOIN TRD_MANAGE_BAKITEM AS TMB
            ON TMP.ID=TMB.DC_PRODUCT_ID AND TMB.BAK_ID=@BakID
        --修改营运备案申请明细表状态(一审拒绝)
        UPDATE TRD_MANAGE_BAKITEM 
        SET STATE=40
        FROM @TEMP AS TMP INNER JOIN TRD_MANAGE_BAKITEM AS TMB ON TMP.ID=TMB.DC_PRODUCT_ID AND TMB.BAK_ID=@BakID
    END    ;

 

#region 批量审批通过按钮
        /// <summary>
        /// 批量审批通过按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAuditPass_Click(object sender, EventArgs e)
        {
            try
            {
                this.CopyViewState4GetModule();
                string BakID = "0";
                if (this.ViewStateGet("BakID") != null)
                {
                    BakID = this.ViewStateGet("BakID").ToString();
                }
                DataTable dt = new DataTable();
                dt.Columns.Add(new DataColumn("ID", typeof(int)));
                dt.Columns.Add(new DataColumn("APPROVE_CONTENT", typeof(string)));
                dt.Columns.Add(new DataColumn("BAK_CASECLASS", typeof(string)));
                foreach (GridDataItem gridItem in this.rd_BakApplyList.MasterTableView.Items)
                {
                    CheckBox cb = gridItem.FindControl("cbSelect") as CheckBox;
                    RadTextBox tbRemark = gridItem.FindControl("tbbeizhu") as RadTextBox; //审批备注
                    RadTextBox tbClass = gridItem.FindControl("tbClass") as RadTextBox; //备案申请情况分类
                    if (cb.Checked)
                    {
                        int ID = Convert.ToInt32(gridItem.GetDataKeyValue("DC_PRODUCT_ID"));//备案申请明细ID
                        DataRow dr = dt.NewRow();
                        dr["ID"] = ID;
                        dr["APPROVE_CONTENT"] = tbRemark.Text.Trim();
                        dr["BAK_CASECLASS"] = tbClass.Text.Trim();
                        dt.Rows.Add(dr);
                    }
                }
                var list = IEnumerableUtil.ToList<GovBakEntity>(dt);
                XmlDocument xmlDoc = new XmlDocument();
                XPathNavigator nav = xmlDoc.CreateNavigator();
                using (XmlWriter writer = nav.AppendChild())
                {
                    XmlSerializer ser = new XmlSerializer(typeof(List<GovBakEntity>), new XmlRootAttribute("ROOT"));
                    ser.Serialize(writer, list);
                }
                SqlXml sx;
                using (XmlNodeReader xnr = new XmlNodeReader(xmlDoc))
                {
                    sx = new SqlXml(xnr);
                }
                bool index = BakApplyBO.GovBakApply(GetUser().CurrentPlatID,
                                                    BakID,
                                                    sx,
                                                    GetUser().ID,
                                                    GetUser().UserName,
                                                    GetUser().OrgID,
                                                    0);
                if (index)
                {
                    ShowCustomSuccessMsg(this.Page, "审核成功。");
                    rd_BakApplyList.Rebind();
                }
                else
                {
                    ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "showErrorMsg('审核失败,请重新尝试!');", true);
                }
            }

            catch (Exception ex)
            {
                ShowCustomErrorMsg(this.Page, ex.Message);
            }
        }
        #endregion
 public static bool GovBakApply(
            string PlatID,
            string BakID,
            SqlXml sx,
            string UserID,
            string UserName,
            string OrgID,
            int Type)
        {
            try
            {
                SqlParameter[] Parameters = new SqlParameter[7];
                Parameters[0] = new SqlParameter("@PlatID", PlatID);
                Parameters[1] = new SqlParameter("@BakID", BakID);
                Parameters[2] = new SqlParameter("@XML", sx);
                Parameters[3] = new SqlParameter("@UserID", UserID);
                Parameters[4] = new SqlParameter("@UserName", UserName);
                Parameters[5] = new SqlParameter("@OrgID", OrgID);
                Parameters[6] = new SqlParameter("@Type", Type);
                int index = SqlHelper.ExecuteNonQueryByNoReplace("TRD_Management_BakApplyMgr_GovBakApply", Parameters);

                return index > 0;
            }
            catch (Exception ex)
            {
                return false;
            }

 

posted @ 2017-02-20 17:07  安之&若素  阅读(397)  评论(0)    收藏  举报