Commit 26171aa5 authored by tianbo's avatar tianbo

Merge remote-tracking branch 'origin/develop_tzs_bugfix' into develop_tzs_bugfix

parents 975d3cc7 99fc3efe
......@@ -54,4 +54,17 @@ public enum EquipSourceEnum {
return EquipSourceEnum.jg_his.getName();
}
}
public static String getDataSourceType(String dataSource) {
if(StringUtils.isEmpty(dataSource)){
return EquipSourceEnum.jg_his.getType();
}
if(EquipSourceEnum.jg.getCode().equals(dataSource) || (dataSource.startsWith(EquipSourceEnum.jg.getCode()) && !dataSource.startsWith(EquipSourceEnum.jg_his.getCode()))){
return EquipSourceEnum.jg.getType();
} else if(dataSource.startsWith(EquipSourceEnum.jg_his_black.getCode())){
return EquipSourceEnum.jg_his_black.getType();
} else {
return EquipSourceEnum.jg_his.getType();
}
}
}
......@@ -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);
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
List<Map<String, Object>> getVehicleInfoOfPassWithEquId();
Page<ReminderItemDto> queryForUnitVehiclePageForReminder(Page<ReminderItemDto> page, List<String> records);
List<ReminderItemDto> queryUnitVehiclesForReminderList(List<String> records);
}
......@@ -1539,6 +1539,5 @@
<foreach collection="records" item="record" open="(" close=")" separator=",">
#{record}
</foreach>
ORDER BY ri.REC_DATE DESC
</select>
</mapper>
......@@ -351,7 +351,7 @@
AND u.estate_unit_credit_code is not null
ORDER BY u.audit_pass_date
</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
ri."PRODUCT_NAME" AS equipName,
fi."FACTORY_NUM" AS equipNo,
......@@ -363,6 +363,5 @@
<foreach collection="records" item="record" open="(" close=")" separator=",">
#{record}
</foreach>
ORDER BY ri.REC_DATE DESC
</select>
</mapper>
......@@ -330,6 +330,8 @@ public class PieLineDataChangeServiceImpl {
private Double calTotalPieLineLength(String projectContraptionId) {
List<String> records = useInfoService.list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, projectContraptionId).select(IdxBizJgUseInfo::getRecord)).stream().map(IdxBizJgUseInfo::getRecord).collect(Collectors.toList());
// 如果没有记录,直接返回 0.0
if (records.isEmpty()) return 0.0;
List<IdxBizJgTechParamsPipeline> techParamsPipelines = idxBizJgTechParamsPipelineService.list(new LambdaQueryWrapper<IdxBizJgTechParamsPipeline>().in(IdxBizJgTechParamsPipeline::getRecord, records).select(IdxBizJgTechParamsPipeline::getRecord, IdxBizJgTechParamsPipeline::getPipeLength));
return techParamsPipelines.stream().filter(i -> i.getPipeLength() != null).map(e -> new BigDecimal(e.getPipeLength()))
.reduce(BigDecimal.ZERO, BigDecimal::add)
......
......@@ -30,14 +30,6 @@ public class EditEquipReminderAdapter extends DefaultReminder {
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) {
IdxBizJgRegisterInfo registerInfo = editEquipParseService.getIdxBizJgRegisterInfoService().getOne(new LambdaQueryWrapper<IdxBizJgRegisterInfo>().eq(IdxBizJgRegisterInfo::getRecord, bizId).select(IdxBizJgRegisterInfo::getRecord, IdxBizJgRegisterInfo::getProductName));
ReminderItemDto reminderItemDto = new ReminderItemDto();
......@@ -53,7 +45,7 @@ public class EditEquipReminderAdapter extends DefaultReminder {
}
@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);
IdxBizJgUseInfo bizJgUseInfo = JSON.parseObject(JSON.toJSONString(formData), IdxBizJgUseInfo.class);
ReminderItemDto reminderItemDto = new ReminderItemDto();
......@@ -61,9 +53,7 @@ public class EditEquipReminderAdapter extends DefaultReminder {
reminderItemDto.setEquipNo(bizJgUseInfo.getUseInnerCode());
reminderItemDto.setEquipName(registerInfo.getProductName());
reminderItemDto.setDetailData(formData);
page.setRecords(Collections.singletonList(reminderItemDto));
page.setTotal(1L);
return page;
return Collections.singletonList(reminderItemDto);
}
@Override
......
......@@ -29,11 +29,6 @@ public class EditProjectReminderAdapter extends DefaultReminder {
this.editProjectParseService = editProjectParseService;
}
@Override
protected IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page) {
// 创建后,详情使用
return CommonReminderService.setProjectReminderItemPage(bizId, page, editProjectParseService.getIdxBizJgProjectContraptionServiceImpl());
}
@Override
protected List<ReminderItemDto> realtimeParse(String bizId) {
......@@ -43,10 +38,10 @@ public class EditProjectReminderAdapter extends DefaultReminder {
@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);
return CommonReminderService.setProjectReminderItemPageJson(bizId, page, projectContraption);
return CommonReminderService.setProjectReminderItemPageJson(bizId, projectContraption);
}
......
package com.yeejoin.amos.boot.module.jg.biz.reminder.biz.newEquip;
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.enums.BusinessTypeEnum;
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.api.dto.ReminderItemDto;
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.IdxBizJgUseInfo;
......@@ -16,6 +14,7 @@ import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* 设备/气瓶创建编辑-提醒处理器
*/
......@@ -30,19 +29,6 @@ public class NewEquipReminderAdapter extends DefaultReminder {
}
@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) {
IdxBizJgRegisterInfo registerInfo = newEquipParseService.getIdxBizJgRegisterInfoService().getOneData(bizId);
ReminderItemDto reminderItemDto = new ReminderItemDto();
......@@ -54,7 +40,7 @@ public class NewEquipReminderAdapter extends DefaultReminder {
}
@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);
IdxBizJgUseInfo bizJgUseInfo = CommonReminderService.geEquipInfoFromJson(formData, IdxBizJgUseInfo.class);
ReminderItemDto reminderItemDto = new ReminderItemDto();
......@@ -62,9 +48,7 @@ public class NewEquipReminderAdapter extends DefaultReminder {
reminderItemDto.setEquipNo(bizJgUseInfo.getUseInnerCode());
reminderItemDto.setEquipName(registerInfo.getProductName());
reminderItemDto.setDetailData(newEquipParseService.getDetailInfoFromJson(formData));
page.setRecords(Collections.singletonList(reminderItemDto));
page.setTotal(1L);
return page;
return Collections.singletonList(reminderItemDto);
}
@Override
......
package com.yeejoin.amos.boot.module.jg.biz.reminder.biz.newProject;
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.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.reminder.core.DefaultReminder;
......@@ -30,12 +28,6 @@ public class NewProjectReminderAdapter extends DefaultReminder {
this.newProjectParseService = newProjectParseService;
}
@Override
protected IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page) {
// 创建后,详情使用
return CommonReminderService.setProjectReminderItemPage(bizId, page, newProjectParseService.getIdxBizJgProjectContraptionServiceImpl());
}
@Override
protected List<ReminderItemDto> realtimeParse(String bizId) {
......@@ -44,7 +36,7 @@ public class NewProjectReminderAdapter extends DefaultReminder {
}
@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);
ReminderItemDto reminderItemDto = new ReminderItemDto();
......@@ -52,9 +44,7 @@ public class NewProjectReminderAdapter extends DefaultReminder {
reminderItemDto.setEquipNo(projectContraption.getProjectContraptionNo());
reminderItemDto.setEquipName(projectContraption.getProjectContraption());
reminderItemDto.setDetailData(BeanUtil.beanToMap(projectContraption));
page.setRecords(Collections.singletonList(reminderItemDto));
page.setTotal(1L);
return page;
return Collections.singletonList(reminderItemDto);
}
@Override
......
......@@ -4,8 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.entity.JgVehicleInformation;
import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformationEq;
......@@ -17,7 +15,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -39,24 +36,18 @@ public class VehicleInformationReminderAdapter extends DefaultReminder {
}
@Override
public IPage<ReminderItemDto> realtimeParse(String bizId, Page<ReminderItemDto> page) {
public List<ReminderItemDto> realtimeParse(String bizId) {
// 创建后, 监管通过时使用
JgVehicleInformation vehicleInformation = vehicleInformationReminderParse.getVehicleInformationMapper().selectById(bizId);
LambdaQueryWrapper<JgVehicleInformationEq> lambda = new QueryWrapper<JgVehicleInformationEq>().lambda();
lambda.eq(JgVehicleInformationEq::getVehicleId, vehicleInformation.getSequenceNbr());
lambda.select(JgVehicleInformationEq::getEquId);
List<String> records = vehicleInformationReminderParse.getVehicleInformationEqMapper().selectList(lambda).stream().map(JgVehicleInformationEq::getEquId).collect(Collectors.toList());
Page<ReminderItemDto> mapPage = vehicleInformationReminderParse.getVehicleInformationMapper().queryForUnitVehiclePageForReminder(page, records);
mapPage.getRecords().forEach(item -> item.setDetailData(this.buildCompareData(vehicleInformation, item.getEquipId())));
return page;
List<ReminderItemDto> itemDtoList = vehicleInformationReminderParse.getVehicleInformationMapper().queryUnitVehiclesForReminderList(records);
itemDtoList.forEach(item -> item.setDetailData(this.buildCompareData(vehicleInformation, item.getEquipId())));
return itemDtoList;
}
@Override
protected List<ReminderItemDto> realtimeParse(String bizId) {
// 创建后,评分使用
// todo 气瓶时不显示评分,在列表上显示
return Collections.emptyList();
}
private Map<String, Object> buildCompareData(JgVehicleInformation vehicleInformation, String record) {
Map<String, Object> re = BeanUtil.beanToMap(vehicleInformation);
......@@ -72,14 +63,14 @@ public class VehicleInformationReminderAdapter extends DefaultReminder {
@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);
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());
Page<ReminderItemDto> mapPage = vehicleInformationReminderParse.getVehicleInformationMapper().queryForUnitVehiclePageForReminder(page, records);
mapPage.getRecords().forEach(item -> item.setDetailData(this.buildCompareData(data, item.getEquipId())));
return page;
List<ReminderItemDto> mapPage = vehicleInformationReminderParse.getVehicleInformationMapper().queryUnitVehiclesForReminderList(records);
mapPage.forEach(item -> item.setDetailData(this.buildCompareData(data, item.getEquipId())));
return mapPage;
}
private static JSONObject getSummitDataFromJson(Map<String, Object> formData) {
......
......@@ -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.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.dto.MatchItemDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import org.springframework.context.ApplicationContext;
import java.util.List;
......@@ -18,13 +18,13 @@ public abstract class DefaultReminder implements IReminderHandler {
}
@Override
public IPage<ReminderItemDto> remindersPage(Page<ReminderItemDto> page, String bizId, SourceType sourceType, Map<String, Object> formData) {
IPage<ReminderItemDto> params = parse(page, bizId, sourceType, formData);
public IPage<ReminderItemDto> getReminderList(Page<ReminderItemDto> page, String bizId, SourceType sourceType, Map<String, Object> formData) {
List<ReminderItemDto> params = parse(bizId, sourceType, formData);
ReminderFieldDiff reminderFieldDiff = applicationContext.getBean(ReminderFieldDiff.class);
MatchItemDto matchItemDto = setMatchItemBySourceType(sourceType, bizId, formData);
matchItemDto.setBizType(supportBizType());
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) {
......@@ -46,25 +46,17 @@ public abstract class DefaultReminder implements IReminderHandler {
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) {
case realTime:
return realtimeParse(bizId, page);
return realtimeParse(bizId);
case json:
return jsonParse(bizId, formData, page);
return jsonParse(bizId, formData);
default:
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 {
*
* @param bizId 唯一标识
* @param formData 表单数据
* @param page 分页信息
* @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;
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);
......
......@@ -7,7 +7,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import java.util.List;
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);
}
......@@ -4,8 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
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.module.jg.api.dto.ReminderItemDto;
import com.yeejoin.amos.boot.module.jg.biz.reminder.dto.MatchItemDto;
......@@ -82,19 +80,9 @@ public class CommonReminderService {
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) {
IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionServiceImpl.getById(bizId);
ReminderItemDto reminderItemDto = new ReminderItemDto();
reminderItemDto.setEquipId(bizId);
reminderItemDto.setEquipNo(projectContraption.getProjectContraptionNo());
reminderItemDto.setEquipName(projectContraption.getProjectContraption());
reminderItemDto.setDetailData(BeanUtil.beanToMap(projectContraption));
return Collections.singletonList(reminderItemDto);
return setProjectReminderItemPageJson(bizId, projectContraption);
}
public static MatchItemDto setMatchItemForProject(MatchItemDto matchItemDto, IdxBizJgProjectContraption projectContraption) {
......@@ -123,15 +111,13 @@ public class CommonReminderService {
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.setEquipId(bizId);
reminderItemDto.setEquipNo(projectContraption.getProjectContraptionNo());
reminderItemDto.setEquipName(projectContraption.getProjectContraption());
reminderItemDto.setDetailData(BeanUtil.beanToMap(projectContraption));
page.setRecords(Collections.singletonList(reminderItemDto));
page.setTotal(1L);
return page;
return Collections.singletonList(reminderItemDto);
}
public void setEquCateInfoForEdit(String record, MatchItemDto matchItemDto) {
......
......@@ -22,7 +22,7 @@ public class RemindServiceImpl {
private final ReminderFactory reminderFactory;
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) {
......
......@@ -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.dto.MatchItemDto;
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 org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -26,11 +27,12 @@ public class ReminderFieldDiffImpl implements ReminderFieldDiff {
private final TzsJgColumnReminderRuleServiceImpl reminderRuleService;
@Override
public IPage<ReminderItemDto> getReminderItemsPage(IPage<ReminderItemDto> page, MatchItemDto matchItem) {
page.getRecords().forEach(reminderItemDto -> {
public IPage<ReminderItemDto> getReminderItemsPage(List<ReminderItemDto> reminderItemDtos, IPage<ReminderItemDto> page, MatchItemDto matchItem) {
reminderItemDtos.forEach(reminderItemDto -> {
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
......
......@@ -1397,6 +1397,7 @@ public class CommonServiceImpl implements ICommonService {
Map<String, Object> useRegFormUploadObj = (Map<String, Object>) map.get(useRegFormUpload);
String uploadMode = String.valueOf(useRegFormUploadObj.get("uploadMode"));
jsonObject.put("historySubmitType", historySubmitType);
jsonObject.put("historyEquType", historyEquType);
Map<String, Function<JSONObject, Object>> handlerMap = new HashMap<>();
handlerMap.put("unit", jgUseRegistrationServiceImpl::handleUnitHistoryEquip);
......
......@@ -1106,6 +1106,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
// 设备注册信息
Map<String, Object> equipInfoMap = this.getEquipInfoMap(record, "");
if (!ValidationUtil.isEmpty(equIpClassMap)) {
equIpClassMap.put(DATA_SOURCE,equipInfoMap.get(DATA_SOURCE));
resultMap.put(EQUIP_CLASS_FORM_ID, equIpClassMap);
}
equipInfoMap.put("companyLevel", companyLevel);
......@@ -1469,6 +1470,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
}
}
objMap.put(DATA_SOURCE_NAME, EquipSourceEnum.getDataSourceName(useInfo.getDataSource()));
objMap.put(DATA_SOURCE, EquipSourceEnum.getDataSourceType(useInfo.getDataSource()));
// 设计制造
IdxBizJgDesignInfo designInfo = iIdxBizJgDesignInfoService.getOneData(record);
if (!ValidationUtil.isEmpty(designInfo)) {
......
......@@ -4153,7 +4153,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (registerInfo != null) {
registerInfo.setUseOrgCode(jgUseRegistration.getUseRegistrationCode());
registerInfo.setEquCodeType(String.valueOf(map.get("equCodeType")));
equCode = ObjectUtils.isEmpty(map.get("equCode")) ? this.getEquCode(registerInfo, jgUseRegistration.getReceiveCompanyCode()) : String.valueOf(map.get("equCode"));
equCode = ObjectUtils.isEmpty(map.get("equCode")) && !StringUtils.isEmpty(jgUseRegistration.getReceiveCompanyCode())
? this.getEquCode(registerInfo, jgUseRegistration.getReceiveCompanyCode())
: String.valueOf(map.get("equCode"));
registerInfo.setEquCode(equCode);// 设备代码
registerInfo.setEquPrice(String.valueOf(map.get("equPrice")));
registerInfo.setProductPhoto(JSONObject.toJSONString(map.get("productPhoto")));
......@@ -4296,7 +4298,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
// 历史设备 生成证书管理表记录 & 生成安装 维保等操作记录
if (registerInfo != null) {
if (registerInfo != null && !"temp".equals(map.get("historySubmitType"))) {
this.historyEquGenManageRelated(map, jgUseRegistration, registerInfo, idxBizJgFactoryInfo);
}
String routePath = this.buildTaskModel(jgUseRegistration, map, reginParams);
......
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