select id,
               bill_no,
               bill_id,
               act_id,
               path_id,
               level_id,
               refno1,
               iffinal_item,
               refno2,
               refno3,
               branch_id,
               send_user_id,
               send_name,
               send_time,
               send_msg,
               audit_user_id,
               audit_item,
               audit_op_time,
               audit_msg,
               audit_status,
               bill_time
        from audit_items
    
    
    
    
        insert into audit_items
        
            bill_no,
            bill_id,
            act_id,
            path_id,
            level_id,
            refno1,
            iffinal_item,
            refno2,
            refno3,
            branch_id,
            send_user_id,
            send_name,
            send_time,
            send_msg,
            audit_user_id,
            audit_item,
            audit_op_time,
            audit_msg,
            audit_status,
            bill_time,
        
        
            #{billNo},
            #{billId},
            #{actId},
            #{pathId},
            #{levelId},
            #{refno1},
            #{iffinalItem},
            #{refno2},
            #{refno3},
            #{branchId},
            #{sendUserId},
            #{sendName},
            #{sendTime},
            #{sendMsg},
            #{auditUserId},
            #{auditItem},
            #{auditOpTime},
            #{auditMsg},
            #{auditStatus},
            #{billTime},
        
    
    
        update audit_items
        
            bill_no = #{billNo},
            bill_id = #{billId},
            act_id = #{actId},
            path_id = #{pathId},
            level_id = #{levelId},
            refno1 = #{refno1},
            iffinal_item = #{iffinalItem},
            refno2 = #{refno2},
            refno3 = #{refno3},
            branch_id = #{branchId},
            send_user_id = #{sendUserId},
            send_name = #{sendName},
            send_time = #{sendTime},
            send_msg = #{sendMsg},
            audit_user_id = #{auditUserId},
            audit_item = #{auditItem},
            audit_op_time = #{auditOpTime},
            audit_msg = #{auditMsg},
            audit_status = #{auditStatus},
            bill_time = #{billTime},
        
        where id = #{id}
    
    
        delete
        from audit_items
        where id = #{id}
    
    
        delete from audit_items where id in
        
            #{id}
        
    
    
    
    
        DELETE
            item.*,
            userItem.*
        FROM audit_items item
                 LEFT JOIN audit_items_users userItem ON userItem.pid = item.id
        WHERE item.id > #{id}
          AND item.bill_id = #{billId}
          AND item.level_id > #{levelId}
    
    
    
        DELETE item, userItem
        FROM audit_items item
                 LEFT JOIN audit_items_users userItem ON userItem.pid = item.id
        WHERE item.act_id = #{actId}
          AND item.level_id >= 0
          AND item.bill_id = #{billId}
    
    
        UPDATE audit_items it
            LEFT JOIN audit_items_users us ON us.pid = it.id
        SET it.audit_status = 'S',
            us.audit_status = 'S'
        WHERE it.level_id = #{levelId}
          AND it.bill_no = #{billNo}
          AND it.bill_id = #{billId}
          AND it.act_id = #{actId}
          AND it.audit_status = "N"