ListFmdReportPlaceItem places = detailgetPlaces; if places == null placessize == 0 throw new RuntimeException第+i+1+行精品线路带不能为空; ListTDJpxldplace pe = getPlacesdegetId;
// 获取该精品线路详情中的线路列表
List
// 获取该精品线路所包含的地点列表
List
// 创建一个空的地点ID列表
List
// 遍历地点列表,处理每个地点对象 for (int y = 0; y < places.size(); y++) { FmdReportPlaceItem place = places.get(y); // 检查地点属性是否合法,如果不合法抛出异常 String msg2 = place.checkAttr(); if (!StringHelper.isEmpty(msg2)) throw new RuntimeException(msg2); // 根据地点ID从地点Map中获取对应地点对象 TDJpxldplace p = map1.get(place.getId()); // 如果地点对象不存在,创建一个新的地点对象 if (p==null){ p=new TDJpxldplace(); // 设置外键 p.setReportId(report.getId()); p.setAudirId(audit.getId()); p.setAgrauditId(jpxlAudit.getId()); p.setTaskId(audit.getTaskId()); p.setDetailId(de.getId());
// 设置创建时间/属性
p.setCreateat(LocalDateTime.now());
p.setCreatorid(user.getUserId());
p.setOwnerid(user.getPlace());
p.setCreatorname(user.getUserName());
p.setDeleted(false);
}else {
// 如果地点对象存在,更新更新时间/属性
p.setUpdateat(LocalDateTime.now());
p.setUpdaterid(user.getUserId());
p.setUpdatername(user.getUserName());
p.setDeleted(false);
}
// 设置地点等级
Integer level=null;
if(place.getPlaces().size()==1){
level = 4;
}else if(place.getPlaces().size()==2){
level = 5;
}else if(place.getPlaces().size()==3){
level = 6;
}else{
throw new RuntimeException("数据异常");
}
p.setLevel(level);
// 获取最后一个地点ID作为地点ID
p.setPlaceid(Long.valueOf(place.getPlaces().get(place.getPlaces().size()-1)));
// 如果地点ID已经存在于地点ID列表中,抛出异常
if(!placeIds.contains(p.getPlaceid())){
placeIds.add(p.getPlaceid());
}else{
throw new RuntimeException("第"+(i+1)+"行线路不能重复");
}
// 如果地点等级为6,说明是自然村的地区数据
if (level == PlaceLevel.OTHER.ordinal()) {
// 根据自然村ID从自然村表中获取对应自然村对象
TDNatvillage nat = natvillageMapper.selectTDNatvillageById(p.getPlaceid());
// 如果自然村对象不存在,抛出异常
if (nat == null) throw new RuntimeException("该自然村不存在");
// 设置地点名称
p.setName(nat.getName());
// 设置所属地区
LocalEmbeddable natLocal=new LocalEmbeddable();
// 同名赋值法,将自然村对象的属性复制到LocalEmbeddable对象中
BeanUtils.copyProperties(nat,natLocal);
// 将LocalEmbeddable对象的属性复制到地点对象中
BeanUtils.copyProperties(natLocal,p);
}else {
// 如果地点等级为自然村级以上,可根据ID从地区表中取出对应对象
// TODO: 存在地区数据不存在问题--->待地区表数据迁移后确定后再测试
LocalEmbeddable local=new LocalEmbeddable(commonPlaceService);
// 根据地点ID从地区表中获取对应地区对象
Dsa01 dsa01 = commonPlaceService.getMemoryPlace(p.getPlaceid());
// 如果地区对象不存在,抛出异常
if (dsa01==null)throw new RuntimeException("系统暂时未有该村委员会的相关信息,请联系管理员!!!");
// 将地区对象的属性复制到LocalEmbeddable对象中
local.from(dsa01);
log.debug("根据地区名称赋值查询出来的数据;{}",local);
// 设置地点名称
p.setName(dsa01.getDsa0101());
// 将LocalEmbeddable对象的属性复制到地点对象中
BeanUtils.copyProperties(local,p);
}
// 如果地点ID不存在,插入新的地点记录,否则更新地点记录
if (p.getId()==null) {
jpxldplaceMapper.insertTDJpxldplace(p);
}else {
jpxldplaceMapper.updateTDJpxldplace(p);
}
原文地址: https://www.cveoy.top/t/topic/feZX 著作权归作者所有。请勿转载和采集!