fix:修复维修单查询问题

main
HuangHuiKang 2 weeks ago
parent a098a86acc
commit 57fd807a12

@ -18,6 +18,9 @@ public class DvRepairPageReqVO extends PageParam {
@Schema(description = "维修单编号")
private String repairCode;
@Schema(description = "关键词,匹配维修单号/设备编号/设备名称")
private String keyword;
@Schema(description = "维修单名称", example = "王五")
private String repairName;
@ -83,6 +86,9 @@ public class DvRepairPageReqVO extends PageParam {
@Schema(description = "设备ID集合", example = "6979")
private List<Long> machineryIds;
@Schema(hidden = true)
private List<Long> keywordMachineryIds;
@Schema(description = "产线")
private String deviceLine;
}

@ -27,29 +27,22 @@ public interface DvRepairMapper extends BaseMapperX<DvRepairDO> {
LambdaQueryWrapperX<DvRepairDO> dvRepairDOLambdaQueryWrapperX = new LambdaQueryWrapperX<>();
if(StringUtils.isNotBlank(reqVO.getRepairCode())&&StringUtils.isNotBlank(reqVO.getMachineryCode())&&reqVO.getRepairCode().equals(reqVO.getMachineryCode())){
dvRepairDOLambdaQueryWrapperX.and(w -> w
.like(DvRepairDO::getRepairCode, reqVO.getRepairCode())
.or()
.like(DvRepairDO::getMachineryCode, reqVO.getMachineryCode())
.or()
.in(DvRepairDO::getMachineryId,reqVO.getMachineryIds())
);
}else if(CollUtil.isNotEmpty(reqVO.getMachineryIds())){
dvRepairDOLambdaQueryWrapperX.in(DvRepairDO::getMachineryId,reqVO.getMachineryIds());
if(CollUtil.isNotEmpty(reqVO.getMachineryIds())){
dvRepairDOLambdaQueryWrapperX.in(DvRepairDO::getMachineryId, reqVO.getMachineryIds());
}
else{
dvRepairDOLambdaQueryWrapperX.eqIfPresent(DvRepairDO::getRepairCode, reqVO.getRepairCode())
.eqIfPresent(DvRepairDO::getMachineryCode, reqVO.getMachineryCode());
if (StringUtils.isNotBlank(reqVO.getKeyword())) {
dvRepairDOLambdaQueryWrapperX.and(w -> {
w.like(DvRepairDO::getRepairCode, reqVO.getKeyword());
if (CollUtil.isNotEmpty(reqVO.getKeywordMachineryIds())) {
w.or().in(DvRepairDO::getMachineryId, reqVO.getKeywordMachineryIds());
}
});
}
/* if(CollUtil.isNotEmpty(reqVO.getMachineryIds())){
dvRepairDOLambdaQueryWrapperX.in(DvRepairDO::getMachineryId,reqVO.getMachineryIds());
}*/
dvRepairDOLambdaQueryWrapperX
.likeIfPresent(DvRepairDO::getRepairCode, reqVO.getRepairCode())
.likeIfPresent(DvRepairDO::getRepairName, reqVO.getRepairName())
.eqIfPresent(DvRepairDO::getMachineryId, reqVO.getMachineryId())
.likeIfPresent(DvRepairDO::getMachineryName, reqVO.getMachineryName())
.likeIfPresent(DvRepairDO::getMachineryCode, reqVO.getMachineryCode())
.eqIfPresent(DvRepairDO::getMachineryBrand, reqVO.getMachineryBrand())
.eqIfPresent(DvRepairDO::getMachinerySpec, reqVO.getMachinerySpec())
.eqIfPresent(DvRepairDO::getMachineryTypeId, reqVO.getMachineryTypeId())

@ -136,15 +136,15 @@ public class DvRepairServiceImpl implements DvRepairService {
@Override
public PageResult<DvRepairDO> getDvRepairPage(DvRepairPageReqVO pageReqVO) {
if(StringUtils.isNotBlank(pageReqVO.getDeviceLine())|| StringUtils.isNotBlank(pageReqVO.getRepairCode())) {
if(StringUtils.isNotBlank(pageReqVO.getDeviceLine()) || StringUtils.isNotBlank(pageReqVO.getMachineryName())) {
LambdaQueryWrapperX<DeviceLedgerDO> deviceLedgerDOLambdaQueryWrapperX = new LambdaQueryWrapperX<>();
if(StringUtils.isNotBlank(pageReqVO.getDeviceLine()))
deviceLedgerDOLambdaQueryWrapperX.eqIfPresent(DeviceLedgerDO::getDeviceLine, pageReqVO.getDeviceLine());
if(StringUtils.isNotBlank(pageReqVO.getRepairCode())){
if(StringUtils.isNotBlank(pageReqVO.getMachineryName())){
deviceLedgerDOLambdaQueryWrapperX.and(w -> w
.like(DeviceLedgerDO::getDeviceCode, pageReqVO.getRepairCode())
.like(DeviceLedgerDO::getDeviceCode, pageReqVO.getMachineryName())
.or()
.like(DeviceLedgerDO::getDeviceName, pageReqVO.getRepairCode())
.like(DeviceLedgerDO::getDeviceName, pageReqVO.getMachineryName())
);
}
List<DeviceLedgerDO> deviceLedgerDOS = deviceLedgerMapper.selectList(deviceLedgerDOLambdaQueryWrapperX);
@ -158,6 +158,20 @@ public class DvRepairServiceImpl implements DvRepairService {
}
}
if (StringUtils.isNotBlank(pageReqVO.getKeyword())) {
LambdaQueryWrapperX<DeviceLedgerDO> keywordDeviceQuery = new LambdaQueryWrapperX<>();
keywordDeviceQuery.and(w -> w
.like(DeviceLedgerDO::getDeviceCode, pageReqVO.getKeyword())
.or()
.like(DeviceLedgerDO::getDeviceName, pageReqVO.getKeyword())
);
List<DeviceLedgerDO> deviceLedgerDOS = deviceLedgerMapper.selectList(keywordDeviceQuery);
pageReqVO.setKeywordMachineryIds(deviceLedgerDOS.stream()
.map(DeviceLedgerDO::getId)
.distinct()
.collect(Collectors.toList()));
}
return dvRepairMapper.selectPage(pageReqVO);
}

Loading…
Cancel
Save