123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.ruoyi.syzy.mapper.BBusiWishUniversitySubmitMarjorsUpdateMapper">
-
- <resultMap type="BBusiWishUniversitySubmitMarjorsUpdate" id="BBusiWishUniversitySubmitMarjorsUpdateResult">
- <result property="udid" column="udid" />
- <result property="minScore" column="minScore" />
- <result property="minRank" column="minRank" />
- <result property="location" column="location" />
- <result property="corrRank" column="corrRank" />
- <result property="version" column="version" />
- <result property="planNum" column="planNum" />
- <result property="enterLine" column="enterLine" />
- <result property="enterNum" column="enterNum" />
- <result property="maxScore" column="maxScore" />
- <result property="avgScore" column="avgScore" />
- <result property="maxRank" column="maxRank" />
- <result property="avgRank" column="avgRank" />
- <result property="collect" column="collect" />
- <result property="collectDesc" column="collectDesc" />
- </resultMap>
- <sql id="selectBBusiWishUniversitySubmitMarjorsUpdateVo">
- select udid, minScore, minRank, location, corrRank, version,planNum,enterLine,enterNum,maxScore,avgScore,maxRank,avgRank,collect,collectDesc from b_busi_wish_university_submit_marjors_update
- </sql>
- <select id="selectUpdateLocationList" resultMap="BBusiWishUniversitySubmitMarjorsUpdateResult">
- SELECT u.`version`, u.`udid`, u.`minScore`, u.`minRank`, sm.`location` FROM `b_busi_wish_university_submit_marjors_update` u
- JOIN `b_busi_wish_university_submit_marjors` sm ON u.`udid` = sm.`udid`
- WHERE u.version = #{version} and sm.location in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach> LIMIT #{offset}, #{limit}
- </select>
- <insert id="insertUpdateBatch">
- replace into b_busi_wish_university_submit_marjors_update(udid,minScore,minRank,version,planNum,enterLine,enterNum,maxScore,avgScore,maxRank,avgRank,collect,collectDesc) VALUES
- <foreach collection="list" item="o" index="index" separator=",">(#{o.udid}, #{o.minScore}, #{o.minRank}, #{o.version}, #{o.planNum}, #{o.enterLine}, #{o.enterNum}, #{o.maxScore}, #{o.avgScore}, #{o.maxRank}, #{o.avgRank}, #{o.collect}, #{o.collectDesc})</foreach>
- </insert>
- <insert id="updateCorrRankBatch">
- insert into b_busi_wish_university_submit_marjors_update(udid, version, location, corrRank) VALUES
- <foreach collection="list" item="o" index="index" separator=",">(#{o.udid}, #{o.version}, #{o.location}, #{o.corrRank})</foreach>
- on duplicate key update location = values(location), corrRank = values(corrRank)
- </insert>
- <update id="updateSubmitMarjors"><!-- ,sm.`collect` = mu.`collect`,sm.`collectDesc` = mu.`collectDesc` -->
- UPDATE `b_busi_wish_university_submit_marjors` sm, `b_busi_wish_university_submit_marjors_update` mu
- SET sm.`score` = mu.`minScore`, sm.`seat` = mu.`minRank`, sm.`corrScore` = mu.`minScore`, sm.`corrSeat` = mu.`corrRank`,sm.`num` = mu.`planNum`,sm.`numReal` = mu.`enterNum`
- ,sm.`scoreRealTop` = mu.`maxScore`,sm.`scoreRealAverage` = mu.`avgScore`,sm.`seatRealTop` = mu.`maxRank`,sm.`seatRealAverage` = mu.`avgRank`
- WHERE sm.`udid` = mu.`udid` AND mu.`version` = #{version} AND sm.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- </update>
- <insert id="insertUpdatePlanSubmit">
- REPLACE INTO `b_busi_wish_university_marjors_plan_submit`(`plan_id`,`submit_id`,last_submit_id, `plan_submit_id`,`group_id`,`year`,`universityId`,`location`,`collegeCode`,`level`,`liberalScience`,`course`,
- `course0`,`course1`,`course2`,`marjorName`, `marjorCollegeId`,`createTime`,`status`, `uCode`)
- SELECT rp.`id`, t.submit_id, t3.submit_id, t2.submit_id, pg.`group_id`, rp.`year`, rp.`universityId`, rp.`location`, rp.`collegeCode`, rp.`level`, rp.`liberalScience`, rp.`course`,
- IF(rp.`Course` IS NOT NULL AND rp.`Course` != '', SUBSTRING_INDEX(rp.`Course`, '+', 1), NULL) `course0`,
- IF(rp.`Course` IS NOT NULL AND rp.`Course` != '' AND rp.`Course` NOT LIKE '%不限%' AND rp.`Course` NOT LIKE '%和%', REPLACE(SUBSTRING_INDEX(REPLACE(rp.`Course`, '思想政治', '政治'), '+', -1), '或', ','), NULL) `course1`,
- IF(rp.`Course` IS NOT NULL AND rp.`Course` != '' AND rp.`Course` NOT LIKE '%不限%' AND rp.`Course` LIKE '%和%', REPLACE(SUBSTRING_INDEX(REPLACE(rp.`Course`, '思想政治', '政治'), '+', -1), '和', ','), NULL) `course2`,
- rp.`marjorName`, c.`id`, NOW(), 1, REPLACE(SUBSTRING_INDEX(rp.`universityName`, '(', -1), ')', '')
- FROM `b_busi_wish_university_submit_recruit_plan` rp
- LEFT JOIN `b_busi_wish_university_marjors_college` c ON rp.`universityId` = c.`universityId` AND rp.`location` = c.`location` AND rp.`year` = c.`year` AND rp.`level` = c.`level` AND rp.`liberalScience` = c.`liberalScience` AND rp.`collegeCode` = c.`collegeCode` AND REPLACE(SUBSTRING_INDEX(rp.`universityName`, '(', -1), ')', '') = c.uCode
- JOIN `b_busi_wish_university_match_plan_group` pg ON rp.`id` = pg.`plan_id` AND pg.`group_id` > 0
- LEFT JOIN `b_busi_wish_university_match_submit` t ON t.group_id = pg.`group_id` AND t.year + 1 = rp.`year` -- 去年
- LEFT JOIN `b_busi_wish_university_match_submit` t2 ON t2.group_id = pg.`group_id` AND t2.year = rp.`year` -- 本年
- LEFT JOIN `b_busi_wish_university_match_submit` t3 ON t3.group_id = pg.`group_id` AND t3.year + 2 = rp.`year` -- 前年
- WHERE rp.`id` IN <foreach item="o" collection="list" open="(" separator="," close=")">#{o}</foreach>
- </insert>
- <insert id="insertCollegeStats">
- truncate table `b_busi_wish_university_tmp_stat_college`;
- INSERT INTO b_busi_wish_university_tmp_stat_college
- SELECT T.marjorCollegeId, CONCAT('{"year":', T.year, ',"stats":[', GROUP_CONCAT(CONCAT('{"year":', T.submit_year,
- ',"score":', IF(score IS NULL, 0, score), ',"corrScore":', IF(corrScore IS NULL, 0, corrScore),
- ',"seat":', IF(seat IS NULL, 0, seat), ',"corrSeat":', IF(corrSeat IS NULL, 0, corrSeat),
- ',"numReal":',IF(numReal IS NULL, 0, numReal), ',"matchCount":',IF(matchCount IS NULL, 0, matchCount),
- ',"collect":',collect, ',"collectDesc":"',collectDesc, '","sinoForeign":',sinoForeign, ',"sinoForeignDesc":"',sinoForeignDesc, '"}') ORDER BY T.submit_year DESC), ']}') cnt FROM (
- SELECT ps.`marjorCollegeId`, ps.`year` `year`, ps.`year` submit_year,
- <choose><when test="newGaoKao">MIN(IF(sm.`score` = 0, NULL, sm.`score`)) score, MIN(IF(sm.`corrScore` = 0, NULL, sm.`corrScore`)) corrScore, MAX(IF(sm.`score`>0,sm.`seat`,0)) seat, MAX(IF(sm.`corrScore`>0,sm.`corrSeat`,0)) corrSeat, MAX(IF(sm.`collect` = '有征集', 1, 0)) `collect`, MAX(IF(sm.`collect` = '有征集', sm.`collectDesc`, '')) `collectDesc`,
- </when><otherwise>MIN(IF(s.`score` = 0, NULL, s.`score`)) score, MIN(IF(s.`curr_score` = 0, NULL, s.`curr_score`)) corrScore, MAX(IF(s.`score`>0,s.`seat`,0)) seat, MAX(IF(s.`curr_score`>0,s.`curr_seat`,0)) corrSeat, MAX(IF(s.`collect` = '有征集', 1, 0)) `collect`, MAX(IF(s.`collect` = '有征集', s.`collectDesc`, '')) `collectDesc`,
- </otherwise></choose>SUM(IF(sm.`numReal` IS NULL, 0, sm.`numReal`)) numReal, IF(SUM(IF(sm.`sinoForeign`, 0, 1)) > 0, 0, 1) sinoForeign, MAX(DISTINCT IF(sm.`sinoForeign`, sm.`sinoForeignDesc`, '')) `sinoForeignDesc`, COUNT(*) matchCount
- FROM `b_busi_wish_university_marjors_plan_submit` ps
- JOIN `b_busi_wish_university_submit_marjors` sm ON ps.`plan_submit_id` = sm.`id`
- JOIN `b_busi_wish_university_submits` s ON sm.`location` = s.`location` AND sm.year = s.year AND sm.`universityId` = s.`universityId` AND sm.`level` = s.`level` AND sm.`liberalScience` = s.`liberalScience` AND sm.`collegeCode` = s.`collegeCode` AND sm.uCode = s.uCode
- WHERE ps.`marjorCollegeId` IS NOT NULL AND ps.`plan_submit_id` IS NOT NULL
- AND ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="collegeIds != null"> and ps.`marjorCollegeId` in <foreach item="o" collection="collegeIds" open="(" separator="," close=")">#{o}</foreach></if>
- GROUP BY ps.`marjorCollegeId`, ps.`year`
- UNION
- SELECT ps.`marjorCollegeId`, ps.`year` `year`, ps.`year` - 1 submit_year,
- <choose><when test="newGaoKao">MIN(IF(sm.`score` = 0, NULL, sm.`score`)) score, MIN(IF(sm.`corrScore` = 0, NULL, sm.`corrScore`)) corrScore, MAX(IF(sm.`score`>0,sm.`seat`,0)) seat, MAX(IF(sm.`corrScore`>0,sm.`corrSeat`,0)) corrSeat, MAX(IF(sm.`collect` = '有征集', 1, 0)) `collect`, MAX(IF(sm.`collect` = '有征集', sm.`collectDesc`, '')) `collectDesc`,
- </when><otherwise>MIN(IF(s.`score` = 0, NULL, s.`score`)) score, MIN(IF(s.`curr_score` = 0, NULL, s.`curr_score`)) corrScore, MAX(IF(s.`score`>0,s.`seat`,0)) seat, MAX(IF(s.`curr_score`>0,s.`curr_seat`,0)) corrSeat, MAX(IF(s.`collect` = '有征集', 1, 0)) `collect`, MAX(IF(s.`collect` = '有征集', s.`collectDesc`, '')) `collectDesc`,
- </otherwise></choose>SUM(IF(sm.`numReal` IS NULL, 0, sm.`numReal`)) numReal, IF(SUM(IF(sm.`sinoForeign`, 0, 1)) > 0, 0, 1) sinoForeign, MAX(DISTINCT IF(sm.`sinoForeign`, sm.`sinoForeignDesc`, '')) `sinoForeignDesc`, COUNT(*) matchCount
- FROM `b_busi_wish_university_marjors_plan_submit` ps
- JOIN `b_busi_wish_university_submit_marjors` sm ON ps.`submit_id` = sm.`id`
- JOIN `b_busi_wish_university_submits` s ON sm.`location` = s.`location` AND sm.year = s.year AND sm.`universityId` = s.`universityId` AND sm.`level` = s.`level` AND sm.`liberalScience` = s.`liberalScience` AND sm.`collegeCode` = s.`collegeCode` AND sm.uCode = s.uCode
- WHERE ps.`marjorCollegeId` IS NOT NULL AND ps.`submit_id` IS NOT NULL
- AND ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="collegeIds != null"> and ps.`marjorCollegeId` in <foreach item="o" collection="collegeIds" open="(" separator="," close=")">#{o}</foreach></if>
- GROUP BY ps.`marjorCollegeId`, ps.`year`
- UNION
- SELECT ps.`marjorCollegeId`, ps.`year` `year`, ps.`year` - 2 submit_year,
- <choose><when test="newGaoKao">MIN(IF(sm.`score` = 0, NULL, sm.`score`)) score, MIN(IF(sm.`corrScore` = 0, NULL, sm.`corrScore`)) corrScore, MAX(IF(sm.`score`>0,sm.`seat`,0)) seat, MAX(IF(sm.`corrScore`>0,sm.`corrSeat`,0)) corrSeat, MAX(IF(sm.`collect` = '有征集', 1, 0)) `collect`, MAX(IF(sm.`collect` = '有征集', sm.`collectDesc`, '')) `collectDesc`,
- </when><otherwise>MIN(IF(s.`score` = 0, NULL, s.`score`)) score, MIN(IF(s.`curr_score` = 0, NULL, s.`curr_score`)) corrScore, MAX(IF(s.`score`>0,s.`seat`,0)) seat, MAX(IF(s.`curr_score`>0,s.`curr_seat`,0)) corrSeat, MAX(IF(s.`collect` = '有征集', 1, 0)) `collect`, MAX(IF(s.`collect` = '有征集', s.`collectDesc`, '')) `collectDesc`,
- </otherwise></choose>SUM(IF(sm.`numReal` IS NULL, 0, sm.`numReal`)) numReal, IF(SUM(IF(sm.`sinoForeign`, 0, 1)) > 0, 0, 1) sinoForeign, MAX(DISTINCT IF(sm.`sinoForeign`, sm.`sinoForeignDesc`, '')) `sinoForeignDesc`, COUNT(*) matchCount
- FROM `b_busi_wish_university_marjors_plan_submit` ps
- JOIN `b_busi_wish_university_submit_marjors` sm ON ps.`last_submit_id` = sm.`id`
- JOIN `b_busi_wish_university_submits` s ON sm.`location` = s.`location` AND sm.year = s.year AND sm.`universityId` = s.`universityId` AND sm.`level` = s.`level` AND sm.`liberalScience` = s.`liberalScience` AND sm.`collegeCode` = s.`collegeCode` AND sm.uCode = s.uCode
- WHERE ps.`marjorCollegeId` IS NOT NULL AND ps.`last_submit_id` IS NOT NULL
- AND ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="collegeIds != null"> and ps.`marjorCollegeId` in <foreach item="o" collection="collegeIds" open="(" separator="," close=")">#{o}</foreach></if>
- GROUP BY ps.`marjorCollegeId`, ps.`year`
- UNION
- SELECT ps.`marjorCollegeId`, ps.`year` `year`, ps.`year` - 3 submit_year,
- <choose><when test="newGaoKao">MIN(IF(sm.`score` = 0, NULL, sm.`score`)) score, MIN(IF(sm.`corrScore` = 0, NULL, sm.`corrScore`)) corrScore, MAX(IF(sm.`score`>0,sm.`seat`,0)) seat, MAX(IF(sm.`corrScore`>0,sm.`corrSeat`,0)) corrSeat, MAX(IF(sm.`collect` = '有征集', 1, 0)) `collect`, MAX(IF(sm.`collect` = '有征集', sm.`collectDesc`, '')) `collectDesc`,
- </when><otherwise>MIN(IF(s.`score` = 0, NULL, s.`score`)) score, MIN(IF(s.`curr_score` = 0, NULL, s.`curr_score`)) corrScore, MAX(IF(s.`score`>0,s.`seat`,0)) seat, MAX(IF(s.`curr_score`>0,s.`curr_seat`,0)) corrSeat, MAX(IF(s.`collect` = '有征集', 1, 0)) `collect`, MAX(IF(s.`collect` = '有征集', s.`collectDesc`, '')) `collectDesc`,
- </otherwise></choose>SUM(IF(sm.`numReal` IS NULL, 0, sm.`numReal`)) numReal, IF(SUM(IF(sm.`sinoForeign`, 0, 1)) > 0, 0, 1) sinoForeign, MAX(DISTINCT IF(sm.`sinoForeign`, sm.`sinoForeignDesc`, '')) `sinoForeignDesc`, COUNT(*) matchCount
- FROM `b_busi_wish_university_marjors_plan_submit` ps
- JOIN `b_busi_wish_university_submit_marjors` sm ON ps.`old_submit_id` = sm.`id`
- JOIN `b_busi_wish_university_submits` s ON sm.`location` = s.`location` AND sm.year = s.year AND sm.`universityId` = s.`universityId` AND sm.`level` = s.`level` AND sm.`liberalScience` = s.`liberalScience` AND sm.`collegeCode` = s.`collegeCode` AND sm.uCode = s.uCode
- WHERE ps.`marjorCollegeId` IS NOT NULL AND ps.`old_submit_id` IS NOT NULL
- AND ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="collegeIds != null"> and ps.`marjorCollegeId` in <foreach item="o" collection="collegeIds" open="(" separator="," close=")">#{o}</foreach></if>
- GROUP BY ps.`marjorCollegeId`, ps.`year`
- ) T
- GROUP BY T.marjorCollegeId;
- </insert>
- <update id="updateCollegeStats">
- UPDATE `b_busi_wish_university_marjors_college` c, b_busi_wish_university_tmp_stat_college t
- SET c.`stats` = t.`stats`, c.`score` = 0, c.`seat` = 0, c.`matchCount`=0
- WHERE c.`id` = t.`marjorCollegeId` AND c.year = #{currYear} AND c.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>;
-
- UPDATE `b_busi_wish_university_marjors_college` c SET
- c.`score` = IF(c.`stats` LIKE CONCAT('%', c.`year`, ',"score"%') OR c.`stats` LIKE CONCAT('%', c.`year` - 1, ',"score"%'), json_extract(c.`stats`, '$.stats[0].corrScore'), NULL),
- c.`seat` = IF(c.`stats` LIKE CONCAT('%', c.`year`, ',"score"%') OR c.`stats` LIKE CONCAT('%', c.`year` - 1, ',"score"%'), json_extract(c.`stats`, '$.stats[0].corrSeat'), NULL),
- c.`matchCount` = IF(c.`stats` LIKE CONCAT('%', c.`year`, ',"score"%') OR c.`stats` LIKE CONCAT('%', c.`year` - 1, ',"score"%'), json_extract(c.`stats`, '$.stats[0].matchCount'), NULL)
- -- c.`score` = IF(c.`stats` LIKE CONCAT('%', c.`year`, ',"score"%') OR c.`stats` LIKE CONCAT('%', c.`year` - 1, ',"score"%'), json_extract(c.`stats`, '$.stats[0].score'), NULL),
- -- c.`seat` = IF(c.`stats` LIKE CONCAT('%', c.`year`, ',"score"%') OR c.`stats` LIKE CONCAT('%', c.`year` - 1, ',"score"%'), json_extract(c.`stats`, '$.stats[0].seat'), NULL)
- WHERE c.`stats` IS NOT NULL AND c.year = #{currYear} AND c.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="collegeIds != null"> and c.`id` in <foreach item="o" collection="collegeIds" open="(" separator="," close=")">#{o}</foreach></if>
- </update>
- <insert id="insertStats">
- truncate table `b_busi_wish_university_tmp_stat`;
- SET SESSION group_concat_max_len = 1024000;
- INSERT INTO b_busi_wish_university_tmp_stat
- SELECT T.`plan_id`, CONCAT('{"year":', T.`year`, ',"stats":[',
- GROUP_CONCAT(CONCAT('{"year":', T.submit_year, ',"submit_id":', T.`submit_id`, ',"score":', T.`score`, ',"corrScore":', T.`corrScore`, ',"seat":', T.`seat`, ',"corrSeat":', T.`corrSeat`, ',"numReal":', T.`numReal`,
- ',"collect":', T.`collect`, ',"collectDesc":"', T.`collectDesc`, '","sinoForeign":', T.`sinoForeign`, ',"sinoForeignDesc":"', T.`sinoForeignDesc`, '"}') ORDER BY T.submit_year DESC),
- ']}') FROM (
- SELECT ps.`plan_id`, ps.`year`, ps.`year` submit_year, ps.`plan_submit_id` submit_id, IF(sm.`score`>0,sm.`score`,0) score, IF(sm.`corrScore`>0,sm.`corrScore`,0) corrScore,
- IF(sm.`score`>0,sm.`seat`,0) seat, IF(sm.`corrScore`>0,sm.`corrSeat`,0) corrSeat,
- IF(sm.`numReal` IS NULL, 0, sm.`numReal`) numReal,
- IF(sm.`collect` = '有征集', 1, 0) `collect`, IF(sm.`collect` = '有征集', sm.`collectDesc`, '') `collectDesc`,
- IF(sm.`sinoForeign`, 1, 0) sinoForeign, IF(sm.`sinoForeign`, sm.`sinoForeignDesc`, '') `sinoForeignDesc`
- FROM `b_busi_wish_university_marjors_plan_submit` ps
- JOIN `b_busi_wish_university_submit_marjors` sm ON ps.`plan_submit_id` = sm.`id`
- WHERE ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="planIds != null"> and ps.`plan_id` in <foreach item="o" collection="planIds" open="(" separator="," close=")">#{o}</foreach></if>
- UNION
- SELECT ps.`plan_id`, ps.`year`, ps.`year` - 1 submit_year, ps.`submit_id` submit_id, IF(sm.`score`>0,sm.`score`,0) score, IF(sm.`corrScore`>0,sm.`corrScore`,0) corrScore,
- IF(sm.`score`>0,sm.`seat`,0) seat, IF(sm.`corrScore`>0,sm.`corrSeat`,0) corrSeat,
- IF(sm.`numReal` IS NULL, 0, sm.`numReal`),
- IF(sm.`collect` = '有征集', 1, 0) `collect`, IF(sm.`collect` = '有征集', sm.`collectDesc`, '') `collectDesc`,
- IF(sm.`sinoForeign`, 1, 0) sinoForeign, IF(sm.`sinoForeign`, sm.`sinoForeignDesc`, '') `sinoForeignDesc`
- FROM `b_busi_wish_university_marjors_plan_submit` ps
- JOIN `b_busi_wish_university_submit_marjors` sm ON ps.`submit_id` = sm.`id`
- WHERE ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="planIds != null"> and ps.`plan_id` in <foreach item="o" collection="planIds" open="(" separator="," close=")">#{o}</foreach></if>
- UNION
- SELECT ps.`plan_id`, ps.`year`, ps.`year` - 2 submit_year, ps.`last_submit_id` submit_id, IF(sm.`score`>0,sm.`score`,0) score, IF(sm.`corrScore`>0,sm.`corrScore`,0) corrScore,
- IF(sm.`score`>0,sm.`seat`,0) seat, IF(sm.`corrScore`>0,sm.`corrSeat`,0) corrSeat,
- IF(sm.`numReal` IS NULL, 0, sm.`numReal`),
- IF(sm.`collect` = '有征集', 1, 0) `collect`, IF(sm.`collect` = '有征集', sm.`collectDesc`, '') `collectDesc`,
- IF(sm.`sinoForeign`, 1, 0) sinoForeign, IF(sm.`sinoForeign`, sm.`sinoForeignDesc`, '') `sinoForeignDesc`
- FROM `b_busi_wish_university_marjors_plan_submit` ps
- JOIN `b_busi_wish_university_submit_marjors` sm ON ps.`last_submit_id` = sm.`id`
- WHERE ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="planIds != null"> and ps.`plan_id` in <foreach item="o" collection="planIds" open="(" separator="," close=")">#{o}</foreach></if>
- UNION
- SELECT ps.`plan_id`, ps.`year`, ps.`year` - 3 submit_year, ps.`old_submit_id` submit_id, IF(sm.`score`>0,sm.`score`,0) score, IF(sm.`corrScore`>0,sm.`corrScore`,0) corrScore,
- IF(sm.`score`>0,sm.`seat`,0) seat, IF(sm.`corrScore`>0,sm.`corrSeat`,0) corrSeat,
- IF(sm.`numReal` IS NULL, 0, sm.`numReal`),
- IF(sm.`collect` = '有征集', 1, 0) `collect`, IF(sm.`collect` = '有征集', sm.`collectDesc`, '') `collectDesc`,
- IF(sm.`sinoForeign`, 1, 0) sinoForeign, IF(sm.`sinoForeign`, sm.`sinoForeignDesc`, '') `sinoForeignDesc`
- FROM `b_busi_wish_university_marjors_plan_submit` ps
- JOIN `b_busi_wish_university_submit_marjors` sm ON ps.`old_submit_id` = sm.`id`
- WHERE ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="planIds != null"> and ps.`plan_id` in <foreach item="o" collection="planIds" open="(" separator="," close=")">#{o}</foreach></if>
- ) T
- GROUP BY T.`plan_id`;
- </insert>
- <update id="updateStats">
- UPDATE `b_busi_wish_university_marjors_plan_submit` ps, b_busi_wish_university_tmp_stat t
- SET ps.`stats` = t.`stats`
- WHERE ps.`plan_id` = t.`planId` AND ps.year = #{currYear} AND ps.`location` in <foreach item="o" collection="locations" open="(" separator="," close=")">#{o}</foreach>
- <if test="planIds != null"> and ps.`plan_id` in <foreach item="o" collection="planIds" open="(" separator="," close=")">#{o}</foreach></if>
- </update>
- <delete id="deleteUpdateVersion">
- DELETE mu FROM `b_busi_wish_university_submit_marjors_update` mu
- WHERE mu.`version` = #{version} and mu.location is not null and mu.location = #{location}
- </delete>
- </mapper>
|