项目库-分页列表+中英切换

This commit is contained in:
xiejunyu
2022-04-13 17:54:50 +08:00
parent e664ecea34
commit 4ebe452a4e
3 changed files with 138 additions and 73 deletions
@@ -1,6 +1,7 @@
package com.jero.modules.project.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -36,22 +37,48 @@ public class ProjectLibraryBase implements Serializable {
/**目标市场*/
@Dict(dicCode = "region")
private java.lang.String targetMarket;
@TableField(exist = false)
private java.lang.String targetMarketName;
@TableField(exist = false)
private java.lang.String targetMarketEnName;
/**项目状态*/
@Dict(dicCode = "project_status")
private java.lang.String projectStatus;
@TableField(exist = false)
private java.lang.String projectStatusName;
@TableField(exist = false)
private java.lang.String projectStatusEnName;
/**studio工程师*/
private java.lang.String studioEngineer;
@TableField(exist = false)
private java.lang.String studioEngineerName;
@TableField(exist = false)
private java.lang.String studioEngineerEnName;
/**认证工程师*/
private java.lang.String certificationEngineer;
@TableField(exist = false)
private java.lang.String certificationEngineerName;
@TableField(exist = false)
private java.lang.String certificationEngineerEnName;
/**车型平台*/
@Dict(dicCode = "vehicle_platform")
private java.lang.String vehiclePlatform;
@TableField(exist = false)
private java.lang.String vehiclePlatformName;
@TableField(exist = false)
private java.lang.String vehiclePlatformEnName;
/**数字平台*/
@Dict(dicCode = "digital_platform")
private java.lang.String digitalPlatform;
@TableField(exist = false)
private java.lang.String digitalPlatformName;
@TableField(exist = false)
private java.lang.String digitalPlatformEnName;
/**IPD信息*/
private java.lang.String ipdInfo;
@@ -64,6 +91,10 @@ public class ProjectLibraryBase implements Serializable {
/**创建人*/
private java.lang.String createUserId;
@TableField(exist = false)
private java.lang.String createUserName;
@TableField(exist = false)
private java.lang.String createUserEnName;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@@ -72,10 +103,17 @@ public class ProjectLibraryBase implements Serializable {
/**更新人*/
private java.lang.String updateUserId;
@TableField(exist = false)
private java.lang.String updateUserName;
@TableField(exist = false)
private java.lang.String updateUserEnName;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private java.util.Date updateTime;
/**中英切换标志*/
@TableField(exist = false)
private String cut;
}
@@ -22,83 +22,105 @@
</resultMap>
<select id="queryPageList" resultType="com.jero.modules.project.entity.ProjectLibraryBase">
select
plb.id,
plb.project_name,
plb.target_market,
plb.project_status,
plb.studio_engineer,
studiouser.username,
plb.certification_engineer,
certifyuser.username,
plb.vehicle_platform,
plb.digital_platform,
plb.ipd_info,
plb.vehicle_development_plan,
plb.attestation_plan,
plb.create_user_id,
plb.create_time,
plb.update_user_id,
plb.update_time
plb.id,
plb.project_name,
plb.target_market,
marketsdi.item_text as target_market_name,
marketsdi.en_name as target_market_en_name,
plb.project_status,
statussdi.item_text as project_status_name,
statussdi.en_name as project_status_en_name,
plb.studio_engineer,
studiouser.realname as studio_engineer_name,
studiouser.username as studio_engineer_en_name,
plb.certification_engineer,
certifyuser.realname as certification_engineer_name,
certifyuser.username as certification_engineer_en_name,
plb.vehicle_platform,
vehiclePlatformsdi.item_text as vehicle_platform_name,
vehiclePlatformsdi.en_name as vehicle_platform_en_name,
plb.digital_platform,
digitalPlatformsdi.item_text as digital_platform_name,
digitalPlatformsdi.en_name as digital_platform_en_name,
plb.ipd_info,
plb.vehicle_development_plan,
plb.attestation_plan,
plb.create_user_id,
createuser.realname as create_user_name,
createuser.username as create_user_en_name,
plb.create_time,
plb.update_user_id,
createuser.realname as update_user_name,
createuser.username as update_user_en_name,
plb.update_time
from project_library_base as plb
left join sys_dict_item as marketsdi on plb.target_market=marketsdi.id
left join sys_dict_item as statussdi on plb.project_status=statussdi.id
left join sys_user as studiouser on plb.studio_engineer=studiouser.id
left join sys_user as certifyuser on plb.certification_engineer=certifyuser.id
where
<if test="params.projectName != null and params.projectName != ''">
<!--搜索条件:项目名称,包含%,单独搜索-->
<choose>
<when test='params.projectName != null and params.projectName != "" and params.projectName.contains("%")'>
and plb.project_name like '%1%%' escape '1'
</when>
<otherwise>
and plb.project_name like concat('%',#{params.projectName},'%')
</otherwise>
</choose>
</if>
left join sys_dict_item as vehiclePlatformsdi on plb.vehicle_platform=vehiclePlatformsdi.id
left join sys_dict_item as digitalPlatformsdi on plb.digital_platform=digitalPlatformsdi.id
left join sys_user as createuser on plb.create_user_id=createuser.id
left join sys_user as updateuser on plb.create_user_id=updateuser.id
<where>
<if test="params.projectName != null and params.projectName != ''">
<!--搜索条件:项目名称,包含%,单独搜索-->
<choose>
<when test='params.projectName != null and params.projectName != "" and params.projectName.contains("%")'>
and plb.project_name like '%1%%' escape '1'
</when>
<otherwise>
and plb.project_name like concat('%',#{params.projectName},'%')
</otherwise>
</choose>
</if>
<!--搜索条件:目标市场-->
<if test="params.targetMarket != null and params.targetMarket != '' ">
and plb.target_market like concat('%',#{params.targetMarket},'%')
</if>
<!--搜索条件:目标市场-->
<if test="params.targetMarket != null and params.targetMarket != '' ">
and plb.target_market like concat('%',#{params.targetMarket},'%')
</if>
<!--搜索条件:项目状态-->
<if test="params.projectStatus != null and params.projectStatus != '' ">
and plb.project_status like concat('%',#{params.projectStatus},'%')
</if>
<!--搜索条件:项目状态-->
<if test="params.projectStatus != null and params.projectStatus != '' ">
and plb.project_status like concat('%',#{params.projectStatus},'%')
</if>
<if test="params.studioEngineer != null and params.studioEngineer != ''">
<!--搜索条件:studio工程师,包含%,单独搜索-->
<choose>
<when test='params.studioEngineer != null and params.studioEngineer != "" and params.studioEngineer.contains("%")'>
and plb.studio_engineer like '%1%%' escape '1'
</when>
<otherwise>
and plb.studio_engineer like concat('%',#{params.studioEngineer},'%')
</otherwise>
</choose>
</if>
<if test="params.studioEngineer != null and params.studioEngineer != ''">
<!--搜索条件:studio工程师,包含%,单独搜索-->
<choose>
<when test='params.studioEngineer != null and params.studioEngineer != "" and params.studioEngineer.contains("%")'>
and plb.studio_engineer like '%1%%' escape '1'
</when>
<otherwise>
and plb.studio_engineer like concat('%',#{params.studioEngineer},'%')
</otherwise>
</choose>
</if>
<if test="params.certificationEngineer != null and params.certificationEngineer != ''">
<!--搜索条件:认证工程师,包含%,单独搜索-->
<choose>
<when test='params.certificationEngineer != null and params.certificationEngineer != "" and params.certificationEngineer.contains("%")'>
and plb.certification_engineer like '%1%%' escape '1'
</when>
<otherwise>
and plb.certification_engineer like concat('%',#{params.certificationEngineer},'%')
</otherwise>
</choose>
</if>
<if test="params.certificationEngineer != null and params.certificationEngineer != ''">
<!--搜索条件:认证工程师,包含%,单独搜索-->
<choose>
<when test='params.certificationEngineer != null and params.certificationEngineer != "" and params.certificationEngineer.contains("%")'>
and plb.certification_engineer like '%1%%' escape '1'
</when>
<otherwise>
and plb.certification_engineer like concat('%',#{params.certificationEngineer},'%')
</otherwise>
</choose>
</if>
<!--搜索条件:车型平台-->
<if test="params.vehiclePlatform != null and params.vehiclePlatform != '' ">
and plb.vehicle_platform like concat('%',#{params.vehiclePlatform},'%')
</if>
<!--搜索条件:数字平台-->
<if test="params.digitalPlatform != null and params.digitalPlatform != '' ">
and plb.digital_platform like concat('%',#{params.digitalPlatform},'%')
</if>
<!--搜索条件:车型平台-->
<if test="params.vehiclePlatform != null and params.vehiclePlatform != '' ">
and plb.vehicle_platform like concat('%',#{params.vehiclePlatform},'%')
</if>
<!--搜索条件:数字平台-->
<if test="params.digitalPlatform != null and params.digitalPlatform != '' ">
and plb.digital_platform like concat('%',#{params.digitalPlatform},'%')
</if>
</where>
order by plb.create_time desc
</select>
</mapper>
@@ -3,6 +3,7 @@ package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
@@ -112,14 +113,18 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
IPage page = new Page(pageNo, pageSize);
IPage<ProjectLibraryBase> result = projectLibraryBaseMapper.queryPageList(page, params);
List<ProjectLibraryBase> records = result.getRecords();
/*String cut = (String) params.get("cut");
//中英切换-属性类型+展示区域列
String cut = (String) params.get("cut");
//分页列表数据中英切换
if(CutEnum.EN.getValue().equals(cut)){
for(ProjectLibraryBase data:records){
data.setFieldShowTypeName(data.getFieldShowTypeEnName());
data.setShowAreaName(data.getShowAreaEnName());
data.setTargetMarketName(data.getTargetMarketEnName());
data.setProjectStatusName(data.getProjectStatusName());
data.setStudioEngineerName(data.getStudioEngineerEnName());
data.setCertificationEngineer(data.getCertificationEngineerEnName());
data.setVehiclePlatformName(data.getVehiclePlatformEnName());
data.setDigitalPlatformName(data.getDigitalPlatformEnName());
}
}*/
}
return result;
}
}