You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

690 lines
27 KiB

<?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.msdw.tms.dao.AchievementManagementDao">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.msdw.tms.entity.ExperimentalReportEntity">
<id column="reportId" property="reportId"/>
<result column="projectId" property="projectId"/>
<result column="principle" property="principle"/>
<result column="content" property="content"/>
<result column="data" property="data"/>
<result column="analysis" property="analysis"/>
<result column="conclusion" property="conclusion"/>
<result column="summarize" property="summarize"/>
<result column="purpose" property="purpose"/>
<result column="improvement" property="improvement"/>
<result column="comment" property="comment"/>
<result column="studentId" property="studentId"/>
<result column="teacherName" property="teacherName"/>
<result column="period" property="period"/>
<result column="laboratory" property="laboratory"/>
<result column="equipment" property="equipment"/>
<result column="score" property="score"/>
<result column="timeConsuming" property="timeConsuming"/>
<result column="startTime" property="startTime"/>
<result column="creationTime" property="creationTime"/>
<result column="className" property="className"/>
<result column="steps1" property="steps1"/>
<result column="steps2" property="steps2"/>
<result column="steps3" property="steps3"/>
<result column="steps4" property="steps4"/>
<result column="steps5" property="steps5"/>
<result column="steps6" property="steps6"/>
<result column="steps7" property="steps7"/>
<result column="steps8" property="steps8"/>
<result column="steps9" property="steps9"/>
<result column="steps10" property="steps10"/>
<result column="projectName" property="projectName"/>
<result column="workNumber" property="workNumber"/>
</resultMap>
<select id="getReport" resultMap="BaseResultMap" parameterType="com.msdw.tms.entity.ExperimentalReportEntity">
SELECT her.*, pm.projectName, s.workNumber
FROM hr_experimental_report her,
hr_project_management pm,
student s
WHERE her.reportId = #{reportId}
and her.studentId = #{studentId}
and her.projectId = pm.projectId
and her.studentId = s.userId
</select>
<select id="getScore" resultType="com.msdw.tms.entity.vo.UserScoreVO"
parameterType="com.msdw.tms.entity.vo.UserScoreVO">
SELECT id,
score,
tradingJudgmentPointsId,
projectId,
systemId,
userId,
isCorrect,
reportId,
userAnswers
FROM hr_user_score
WHERE reportId = #{reportId}
and userId = #{userId}
</select>
<!-- <resultMap id="achievementMap" type="com.msdw.tms.entity.ExperimentalReportEntity">-->
<!-- <result property="experimentalClassName" column="experimental_class_name"></result>-->
<!-- </resultMap>-->
<insert id="addReport" useGeneratedKeys="true" keyProperty="reportId">
INSERT INTO hr_experimental_report(projectId, content, principle, step, analysis, summarize, improvement,
commentId, studentId, period, laboratory, className, steps1, steps2, steps3,
steps4, steps5, steps6, steps7, steps8, steps9, steps10, timeConsuming,
startTime, creationTime, purpose, teacherName)
VALUES (#{projectId}, #{content}, #{principle}, #{step}, #{analysis}, #{summarize}, #{improvement},
#{commentId}, #{studentId},
#{period}, #{laboratory}, #{className}, #{steps1}, #{steps2}, #{steps3}, #{steps4}, #{steps5},
#{steps6}, #{steps7}, #{steps8}, #{steps9}, #{steps10}, #{timeConsuming}, #{startTime}, #{creationTime},
#{purpose}, #{teacherName})
</insert>
<update id="deleteReport">
UPDATE tms_project_record tpr,tms_experimental_report ter
SET tpr.isdel = 1, ter.isdel = 1
WHERE tpr.recordId = #{recordId}
AND ter.reportId = #{reportId}
</update>
<update id="updateComment">
UPDATE tms_experimental_report
SET `comment` = #{comment}
WHERE reportId = #{reportId}
</update>
<update id="updateSignatrue">
UPDATE tms_experimental_report
SET isSignature = #{isSignature},
signatureId = #{signatureId},
`comment` = #{comment}
WHERE reportId = #{reportId}
</update>
<select id="queryReport" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT ter.reportId,
IFNULL(ter.`comment`, (SELECT `comment` FROM tms_comment WHERE id = commentId)) AS comment,
ter.projectId,
ter.principle,
ter.content,
ter.step,
ter.`data`,
ter.analysis,
ter.conclusion,
ter.summarize,
ter.improvement,
ter.commentId,
ter.studentId,
ter.teacherName,
ter.period,
ter.laboratory,
ter.eventId,
ter.isSignature,
ter.signatureId,
ter.isdel,
hpm.projectName,
hpm.systemId,
ts.signature_name AS signatureName,
ts.signature_url AS signatureUrl,
tc.`level`
FROM tms_experimental_report ter
LEFT JOIN tms_signature ts ON signatureId = ts.id
LEFT JOIN tms_comment tc ON commentId = tc.id
LEFT JOIN tms_project_record AS tpr ON tpr.recordId = ter.eventId
LEFT JOIN hr_project_management AS hpm ON hpm.projectId = tpr.projectId
WHERE reportId = #{reportId}
</select>
<!--
SELECT
u.userName,
sch.schoolName,
s.workNumber,
tpr.score,
tpr.submitTime,
tpr.recordId,
tcr.reportId
FROM
hr_project_management hpm,
hr_user_info u,
student s,
tms_project_record tpr,
tms_experimental_report tcr,
school sch
WHERE
hpm.projectId = tpr.projectId
AND tpr.userId = u.userId
AND u.userId = s.userId
AND sch.schoolId = u.schoolId
AND tcr.eventId = tpr.recordId
AND tpr.isdel = 0
AND tcr.isdel = 0
AND u.isdel = 0
AND tpr.projectId = #{projectId}
<if test="searchContant!=null and searchContant!=''">
AND (sch.schoolName LIKE CONCAT('%',#{searchContant},'%')
OR u.userName LIKE CONCAT('%',#{searchContant},'%') )
</if>
GROUP BY
tcr.reportId
ORDER BY tpr.submitTime DESC
-->
<select id="queryEvaluationReport" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT
r.reportId,
re.recordId,
sch.schoolName,
s.workNumber,
u.userName,
re.score,
re.submitTime,
r.eventId,
s.studentId
FROM
tms_experimental_report r
INNER JOIN tms_experimental_teaching t ON t.id = r.projectId
INNER JOIN student s ON s.studentId = r.studentId
INNER JOIN school sch ON sch.schoolId = s.schoolId
INNER JOIN hr_user_info u ON u.userId = s.userId
INNER JOIN tms_project_record re ON re.projectId = t.project_id
WHERE
t.id = r.projectId
and r.eventId = re.recordId
AND r.projectId = #{projectId}
AND r.isdel = 0
AND t.is_del = 0
AND u.isdel = 0
<if test="searchContant!=null and searchContant!=''">
AND (sch.schoolName LIKE CONCAT('%',#{searchContant},'%')
OR u.userName LIKE CONCAT('%',#{searchContant},'%') )
</if>
GROUP BY r.reportId DESC
</select>
<select id="queryAchievement" resultType="com.msdw.tms.entity.request.AchievementImportRequest">
SELECT
u.userName,
sch.schoolName,
s.workNumber,
tpr.score,
tpr.submitTime,
tpr.recordId,
tcr.reportId
FROM
hr_project_management hpm,
hr_user_info u,
student s,
tms_project_record tpr,
tms_experimental_report tcr,
school sch
WHERE
hpm.projectId = tpr.projectId
AND tpr.userId = u.userId
AND u.userId = s.userId
AND sch.schoolId = u.schoolId
AND tcr.eventId = tpr.recordId
AND tpr.isdel = 0
AND tcr.isdel = 0
AND u.isdel = 0
<if test="ids.size()>0">
AND recordId IN (
<foreach collection="ids" separator="," item="recordId">
#{recordId}
</foreach>
)
</if>
GROUP BY
tcr.reportId
ORDER BY tpr.submitTime DESC
</select>
<select id="queryAchievementByAssessment" resultType="com.msdw.tms.entity.request.ImportAssessmentRequest">
SELECT schoolName,
experimental_class_name,
userName,
workNumber,
r.score,
r.recordId,
report.reportId,
r.submitTime,
stu.studentId,
t.id AS projectId,
experimental_name AS experimentalName
FROM tms_experimental_teaching t
INNER JOIN tms_experimental_report report ON report.projectId = t.id
INNER JOIN tms_project_record r ON r.recordId = report.eventId
INNER JOIN hr_user_info u ON u.userId = r.userId
INNER JOIN school s ON s.schoolId = u.schoolId
INNER JOIN student stu ON stu.userId = u.userId
WHERE
<if test="ids.size()>0">
r.recordId IN (
<foreach collection="ids" separator="," item="recordId">
#{recordId}
</foreach>
)
</if>
AND report.isdel = 0
</select>
<select id="queryFictitiousRecord" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT
hpm.projectName,
hpm.creationTime AS creationtime,
hpm.projectPermissions,
count( tcr.reportId ) AS reportNumber,
tcr.projectId,
tcr.reportId,
tpr.recordId
FROM
hr_project_management hpm
LEFT JOIN tms_project_record tpr ON hpm.projectId = tpr.projectId
LEFT JOIN tms_experimental_report tcr ON tpr.recordId = tcr.eventId
WHERE
tpr.isdel = 0
AND tcr.isdel = 0
AND hpm.projectPermissions = 0
<if test="systemId!=null and systemId!=''">AND hpm.systemId = #{systemId}</if>
<if test="searchContant!=null and searchContant!=''">and hpm.projectName like concat('%',#{searchContant},'%')
</if>
<if test="startingtime!=null and startingtime!='' and endtime!=null and endtime != ''">and hpm.creationTime
between #{endtime} and #{startingtime}
</if>
<if test="month!=null and month != ''">and DATE_SUB(CURDATE(), INTERVAL #{month} month ) &lt;=
date(hpm.creationTime)
</if>
<if test="projectIds.size!=null">
AND tpr.projectId IN (
<foreach collection="projectIds" separator="," item="projectId">
#{projectId}
</foreach>
)
</if>
GROUP BY
tcr.reportId
ORDER BY
creationtime DESC,tcr.reportId DESC
</select>
<select id="queryEducationRecord" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT
hpm.projectName,
hpm.creationTime AS creationtime,
tet.experimental_class_name,
hpm.projectPermissions,
tcr.projectId,
tcr.reportId,
tpr.recordId,
count( tcr.reportId ) AS reportNumber
FROM
hr_project_management hpm
LEFT JOIN tms_experimental_teaching tet ON tet.project_id = hpm.projectId
LEFT JOIN tms_project_record tpr ON tet.project_id = tpr.projectId
LEFT JOIN tms_experimental_report tcr ON tcr.projectId = tet.id
WHERE
tpr.isdel = 0
AND hpm.projectPermissions = 1
AND tcr.isdel = 0
<if test="systemId!=null and systemId!=''">AND hpm.systemId = #{systemId}</if>
<if test="searchContant!=null and searchContant!=''">and (hpm.projectName like concat('%',#{searchContant},'%')
OR tet.experimental_class_name like concat('%',#{searchContant},'%') )
</if>
<if test="startingtime!=null and startingtime!='' and endtime!=null and endtime != ''">and hpm.creationTime
between #{endtime} and #{startingtime}
</if>
<if test="month!=null and month != ''">and DATE_SUB(CURDATE(), INTERVAL #{month} month ) &lt;=
date(creation_time)
</if>
<if test="projectIds.size!=null">
AND tet.id IN (
<foreach collection="projectIds" separator="," item="projectId">
#{projectId}
</foreach>
)
</if>
GROUP BY
tcr.reportId
ORDER BY
creationtime DESC,tcr.reportId DESC
</select>
<select id="queryFictitiousReport" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT
u.userName,
sch.schoolName,
s.workNumber,
tpr.score,
tpr.submitTime,
tpr.recordId,
tcr.reportId
FROM
hr_project_management hpm,
hr_user_info u,
student s,
tms_project_record tpr,
tms_experimental_report tcr,
school sch
WHERE
hpm.projectId = tpr.projectId
AND tpr.userId = u.userId
AND u.userId = s.userId
AND sch.schoolId = u.schoolId
AND tcr.eventId = tpr.recordId
AND tpr.isdel = 0
AND tcr.isdel = 0
AND u.isdel = 0
AND tpr.projectId = #{projectId}
<if test="searchContant!=null and searchContant!=''">AND (sch.schoolName LIKE CONCAT('%',#{searchContant},'%')
OR u.userName LIKE CONCAT('%',#{searchContant},'%') )
</if>
GROUP BY
tcr.reportId
ORDER BY tpr.submitTime DESC
</select>
<select id="countEducationProjectId" resultType="java.lang.Integer">
SELECT ter.projectId
FROM tms_experimental_report ter
LEFT JOIN tms_experimental_teaching tet ON tet.id = ter.projectId
LEFT JOIN hr_project_management hpm ON tet.project_id = hpm.projectId
WHERE ter.isdel = 0
AND hpm.projectPermissions = 1
AND ter.projectId IS NOT NULL
GROUP BY ter.projectId
</select>
<select id="countFictitiousProjectId" resultType="java.lang.Integer">
SELECT tpr.projectId
FROM tms_project_record tpr
LEFT JOIN hr_project_management hpm ON tpr.projectId = hpm.projectId
WHERE tpr.isdel = 0
AND hpm.projectPermissions = 0
GROUP BY tpr.projectId
</select>
<select id="queryEvaluationName" resultType="java.lang.String">
SELECT project_name AS evaluationName
FROM tms_experimental_teaching
WHERE project_id = #{projectId}
</select>
<select id="queryPythonTest" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT hec.`code` AS userAnswer,
hec.codeId,
IF
(p.rightAndWrong = 0, hsi.score, 0) AS codeScore,
hjp.judgmentPointsName,
hjp.experimentcode AS answer,
hec.isError
FROM hr_experiment_code AS hec,
hr_score_index AS hsi,
hr_judgment_points AS hjp,
pointrecord p
WHERE hjp.judgmentPointsId = hsi.judgmentPointsId
AND hjp.judgmentPointsId = hec.judgmentPointsId
AND p.codeId = hec.codeId
AND hjp.isdel = 0
AND hec.recordId = #{recordId}
GROUP BY hec.codeId
</select>
<!--SELECT hpm.creationTime,hpm.projectId,hpm.projectName,hpm.projectPermissions,hpm.systemId,(SELECT count(*) FROM
tms_project_record her where hpm.projectId = her.projectId and her.isdel = 0 ) as number
FROM hr_project_management hpm
WHERE systemId = #{systemId}
AND hpm.isdel = 0
AND hpm.projectPermissions = #{projectPermissions}
<if test="searchContant!=null and searchContant!=''">and hpm.projectName like concat('%',#{searchContant},'%')
</if>
<if test="startTime!=null and startTime!='' and endTime!=null and endTime != ''">and hpm.creationTime between
#{endTime} and #{startTime}
</if>
<if test="month!=null and month != ''">and DATE_SUB(CURDATE(), INTERVAL #{month} month ) &lt;=
date(hpm.creationTime)
</if>
ORDER BY hpm.creationTime DESC-->
<select id="list" resultType="com.msdw.tms.entity.ResultsEntity">
SELECT
hpm.projectId,
hpm.projectName,
hpm.projectPermissions,
hpm.systemId,
hpm.creationTime,
hpm.isdel
FROM
hr_project_management hpm
LEFT JOIN
tms_project_hidden tph on hpm.projectId = tph.project_id
WHERE systemId = #{systemId}
AND hpm.projectPermissions = #{projectPermissions}
AND tph.is_hidden is NULL
<if test="searchContant!=null and searchContant!=''">and hpm.projectName like concat('%',#{searchContant},'%')
</if>
<if test="startTime!=null and startTime!='' and endTime!=null and endTime != ''">and hpm.creationTime between
#{startTime} and #{endTime}
</if>
<if test="month!=null and month != ''">and DATE_SUB(CURDATE(), INTERVAL #{month} month ) &lt;=
date(hpm.creationTime)
</if>
ORDER BY hpm.creationTime DESC
</select>
<!-- <select id="newList" resultType="com.msdw.tms.entity.ResultsEntity">-->
<!-- SELECT-->
<!-- et.id,-->
<!-- et.experimental_class_name AS experimentalClassName,-->
<!-- et.experimental_name AS experimentalName,-->
<!-- et.project_id AS projectId,-->
<!-- pm.projectName,-->
<!-- pm.projectPermissions,-->
<!-- et.creation_time AS creationTime,-->
<!-- ( SELECT count( * ) FROM tms_experimental_report her WHERE et.id = her.projectId AND her.isdel = 0 ) AS number,-->
<!-- et.is_del-->
<!-- FROM-->
<!-- tms_experimental_teaching et,-->
<!-- hr_project_management pm-->
<!-- WHERE-->
<!-- user_id = #{userId}-->
<!-- AND et.project_id = pm.projectId-->
<!-- AND pm.isdel = 0-->
<!-- <if test="searchContant!=null and searchContant!=''">and et.experimental_class_name like-->
<!-- concat('%',#{searchContant},'%') or et.experimental_name like concat('%',#{searchContant},'%') or-->
<!-- pm.projectName like concat('%',#{searchContant},'%')-->
<!-- </if>-->
<!-- <if test="startTime!=null and startTime!='' and endTime!=null and endTime != ''">and et.creation_time between-->
<!-- #{endTime} and #{startTime}-->
<!-- </if>-->
<!-- <if test="month!=null and month != ''">and DATE_SUB(CURDATE(), INTERVAL #{month} month ) &lt;=-->
<!-- date(et.creation_time)-->
<!-- </if>-->
<!-- ORDER BY et.creation_time DESC-->
<!-- </select>-->
<select id="newList" resultType="com.msdw.tms.entity.ResultsEntity">
SELECT
et.id,
et.experimental_class_name AS experimentalClassName,
et.experimental_name AS experimentalName,
et.project_id AS projectId,
pm.projectName,
pm.projectPermissions,
et.creation_time AS creationTime,
et.is_del
FROM
tms_experimental_teaching et inner join
hr_project_management pm on et.project_id = pm.projectId
LEFT JOIN
tms_project_hidden tph on et.id = tph.teach_id
WHERE
user_id = #{userId}
AND systemId = #{systemId}
AND tph.is_hidden is NULL
/*AND pm.isdel = 0*/
<if test="searchContant!=null and searchContant!=''">and et.experimental_class_name like
concat('%',#{searchContant},'%') or et.experimental_name like concat('%',#{searchContant},'%') or
pm.projectName like concat('%',#{searchContant},'%')
</if>
<if test="startTime!=null and startTime!='' and endTime!=null and endTime != ''">and et.creation_time between
#{startTime} and #{endTime}
</if>
<if test="month!=null and month != ''">and DATE_SUB(CURDATE(), INTERVAL #{month} month ) &lt;=
date(et.creation_time)
</if>
ORDER BY et.creation_time DESC
</select>
<select id="reportList" resultType="com.msdw.tms.entity.ReportEntity">
SELECT hui.userId,her.reportId,hui.userName as
studentName,s.schoolName,stu.workNumber,her.score,her.creationTime
FROM hr_experimental_report her,hr_user_info hui,school s,student stu
WHERE her.projectId = #{projectId}
AND her.studentId = hui.userId
AND her.studentId = stu.userId
AND hui.schoolId = s.schoolId
AND her.isdel = 0
<if test="searchContant!=null and searchContant!=''">AND (hui.userName LIKE CONCAT('%',#{searchContant},'%') OR
s.schoolName LIKE CONCAT('%',#{searchContant},'%') )
</if>
ORDER BY her.creationTime desc
</select>
<select id="getTeacher" resultType="java.lang.String">
SELECT hui.userName
FROM hr_project_management pm,
hr_user_info hui
WHERE pm.projectId = #{projectId}
and pm.userId = hui.userId
</select>
<select id="queryTradingJudgmentPointsId" resultType="java.lang.Integer">
SELECT tradingJudgmentPointsId
FROM hr_user_score
WHERE reportId = #{reportId}
</select>
<select id="getUserAnswers" resultType="com.msdw.tms.entity.vo.JudgmentPointsRuleVO">
SELECT tjp.judgment_points_name as judgmentPointsName,
ru.type,
ru.id,
ru.level_one as levelOne,
ru.level_two as levelTwo,
ru.level_three as levelThree,
ru.level_four as levelFour,
ru.trading_judgment_points_id as tradingJudgmentPointsId
FROM hr_trading_judgment_points_rule ru,
hr_trading_judgment_points tjp
WHERE ru.trading_judgment_points_id = #{tradingJudgmentPointsId}
and ru.trading_judgment_points_id = tjp.id
</select>
<update id="deleteReportById">
UPDATE hr_project_management
SET hr_project_management.isdel = 1
WHERE hr_project_management.projectId = #{projectId}
</update>
<select id="getImitationAchievement" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT r.recordId,
schoolName,
userName,
workNumber,
score,
submitTime,
re.reportId
FROM tms_project_record r
INNER JOIN student s ON s.userId = r.userId
INNER JOIN hr_user_info u ON u.userId = r.userId
INNER JOIN school sch ON sch.schoolId = u.schoolId
inner join tms_experimental_report re on r.recordId = re.eventId
WHERE r.projectId = #{projectId}
AND r.isdel = 0
AND s.isdel = 0
AND u.isdel = 0
AND sch.isdel = 0
AND re.isdel = 0;
</select>
<!--SELECT r.recordId, schoolName,tet.experimental_class_name, userName, workNumber, score, submitTime, ter.reportId
from tms_project_record r
inner join student s on s.userId = r.userId
inner join hr_user_info u on u.userId = r.userId
inner join school sch on sch.schoolId = u.schoolId
inner join tms_experimental_report ter on r.recordId = ter.eventId
inner join tms_experimental_teaching tet on r.projectId = tet.project_id
WHERE
tet.id = #{id}
AND r.isdel = 0
AND s.isdel = 0
AND u.isdel = 0
AND sch.isdel = 0
AND ter.isdel = 0
AND tet.is_del = 0-->
<!-- <select id="getTeachAchievement" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">-->
<!-- SELECT schoolName,-->
<!-- experimental_class_name,-->
<!-- userName,-->
<!-- workNumber,-->
<!-- r.score,-->
<!-- r.recordId,-->
<!-- report.reportId,-->
<!-- r.submitTime,-->
<!-- stu.studentId,-->
<!-- t.id as projectId-->
<!-- FROM tms_experimental_teaching t-->
<!-- INNER JOIN tms_experimental_report report ON report.projectId = t.id-->
<!-- INNER JOIN tms_project_record r ON r.recordId = report.eventId-->
<!-- INNER JOIN hr_user_info u ON u.userId = r.userId-->
<!-- INNER JOIN school s ON s.schoolId = u.schoolId-->
<!-- INNER JOIN student stu ON stu.userId = u.userId-->
<!-- WHERE t.id = #{id}-->
<!-- AND t.is_del = 0-->
<!-- AND report.isdel = 0-->
<!-- </select>-->
<select id="getTeachAchievement" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT schoolName,
experimental_class_name,
userName,
workNumber,
r.score,
r.recordId,
report.reportId,
r.submitTime,
stu.studentId,
t.id as projectId,
experimental_name as experimentalName
FROM tms_experimental_teaching t
INNER JOIN tms_experimental_report report ON report.projectId = t.id
INNER JOIN tms_project_record r ON r.recordId = report.eventId
INNER JOIN hr_user_info u ON u.userId = r.userId
INNER JOIN school s ON s.schoolId = u.schoolId
INNER JOIN student stu ON stu.userId = u.userId
WHERE t.id = #{id}
AND report.isdel = 0
</select>
<update id="modify" parameterType="com.msdw.tms.entity.ExperimentalReportEntity">
UPDATE tms_experimental_report
<set>
<if test="instructor != null">
instructor=#{instructor, jdbcType=VARCHAR},
</if>
<if test="period != null">
period=#{period, jdbcType=INTEGER},
</if>
<if test="proName != null">
proName=#{proName, jdbcType=VARCHAR},
</if>
<if test="purpose != null">
purpose=#{purpose, jdbcType=VARCHAR},
</if>
<if test="summarize != null">
summarize=#{summarize, jdbcType=VARCHAR},
</if>
</set>
WHERE reportId = #{reportId}
</update>
</mapper>