Commit 4de623e5 authored by 韩桐桐's avatar 韩桐桐

验收:列表添加排序

parent 548e6971
...@@ -2,11 +2,14 @@ package com.yeejoin.amos.boot.module.common.api.dto; ...@@ -2,11 +2,14 @@ package com.yeejoin.amos.boot.module.common.api.dto;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date;
@Data @Data
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
...@@ -122,4 +125,10 @@ public class UserPermissionDto { ...@@ -122,4 +125,10 @@ public class UserPermissionDto {
* 人员子类型名称 * 人员子类型名称
*/ */
private String subPostName; private String subPostName;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
protected Date recDate;
} }
package com.yeejoin.amos.boot.module.jczs.api.mapper; package com.yeejoin.amos.boot.module.jczs.api.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -9,8 +7,11 @@ import com.yeejoin.amos.boot.module.jczs.api.dto.EquEnterDto; ...@@ -9,8 +7,11 @@ import com.yeejoin.amos.boot.module.jczs.api.dto.EquEnterDto;
import com.yeejoin.amos.boot.module.jczs.api.dto.TzBaseEnterpriseInfoDto; import com.yeejoin.amos.boot.module.jczs.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.jczs.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.jczs.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.jczs.api.vo.BaseEnterpriseVo; import com.yeejoin.amos.boot.module.jczs.api.vo.BaseEnterpriseVo;
import com.yeejoin.amos.boot.module.jczs.api.vo.SortVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 企业数据信息 Mapper 接口 * 企业数据信息 Mapper 接口
* *
...@@ -48,7 +49,10 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI ...@@ -48,7 +49,10 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI
IPage<TzBaseEnterpriseInfoDto> page(Page<TzBaseEnterpriseInfoDto> page, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto); IPage<TzBaseEnterpriseInfoDto> page(Page<TzBaseEnterpriseInfoDto> page, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto);
IPage<TzBaseEnterpriseInfoDto> pageList(Page<TzBaseEnterpriseInfoDto> page, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto, List orgCodeList); IPage<TzBaseEnterpriseInfoDto> pageList(Page<TzBaseEnterpriseInfoDto> page,
TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto,
List orgCodeList,
@Param("sort") SortVo sortMap);
List<BaseEnterpriseVo> queryBaseEnterpriseInIds(@Param("ids") List<String> ids); List<BaseEnterpriseVo> queryBaseEnterpriseInIds(@Param("ids") List<String> ids);
} }
...@@ -27,7 +27,7 @@ public interface ITzBaseEnterpriseInfoService extends IService<TzBaseEnterpriseI ...@@ -27,7 +27,7 @@ public interface ITzBaseEnterpriseInfoService extends IService<TzBaseEnterpriseI
*/ */
List<EquEnterDto> getInfo(String sequenceNbr); List<EquEnterDto> getInfo(String sequenceNbr);
IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto); IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto, String sort);
TzBaseEnterpriseInfoDto detail(Long id); TzBaseEnterpriseInfoDto detail(Long id);
IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, String companyName); IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, String companyName);
......
package com.yeejoin.amos.boot.module.jczs.api.vo;
import lombok.Builder;
import lombok.Data;
/**
* @description: 排序对象
**/
@Data
@Builder
public class SortVo {
String field;
String sortType;
}
...@@ -143,7 +143,11 @@ ...@@ -143,7 +143,11 @@
</if> </if>
AND is_delete = 0 AND is_delete = 0
</where> </where>
order by rec_date desc order by
<if test="sort != null">
${sort.field} ${sort.sortType},
</if>
rec_date desc
</select> </select>
<select id="queryBaseEnterpriseInIds" resultType="com.yeejoin.amos.boot.module.jczs.api.vo.BaseEnterpriseVo"> <select id="queryBaseEnterpriseInIds" resultType="com.yeejoin.amos.boot.module.jczs.api.vo.BaseEnterpriseVo">
......
...@@ -188,8 +188,9 @@ public class TzBaseEnterpriseInfoController { ...@@ -188,8 +188,9 @@ public class TzBaseEnterpriseInfoController {
@RequestMapping(value = "/page", method = RequestMethod.GET) @RequestMapping(value = "/page", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询") @ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> page(PageParam pageParam, public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> page(PageParam pageParam,
@RequestParam(value = "sort", required = false) String sort,
TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) { TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, tzBaseEnterpriseInfoDto)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, tzBaseEnterpriseInfoDto,sort));
} }
......
...@@ -22,6 +22,7 @@ import com.yeejoin.amos.boot.module.jczs.api.entity.TzBaseEnterpriseInfo; ...@@ -22,6 +22,7 @@ import com.yeejoin.amos.boot.module.jczs.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.jczs.api.mapper.TzBaseEnterpriseInfoMapper; import com.yeejoin.amos.boot.module.jczs.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.jczs.api.service.ITzBaseEnterpriseInfoService; import com.yeejoin.amos.boot.module.jczs.api.service.ITzBaseEnterpriseInfoService;
import com.yeejoin.amos.boot.module.jczs.api.vo.BaseEnterpriseVo; import com.yeejoin.amos.boot.module.jczs.api.vo.BaseEnterpriseVo;
import com.yeejoin.amos.boot.module.jczs.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jczs.biz.utils.RedisUtil; import com.yeejoin.amos.boot.module.jczs.biz.utils.RedisUtil;
import com.yeejoin.amos.boot.module.jczs.flc.api.dto.RegUnitIcDto; import com.yeejoin.amos.boot.module.jczs.flc.api.dto.RegUnitIcDto;
import com.yeejoin.amos.boot.module.jczs.flc.api.dto.RegUnitInfoDto; import com.yeejoin.amos.boot.module.jczs.flc.api.dto.RegUnitInfoDto;
...@@ -43,6 +44,7 @@ import org.springframework.util.ObjectUtils; ...@@ -43,6 +44,7 @@ import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.ParseException; import java.text.ParseException;
import java.util.*; import java.util.*;
...@@ -106,9 +108,49 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -106,9 +108,49 @@ public class TzBaseEnterpriseInfoServiceImpl
public List<EquEnterDto> getInfo(String sequenceNbr) { public List<EquEnterDto> getInfo(String sequenceNbr) {
return tzBaseEnterpriseInfoMapper.getInfo(sequenceNbr); return tzBaseEnterpriseInfoMapper.getInfo(sequenceNbr);
} }
/**
* 排序 :页面列表排序功能支持,将 "字段,ascend" 或 "字段,descend" 转化为对应JSONObject
*
* @param sort "字段,ascend" 或 "字段,descend"
* @return JSONObject
*/
public SortVo sortFieldConversion(String sort) {
Optional<String> optionalSort = Optional.ofNullable(sort);
Optional<SortVo> optionalSortMap = optionalSort.filter(s -> !s.isEmpty())
.map(s -> {
String[] sortParts = s.split(",");
if (sortParts.length == 2) {
String field = sortParts[0];
String sortSituation = sortParts[1].contains("asc") ? "ASC" : "DESC";
return SortVo.builder()
.field(convertToUnderline(field))
.sortType(sortSituation)
.build();
}
return null;
});
return optionalSortMap.orElse(null);
}
/**
* 驼峰转下划线
*
* @param str
* @return
*/
public static String convertToUnderline(String str) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isUpperCase(c)) {
sb.append("_").append(Character.toLowerCase(c));
} else {
sb.append(c);
}
}
return sb.toString();
}
@Override @Override
public IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) { public IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto, String sort) {
List<String> orgCodeList = new ArrayList<>(); List<String> orgCodeList = new ArrayList<>();
if (tzBaseEnterpriseInfoDto.getSuperviseKey() != null) { if (tzBaseEnterpriseInfoDto.getSuperviseKey() != null) {
FeignClientResult<CompanyModel> result = Privilege.companyClient FeignClientResult<CompanyModel> result = Privilege.companyClient
...@@ -130,7 +172,8 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -130,7 +172,8 @@ public class TzBaseEnterpriseInfoServiceImpl
if (tzBaseEnterpriseInfoDto.getCityCode() != null){ if (tzBaseEnterpriseInfoDto.getCityCode() != null){
orgCodeList.add(this.getAndSetOrgCode(tzBaseEnterpriseInfoDto.getCityCode())); orgCodeList.add(this.getAndSetOrgCode(tzBaseEnterpriseInfoDto.getCityCode()));
} }
return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto, orgCodeList); SortVo sortMap = this.sortFieldConversion(sort);
return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto, orgCodeList, sortMap);
} }
public String getAndSetOrgCode(String cityCode) { public String getAndSetOrgCode(String cityCode) {
...@@ -589,7 +632,7 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -589,7 +632,7 @@ public class TzBaseEnterpriseInfoServiceImpl
public void export(HttpServletResponse response, String ids, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) { public void export(HttpServletResponse response, String ids, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) {
List<BaseEnterpriseVo> exportData; List<BaseEnterpriseVo> exportData;
if (StringUtils.isEmpty(ids)) { // 前端不选行,导出列表所有的数据 if (StringUtils.isEmpty(ids)) { // 前端不选行,导出列表所有的数据
IPage<TzBaseEnterpriseInfoDto> page = this.page(new PageParam(1,Integer.MAX_VALUE), tzBaseEnterpriseInfoDto); IPage<TzBaseEnterpriseInfoDto> page = this.page(new PageParam(1, Integer.MAX_VALUE), tzBaseEnterpriseInfoDto, null);
exportData =JSON.parseArray(JSON.toJSONString(page.getRecords()), BaseEnterpriseVo.class) ; exportData =JSON.parseArray(JSON.toJSONString(page.getRecords()), BaseEnterpriseVo.class) ;
} else { // 前端选行,导出所选行的数据 } else { // 前端选行,导出所选行的数据
List<String> idsList = Arrays.asList(ids.split(",")); List<String> idsList = Arrays.asList(ids.split(","));
......
...@@ -19,6 +19,7 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType; ...@@ -19,6 +19,7 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -96,13 +97,14 @@ public class IdxBizJgProjectContraptionController extends BaseController { ...@@ -96,13 +97,14 @@ public class IdxBizJgProjectContraptionController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据入参 分页查询(当前)单位下的工程管道", notes = "根据入参 分页查询(当前)单位下的工程管道") @ApiOperation(httpMethod = "GET", value = "根据入参 分页查询(当前)单位下的工程管道", notes = "根据入参 分页查询(当前)单位下的工程管道")
public ResponseModel<IPage<IdxBizJgProjectContraption>> proConPageByParams( public ResponseModel<IPage<IdxBizJgProjectContraption>> proConPageByParams(
@RequestParam Map<String, String> params, @RequestParam Map<String, String> params,
@RequestParam(value = "sort",required = false) String sort,
@RequestParam(value = "current") int current, @RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) { @RequestParam(value = "size") int size) {
Page<IdxBizJgProjectContraption> page = new Page<>(); Page<IdxBizJgProjectContraption> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
return ResponseHelper.buildResponse(idxBizJgProjectContraptionServiceImpl.proConPageByParams(params, page, reginParams)); return ResponseHelper.buildResponse(idxBizJgProjectContraptionServiceImpl.proConPageByParams(sort,params, page, reginParams));
} }
......
...@@ -21,7 +21,7 @@ public interface IIdxBizJgProjectContraptionService extends IService<IdxBizJgPro ...@@ -21,7 +21,7 @@ public interface IIdxBizJgProjectContraptionService extends IService<IdxBizJgPro
Boolean deleteProjectAndEquInfoBySeq(Long sequenceNbr); Boolean deleteProjectAndEquInfoBySeq(Long sequenceNbr);
IPage<IdxBizJgProjectContraption> proConPageByParams(Map<String, String> params, Page<IdxBizJgProjectContraption> page, ReginParams reginParams); IPage<IdxBizJgProjectContraption> proConPageByParams(String sort, Map<String, String> params, Page<IdxBizJgProjectContraption> page, ReginParams reginParams);
List<IdxBizJgProjectContraption> proConListByParams(Map<String, String> params, ReginParams reginParams); List<IdxBizJgProjectContraption> proConListByParams(Map<String, String> params, ReginParams reginParams);
......
...@@ -8,7 +8,9 @@ import com.alibaba.fastjson.JSONArray; ...@@ -8,7 +8,9 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
...@@ -21,6 +23,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum; ...@@ -21,6 +23,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.PipelineEnum; import com.yeejoin.amos.boot.module.jg.api.enums.PipelineEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgProjectContraptionService; import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgProjectContraptionService;
import com.yeejoin.amos.boot.module.ymt.api.dto.IdxBizJgProjectContraptionDto; import com.yeejoin.amos.boot.module.ymt.api.dto.IdxBizJgProjectContraptionDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
...@@ -181,10 +184,11 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -181,10 +184,11 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
* @return result * @return result
*/ */
@Override @Override
public IPage<IdxBizJgProjectContraption> proConPageByParams(Map<String, String> params, Page<IdxBizJgProjectContraption> page, ReginParams reginParams) { public IPage<IdxBizJgProjectContraption> proConPageByParams(String sort, Map<String, String> params, Page<IdxBizJgProjectContraption> page, ReginParams reginParams) {
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
String companyType = company.getCompanyType(); String companyType = company.getCompanyType();
String companyCode = company.getCompanyCode(); String companyCode = company.getCompanyCode();
SortVo sortVo = commonService.sortFieldConversion(sort);
// 是否是否纳管:true - 已纳管 false-未纳管 // 是否是否纳管:true - 已纳管 false-未纳管
boolean isIntoManagement = Boolean.parseBoolean(params.get(IS_INTO_MANAGEMENT)); boolean isIntoManagement = Boolean.parseBoolean(params.get(IS_INTO_MANAGEMENT));
// 使用登记编号 // 使用登记编号
...@@ -268,7 +272,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -268,7 +272,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
useUnitCreditCode= useUnitCreditCode.split("_")[0]; useUnitCreditCode= useUnitCreditCode.split("_")[0];
} }
String useUnitName = params.get(USE_UNIT_NAME); String useUnitName = params.get(USE_UNIT_NAME);
IPage<IdxBizJgProjectContraption> pageList = lambdaQuery() LambdaQueryChainWrapper<IdxBizJgProjectContraption> queryWrapper = lambdaQuery()
// 企业按照公司类型进行过滤 // 企业按照公司类型进行过滤
.eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.CONSTRUCTION.getName().equals(companyType), IdxBizJgProjectContraption::getUscUnitCreditCode, companyCode) .eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.CONSTRUCTION.getName().equals(companyType), IdxBizJgProjectContraption::getUscUnitCreditCode, companyCode)
.eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.USE.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode) .eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.USE.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode)
...@@ -292,9 +296,18 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -292,9 +296,18 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
.isNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.TRUE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode) .isNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.TRUE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode)
.isNotNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.FALSE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode) .isNotNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.FALSE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode)
.isNull(IdxBizJgProjectContraption::getProjectContraptionParentId) .isNull(IdxBizJgProjectContraption::getProjectContraptionParentId)
.notExists(isNotInBusiness, inBusinessSQL) .notExists(isNotInBusiness, inBusinessSQL);
.orderByDesc(IdxBizJgProjectContraption::getRecDate)
.page(page); if (sortVo != null && "ASC".equalsIgnoreCase(sortVo.getSortType())) {
queryWrapper.orderByAsc(resolveField(sortVo.getField()));
} else if (sortVo != null && "DESC".equalsIgnoreCase(sortVo.getSortType())) {
queryWrapper.orderByDesc(resolveField(sortVo.getField()));
} else {
queryWrapper.orderByDesc(IdxBizJgProjectContraption::getRecDate);
}
IPage<IdxBizJgProjectContraption> pageList = queryWrapper.page(page);
if (!ValidationUtil.isEmpty(pageList.getRecords())) { if (!ValidationUtil.isEmpty(pageList.getRecords())) {
pageList.getRecords().forEach(record -> { pageList.getRecords().forEach(record -> {
BigDecimal pipelineLength = BigDecimal.valueOf(record.getPipelineLength()); BigDecimal pipelineLength = BigDecimal.valueOf(record.getPipelineLength());
...@@ -320,6 +333,13 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -320,6 +333,13 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
return pageList; return pageList;
} }
private SFunction<IdxBizJgProjectContraption, ?> resolveField(String field) {
switch (field) {
default:
return IdxBizJgProjectContraption::getRecDate; // 默认字段
}
}
/** /**
* 此处判断是否有检验结果 所有的管道信息都需要有检验结果才可以展示 * 此处判断是否有检验结果 所有的管道信息都需要有检验结果才可以展示
* @param records * @param records
......
...@@ -90,6 +90,7 @@ import java.math.RoundingMode; ...@@ -90,6 +90,7 @@ import java.math.RoundingMode;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
...@@ -301,6 +302,8 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -301,6 +302,8 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
private ShCarServiceImpl shCarService; private ShCarServiceImpl shCarService;
@Autowired @Autowired
private IIdxBizJgProjectContraptionService idxBizJgProjectContraptionService; private IIdxBizJgProjectContraptionService idxBizJgProjectContraptionService;
@Autowired
private CommonServiceImpl commonServiceImpl;
/** /**
* 将对象的属性由驼峰转为纯大写下划线格式 * 将对象的属性由驼峰转为纯大写下划线格式
...@@ -2701,8 +2704,14 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -2701,8 +2704,14 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(map.getString("ORG_BRANCH_CODE")) + "*")); boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(map.getString("ORG_BRANCH_CODE")) + "*"));
} }
} }
builder.query(boolMust); // 字段排序
if (!ObjectUtils.isEmpty(map.get("sort"))){
String[] sorts = Objects.toString(map.get("sort")).split(",");
builder.sort(sorts[0], "descend".equals(sorts[1]) ? SortOrder.DESC : SortOrder.ASC);
}else {
builder.sort("REC_DATE", SortOrder.DESC); builder.sort("REC_DATE", SortOrder.DESC);
}
builder.query(boolMust);
builder.from((pageNumber - 1) * size); builder.from((pageNumber - 1) * size);
builder.size(size); builder.size(size);
request.source(builder); request.source(builder);
...@@ -2779,6 +2788,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -2779,6 +2788,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
} }
// 更新设备使用情况和设备地址 // 更新设备使用情况和设备地址
for (JSONObject item : list) { for (JSONObject item : list) {
item.put("REC_DATE", Instant.ofEpochMilli(Long.parseLong(item.getString("REC_DATE")))
.atZone(ZoneId.systemDefault())
.toLocalDate());
String fullAddress = equAddressMap.get(item.getString(SEQUENCE_NBR)); String fullAddress = equAddressMap.get(item.getString(SEQUENCE_NBR));
item.put("ADDRESS", !ValidationUtil.isEmpty(fullAddress) ? fullAddress : ""); item.put("ADDRESS", !ValidationUtil.isEmpty(fullAddress) ? fullAddress : "");
item.put("CAN_EDIT", this.checkEquipIsCanEdit(item.getString(SEQUENCE_NBR))); item.put("CAN_EDIT", this.checkEquipIsCanEdit(item.getString(SEQUENCE_NBR)));
......
...@@ -139,4 +139,7 @@ public class TzsUserInfoDto extends BaseDto { ...@@ -139,4 +139,7 @@ public class TzsUserInfoDto extends BaseDto {
@ApiModelProperty(value = "人员转出时间") @ApiModelProperty(value = "人员转出时间")
protected Date transferOutTime; protected Date transferOutTime;
@ApiModelProperty(value = "更新时间")
protected Date recDate;
} }
...@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.module.tcm.api.dto.GroupAndPersonInfoDto; ...@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.module.tcm.api.dto.GroupAndPersonInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsEquipListDto; import com.yeejoin.amos.boot.module.tcm.api.dto.TzsEquipListDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsUserInfoDto; import com.yeejoin.amos.boot.module.tcm.api.dto.TzsUserInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo; import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo;
import com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo; import com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -14,7 +15,9 @@ import java.util.List; ...@@ -14,7 +15,9 @@ import java.util.List;
import java.util.Map; import java.util.Map;
public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> { public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
Page<TzsUserInfoDto> selectPageMessage(@Param("page") Page<TzsUserInfoDto> page, @Param("dto") TzsUserInfoDto dto); Page<TzsUserInfoDto> selectPageMessage(@Param("page") Page<TzsUserInfoDto> page,
@Param("dto") TzsUserInfoDto dto,
@Param("sort") SortVo sortMap);
List<UserInfoVo> queryUserInfoInIds(@Param("ids") List<String> ids); List<UserInfoVo> queryUserInfoInIds(@Param("ids") List<String> ids);
...@@ -47,7 +50,10 @@ public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> { ...@@ -47,7 +50,10 @@ public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
* @param filter 筛选条件 * @param filter 筛选条件
* @return 分页对象列表 * @return 分页对象列表
*/ */
Page<UserPermissionDto> queryUserByPermissionPage(Page<UserPermissionDto> page, @Param("postList") List<String> post, @Param("filter") UserPermissionDto filter); Page<UserPermissionDto> queryUserByPermissionPage(Page<UserPermissionDto> page,
@Param("postList") List<String> post,
@Param("filter") UserPermissionDto filter,
@Param("sort") SortVo sortMap);
/** /**
* 查询指定单位下的人 * 查询指定单位下的人
......
...@@ -20,7 +20,7 @@ import java.util.Map; ...@@ -20,7 +20,7 @@ import java.util.Map;
public interface ITzsUserInfoService extends IService<TzsUserInfo> { public interface ITzsUserInfoService extends IService<TzsUserInfo> {
Page<TzsUserInfoDto> page(TzsUserInfoDto dto, Page<TzsUserInfoDto> page); Page<TzsUserInfoDto> page(TzsUserInfoDto dto, Page<TzsUserInfoDto> page, String sort);
void addQualificationsMessage(String userId, List<TzsUserQualifications> list); void addQualificationsMessage(String userId, List<TzsUserQualifications> list);
......
package com.yeejoin.amos.boot.module.tcm.api.vo;
import lombok.Builder;
import lombok.Data;
/**
* @description: 排序对象
**/
@Data
@Builder
public class SortVo {
String field;
String sortType;
}
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
unit_name, unit_name,
speciality, speciality,
profile, profile,
rec_date,
amos_user_name, amos_user_name,
amos_user_id, amos_user_id,
lock_status, lock_status,
...@@ -71,7 +72,11 @@ ...@@ -71,7 +72,11 @@
and sequence_nbr not in (SELECT DISTINCT(user_seq) from tzs_user_equip) and sequence_nbr not in (SELECT DISTINCT(user_seq) from tzs_user_equip)
</if> </if>
</where> </where>
order by rec_date desc order by
<if test="sort != null">
${sort.field} ${sort.sortType},
</if>
rec_date desc
</select> </select>
<select id="queryUserInfoInIds" resultType="com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo"> <select id="queryUserInfoInIds" resultType="com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo">
...@@ -352,6 +357,10 @@ ...@@ -352,6 +357,10 @@
and (a.fullAddress like concat('%',#{filter.fullAddress},'%')) and (a.fullAddress like concat('%',#{filter.fullAddress},'%'))
</if> </if>
</where> </where>
order by a.uid desc order by
<if test="sort != null">
a.${sort.field} ${sort.sortType},
</if>
a.uid desc
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -119,6 +119,7 @@ public class TzsUserInfoController extends BaseController { ...@@ -119,6 +119,7 @@ public class TzsUserInfoController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "人员信息列表", notes = "人员信息列表") @ApiOperation(httpMethod = "GET", value = "人员信息列表", notes = "人员信息列表")
public ResponseModel<IPage<TzsUserInfoDto>> queryForPage(@RequestParam(value = "current") String current, public ResponseModel<IPage<TzsUserInfoDto>> queryForPage(@RequestParam(value = "current") String current,
@RequestParam(value = "size") String size, @RequestParam(value = "size") String size,
@RequestParam(value = "sort", required = false) String sort,
TzsUserInfoDto dto) { TzsUserInfoDto dto) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
...@@ -133,7 +134,7 @@ public class TzsUserInfoController extends BaseController { ...@@ -133,7 +134,7 @@ public class TzsUserInfoController extends BaseController {
Page<TzsUserInfoDto> page = new Page<>(); Page<TzsUserInfoDto> page = new Page<>();
page.setCurrent(Long.parseLong(current)); page.setCurrent(Long.parseLong(current));
page.setSize(Long.parseLong(size)); page.setSize(Long.parseLong(size));
return ResponseHelper.buildResponse(tzsUserInfoService.page(dto, page)); return ResponseHelper.buildResponse(tzsUserInfoService.page(dto, page, sort));
} }
...@@ -307,11 +308,12 @@ public class TzsUserInfoController extends BaseController { ...@@ -307,11 +308,12 @@ public class TzsUserInfoController extends BaseController {
@PostMapping(value = "/permission-page") @PostMapping(value = "/permission-page")
public ResponseModel<Page<UserPermissionDto>> getUserByPermission(@RequestParam(value = "current") long current, public ResponseModel<Page<UserPermissionDto>> getUserByPermission(@RequestParam(value = "current") long current,
@RequestParam(value = "size") long size, @RequestParam(value = "size") long size,
@RequestParam(value = "sort", required = false) String sort,
@RequestParam(required = false, defaultValue = "all") String type, @RequestParam(required = false, defaultValue = "all") String type,
@RequestBody UserPermissionDto filter) { @RequestBody UserPermissionDto filter) {
filter.setOrgCode(getSelectedOrgInfo().getCompany().getOrgCode()); filter.setOrgCode(getSelectedOrgInfo().getCompany().getOrgCode());
filter.setCityCode(getSelectedOrgInfo().getCompany().getCompanyCode()); filter.setCityCode(getSelectedOrgInfo().getCompany().getCompanyCode());
Page<UserPermissionDto> userPermissionDtos = tzsUserInfoServiceImpl.getUserByPermission(current, size, type, filter); Page<UserPermissionDto> userPermissionDtos = tzsUserInfoServiceImpl.getUserByPermission(current, size, type, filter,sort);
return ResponseHelper.buildResponse(userPermissionDtos); return ResponseHelper.buildResponse(userPermissionDtos);
} }
...@@ -357,7 +359,7 @@ public class TzsUserInfoController extends BaseController { ...@@ -357,7 +359,7 @@ public class TzsUserInfoController extends BaseController {
@RequestBody UserPermissionDto filter) { @RequestBody UserPermissionDto filter) {
filter.setOrgCode(getSelectedOrgInfo().getCompany().getOrgCode()); filter.setOrgCode(getSelectedOrgInfo().getCompany().getOrgCode());
filter.setCityCode(getSelectedOrgInfo().getCompany().getCompanyCode()); filter.setCityCode(getSelectedOrgInfo().getCompany().getCompanyCode());
Page<UserPermissionDto> userPermissionDtos = tzsUserInfoServiceImpl.getUserByPermission(1, Long.MAX_VALUE, type, filter); Page<UserPermissionDto> userPermissionDtos = tzsUserInfoServiceImpl.getUserByPermission(1, Long.MAX_VALUE, type, filter, null);
List<JGUserInfoVo> exportData = JSON.parseArray(JSON.toJSONString(userPermissionDtos.getRecords()), JGUserInfoVo.class); List<JGUserInfoVo> exportData = JSON.parseArray(JSON.toJSONString(userPermissionDtos.getRecords()), JGUserInfoVo.class);
ExcelUtil.createTemplate(response, "人员列表数据", "人员列表", exportData, JGUserInfoVo.class, null, false); ExcelUtil.createTemplate(response, "人员列表数据", "人员列表", exportData, JGUserInfoVo.class, null, false);
} }
......
...@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseIndividualityMapper; ...@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseIndividualityMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserEquipMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserEquipMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.boot.module.tcm.api.service.ITzsUserInfoService; import com.yeejoin.amos.boot.module.tcm.api.service.ITzsUserInfoService;
import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo;
import com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserInfoVo; import com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserInfoVo;
import com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo; import com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo;
import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl; import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl;
...@@ -150,10 +151,53 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -150,10 +151,53 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
@Autowired @Autowired
SnowflakeIdUtil sequence; SnowflakeIdUtil sequence;
/**
* 排序 :页面列表排序功能支持,将 "字段,ascend" 或 "字段,descend" 转化为对应JSONObject
*
* @param sort "字段,ascend" 或 "字段,descend"
* @return JSONObject
*/
public SortVo sortFieldConversion(String sort) {
Optional<String> optionalSort = Optional.ofNullable(sort);
Optional<SortVo> optionalSortMap = optionalSort.filter(s -> !s.isEmpty())
.map(s -> {
String[] sortParts = s.split(",");
if (sortParts.length == 2) {
String field = sortParts[0];
String sortSituation = sortParts[1].contains("asc") ? "ASC" : "DESC";
return SortVo.builder()
.field(convertToUnderline(field))
.sortType(sortSituation)
.build();
}
return null;
});
return optionalSortMap.orElse(null);
}
/**
* 驼峰转下划线
*
* @param str
* @return
*/
public static String convertToUnderline(String str) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isUpperCase(c)) {
sb.append("_").append(Character.toLowerCase(c));
} else {
sb.append(c);
}
}
return sb.toString();
}
@Override @Override
public Page<TzsUserInfoDto> page(TzsUserInfoDto dto, Page<TzsUserInfoDto> page) { public Page<TzsUserInfoDto> page(TzsUserInfoDto dto, Page<TzsUserInfoDto> page,String sort) {
SortVo sortMap = this.sortFieldConversion(sort);
// dto.setMenuTypeUnderPost(menuMap.get(dto.getMenuType())); // dto.setMenuTypeUnderPost(menuMap.get(dto.getMenuType()));
Page<TzsUserInfoDto> tzsUserInfoDtoPage = tzsUserInfoMapper.selectPageMessage(page, dto); Page<TzsUserInfoDto> tzsUserInfoDtoPage = tzsUserInfoMapper.selectPageMessage(page, dto, sortMap);
tzsUserInfoDtoPage.getRecords().forEach(item -> { tzsUserInfoDtoPage.getRecords().forEach(item -> {
if (!ObjectUtils.isEmpty(item.getProfile())) { if (!ObjectUtils.isEmpty(item.getProfile())) {
List<CommonFile> commonFiles = JSON.parseArray(item.getProfile(), CommonFile.class); List<CommonFile> commonFiles = JSON.parseArray(item.getProfile(), CommonFile.class);
...@@ -893,10 +937,11 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -893,10 +937,11 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
return individualityDto; return individualityDto;
} }
public Page<UserPermissionDto> getUserByPermission(long current, long size, String type, UserPermissionDto filter) { public Page<UserPermissionDto> getUserByPermission(long current, long size, String type, UserPermissionDto filter, String sort) {
Page<UserPermissionDto> permissionDtoPage = new Page<>(current, size); Page<UserPermissionDto> permissionDtoPage = new Page<>(current, size);
List<String> post = this.getPostByType(type); List<String> post = this.getPostByType(type);
Page<UserPermissionDto> result = this.getBaseMapper().queryUserByPermissionPage(permissionDtoPage, post, filter); SortVo sortMap = this.sortFieldConversion(sort);
Page<UserPermissionDto> result = this.getBaseMapper().queryUserByPermissionPage(permissionDtoPage, post, filter, sortMap);
result.getRecords().forEach(d -> { result.getRecords().forEach(d -> {
if (StringUtils.isNotEmpty(d.getIdentificationStr())) { if (StringUtils.isNotEmpty(d.getIdentificationStr())) {
// 照片赋值 // 照片赋值
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment