From f33cfe86447c16df8ca665e2e1a5f3333ff57792 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Wed, 27 Aug 2025 17:02:27 +0800
Subject: [PATCH] 版本改造
---
expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml | 157 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 135 insertions(+), 22 deletions(-)
diff --git a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
index e424208..59c70fb 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
@@ -7,11 +7,13 @@
<resultMap type="ProjectManagement" id="ProjectManagementResult">
<result property="id" column="id" />
<result property="projectName" column="project_name" />
+ <result property="projectCode" column="project_code" />
<result property="deptId" column="dept_id" />
<result property="deptName" column="dept_name" />
- <result property="companyName" column="company_name" />
+ <result property="jobCategory" column="job_category" />
<result property="projectAddress" column="project_address" />
- <result property="deptUserName" column="dept_user_name" />
+<!-- <result property="deptUserName" column="dept_user_name" />-->
+ <result property="deptPostName" column="dept_post_name" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" />
<result property="version" column="version" />
<result property="state" column="state" />
<result property="remark" column="remark" />
@@ -36,17 +38,27 @@
<resultMap type="com.gkhy.system.domain.vo.response.ProjectExpertManagementInfoRes" id="ProjectManagementInfoResult">
<result property="id" column="id" />
<result property="projectName" column="project_name" />
+ <result property="projectCode" column="project_code" />
<result property="deptName" column="dept_name" />
<result property="remark" column="remark" />
<result property="state" column="state" />
<result property="step" column="step" />
- <result property="companyName" column="company_name" />
+ <result property="jobCategory" column="job_category" />
<result property="projectAddress" column="project_address" />
+ <result property="expertNum" column="expert_num" />
<!-- <result property="deptUserName" column="dept_user_name" />-->
<result property="projectDateStart" column="project_date_start" />
<result property="projectDateEnd" column="project_date_end" />
<result property="projectCheckTime" column="project_check_time" />
- <collection property="projectExpertCheckResp" javaType="java.util.List" resultMap="ExpertCheck" />
+ <result property="createTime" column="create_time"/>
+<!-- <collection property="projectExpertCheckResp" javaType="java.util.List" resultMap="ExpertCheck" />-->
+ <collection property="projectExpertCheckResp"
+ javaType="java.util.List"
+ ofType="com.gkhy.system.domain.vo.response.ProjectExpertCheckResp"
+ select="selectExpertsByProjectId"
+ column="id">
+ </collection>
+
</resultMap>
<resultMap id="ExpertCheck" type="com.gkhy.system.domain.vo.response.ProjectExpertCheckResp">
<result property="id" column="project_expert_id" />
@@ -58,13 +70,18 @@
<result property="ratingLevel" column="rating_level" />
<result property="selectionMode" column="selection_mode" />
<result property="teamLeader" column="team_leader" />
+ <result property="companyName" column="company_name" />
+ <result property="phone" column="phone" />
+ <result property="selectionTime" column="selection_time" />
+ <result property="expertRemark" column="expert_remark" />
+ <result property="expertType" column="expert_type" />
</resultMap>
<sql id="selectProjectManagementVo">
- select id, project_name, dept_id, dept_name, company_name, project_address, dept_user_name,
+ select id, project_name, dept_id, dept_name, job_category, project_address,dept_post_name,
version, state, remark, project_date_start, project_date_end, expert_certificate,
evaluation_state, expert_num, del_flag, create_by, create_time, update_by, update_time,project_check_time,expert_id,
- expert_name,project_end_time,`desc`,step
+ expert_name,project_end_time,`desc`,step,project_code
from project_management
</sql>
@@ -73,21 +90,93 @@
<where>
and del_flag = 0
<if test="projectName != null and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if>
+ <if test="projectCode != null and projectCode != ''"> and project_code like concat('%', #{projectCode}, '%')</if>
<if test="deptId != null "> and dept_id = #{deptId}</if>
+ <if test="deptIds != null and deptIds.size() > 0">
+ AND dept_id IN
+ <foreach item="deptId" collection="deptIds" open="(" separator="," close=")">
+ #{deptId}
+ </foreach>
+ </if>
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
- <if test="companyName != null and companyName != ''"> and company_name like concat('%', #{companyName}, '%')</if>
+ <if test="jobCategory != null and jobCategory != ''"> and job_category like concat('%', #{jobCategory}, '%')</if>
<if test="projectAddress != null and projectAddress != ''"> and project_address = #{projectAddress}</if>
- <if test="deptUserName != null and deptUserName != ''"> and dept_user_name like concat('%', #{deptUserName}, '%')</if>
+<!-- <if test="deptUserName != null and deptUserName != ''"> and dept_user_name like concat('%', #{deptUserName}, '%')</if>-->
<if test="version != null "> and version = #{version}</if>
<if test="state != null "> and state = #{state}</if>
<if test="step!= null "> and step = #{step}</if>
- <if test="projectDateStart != null "> and project_date_start = #{projectDateStart}</if>
- <if test="projectDateEnd != null "> and project_date_end = #{projectDateEnd}</if>
+ <if test="projectDateStart != null "> and date_format(project_date_start,'%Y%m%d') >= date_format(#{projectDateStart},'%Y%m%d')</if>
+ <if test="projectDateEnd != null "> and date_format(project_date_end,'%Y%m%d') <= date_format(#{projectDateEnd},'%Y%m%d')</if>
<if test="expertCertificate != null and expertCertificate != ''"> and expert_certificate = #{expertCertificate}</if>
<if test="evaluationState != null "> and evaluation_state = #{evaluationState}</if>
<if test="expertNum != null "> and expert_num = #{expertNum}</if>
</where>
+ order by create_time desc
</select>
+
+ <select id="selectProjectData" parameterType="ProjectManagement" resultType="com.gkhy.system.domain.vo.response.ProjectDataResp">
+ select a.dept_name deptName,c.name expertName,b.tax_expert_fee expertFee,a.create_time createTime,a.project_name projectName,
+ b.major_dangers majorDangers,b.general_hazards generalHazards,b.travel_expenses travelExpenses,b.accommodation_fee accommodationFee
+ from project_management a
+ left join project_expert b on a.id = b.project_id and b.del_flag = 0 and b.evaluation_state = 1
+ left join sys_expert_info c on b.expert_id = c.id
+ where a.del_flag = 0 and a.state = 4 and a.evaluation_state = 1
+ <if test="projectName != null and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+ <if test="projectCode != null and projectCode != ''"> and a.project_code like concat('%', #{projectCode}, '%')</if>
+ <if test="deptId != null "> and a.dept_id = #{deptId}</if>
+ <if test="deptIds != null and deptIds.size() > 0">
+ AND a.dept_id IN
+ <foreach item="deptId" collection="deptIds" open="(" separator="," close=")">
+ #{deptId}
+ </foreach>
+ </if>
+ <if test="projectDateStart != null "> and date_format(a.project_date_start,'%Y%m%d') >= date_format(#{projectDateStart},'%Y%m%d')</if>
+ <if test="projectDateEnd != null "> and date_format(a.project_date_end,'%Y%m%d') <= date_format(#{projectDateEnd},'%Y%m%d')</if>
+
+ UNION ALL
+
+ select a.dept_name deptName,b.name expertName,b.tax_expert_fee expertFee,a.create_time createTime,a.project_name projectName,
+ b.major_dangers majorDangers,b.general_hazards generalHazards,b.travel_expenses travelExpenses,b.accommodation_fee accommodationFee
+ from project_management a
+ left join out_project_expert b on a.id = b.project_id and b.del_flag = 0 and b.evaluation_state = 1
+ where a.del_flag = 0 and a.state = 4 and a.evaluation_state = 1
+ <if test="projectName != null and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+ <if test="projectCode != null and projectCode != ''"> and a.project_code like concat('%', #{projectCode}, '%')</if>
+ <if test="deptId != null "> and a.dept_id = #{deptId}</if>
+ <if test="deptIds != null and deptIds.size() > 0">
+ AND a.dept_id IN
+ <foreach item="deptId" collection="deptIds" open="(" separator="," close=")">
+ #{deptId}
+ </foreach>
+ </if>
+ <if test="projectDateStart != null "> and date_format(a.project_date_start,'%Y%m%d') >= date_format(#{projectDateStart},'%Y%m%d')</if>
+ <if test="projectDateEnd != null "> and date_format(a.project_date_end,'%Y%m%d') <= date_format(#{projectDateEnd},'%Y%m%d')</if>
+
+
+ order BY deptName asc ,expertName desc
+ </select>
+
+ <select id="selectProjectDataOut" parameterType="ProjectManagement" resultType="com.gkhy.system.domain.vo.response.ProjectDataResp">
+ select a.dept_name deptName,b.name expertName,b.tax_expert_fee expertFee,a.create_time createTime,a.project_name projectName,
+ b.major_dangers majorDangers,b.general_hazards generalHazards,b.travel_expenses travelExpenses,b.accommodation_fee accommodationFee
+ from project_management a
+ left join out_project_expert b on a.id = b.project_id and b.del_flag = 0 and b.evaluation_state = 1
+ where a.del_flag = 0 and a.state = 4 and a.evaluation_state = 1
+ <if test="projectName != null and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+ <if test="projectCode != null and projectCode != ''"> and a.project_code like concat('%', #{projectCode}, '%')</if>
+ <if test="deptId != null "> and a.dept_id = #{deptId}</if>
+ <if test="deptIds != null and deptIds.size() > 0">
+ AND a.dept_id IN
+ <foreach item="deptId" collection="deptIds" open="(" separator="," close=")">
+ #{deptId}
+ </foreach>
+ </if>
+ <if test="projectDateStart != null "> and date_format(a.project_date_start,'%Y%m%d') >= date_format(#{projectDateStart},'%Y%m%d')</if>
+ <if test="projectDateEnd != null "> and date_format(a.project_date_end,'%Y%m%d') <= date_format(#{projectDateEnd},'%Y%m%d')</if>
+ order BY a.dept_name asc ,b.`name` desc
+ </select>
+
+
<select id="selectProjectManagementById" parameterType="Long" resultMap="ProjectManagementResult">
<include refid="selectProjectManagementVo"/>
@@ -98,11 +187,13 @@
insert into project_management
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectName != null and projectName != ''">project_name,</if>
+ <if test="projectCode != null and projectCode != ''">project_code,</if>
<if test="deptId != null">dept_id,</if>
<if test="deptName != null and deptName != ''">dept_name,</if>
- <if test="companyName != null and companyName != ''">company_name,</if>
+ <if test="jobCategory != null and jobCategory != ''">job_category,</if>
<if test="projectAddress != null and projectAddress != ''">project_address,</if>
- <if test="deptUserName != null and deptUserName != ''">dept_user_name,</if>
+<!-- <if test="deptUserName != null and deptUserName != ''">dept_user_name,</if>-->
+ <if test="deptPostName != null and deptPostName != ''">dept_post_name,</if>
<if test="version != null">version,</if>
<if test="state != null">state,</if>
<if test="step != null">step,</if>
@@ -120,11 +211,13 @@
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectName != null and projectName != ''">#{projectName},</if>
+ <if test="projectCode != null and projectCode != ''">#{projectCode},</if>
<if test="deptId != null">#{deptId},</if>
<if test="deptName != null and deptName != ''">#{deptName},</if>
- <if test="companyName != null and companyName != ''">#{companyName},</if>
+ <if test="jobCategory != null and jobCategory != ''">#{jobCategory},</if>
<if test="projectAddress != null and projectAddress != ''">#{projectAddress},</if>
- <if test="deptUserName != null and deptUserName != ''">#{deptUserName},</if>
+<!-- <if test="deptUserName != null and deptUserName != ''">#{deptUserName},</if>-->
+ <if test="deptPostName != null and deptPostName != ''">#{deptPostName},</if>
<if test="version != null">#{version},</if>
<if test="state != null">#{state},</if>
<if test="step != null">#{step},</if>
@@ -148,9 +241,10 @@
<if test="projectName != null and projectName != ''">project_name = #{projectName},</if>
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
- <if test="companyName != null and companyName != ''">company_name = #{companyName},</if>
+ <if test="jobCategory != null and jobCategory != ''">job_category = #{jobCategory},</if>
<if test="projectAddress != null and projectAddress != ''">project_address = #{projectAddress},</if>
- <if test="deptUserName != null and deptUserName != ''">dept_user_name = #{deptUserName},</if>
+<!-- <if test="deptUserName != null and deptUserName != ''">dept_user_name = #{deptUserName},</if>-->
+ <if test="deptPostName != null and deptPostName != ''">dept_post_name = #{deptPostName},</if>
<if test="version != null">version = #{version},</if>
<if test="state != null">state = #{state},</if>
<if test="step != null">step = #{step},</if>
@@ -162,7 +256,8 @@
<if test="evaluationState != null">evaluation_state = #{evaluationState},</if>
<if test="expertNum != null">expert_num = #{expertNum},</if>
<if test="expertId != null">expert_id = #{expertId},</if>
- <if test="expertName != null and expertName != ''">expert_name = #{expertName},</if>
+ <if test="expertName != null">expert_name = #{expertName},</if>
+ <if test="expertType != null">expert_type = #{expertType},</if>
<if test="projectEndTime != null">project_end_time = #{projectEndTime},</if>
<if test="desc != null and desc != ''">`desc` = #{desc},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
@@ -186,21 +281,39 @@
</update>
<select id="projectExpertCheckInfo" parameterType="Long" resultMap="ProjectManagementInfoResult">
- select a.id,a.step, a.project_name, a.dept_name, a.company_name, a.project_address, a.project_date_start, a.project_date_end, a.remark,a.project_check_time,a.state,
- b.id project_expert_id,b.expert_id expert_id_info,c.name,c.sex,c.id_card,c.domain,c.rating_level,b.selection_mode,b.team_leader
+ select a.id,a.step, a.project_name, a.dept_name, a.job_category, a.project_address, a.project_date_start,
+ a.project_date_end, a.remark,a.project_check_time,a.state,
+ a.project_code,a.expert_num
from project_management a
- left join project_expert b on a.id = b.project_id and b.del_flag = 0
- left join sys_expert_info c on b.expert_id = c.id
where a.id = #{id}
- order by b.team_leader asc , b.create_time desc
+
</select>
+
+ <select id="selectExpertsByProjectId" parameterType="long" resultMap="ExpertCheck">
+ select b.id project_expert_id,b.expert_id expert_id_info,c.name,c.sex,c.id_card,c.domain,c.rating_level,b.selection_mode,b.team_leader,
+ c.company_name,c.phone,null selection_time,c.remark expert_remark, 1 as expert_type
+ from project_expert b
+ left join sys_expert_info c on b.expert_id = c.id
+ where b.project_id = #{id} and b.del_flag = 0
+ union all
+ select b.id project_expert_id,b.id expert_id_info,b.name,b.sex,b.id_card,b.domain,b.rating_level,b.selection_mode,b.team_leader,
+ b.company_name,'' as phone,null selection_time,'' as expert_remark, 2 as expert_type
+ from out_project_expert b
+ where b.project_id = #{id} and b.del_flag = 0
+ order by team_leader desc
+ </select>
+
+
+
<select id="getProjectExpertSate" parameterType="com.gkhy.system.domain.vo.request.ProjectExpertStateReq" resultType="com.gkhy.system.domain.vo.response.ProjectExpertStateResp">
select a.id, a.project_name, a.evaluation_state, a.project_check_time, a.project_end_time, a.dept_name, a.expert_num
from project_management a
where a.del_flag = 0 and a.state = 4
+ <if test="deptId != null "> and a.dept_id = #{deptId}</if>
<if test="projectCheckTime != null "> and a.project_check_time = #{projectCheckTime}</if>
<if test="projectName != null and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
<if test="evaluationState != null "> and a.evaluation_state = #{evaluationState}</if>
+ order by a.create_time desc
</select>
<select id="getDataNum" parameterType="Long" resultType="Integer">
--
Gitblit v1.9.2