Commit cf37f066 authored by suhuiguang's avatar suhuiguang

fix(重要提醒):提醒内容为空时左侧不展示

1.提醒内容为空时左侧不展示调整分页调整
parent 5719bb8e
...@@ -130,6 +130,6 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> { ...@@ -130,6 +130,6 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> {
Set<Long> queryListByEqsAndStatus(@Param("records") Set<String> records, @Param("status") String status, @Param("applyNo") String applyNo); Set<Long> queryListByEqsAndStatus(@Param("records") Set<String> records, @Param("status") String status, @Param("applyNo") String applyNo);
Page<ReminderItemDto> queryForUnitVehiclePageForReminder(Page<?> page, @Param("records") List<String> records); List<ReminderItemDto> queryForUnitVehiclePageForReminder(@Param("records") List<String> records);
} }
...@@ -54,5 +54,5 @@ public interface JgVehicleInformationMapper extends BaseMapper<JgVehicleInformat ...@@ -54,5 +54,5 @@ public interface JgVehicleInformationMapper extends BaseMapper<JgVehicleInformat
List<Map<String, Object>> getVehicleInfoOfPassWithEquId(); List<Map<String, Object>> getVehicleInfoOfPassWithEquId();
Page<ReminderItemDto> queryForUnitVehiclePageForReminder(Page<ReminderItemDto> page, List<String> records); List<ReminderItemDto> queryUnitVehiclesForReminderList(List<String> records);
} }
...@@ -1539,6 +1539,5 @@ ...@@ -1539,6 +1539,5 @@
<foreach collection="records" item="record" open="(" close=")" separator=","> <foreach collection="records" item="record" open="(" close=")" separator=",">
#{record} #{record}
</foreach> </foreach>
ORDER BY ri.REC_DATE DESC
</select> </select>
</mapper> </mapper>
...@@ -351,7 +351,7 @@ ...@@ -351,7 +351,7 @@
AND u.estate_unit_credit_code is not null AND u.estate_unit_credit_code is not null
ORDER BY u.audit_pass_date ORDER BY u.audit_pass_date
</select> </select>
<select id="queryForUnitVehiclePageForReminder" resultType="com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto"> <select id="queryUnitVehiclesForReminderList" resultType="com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto">
SELECT SELECT
ri."PRODUCT_NAME" AS equipName, ri."PRODUCT_NAME" AS equipName,
fi."FACTORY_NUM" AS equipNo, fi."FACTORY_NUM" AS equipNo,
...@@ -363,6 +363,5 @@ ...@@ -363,6 +363,5 @@
<foreach collection="records" item="record" open="(" close=")" separator=","> <foreach collection="records" item="record" open="(" close=")" separator=",">
#{record} #{record}
</foreach> </foreach>
ORDER BY ri.REC_DATE DESC
</select> </select>
</mapper> </mapper>
...@@ -30,14 +30,6 @@ public class EditEquipReminderAdapter extends DefaultReminder { ...@@ -30,14 +30,6 @@ public class EditEquipReminderAdapter extends DefaultReminder {
this.editEquipParseService = editEquipParseService; this.editEquipParseService = editEquipParseService;
} }
@Override
public IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page) {
ReminderItemDto reminderItemDto = setRealTimeReminderItem(bizId);
page.setRecords(Collections.singletonList(reminderItemDto));
page.setTotal(1L);
return page;
}
private ReminderItemDto setRealTimeReminderItem(String bizId) { private ReminderItemDto setRealTimeReminderItem(String bizId) {
IdxBizJgRegisterInfo registerInfo = editEquipParseService.getIdxBizJgRegisterInfoService().getOne(new LambdaQueryWrapper<IdxBizJgRegisterInfo>().eq(IdxBizJgRegisterInfo::getRecord, bizId).select(IdxBizJgRegisterInfo::getRecord, IdxBizJgRegisterInfo::getProductName)); IdxBizJgRegisterInfo registerInfo = editEquipParseService.getIdxBizJgRegisterInfoService().getOne(new LambdaQueryWrapper<IdxBizJgRegisterInfo>().eq(IdxBizJgRegisterInfo::getRecord, bizId).select(IdxBizJgRegisterInfo::getRecord, IdxBizJgRegisterInfo::getProductName));
ReminderItemDto reminderItemDto = new ReminderItemDto(); ReminderItemDto reminderItemDto = new ReminderItemDto();
...@@ -53,7 +45,7 @@ public class EditEquipReminderAdapter extends DefaultReminder { ...@@ -53,7 +45,7 @@ public class EditEquipReminderAdapter extends DefaultReminder {
} }
@Override @Override
public IPage<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData, Page<ReminderItemDto> page) { public List<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData) {
IdxBizJgRegisterInfo registerInfo = JSON.parseObject(JSON.toJSONString(formData), IdxBizJgRegisterInfo.class); IdxBizJgRegisterInfo registerInfo = JSON.parseObject(JSON.toJSONString(formData), IdxBizJgRegisterInfo.class);
IdxBizJgUseInfo bizJgUseInfo = JSON.parseObject(JSON.toJSONString(formData), IdxBizJgUseInfo.class); IdxBizJgUseInfo bizJgUseInfo = JSON.parseObject(JSON.toJSONString(formData), IdxBizJgUseInfo.class);
ReminderItemDto reminderItemDto = new ReminderItemDto(); ReminderItemDto reminderItemDto = new ReminderItemDto();
...@@ -61,9 +53,7 @@ public class EditEquipReminderAdapter extends DefaultReminder { ...@@ -61,9 +53,7 @@ public class EditEquipReminderAdapter extends DefaultReminder {
reminderItemDto.setEquipNo(bizJgUseInfo.getUseInnerCode()); reminderItemDto.setEquipNo(bizJgUseInfo.getUseInnerCode());
reminderItemDto.setEquipName(registerInfo.getProductName()); reminderItemDto.setEquipName(registerInfo.getProductName());
reminderItemDto.setDetailData(formData); reminderItemDto.setDetailData(formData);
page.setRecords(Collections.singletonList(reminderItemDto)); return Collections.singletonList(reminderItemDto);
page.setTotal(1L);
return page;
} }
@Override @Override
......
...@@ -29,11 +29,6 @@ public class EditProjectReminderAdapter extends DefaultReminder { ...@@ -29,11 +29,6 @@ public class EditProjectReminderAdapter extends DefaultReminder {
this.editProjectParseService = editProjectParseService; this.editProjectParseService = editProjectParseService;
} }
@Override
protected IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page) {
// 创建后,详情使用
return CommonReminderService.setProjectReminderItemPage(bizId, page, editProjectParseService.getIdxBizJgProjectContraptionServiceImpl());
}
@Override @Override
protected List<ReminderItemDto> realtimeParse(String bizId) { protected List<ReminderItemDto> realtimeParse(String bizId) {
...@@ -43,10 +38,10 @@ public class EditProjectReminderAdapter extends DefaultReminder { ...@@ -43,10 +38,10 @@ public class EditProjectReminderAdapter extends DefaultReminder {
@Override @Override
protected IPage<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData, Page<ReminderItemDto> page) { protected List<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData) {
// 新增 + 编辑的保存使用 // 新增 + 编辑的保存使用
IdxBizJgProjectContraption projectContraption = JSON.parseObject(JSON.toJSONString(formData), IdxBizJgProjectContraption.class); IdxBizJgProjectContraption projectContraption = JSON.parseObject(JSON.toJSONString(formData), IdxBizJgProjectContraption.class);
return CommonReminderService.setProjectReminderItemPageJson(bizId, page, projectContraption); return CommonReminderService.setProjectReminderItemPageJson(bizId, projectContraption);
} }
......
package com.yeejoin.amos.boot.module.jg.biz.reminder.biz.newEquip; package com.yeejoin.amos.boot.module.jg.biz.reminder.biz.newEquip;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.reminder.core.DefaultReminder; import com.yeejoin.amos.boot.module.jg.biz.reminder.core.DefaultReminder;
import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto; import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import com.yeejoin.amos.boot.module.jg.biz.reminder.service.CommonReminderService; import com.yeejoin.amos.boot.module.jg.biz.reminder.service.CommonReminderService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
...@@ -16,6 +14,7 @@ import org.springframework.stereotype.Component; ...@@ -16,6 +14,7 @@ import org.springframework.stereotype.Component;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* 设备/气瓶创建编辑-提醒处理器 * 设备/气瓶创建编辑-提醒处理器
*/ */
...@@ -30,19 +29,6 @@ public class NewEquipReminderAdapter extends DefaultReminder { ...@@ -30,19 +29,6 @@ public class NewEquipReminderAdapter extends DefaultReminder {
} }
@Override @Override
public IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page) {
IdxBizJgRegisterInfo registerInfo = newEquipParseService.getIdxBizJgRegisterInfoService().getOneData(bizId);
ReminderItemDto reminderItemDto = new ReminderItemDto();
reminderItemDto.setEquipId(bizId);
reminderItemDto.setEquipNo(registerInfo.getEquCode());
reminderItemDto.setEquipName(registerInfo.getProductName());
reminderItemDto.setDetailData(newEquipParseService.getEquipDetailByRecord(bizId));
page.setRecords(Collections.singletonList(reminderItemDto));
page.setTotal(1L);
return page;
}
@Override
protected List<ReminderItemDto> realtimeParse(String bizId) { protected List<ReminderItemDto> realtimeParse(String bizId) {
IdxBizJgRegisterInfo registerInfo = newEquipParseService.getIdxBizJgRegisterInfoService().getOneData(bizId); IdxBizJgRegisterInfo registerInfo = newEquipParseService.getIdxBizJgRegisterInfoService().getOneData(bizId);
ReminderItemDto reminderItemDto = new ReminderItemDto(); ReminderItemDto reminderItemDto = new ReminderItemDto();
...@@ -54,7 +40,7 @@ public class NewEquipReminderAdapter extends DefaultReminder { ...@@ -54,7 +40,7 @@ public class NewEquipReminderAdapter extends DefaultReminder {
} }
@Override @Override
public IPage<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData, Page<ReminderItemDto> page) { public List<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData) {
IdxBizJgRegisterInfo registerInfo = CommonReminderService.geEquipInfoFromJson(formData, IdxBizJgRegisterInfo.class); IdxBizJgRegisterInfo registerInfo = CommonReminderService.geEquipInfoFromJson(formData, IdxBizJgRegisterInfo.class);
IdxBizJgUseInfo bizJgUseInfo = CommonReminderService.geEquipInfoFromJson(formData, IdxBizJgUseInfo.class); IdxBizJgUseInfo bizJgUseInfo = CommonReminderService.geEquipInfoFromJson(formData, IdxBizJgUseInfo.class);
ReminderItemDto reminderItemDto = new ReminderItemDto(); ReminderItemDto reminderItemDto = new ReminderItemDto();
...@@ -62,9 +48,7 @@ public class NewEquipReminderAdapter extends DefaultReminder { ...@@ -62,9 +48,7 @@ public class NewEquipReminderAdapter extends DefaultReminder {
reminderItemDto.setEquipNo(bizJgUseInfo.getUseInnerCode()); reminderItemDto.setEquipNo(bizJgUseInfo.getUseInnerCode());
reminderItemDto.setEquipName(registerInfo.getProductName()); reminderItemDto.setEquipName(registerInfo.getProductName());
reminderItemDto.setDetailData(newEquipParseService.getDetailInfoFromJson(formData)); reminderItemDto.setDetailData(newEquipParseService.getDetailInfoFromJson(formData));
page.setRecords(Collections.singletonList(reminderItemDto)); return Collections.singletonList(reminderItemDto);
page.setTotal(1L);
return page;
} }
@Override @Override
......
package com.yeejoin.amos.boot.module.jg.biz.reminder.biz.newProject; package com.yeejoin.amos.boot.module.jg.biz.reminder.biz.newProject;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto; import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.reminder.core.DefaultReminder; import com.yeejoin.amos.boot.module.jg.biz.reminder.core.DefaultReminder;
...@@ -30,12 +28,6 @@ public class NewProjectReminderAdapter extends DefaultReminder { ...@@ -30,12 +28,6 @@ public class NewProjectReminderAdapter extends DefaultReminder {
this.newProjectParseService = newProjectParseService; this.newProjectParseService = newProjectParseService;
} }
@Override
protected IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page) {
// 创建后,详情使用
return CommonReminderService.setProjectReminderItemPage(bizId, page, newProjectParseService.getIdxBizJgProjectContraptionServiceImpl());
}
@Override @Override
protected List<ReminderItemDto> realtimeParse(String bizId) { protected List<ReminderItemDto> realtimeParse(String bizId) {
...@@ -44,7 +36,7 @@ public class NewProjectReminderAdapter extends DefaultReminder { ...@@ -44,7 +36,7 @@ public class NewProjectReminderAdapter extends DefaultReminder {
} }
@Override @Override
protected IPage<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData, Page<ReminderItemDto> page) { protected List<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData) {
// 新增 + 编辑的保存使用 // 新增 + 编辑的保存使用
IdxBizJgProjectContraption projectContraption = CommonReminderService.geEquipInfoFromJson(formData, IdxBizJgProjectContraption.class); IdxBizJgProjectContraption projectContraption = CommonReminderService.geEquipInfoFromJson(formData, IdxBizJgProjectContraption.class);
ReminderItemDto reminderItemDto = new ReminderItemDto(); ReminderItemDto reminderItemDto = new ReminderItemDto();
...@@ -52,9 +44,7 @@ public class NewProjectReminderAdapter extends DefaultReminder { ...@@ -52,9 +44,7 @@ public class NewProjectReminderAdapter extends DefaultReminder {
reminderItemDto.setEquipNo(projectContraption.getProjectContraptionNo()); reminderItemDto.setEquipNo(projectContraption.getProjectContraptionNo());
reminderItemDto.setEquipName(projectContraption.getProjectContraption()); reminderItemDto.setEquipName(projectContraption.getProjectContraption());
reminderItemDto.setDetailData(BeanUtil.beanToMap(projectContraption)); reminderItemDto.setDetailData(BeanUtil.beanToMap(projectContraption));
page.setRecords(Collections.singletonList(reminderItemDto)); return Collections.singletonList(reminderItemDto);
page.setTotal(1L);
return page;
} }
@Override @Override
......
...@@ -4,8 +4,6 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,8 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
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.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto; import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformation; import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformation;
import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformationEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformationEq;
...@@ -17,7 +15,6 @@ import org.apache.commons.lang3.StringUtils; ...@@ -17,7 +15,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -39,24 +36,18 @@ public class VehicleInformationReminderAdapter extends DefaultReminder { ...@@ -39,24 +36,18 @@ public class VehicleInformationReminderAdapter extends DefaultReminder {
} }
@Override @Override
public IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page) { public List<ReminderItemDto> realtimeParse(String bizId) {
// 创建后, 监管通过时使用 // 创建后, 监管通过时使用
JgVehicleInformation vehicleInformation = vehicleInformationReminderParse.getVehicleInformationMapper().selectById(bizId); JgVehicleInformation vehicleInformation = vehicleInformationReminderParse.getVehicleInformationMapper().selectById(bizId);
LambdaQueryWrapper<JgVehicleInformationEq> lambda = new QueryWrapper<JgVehicleInformationEq>().lambda(); LambdaQueryWrapper<JgVehicleInformationEq> lambda = new QueryWrapper<JgVehicleInformationEq>().lambda();
lambda.eq(JgVehicleInformationEq::getVehicleId, vehicleInformation.getSequenceNbr()); lambda.eq(JgVehicleInformationEq::getVehicleId, vehicleInformation.getSequenceNbr());
lambda.select(JgVehicleInformationEq::getEquId); lambda.select(JgVehicleInformationEq::getEquId);
List<String> records = vehicleInformationReminderParse.getVehicleInformationEqMapper().selectList(lambda).stream().map(JgVehicleInformationEq::getEquId).collect(Collectors.toList()); List<String> records = vehicleInformationReminderParse.getVehicleInformationEqMapper().selectList(lambda).stream().map(JgVehicleInformationEq::getEquId).collect(Collectors.toList());
Page<ReminderItemDto> mapPage = vehicleInformationReminderParse.getVehicleInformationMapper().queryForUnitVehiclePageForReminder(page, records); List<ReminderItemDto> itemDtoList = vehicleInformationReminderParse.getVehicleInformationMapper().queryUnitVehiclesForReminderList(records);
mapPage.getRecords().forEach(item -> item.setDetailData(this.buildCompareData(vehicleInformation, item.getEquipId()))); itemDtoList.forEach(item -> item.setDetailData(this.buildCompareData(vehicleInformation, item.getEquipId())));
return page; return itemDtoList;
} }
@Override
protected List<ReminderItemDto> realtimeParse(String bizId) {
// 创建后,评分使用
// todo 气瓶时不显示评分,在列表上显示
return Collections.emptyList();
}
private Map<String, Object> buildCompareData(JgVehicleInformation vehicleInformation, String record) { private Map<String, Object> buildCompareData(JgVehicleInformation vehicleInformation, String record) {
Map<String, Object> re = BeanUtil.beanToMap(vehicleInformation); Map<String, Object> re = BeanUtil.beanToMap(vehicleInformation);
...@@ -72,14 +63,14 @@ public class VehicleInformationReminderAdapter extends DefaultReminder { ...@@ -72,14 +63,14 @@ public class VehicleInformationReminderAdapter extends DefaultReminder {
@Override @Override
public IPage<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData, Page<ReminderItemDto> page) { public List<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData) {
// 气瓶--气瓶分页 // 气瓶--气瓶分页
JSONObject data = getSummitDataFromJson(formData); JSONObject data = getSummitDataFromJson(formData);
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) data.get("equipmentLists"); List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) data.get("equipmentLists");
List<String> records = equipmentLists.stream().map(item -> item.get("record").toString()).collect(Collectors.toList()); List<String> records = equipmentLists.stream().map(item -> item.get("record").toString()).collect(Collectors.toList());
Page<ReminderItemDto> mapPage = vehicleInformationReminderParse.getVehicleInformationMapper().queryForUnitVehiclePageForReminder(page, records); List<ReminderItemDto> mapPage = vehicleInformationReminderParse.getVehicleInformationMapper().queryUnitVehiclesForReminderList(records);
mapPage.getRecords().forEach(item -> item.setDetailData(this.buildCompareData(data, item.getEquipId()))); mapPage.forEach(item -> item.setDetailData(this.buildCompareData(data, item.getEquipId())));
return page; return mapPage;
} }
private static JSONObject getSummitDataFromJson(Map<String, Object> formData) { private static JSONObject getSummitDataFromJson(Map<String, Object> formData) {
......
...@@ -2,9 +2,9 @@ package com.yeejoin.amos.boot.module.jg.biz.reminder.core; ...@@ -2,9 +2,9 @@ package com.yeejoin.amos.boot.module.jg.biz.reminder.core;
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;
import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import com.yeejoin.amos.boot.module.jg.biz.reminder.biz.factory.GradeStrategyFactory; import com.yeejoin.amos.boot.module.jg.biz.reminder.biz.factory.GradeStrategyFactory;
import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto; import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import java.util.List; import java.util.List;
...@@ -18,13 +18,13 @@ public abstract class DefaultReminder implements IReminderHandler { ...@@ -18,13 +18,13 @@ public abstract class DefaultReminder implements IReminderHandler {
} }
@Override @Override
public IPage<ReminderItemDto> remindersPage(Page<ReminderItemDto> page, String bizId, SourceType sourceType, Map<String, Object> formData) { public IPage<ReminderItemDto> getReminderList(Page<ReminderItemDto> page, String bizId, SourceType sourceType, Map<String, Object> formData) {
IPage<ReminderItemDto> params = parse(page, bizId, sourceType, formData); List<ReminderItemDto> params = parse(bizId, sourceType, formData);
ReminderFieldDiff reminderFieldDiff = applicationContext.getBean(ReminderFieldDiff.class); ReminderFieldDiff reminderFieldDiff = applicationContext.getBean(ReminderFieldDiff.class);
MatchItemDto matchItemDto = setMatchItemBySourceType(sourceType, bizId, formData); MatchItemDto matchItemDto = setMatchItemBySourceType(sourceType, bizId, formData);
matchItemDto.setBizType(supportBizType()); matchItemDto.setBizType(supportBizType());
matchItemDto.setPage(page); matchItemDto.setPage(page);
return reminderFieldDiff.getReminderItemsPage(params, matchItemDto); return reminderFieldDiff.getReminderItemsPage(params, page, matchItemDto);
} }
private MatchItemDto setMatchItemBySourceType(SourceType sourceType, String bizId, Map<String, Object> formData) { private MatchItemDto setMatchItemBySourceType(SourceType sourceType, String bizId, Map<String, Object> formData) {
...@@ -46,25 +46,17 @@ public abstract class DefaultReminder implements IReminderHandler { ...@@ -46,25 +46,17 @@ public abstract class DefaultReminder implements IReminderHandler {
return strategyFactory.getStrategy(activeStrategy).calculateGrade(realtimeParse(bizId), matchItemDto); return strategyFactory.getStrategy(activeStrategy).calculateGrade(realtimeParse(bizId), matchItemDto);
} }
private IPage<ReminderItemDto> parse(Page<ReminderItemDto> page, String bizId, SourceType sourceType, Map<String, Object> formData) { private List<ReminderItemDto> parse(String bizId, SourceType sourceType, Map<String, Object> formData) {
switch (sourceType) { switch (sourceType) {
case realTime: case realTime:
return realtimeParse(bizId, page); return realtimeParse(bizId);
case json: case json:
return jsonParse(bizId, formData, page); return jsonParse(bizId, formData);
default: default:
throw new RuntimeException("no support type for " + sourceType); throw new RuntimeException("no support type for " + sourceType);
} }
} }
/**
* 获取指定分页的设备、装置、单据下的设备、管道,详情使用
*
* @param bizId 唯一标识
* @return 分页的设备/管道
*/
protected abstract IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page);
/** /**
* 获取指定设备、装置、单据下的设备、管道列表-评分使用;台套-台套设备;气瓶-气瓶;装置-装置 * 获取指定设备、装置、单据下的设备、管道列表-评分使用;台套-台套设备;气瓶-气瓶;装置-装置
...@@ -80,10 +72,9 @@ public abstract class DefaultReminder implements IReminderHandler { ...@@ -80,10 +72,9 @@ public abstract class DefaultReminder implements IReminderHandler {
* *
* @param bizId 唯一标识 * @param bizId 唯一标识
* @param formData 表单数据 * @param formData 表单数据
* @param page 分页信息
* @return 解析后的分页数据 * @return 解析后的分页数据
*/ */
protected abstract IPage<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData, Page<ReminderItemDto> page); protected abstract List<ReminderItemDto> jsonParse(String bizId, Map<String, Object> formData);
/** /**
......
...@@ -8,7 +8,7 @@ import java.util.Map; ...@@ -8,7 +8,7 @@ import java.util.Map;
public interface IReminderHandler { public interface IReminderHandler {
IPage<ReminderItemDto> remindersPage(Page<ReminderItemDto> page, String bizId, SourceType sourceType, Map<String, Object> formData); IPage<ReminderItemDto> getReminderList(Page<ReminderItemDto> page, String bizId, SourceType sourceType, Map<String, Object> formData);
Integer getReminderLevel(String bizId, String activeStrategy); Integer getReminderLevel(String bizId, String activeStrategy);
......
...@@ -7,7 +7,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto; ...@@ -7,7 +7,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import java.util.List; import java.util.List;
public interface ReminderFieldDiff { public interface ReminderFieldDiff {
IPage<ReminderItemDto> getReminderItemsPage(IPage<ReminderItemDto> equips, MatchItemDto matchItem); IPage<ReminderItemDto> getReminderItemsPage(List<ReminderItemDto> params, IPage<ReminderItemDto> equips, MatchItemDto matchItem);
List<ReminderItemDto> getReminderItemList(List<ReminderItemDto> equips, MatchItemDto matchItem); List<ReminderItemDto> getReminderItemList(List<ReminderItemDto> equips, MatchItemDto matchItem);
} }
...@@ -4,8 +4,6 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,8 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
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.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity; import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto; import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto; import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto;
...@@ -82,19 +80,9 @@ public class CommonReminderService { ...@@ -82,19 +80,9 @@ public class CommonReminderService {
matchItemDto.setEquDefine(registerInfo.getEquDefine()); matchItemDto.setEquDefine(registerInfo.getEquDefine());
} }
public static IPage<ReminderItemDto> setProjectReminderItemPage(String bizId, Page<ReminderItemDto> page, IdxBizJgProjectContraptionServiceImplService idxBizJgProjectContraptionServiceImpl) {
IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionServiceImpl.getById(bizId);
return setProjectReminderItemPageJson(bizId, page, projectContraption);
}
public static List<ReminderItemDto> setProjectReminderItemRealTime(String bizId, IdxBizJgProjectContraptionServiceImplService idxBizJgProjectContraptionServiceImpl) { public static List<ReminderItemDto> setProjectReminderItemRealTime(String bizId, IdxBizJgProjectContraptionServiceImplService idxBizJgProjectContraptionServiceImpl) {
IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionServiceImpl.getById(bizId); IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionServiceImpl.getById(bizId);
ReminderItemDto reminderItemDto = new ReminderItemDto(); return setProjectReminderItemPageJson(bizId, projectContraption);
reminderItemDto.setEquipId(bizId);
reminderItemDto.setEquipNo(projectContraption.getProjectContraptionNo());
reminderItemDto.setEquipName(projectContraption.getProjectContraption());
reminderItemDto.setDetailData(BeanUtil.beanToMap(projectContraption));
return Collections.singletonList(reminderItemDto);
} }
public static MatchItemDto setMatchItemForProject(MatchItemDto matchItemDto, IdxBizJgProjectContraption projectContraption) { public static MatchItemDto setMatchItemForProject(MatchItemDto matchItemDto, IdxBizJgProjectContraption projectContraption) {
...@@ -123,15 +111,13 @@ public class CommonReminderService { ...@@ -123,15 +111,13 @@ public class CommonReminderService {
return re; return re;
} }
public static IPage<ReminderItemDto> setProjectReminderItemPageJson(String bizId, Page<ReminderItemDto> page, IdxBizJgProjectContraption projectContraption) { public static List<ReminderItemDto> setProjectReminderItemPageJson(String bizId, IdxBizJgProjectContraption projectContraption) {
ReminderItemDto reminderItemDto = new ReminderItemDto(); ReminderItemDto reminderItemDto = new ReminderItemDto();
reminderItemDto.setEquipId(bizId); reminderItemDto.setEquipId(bizId);
reminderItemDto.setEquipNo(projectContraption.getProjectContraptionNo()); reminderItemDto.setEquipNo(projectContraption.getProjectContraptionNo());
reminderItemDto.setEquipName(projectContraption.getProjectContraption()); reminderItemDto.setEquipName(projectContraption.getProjectContraption());
reminderItemDto.setDetailData(BeanUtil.beanToMap(projectContraption)); reminderItemDto.setDetailData(BeanUtil.beanToMap(projectContraption));
page.setRecords(Collections.singletonList(reminderItemDto)); return Collections.singletonList(reminderItemDto);
page.setTotal(1L);
return page;
} }
public void setEquCateInfoForEdit(String record, MatchItemDto matchItemDto) { public void setEquCateInfoForEdit(String record, MatchItemDto matchItemDto) {
......
...@@ -22,7 +22,7 @@ public class RemindServiceImpl { ...@@ -22,7 +22,7 @@ public class RemindServiceImpl {
private final ReminderFactory reminderFactory; private final ReminderFactory reminderFactory;
public IPage<ReminderItemDto> getReminderItems(Page<ReminderItemDto> page, String bizId, String bizType, IReminderHandler.SourceType sourceType, Map<String, Object> formData) { public IPage<ReminderItemDto> getReminderItems(Page<ReminderItemDto> page, String bizId, String bizType, IReminderHandler.SourceType sourceType, Map<String, Object> formData) {
return reminderFactory.getReminderHandler(bizType).remindersPage(page, StringUtils.isEmpty(bizId) ? null : bizId, sourceType, formData); return reminderFactory.getReminderHandler(bizType).getReminderList(page, StringUtils.isEmpty(bizId) ? null : bizId, sourceType, formData);
} }
public Integer getReminderLevel(String bizId, String bizType) { public Integer getReminderLevel(String bizId, String bizType) {
......
...@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.jg.api.entity.TzsJgColumnReminderRule; ...@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.jg.api.entity.TzsJgColumnReminderRule;
import com.yeejoin.amos.boot.module.jg.biz.reminder.core.ReminderFieldDiff; import com.yeejoin.amos.boot.module.jg.biz.reminder.core.ReminderFieldDiff;
import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto; import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.TzsJgColumnReminderRuleServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.TzsJgColumnReminderRuleServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.utils.MemoryPageUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -26,11 +27,12 @@ public class ReminderFieldDiffImpl implements ReminderFieldDiff { ...@@ -26,11 +27,12 @@ public class ReminderFieldDiffImpl implements ReminderFieldDiff {
private final TzsJgColumnReminderRuleServiceImpl reminderRuleService; private final TzsJgColumnReminderRuleServiceImpl reminderRuleService;
@Override @Override
public IPage<ReminderItemDto> getReminderItemsPage(IPage<ReminderItemDto> page, MatchItemDto matchItem) { public IPage<ReminderItemDto> getReminderItemsPage(List<ReminderItemDto> reminderItemDtos, IPage<ReminderItemDto> page, MatchItemDto matchItem) {
page.getRecords().forEach(reminderItemDto -> { reminderItemDtos.forEach(reminderItemDto -> {
reminderItemDto.setItems(this.buildRemindItem(reminderItemDto, matchItem)); reminderItemDto.setItems(this.buildRemindItem(reminderItemDto, matchItem));
}); });
return page; List<ReminderItemDto> itemDtoListMissing = reminderItemDtos.stream().filter(item -> !item.getItems().isEmpty()).collect(Collectors.toList());
return MemoryPageUtils.paginate(itemDtoListMissing, page.getCurrent(), page.getSize());
} }
@Override @Override
......
package com.yeejoin.amos.boot.module.jg.biz.utils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.Comparator;
import java.util.List;
public class MemoryPageUtils {
/**
* 内存分页(支持排序)
*
* @param dataList 数据列表
* @param current 当前页(从1开始)
* @param size 每页大小
* @param comparator 排序规则(可选,传null表示不排序)
*/
public static <T> IPage<T> paginate(List<T> dataList, long current, long size, Comparator<T> comparator) {
// 1. 参数校验
if (current < 1 || size <= 0) {
throw new IllegalArgumentException("分页参数错误:current >= 1 && size > 0");
}
// 2. 避免空指针
if (dataList == null || dataList.isEmpty()) {
return new Page<>(current, size, 0);
}
// 3. 排序(如果传入了comparator)
if (comparator != null) {
dataList.sort(comparator);
}
// 4. 计算分页区间
long total = dataList.size();
long fromIndex = (current - 1) * size;
if (fromIndex >= total) {
return new Page<>(current, size, total); // 超出范围返回空页
}
// 5. 手动分页
List<T> pageRecords = dataList.subList(
(int) fromIndex,
(int) Math.min(fromIndex + size, total)
);
// 6. 构造IPage对象
IPage<T> page = new Page<>(current, size, total);
page.setRecords(pageRecords);
return page;
}
// 简化版(不排序)
public static <T> IPage<T> paginate(List<T> dataList, long current, long size) {
return paginate(dataList, current, size, null);
}
}
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