dev-tmp1
luotaiqian 2026-08-08 15:20:00 +08:00
parent e6781ffdfd
commit a27889839a
3 changed files with 62 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package org.qinan.safetyeval.client.co;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.List; import java.util.List;
@ -58,4 +59,7 @@ public class QualFilingPersonnelInfoCO {
@ApiModelProperty(value = "能力codeList") @ApiModelProperty(value = "能力codeList")
private List<PersonnelCertFilingPageCO> personnelCertFilingPageCOList; private List<PersonnelCertFilingPageCO> personnelCertFilingPageCOList;
@ApiModelProperty(value = "能力认定")
private List<CapabilityAssessmentDTO> capabilityAssessment;
} }

View File

@ -0,0 +1,50 @@
package org.qinan.safetyeval.infrastructure.handler;
import cn.hutool.json.JSONUtil;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collections;
import java.util.List;
/**
* MyBatis TypeHandler: varchar/text JSON List<CapabilityAssessmentDTO>
*
* @author safety-eval
*/
@MappedJdbcTypes(JdbcType.VARCHAR)
public class CapabilityAssessmentListTypeHandler extends BaseTypeHandler<List<CapabilityAssessmentDTO>> {
@Override
public void setNonNullParameter(PreparedStatement ps, int i, List<CapabilityAssessmentDTO> parameter, JdbcType jdbcType) throws SQLException {
ps.setString(i, JSONUtil.toJsonStr(parameter));
}
@Override
public List<CapabilityAssessmentDTO> getNullableResult(ResultSet rs, String columnName) throws SQLException {
return parse(rs.getString(columnName));
}
@Override
public List<CapabilityAssessmentDTO> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
return parse(rs.getString(columnIndex));
}
@Override
public List<CapabilityAssessmentDTO> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
return parse(cs.getString(columnIndex));
}
private List<CapabilityAssessmentDTO> parse(String json) {
if (json == null || json.isEmpty()) {
return Collections.emptyList();
}
return JSONUtil.toList(json, CapabilityAssessmentDTO.class);
}
}

View File

@ -68,11 +68,17 @@
</foreach> </foreach>
</select> </select>
<!-- 资质备案人员分页查询 resultMap -->
<resultMap id="FilingPersonnelInfoMap" type="org.qinan.safetyeval.client.co.QualFilingPersonnelInfoCO">
<result column="capability_assessment" property="capabilityAssessment"
typeHandler="org.qinan.safetyeval.infrastructure.handler.CapabilityAssessmentListTypeHandler"/>
</resultMap>
<!-- 资质备案人员分页查询,直接返回 CO --> <!-- 资质备案人员分页查询,直接返回 CO -->
<select id="filingPage" resultType="org.qinan.safetyeval.client.co.QualFilingPersonnelInfoCO"> <select id="filingPage" resultMap="FilingPersonnelInfoMap">
SELECT p.id source_personnel_id, p.id, p.user_name personName, d.dept_name, po.position_name, p.post_id, p.gender_code, p.gender_name SELECT p.id source_personnel_id, p.id, p.user_name personName, d.dept_name, po.position_name, p.post_id, p.gender_code, p.gender_name
, p.birth_date, p.register_engineer_flag, p.technical_director_flag, p.process_control_leader_flag , p.birth_date, p.register_engineer_flag, p.technical_director_flag, p.process_control_leader_flag
, p.evaluator_cert_no, p.join_work_date , p.evaluator_cert_no, p.join_work_date, p.capability_assessment
FROM org_personnel p FROM org_personnel p
left join org_department d on p.dept_id = d.id and d.delete_enum = 'false' left join org_department d on p.dept_id = d.id and d.delete_enum = 'false'
left join org_position po on po.id = p.post_id and po.delete_enum = 'false' left join org_position po on po.id = p.post_id and po.delete_enum = 'false'