INSERT INTO music_group_payment_calender
        (music_group_id_,music_group_organization_course_settings_id_,pay_user_type_,reject_reason_,start_payment_date_,deadline_payment_date_,status_,expect_num_,
        actual_num_,memo_,is_give_music_network_,create_time_,update_time_,payment_valid_start_date_,payment_valid_end_date_,
        payment_pattern_,payment_type_,payment_amount_,batch_no_,audit_memo_,operator_,attribute1_,
         attribute2_,student_ids_,member_payment_amount_,member_rank_setting_id_,member_valid_date_
         ,original_member_payment_amount_,member_period_,member_optional_flag_,
         music_repair_num_,music_repair_actual_price_,music_repair_optional_flag_,current_total_amount_,original_total_amount_)
        VALUES(#{musicGroupId},#{musicGroupOrganizationCourseSettingId},#{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
        #{rejectReason},#{startPaymentDate},#{deadlinePaymentDate},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
        #{expectNum},#{actualNum},#{memo},#{isGiveMusicNetwork},now(),now(),
        #{paymentValidStartDate},#{paymentValidEndDate},#{paymentPattern},#{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
        #{paymentAmount},#{batchNo},#{auditMemo},#{operator},#{attribute1},#{attribute2},#{studentIds},
               #{memberPaymentAmount},#{memberRankSettingId},#{memberValidDate},#{originalMemberPaymentAmount},#{memberPeriod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
               #{memberOptionalFlag},#{musicRepairNum},#{musicRepairActualPrice},#{musicRepairOptionalFlag},#{currentTotalAmount},#{originalTotalAmount})
    
    
        INSERT INTO music_group_payment_calender
        (music_group_id_,music_group_organization_course_settings_id_,pay_user_type_,reject_reason_,start_payment_date_,deadline_payment_date_,status_,expect_num_,
        actual_num_,memo_,is_give_music_network_,create_time_,update_time_,payment_valid_start_date_,payment_valid_end_date_,payment_pattern_,payment_amount_,
        payment_type_,batch_no_,audit_memo_,operator_,attribute1_,attribute2_,student_ids_,
         member_payment_amount_,member_rank_setting_id_,member_valid_date_,original_member_payment_amount_,member_period_
        ,member_optional_flag_,music_repair_num_,music_repair_actual_price_,music_repair_optional_flag_,current_total_amount_,original_total_amount_)
        VALUES
        
        (#{item.musicGroupId},#{item.musicGroupOrganizationCourseSettingId},#{item.payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.rejectReason},#{item.startPaymentDate},#{item.deadlinePaymentDate},#{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
        #{item.expectNum},#{item.actualNum},#{item.memo},#{item.isGiveMusicNetwork},now(),now(),
        #{item.paymentValidStartDate},#{item.paymentValidEndDate},#{item.paymentPattern},#{item.paymentAmount},#{item.paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
        #{item.batchNo},#{item.auditMemo},#{item.operator},#{item.attribute1},#{item.attribute2},
         #{item.studentIds},#{item.memberPaymentAmount},#{item.memberRankSettingId},#{item.memberValidDate},#{item.originalMemberPaymentAmount},#{item.memberPeriod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            #{item.memberOptionalFlag},#{item.musicRepairNum},#{item.musicRepairActualPrice},#{item.musicRepairOptionalFlag},#{item.currentTotalAmount},#{item.originalTotalAmount})
        
    
    
    
        UPDATE music_group_payment_calender
        
            
                current_total_amount_ = #{currentTotalAmount},
            
            
                original_total_amount_ = #{originalTotalAmount},
            
            
                member_optional_flag_ = #{memberOptionalFlag},
            
            
                music_repair_num_ = #{musicRepairNum},
            
            
                music_repair_actual_price_ = #{musicRepairActualPrice},
            
            
                music_repair_optional_flag_ = #{musicRepairOptionalFlag},
            
            
                member_period_ = #{memberPeriod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            
            
                original_member_payment_amount_ = #{originalMemberPaymentAmount},
            
            
                member_payment_amount_ = #{memberPaymentAmount},
            
            
                member_rank_setting_id_ = #{memberRankSettingId},
            
            
                member_valid_date_ = #{memberValidDate},
            
            
                student_ids_ = #{studentIds},
            
            
                audit_memo_ = #{auditMemo},
            
            
                payment_type_ = #{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            
            
                payment_valid_start_date_ = #{paymentValidStartDate},
                payment_valid_end_date_ = #{paymentValidEndDate},
            
            
                payment_pattern_ = #{paymentPattern},
            
            
                is_give_music_network_ = #{isGiveMusicNetwork},
            
            
                deadline_payment_date_ = #{deadlinePaymentDate},
            
            
                status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            
            
                expect_num_ = #{expectNum},
            
            
                actual_num_ = #{actualNum},
            
            
                memo_ = #{memo},
            
            
                start_payment_date_ = #{startPaymentDate},
            
            
                music_group_organization_course_settings_id_ = #{musicGroupOrganizationCourseSettingId},
            
            
                pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            
            
                reject_reason_ = #{rejectReason},
            
            
                update_time_ = NOW(),
            
            
                music_group_id_ = #{musicGroupId},
            
            
                batch_no_ = #{batchNo},
            
            
                payment_amount_ = #{paymentAmount},
            
            
                attribute1_ = #{attribute1},
            
            
                attribute2_ = #{attribute2},
            
        
        WHERE id_ = #{id}
    
    
    
	    
	        UPDATE music_group_payment_calender
	        
                
                    current_total_amount_ = #{item.currentTotalAmount},
                
                
                    original_total_amount_ = #{item.originalTotalAmount},
                
                
                    original_member_payment_amount_ = #{item.originalMemberPaymentAmount},
                
                
                    member_payment_amount_ = #{item.memberPaymentAmount},
                
                
                    member_rank_setting_id_ = #{item.memberRankSettingId},
                
                
                    member_valid_date_ = #{item.memberValidDate},
                
                
                    student_ids_ = #{item.studentIds},
                
                
                    payment_pattern_ = #{item.paymentPattern},
                
	            
	                is_give_music_network_ = #{item.isGiveMusicNetwork},
	            
	            
	                deadline_payment_date_ = #{item.deadlinePaymentDate},
	            
	            
	                status_ = #{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
	            
	            
	                expect_num_ = #{item.expectNum},
	            
	            
	                actual_num_ = #{item.actualNum},
	            
	            
	                memo_ = #{item.memo},
	            
	            
	                audit_memo_ = #{item.auditMemo},
	            
	            
	                start_payment_date_ = #{item.startPaymentDate},
	            
	            
	                music_group_organization_course_settings_id_ = #{item.musicGroupOrganizationCourseSettingId},
	            
	            
	                pay_user_type_ = #{item.payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
	            
	            
	                reject_reason_ = #{item.rejectReason},
	            
	            
	                update_time_ = NOW(),
	            
	            
	                music_group_id_ = #{item.musicGroupId},
	            
                
                    batch_no_ = #{item.batchNo},
                
	            
	                payment_amount_ = #{item.paymentAmount},
	            
	            
	                attribute1_ = #{item.attribute1},
	            
	            
	                attribute2_ = #{item.attribute2},
	            
	        
	        WHERE id_ = #{item.id}
		
    
    
        UPDATE music_group_payment_calender
        SET expect_num_ = expect_num_ - 1
        WHERE id_ IN (SELECT music_group_payment_calender_id_ FROM music_group_payment_calender_detail
        WHERE user_id_ = #{userId} AND payment_status_ = 'NON_PAYMENT')
        AND expect_num_ > 0 AND music_group_id_ = #{musicGroupId}
    
    
    
    
		DELETE FROM music_group_payment_calender WHERE id_ = #{id} 
	
    
    
		DELETE FROM music_group_payment_calender WHERE id_ IN
        
            #{item}
        
	
    
        DELETE FROM music_group_payment_calender WHERE music_group_id_ = #{musicGroupId}
    
    
    
    
        
            
                AND mgpc.music_group_id_ = #{musicGroupId}
            
            
                AND mgpc.batch_no_ = #{batchNo}
            
            
                AND mgpc.pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
            
            
                AND mgpc.payment_type_ = #{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
            
            
                AND mgpc.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
            
        
    
    
    
	
    
	
    
    
	
    
    
    
    
    
    
    
    
    
        
        
        
        
        
        
    
    
    
    
    
	
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
        
                mgpc.batch_no_ IS NOT NULL
            
                AND mgpc.payment_type_ = #{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
            
            
                AND mgpc.pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
            
            
                AND mgpc.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
            
            
                AND FIND_IN_SET(mg.organ_id_,#{organId})
            
            
                AND (mg.id_ LIKE CONCAT('%',#{search},'%') OR mg.name_ LIKE CONCAT('%',#{search},'%'))