Browse Source

1.1.0 修改楼盘,楼栋信息

feature/v1.1.0
peihao 4 years ago
parent
commit
c9af66db86
  1. 19
      air/src/main/java/com/air/housing/controller/BlocksController.java
  2. 5
      air/src/main/java/com/air/housing/controller/HousingEstatesController.java
  3. 5
      air/src/main/java/com/air/housing/dto/HousingDefine.java
  4. 25
      air/src/main/java/com/air/housing/entity/Blocks.java
  5. 49
      air/src/main/java/com/air/housing/service/impl/HousingEstatesServiceImpl.java
  6. 2
      air/src/main/java/com/air/housing/vo/HousingEstatesDetail.java
  7. 23
      air/src/main/java/com/air/land/service/impl/LandListedServiceImpl.java
  8. 19
      air/src/main/java/com/air/land/service/impl/LandToListServiceImpl.java
  9. 32
      air/src/main/resources/mapper/BlocksMapper.xml
  10. 4
      air/src/main/resources/mapper/LandListedMapper.xml
  11. 2
      air/src/main/resources/mapper/LandToListMapper.xml

19
air/src/main/java/com/air/housing/controller/BlocksController.java

@ -3,7 +3,6 @@ package com.air.housing.controller;
import com.air.housing.dto.BlockListDto;
import com.air.housing.entity.Blocks;
import com.air.housing.service.BlocksService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cinderella.framework.common.core.util.R;
import io.swagger.annotations.Api;
@ -27,24 +26,12 @@ public class BlocksController {
private final BlocksService blocksService;
// /**
// * 分页查询
// *
// * @param page 分页对象
// * @param blocks 楼栋信息
// * @return
// */
// @ApiOperation(value = "分页查询", notes = "分页查询")
// @GetMapping("/page")
// public R getBlocksPage(Page page, Blocks blocks) {
// return R.ok(blocksService.page(page, Wrappers.query(blocks)));
// }
@ApiOperation(value = "根据楼盘id分页查询", notes = "根据楼盘id分页查询")
@ApiOperation(value = "根据楼盘id分页查询楼栋", notes = "根据楼盘id分页查询楼栋")
@GetMapping("/page")
public R getBlocksPageByhousingEstateId(Page page, BlockListDto blocks) {
return R.ok(blocksService.getBlocksPageByhousingEstateId(page,blocks));
return R.ok(blocksService.getBlocksPageByhousingEstateId(page, blocks));
}
/**
* 通过id查询楼栋信息
*

5
air/src/main/java/com/air/housing/controller/HousingEstatesController.java

@ -1,5 +1,7 @@
package com.air.housing.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.air.common.Constant;
import com.air.housing.dto.HousingDefine;
import com.air.housing.dto.HousingEstatesQuery;
@ -53,6 +55,9 @@ public class HousingEstatesController {
@PostMapping("/create_from_origin")
@ApiOperation(value = "提交楼盘定义信息")
public R createFromOrigin(@RequestBody @Validated HousingDefine housingDefine) {
if(CollectionUtil.isNotEmpty(housingDefine.getLandListedId()) && StrUtil.isEmpty(housingDefine.getHousingEstateName())){
return R.failed("楼盘名称未填写");
}
return R.ok(housingEstatesService.createFromOrigin(housingDefine));
}

5
air/src/main/java/com/air/housing/dto/HousingDefine.java

@ -27,13 +27,14 @@ public class HousingDefine {
private Long housingEstateId;
@ApiModelProperty(value = "地块id")
@NotEmpty(message = "地块id不能为空")
private List<String> landListedId;
@NotBlank(message = "物业类型不能为空")
@ApiModelProperty(value = "物业类型")
private String propertyType;
@ApiModelProperty(value = "楼盘名称")
private String housingEstateName;
@NotBlank(message = "大业态不能为空")
@ApiModelProperty(value = "大业态")
private String largeFormat;

25
air/src/main/java/com/air/housing/entity/Blocks.java

@ -31,6 +31,9 @@ public class Blocks extends Model<Blocks> {
@ApiModelProperty(value = "楼盘id")
private Long housingEstateId;
@ApiModelProperty(value = "业态id(关联当前楼栋对应的业态信息)")
private Long formatId;
@ApiModelProperty(value = "数据编号(315上的数据id,保存起来方便更新)")
private String dataId;
@ -40,16 +43,6 @@ public class Blocks extends Model<Blocks> {
@ApiModelProperty(value = "楼栋名称")
private String blockName;
@ApiModelProperty(value = "物业类型")
private String propertyType;
@ApiModelProperty(value = "大业态")
private String largeFormat;
@ApiModelProperty(value = "小业态")
@TableField(value = "`format`")
private String format;
@ApiModelProperty(value = "状态")
private String statusCd;
@ -70,4 +63,16 @@ public class Blocks extends Model<Blocks> {
@ApiModelProperty(value = "备注")
private String remark;
@TableField(exist = false)
@ApiModelProperty(value = "物业类型")
private String propertyType;
@TableField(exist = false)
@ApiModelProperty(value = "大业态")
private String largeFormat;
@TableField(exist = false)
@ApiModelProperty(value = "小业态")
private String format;
}

49
air/src/main/java/com/air/housing/service/impl/HousingEstatesServiceImpl.java

@ -1,5 +1,6 @@
package com.air.housing.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.air.common.Constant;
import com.air.enums.BlocksOriginStatusEnum;
import com.air.housing.dto.HousingDefine;
@ -20,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cinderella.framework.common.core.exception.BusinessException;
import com.cinderella.framework.common.core.util.R;
import com.cinderella.framework.common.data.mybatis.QueryPage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -64,6 +66,12 @@ public class HousingEstatesServiceImpl extends ServiceImpl<HousingEstatesMapper,
@Override
@Transactional(rollbackFor = Exception.class)
public boolean createFromOrigin(HousingDefine housingDefine) {
if(housingDefine.getHousingEstateId() == null && CollectionUtil.isEmpty(housingDefine.getLandListedId())){
throw new BusinessException("楼盘id和地块id必填一项");
}
if(housingDefine.getHousingEstateId() != null && CollectionUtil.isNotEmpty(housingDefine.getLandListedId())){
throw new BusinessException("楼盘id和地块id只能填写一项");
}
if (null == housingDefine.getBlockId()) {
throw new BusinessException("楼栋id不能为空!");
}
@ -74,13 +82,28 @@ public class HousingEstatesServiceImpl extends ServiceImpl<HousingEstatesMapper,
//判断楼盘id是否为空, 如果为空则用315楼盘名称新建一条楼盘数据
if (null == housingDefine.getHousingEstateId()) {
HousingEstates housingEstates = new HousingEstates();
housingEstates.setName(blocksOrigin.getNetName());
housingEstates.setName(housingDefine.getHousingEstateName());
housingEstates.setStatusCd(Constant.COMMON_STATUS_1000);
this.save(housingEstates);
housingDefine.setHousingEstateId(housingEstates.getHousingEstateId());
}
//查询楼盘业态是否存在,不存在时新建
Format format = formatService.getOne(Wrappers.<Format>query().lambda()
.eq(Format::getHousingEstateId, housingDefine.getHousingEstateId())
.eq(Format::getPropertyType,housingDefine.getPropertyType())
.eq(Format::getLargeFormat, housingDefine.getLargeFormat())
.eq(Format::getFormat, housingDefine.getFormat()));
if (format == null) {
format = new Format();
format.setHousingEstateId(housingDefine.getHousingEstateId());
format.setPropertyType(housingDefine.getPropertyType());
format.setLargeFormat(housingDefine.getLargeFormat());
format.setFormat(housingDefine.getFormat());
format.setStatusCd(Constant.COMMON_STATUS_1000);
formatService.save(format);
}
//保存楼栋和房屋数据
copyBlocksOriginToBlocks(blocksOrigin, housingDefine);
copyBlocksOriginToBlocks(blocksOrigin, housingDefine,format.getFormatId());
//保存楼盘和地块之间的关系
List<String> landListedIds = housingDefine.getLandListedId();
List<AnnoBlocksRel> annoBlocksRelList = new ArrayList<>(landListedIds.size());
@ -98,18 +121,6 @@ public class HousingEstatesServiceImpl extends ServiceImpl<HousingEstatesMapper,
annoBlocksRelList.add(annoBlocksRel);
}
annoBlocksRelService.saveBatch(annoBlocksRelList);
//查询楼盘业态是否存在,不存在时新建
Format format = formatService.getOne(Wrappers.<Format>query().lambda().eq(Format::getHousingEstateId, housingDefine.getHousingEstateId())
.eq(Format::getLargeFormat, housingDefine.getLargeFormat())
.eq(Format::getFormat, housingDefine.getFormat()));
if (format == null) {
format = new Format();
format.setHousingEstateId(housingDefine.getHousingEstateId());
format.setLargeFormat(housingDefine.getLargeFormat());
format.setFormat(housingDefine.getFormat());
format.setStatusCd(Constant.COMMON_STATUS_1000);
formatService.save(format);
}
//origin更新为已处理
blocksOrigin.setStatusCd(BlocksOriginStatusEnum.HANDLED.getCode());
blocksOrigin.updateById();
@ -131,8 +142,8 @@ public class HousingEstatesServiceImpl extends ServiceImpl<HousingEstatesMapper,
.eq(LandListed::getLandListedId, annoBlocksRel.getLandListedId()));
detail.setLandListed(landListed);
}
Format format = formatService.getOne(Wrappers.<Format>lambdaQuery().eq(Format::getHousingEstateId, housingEstateId));
detail.setFormat(format);
List<Format> format = formatService.list(Wrappers.<Format>lambdaQuery().eq(Format::getHousingEstateId, housingEstateId));
detail.setFormats(format);
return detail;
}
@ -141,15 +152,13 @@ public class HousingEstatesServiceImpl extends ServiceImpl<HousingEstatesMapper,
return baseMapper.selectIPage(page.toPage(), query);
}
private void copyBlocksOriginToBlocks(BlocksOrigin blocksOrigin, HousingDefine housingDefine) {
private void copyBlocksOriginToBlocks(BlocksOrigin blocksOrigin, HousingDefine housingDefine,Long formatId) {
Blocks blocks = new Blocks();
blocks.setHousingEstateId(housingDefine.getHousingEstateId());
blocks.setFormatId(formatId);
blocks.setBlockName(blocksOrigin.getBuildingNo());
blocks.setPreSalePermitNo(blocksOrigin.getPreSaleLicenseNo());
blocks.setStatusCd(Constant.COMMON_STATUS_1000);
blocks.setFormat(housingDefine.getFormat());
blocks.setLargeFormat(housingDefine.getLargeFormat());
blocks.setPropertyType(housingDefine.getPropertyType());
blocksService.save(blocks);
copyHousesOriginToHouses(housingDefine.getBlockId(), blocks.getBlockId());
}

2
air/src/main/java/com/air/housing/vo/HousingEstatesDetail.java

@ -19,7 +19,7 @@ public class HousingEstatesDetail {
HousingEstates housingEstates;
Format format;
List<Format> formats;
LandListed landListed;
}

23
air/src/main/java/com/air/land/service/impl/LandListedServiceImpl.java

@ -6,11 +6,9 @@ import com.air.applets.dto.LandDto;
import com.air.applets.vo.LandVo;
import com.air.land.dto.LandListedDto;
import com.air.land.dto.LandListedStatisticsDto;
import com.air.land.entity.LandListed;
import com.air.land.entity.LandListedLonLat;
import com.air.land.entity.*;
import com.air.land.mapper.LandListedMapper;
import com.air.land.service.LandListedLonLatService;
import com.air.land.service.LandListedService;
import com.air.land.service.*;
import com.air.land.vo.LandListedAppletsVo;
import com.air.utils.DateUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -19,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cinderella.framework.common.core.exception.BusinessException;
import com.cinderella.framework.common.core.util.R;
import com.cinderella.framework.common.data.mybatis.QueryPage;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFCell;
@ -45,11 +44,19 @@ import java.util.List;
*/
@Slf4j
@Service
@AllArgsConstructor
public class LandListedServiceImpl extends ServiceImpl<LandListedMapper, LandListed> implements LandListedService {
@Autowired
private LandListedLonLatService listedLonLatService;
private LandListedConductEnterpriseService conductEnterpriseService;
private LandListedConstructionPlanService constructionPlanService;
private LandAttachmentService attachmentService;
private AuctionRecordService auctionRecordService;
@Override
public R<Page<LandListedDto>> getLandListedByDate(QueryPage page, LandListedAppletsVo appletsVo) {
Page<LandListedDto> page1 = page.toPage();
@ -151,6 +158,12 @@ public class LandListedServiceImpl extends ServiceImpl<LandListedMapper, LandLis
public boolean removeLandByIds(List<String> landListedIds){
this.removeByIds(landListedIds);
listedLonLatService.remove(Wrappers.<LandListedLonLat>query().lambda().in(LandListedLonLat::getLandListedId,landListedIds));
conductEnterpriseService.remove(Wrappers.<LandListedConductEnterprise>query().lambda()
.in(LandListedConductEnterprise::getLandListedId,landListedIds));
constructionPlanService.remove(Wrappers.<LandListedConstructionPlan>query().lambda()
.in(LandListedConstructionPlan::getLandListedId,landListedIds));
auctionRecordService.remove(Wrappers.<AuctionRecord>query().lambda().in(AuctionRecord::getLandListedId,landListedIds));
attachmentService.remove(Wrappers.<LandAttachment>query().lambda().in(LandAttachment::getLandListedId,landListedIds));
return true;
}

19
air/src/main/java/com/air/land/service/impl/LandToListServiceImpl.java

@ -9,14 +9,10 @@ import com.air.applets.dto.MeasureTrendDto;
import com.air.applets.vo.LandVo;
import com.air.common.Constant;
import com.air.enums.LandListStatusEnum;
import com.air.land.entity.LandListed;
import com.air.land.entity.LandListedLonLat;
import com.air.land.entity.LandToList;
import com.air.land.entity.LandToListLonLat;
import com.air.land.entity.*;
import com.air.land.mapper.LandListedMapper;
import com.air.land.mapper.LandToListMapper;
import com.air.land.service.LandToListLonLatService;
import com.air.land.service.LandToListService;
import com.air.land.service.*;
import com.air.utils.DateUtil;
import com.air.utils.ExcelUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -56,6 +52,12 @@ public class LandToListServiceImpl extends ServiceImpl<LandToListMapper, LandToL
private LandToListLonLatService landToListLonLatService;
private LandToListConductEnterpriseService conductEnterpriseService;
private LandToListConstructionPlanService constructionPlanService;
private LandToListAttachmentService attachmentService;
@Transactional(rollbackFor = Exception.class)
@Override
public R<Boolean> sendLandList(String proposedseriaId) {
@ -118,6 +120,11 @@ public class LandToListServiceImpl extends ServiceImpl<LandToListMapper, LandToL
public boolean removeLandToListByIds(List<String> proposedseriaIds){
this.removeByIds(proposedseriaIds);
landToListLonLatService.remove(Wrappers.<LandToListLonLat>query().lambda().in(LandToListLonLat::getProposedseriaId,proposedseriaIds));
conductEnterpriseService.remove(Wrappers.<LandToListConductEnterprise>query().lambda()
.in(LandToListConductEnterprise::getProposedseriaId,proposedseriaIds));
constructionPlanService.remove(Wrappers.<LandToListConstructionPlan>query().lambda()
.in(LandToListConstructionPlan::getProposedseriaId,proposedseriaIds));
attachmentService.remove(Wrappers.<LandToListAttachment>query().lambda().in(LandToListAttachment::getProposedseriaId,proposedseriaIds));
return true;
}

32
air/src/main/resources/mapper/BlocksMapper.xml

@ -9,28 +9,20 @@
b.housing_estate_id,
b.pre_sale_permit_no,
b.block_name,
b.property_type,
b.large_format,
b.`format`,
f.property_type,
f.large_format,
f.`format`,
b.status_cd,
b.remark
from blocks b
<choose>
<when test="Blocks.largeFormat !=null and Blocks.format == null">
join `format` f ON b.housing_estate_id = f.housing_estate_id and f.large_format = #{Blocks.largeFormat} and f.status_cd=1000 and b.status_cd = 1000
</when>
<when test="Blocks.largeFormat ==null and Blocks.format != null">
join `format` f ON b.housing_estate_id = f.housing_estate_id and f.`format` = #{Blocks.format} and f.status_cd=1000 and b.status_cd = 1000
</when>
<when test="Blocks.largeFormat !=null and Blocks.format != null">
join `format` f ON b.housing_estate_id = f.housing_estate_id and f.`format` = #{Blocks.format} and f.large_format = #{Blocks.largeFormat} and f.status_cd=1000 and b.status_cd = 1000
</when>
<otherwise>
where b.status_cd = 1000
</otherwise>
</choose>
and b.housing_estate_id = #{Blocks.housingEstateId}
from blocks b join `format` f ON b.format_id = f.format_id
where b.housing_estate_id = #{Blocks.housingEstateId}
and f.status_cd=1000 and b.status_cd = 1000
<if test="Blocks.largeFormat !=null and Blocks.largeFormat !=''">
and f.large_format = #{Blocks.largeFormat}
</if>
<if test="Blocks.format != null and Blocks.format !=''">
and f.`format` = #{Blocks.format}
</if>
</select>
<select id="getSaleInfo" resultType="com.air.applets.dto.BlocksPreSaleTotalDto">

4
air/src/main/resources/mapper/LandListedMapper.xml

@ -39,7 +39,7 @@
and small_group = #{param.smallGroup}
</if>
</where>
order by anno_id desc
order by land_listed_id desc
</select>
@ -129,7 +129,7 @@
like concat('%',#{landVo.landCode},'%')
</if>
</where>
order by ll.create_date desc
order by ll.land_listed desc
</select>
<select id="appletsCalendarToAnnoDate" resultType="com.air.land.dto.LandListedStatisticsDto">

2
air/src/main/resources/mapper/LandToListMapper.xml

@ -32,7 +32,7 @@
like concat('%',#{landVo.landCode},'%')
</if>
</where>
order by ll.create_date desc
order by ll.proposedseria_id desc
</select>

Loading…
Cancel
Save