
use trs_data_migration;

DROP PROCEDURE IF EXISTS p_data_migration_wcmtemplateemploy;
DELIMITER $$
CREATE PROCEDURE p_data_migration_wcmtemplateemploy(IN prevTemplateEmployId BIGINT(20),
                                              IN templateEmployIdOffset BIGINT(20),
                                              IN templateIdOffset BIGINT(20),
                                              IN siteIdOffset BIGINT(20),
                                              IN channelIdOffset BIGINT(20))
	BEGIN 
	
    DECLARE isover INT DEFAULT 0;

    DECLARE  f_TEMPLATEEMPLOYID int(11) DEFAULT '0';
    DECLARE  f_EMPLOYERTYPE int(11) DEFAULT '0';
    DECLARE  f_EMPLOYERID int(11) DEFAULT '0';
    DECLARE  f_TEMPLATEID int(11) DEFAULT '0';
    DECLARE  f_TEMPLATETYPE smallint(6) DEFAULT '0';
    DECLARE  f_ISDEFAULT smallint(6) DEFAULT '0';


    DECLARE cur CURSOR FOR
		SELECT
      TEMPLATEEMPLOYID,
      EMPLOYERTYPE,
      EMPLOYERID,
      TEMPLATEID,
      TEMPLATETYPE,
      ISDEFAULT
    FROM trs_data_migration.wcmtemplateemploy
		ORDER BY TEMPLATEEMPLOYID asc;

	DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
	
	OPEN cur;
	
	FETCH cur INTO
    f_TEMPLATEEMPLOYID,
    f_EMPLOYERTYPE,
    f_EMPLOYERID,
    f_TEMPLATEID,
    f_TEMPLATETYPE,
    f_ISDEFAULT
    ;



    WHILE isover= 0 DO

      # 断点续传
      IF (f_TEMPLATEEMPLOYID > prevTemplateEmployId)

        THEN

            SET @TEMPLATEEMPLOYID = f_TEMPLATEEMPLOYID;
            SET f_TEMPLATEEMPLOYID = f_TEMPLATEEMPLOYID + templateEmployIdOffset;
            SET f_TEMPLATEID = f_TEMPLATEID + templateIdOffset;

            IF (f_EMPLOYERTYPE = 103)
              THEN SET f_EMPLOYERID = f_EMPLOYERID + siteIdOffset;
            END IF ;

            IF (f_EMPLOYERTYPE = 101)
              THEN SET f_EMPLOYERID = f_EMPLOYERID + channelIdOffset;
            END IF ;



            insert into trs_hycloud_iip.wcmtemplateemploy
              (
                TEMPLATEEMPLOYID,
                EMPLOYERTYPE,
                EMPLOYERID,
                TEMPLATEID,
                TEMPLATETYPE,
                ISDEFAULT
              )
              VALUES
                (
                  f_TEMPLATEEMPLOYID,
                  f_EMPLOYERTYPE,
                  f_EMPLOYERID,
                  f_TEMPLATEID,
                  f_TEMPLATETYPE,
                  f_ISDEFAULT
                );

          SET @sql = trs_data_migration.build_migration_log_sql('wcmtemplateemploy', @TEMPLATEEMPLOYID);

          prepare stmt from @sql;
          EXECUTE stmt;
          deallocate prepare stmt;
    END IF ;

		FETCH cur INTO
      f_TEMPLATEEMPLOYID,
      f_EMPLOYERTYPE,
      f_EMPLOYERID,
      f_TEMPLATEID,
      f_TEMPLATETYPE,
      f_ISDEFAULT
    ;
		
	END WHILE;
	
	CLOSE cur;

    SET @sql = trs_data_migration.build_migration_log_sql('wcmtemplateemploy', -1);

    prepare stmt from @sql;
    EXECUTE stmt;
    deallocate prepare stmt;
		
	END $$
DELIMITER ;