From 6ad07bc0ea2f00bc676fd6a724de630760544a50 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 07 二月 2025 11:41:21 +0800
Subject: [PATCH] 客户资料 巡检任务业务
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java | 126 +++++++++++++++++++++++++++++++-----------
1 files changed, 93 insertions(+), 33 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
index b006830..2023119 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
@@ -1,19 +1,29 @@
package com.doumee.service.business.impl;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwBuildingMapper;
+import com.doumee.dao.business.YwFloorMapper;
+import com.doumee.dao.business.YwProjectMapper;
import com.doumee.dao.business.model.YwBuilding;
+import com.doumee.dao.business.model.YwFloor;
+import com.doumee.dao.business.model.YwProject;
import com.doumee.service.business.YwBuildingService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.util.Date;
import java.util.List;
/**
@@ -26,16 +36,44 @@
@Autowired
private YwBuildingMapper ywBuildingMapper;
+ @Autowired
+ private YwProjectMapper ywProjectMapper;
+ @Autowired
+ private YwFloorMapper ywFloorMapper;
@Override
- public Integer create(YwBuilding ywBuilding) {
- ywBuildingMapper.insert(ywBuilding);
- return ywBuilding.getId();
+ public Integer create(YwBuilding model) {
+ if(model.getProjectId()==null){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勯」鐩俊鎭紒");
+ }
+ YwProject ywProject = ywProjectMapper.selectById(model.getProjectId());
+ if(ywProject ==null ||Constants.equalsInteger(ywProject.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勯」鐩俊鎭紒");
+ }
+ model.setCreator(model.getLoginUserInfo().getId());
+ model.setIsdeleted(Constants.ZERO);
+ model.setCreateDate(new Date());
+ model.setStatus(Constants.ZERO);
+ model.setEditDate(model.getCreateDate());
+ model.setEditor(model.getCreator());
+ ywBuildingMapper.insert(model);
+ return model.getId();
}
@Override
- public void deleteById(Integer id) {
- ywBuildingMapper.deleteById(id);
+ public void deleteById(Integer id, LoginUserInfo user) {
+ //鏌ヨ妤煎畤涓嬬殑鏁版嵁
+ if(ywFloorMapper.selectCount(new QueryWrapper<YwFloor>().lambda().eq(YwFloor::getIsdeleted,Constants.ZERO)
+ .eq(YwFloor::getBuildingId,id))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"妤煎畤涓瓨鍦ㄦゼ灞傛暟鎹�!");
+ };
+
+ YwBuilding model = new YwBuilding();
+ model.setId(id);
+ model.setEditDate(new Date());
+ model.setEditor(user.getId());
+ model.setIsdeleted(Constants.ONE);
+ ywBuildingMapper.updateById(model);
}
@Override
@@ -45,16 +83,20 @@
}
@Override
- public void deleteByIdInBatch(List<Integer> ids) {
+ public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
if (CollectionUtils.isEmpty(ids)) {
return;
}
- ywBuildingMapper.deleteBatchIds(ids);
+ for(Integer id : ids){
+ this.deleteById(id,user);
+ }
}
@Override
- public void updateById(YwBuilding ywBuilding) {
- ywBuildingMapper.updateById(ywBuilding);
+ public void updateById(YwBuilding model) {
+ model.setEditDate(new Date());
+ model.setEditor(model.getLoginUserInfo().getId());
+ ywBuildingMapper.updateById(model);
}
@Override
@@ -69,7 +111,17 @@
@Override
public YwBuilding findById(Integer id) {
- return ywBuildingMapper.selectById(id);
+ MPJLambdaWrapper<YwBuilding> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(YwBuilding.class )
+ .selectAs(YwProject::getName,YwBuilding::getProjectName)
+ .select(" (select ifnull(sum(y.FEE_AREA),0) from yw_room y where y.ISDELETED = 0 and y.status = 0 and y.IS_INVESTMENT = 1 and y.BUILDING_ID = t.id ) ",YwBuilding::getRoomFeeArea)
+ .select(" (select ifnull(sum(y.RENT_AREA),0) from yw_room y where y.ISDELETED = 0 and y.status = 0 and y.IS_INVESTMENT = 1 and y.BUILDING_ID = t.id ) ",YwBuilding::getRoomRentArea)
+ .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId)
+ .eq(YwBuilding::getId,id)
+ .last(" limit 1 ")
+ ;
+
+ return ywBuildingMapper.selectJoinOne(YwBuilding.class, queryWrapper);
}
@Override
@@ -80,6 +132,7 @@
@Override
public List<YwBuilding> findList(YwBuilding ywBuilding) {
+ ywBuilding.setIsdeleted(Constants.ZERO);
QueryWrapper<YwBuilding> wrapper = new QueryWrapper<>(ywBuilding);
return ywBuildingMapper.selectList(wrapper);
}
@@ -87,66 +140,73 @@
@Override
public PageData<YwBuilding> findPage(PageWrap<YwBuilding> pageWrap) {
IPage<YwBuilding> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<YwBuilding> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<YwBuilding> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(YwBuilding.class )
+ .selectAs(YwProject::getName,YwBuilding::getProjectName)
+ .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId);
Utils.MP.blankToNull(pageWrap.getModel());
+ pageWrap.getModel().setIsdeleted(Constants.ZERO);
+ queryWrapper.select(" (select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id) as roomNum "+
+ ",(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id and a.IS_INVESTMENT=1) as roomRentNum " +
+ ", ( select ifnull(sum(a.RENT_AREA),0) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id ) as manageArea");
if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(YwBuilding::getId, pageWrap.getModel().getId());
+ queryWrapper.eq(YwBuilding::getId, pageWrap.getModel().getId());
}
if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(YwBuilding::getCreator, pageWrap.getModel().getCreator());
+ queryWrapper.eq(YwBuilding::getCreator, pageWrap.getModel().getCreator());
}
if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(YwBuilding::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(YwBuilding::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ queryWrapper.ge(YwBuilding::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.le(YwBuilding::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
}
if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(YwBuilding::getEditor, pageWrap.getModel().getEditor());
+ queryWrapper.eq(YwBuilding::getEditor, pageWrap.getModel().getEditor());
}
if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(YwBuilding::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(YwBuilding::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ queryWrapper.ge(YwBuilding::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.le(YwBuilding::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
}
if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(YwBuilding::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ queryWrapper.eq(YwBuilding::getIsdeleted, pageWrap.getModel().getIsdeleted());
}
if (pageWrap.getModel().getName() != null) {
- queryWrapper.lambda().eq(YwBuilding::getName, pageWrap.getModel().getName());
+ queryWrapper.eq(YwBuilding::getName, pageWrap.getModel().getName());
}
if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(YwBuilding::getRemark, pageWrap.getModel().getRemark());
+ queryWrapper.eq(YwBuilding::getRemark, pageWrap.getModel().getRemark());
}
if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(YwBuilding::getStatus, pageWrap.getModel().getStatus());
+ queryWrapper.eq(YwBuilding::getStatus, pageWrap.getModel().getStatus());
}
if (pageWrap.getModel().getSortnum() != null) {
- queryWrapper.lambda().eq(YwBuilding::getSortnum, pageWrap.getModel().getSortnum());
+ queryWrapper.eq(YwBuilding::getSortnum, pageWrap.getModel().getSortnum());
}
if (pageWrap.getModel().getImgurl() != null) {
- queryWrapper.lambda().eq(YwBuilding::getImgurl, pageWrap.getModel().getImgurl());
+ queryWrapper.eq(YwBuilding::getImgurl, pageWrap.getModel().getImgurl());
}
if (pageWrap.getModel().getCode() != null) {
- queryWrapper.lambda().eq(YwBuilding::getCode, pageWrap.getModel().getCode());
+ queryWrapper.eq(YwBuilding::getCode, pageWrap.getModel().getCode());
}
if (pageWrap.getModel().getAddr() != null) {
- queryWrapper.lambda().eq(YwBuilding::getAddr, pageWrap.getModel().getAddr());
+ queryWrapper.eq(YwBuilding::getAddr, pageWrap.getModel().getAddr());
}
if (pageWrap.getModel().getArea() != null) {
- queryWrapper.lambda().eq(YwBuilding::getArea, pageWrap.getModel().getArea());
+ queryWrapper.eq(YwBuilding::getArea, pageWrap.getModel().getArea());
}
if (pageWrap.getModel().getCqArea() != null) {
- queryWrapper.lambda().eq(YwBuilding::getCqArea, pageWrap.getModel().getCqArea());
+ queryWrapper.eq(YwBuilding::getCqArea, pageWrap.getModel().getCqArea());
}
if (pageWrap.getModel().getRentArea() != null) {
- queryWrapper.lambda().eq(YwBuilding::getRentArea, pageWrap.getModel().getRentArea());
+ queryWrapper.eq(YwBuilding::getRentArea, pageWrap.getModel().getRentArea());
}
if (pageWrap.getModel().getOnFloor() != null) {
- queryWrapper.lambda().eq(YwBuilding::getOnFloor, pageWrap.getModel().getOnFloor());
+ queryWrapper.eq(YwBuilding::getOnFloor, pageWrap.getModel().getOnFloor());
}
if (pageWrap.getModel().getUnderFloor() != null) {
- queryWrapper.lambda().eq(YwBuilding::getUnderFloor, pageWrap.getModel().getUnderFloor());
+ queryWrapper.eq(YwBuilding::getUnderFloor, pageWrap.getModel().getUnderFloor());
}
if (pageWrap.getModel().getProjectId() != null) {
- queryWrapper.lambda().eq(YwBuilding::getProjectId, pageWrap.getModel().getProjectId());
+ queryWrapper.eq(YwBuilding::getProjectId, pageWrap.getModel().getProjectId());
}
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -155,7 +215,7 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
- return PageData.from(ywBuildingMapper.selectPage(page, queryWrapper));
+ return PageData.from(ywBuildingMapper.selectJoinPage(page,YwBuilding.class, queryWrapper));
}
@Override
--
Gitblit v1.9.3