修改园区管理bug
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
2025-07-30 16:06:47 +08:00
parent f0beb7be5e
commit 17f342ed76
8 changed files with 71 additions and 81 deletions

View File

@@ -66,7 +66,8 @@ public class TbCommunityController extends BaseController {
LoginUser loginUser = LoginHelper.getLoginUser(); LoginUser loginUser = LoginHelper.getLoginUser();
Assert.notNull(loginUser, "获取账户信息失败!"); Assert.notNull(loginUser, "获取账户信息失败!");
Assert.notEmpty(loginUser.getTenantId(), "获取租户信息失败"); Assert.notEmpty(loginUser.getTenantId(), "获取租户信息失败");
return R.ok(tbCommunityService.tree(level, loginUser.getTenantId())); List<TreeNode<Long>> tree = tbCommunityService.tree(level, loginUser.getTenantId());
return R.ok(tree);
} }

View File

@@ -27,11 +27,10 @@ public class TbFloorBo extends BaseEntity {
private Long id; private Long id;
/** /**
* 单元编码 * 建筑编码
*/ */
@NotNull(message = "单元编码不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "建筑编码不能为空", groups = { AddGroup.class, EditGroup.class })
private Long unitId; private Long buildingId;
/** /**
* 楼层数名称 * 楼层数名称
*/ */

View File

@@ -52,7 +52,7 @@ public class TbVisitorManagementBo extends BaseEntity {
@NotBlank(message = "拜访事由不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "拜访事由不能为空", groups = { AddGroup.class, EditGroup.class })
private String visitingReason; private String visitingReason;
@NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class }) //@NotNull(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer type; private Integer type;
/** /**

View File

@@ -1,19 +1,15 @@
package org.dromara.property.mapper; package org.dromara.property.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.property.domain.MachineMaintainTaskDetail; import org.dromara.property.domain.MachineMaintainTaskDetail;
import org.dromara.property.domain.vo.MachineMaintainTaskDetailVo; import org.dromara.property.domain.vo.MachineMaintainTaskDetailVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/** /**
* 设备保养任务明细Mapper接口 * 保养明细Mapper接口
* *
* @author mocheng * @author mocheng
* @date 2025-07-16 * @date 2025-07-30
*/ */
@Mapper public interface MachineMaintainTaskDetailMapper extends BaseMapperPlus<MachineMaintainTaskDetail, MachineMaintainTaskDetailVo> {
public interface MachineMaintainTaskDetailMapper extends MPJBaseMapper<MachineMaintainTaskDetail> {
} }

View File

@@ -1,9 +1,5 @@
package org.dromara.property.service.impl; package org.dromara.property.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -13,7 +9,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.property.domain.MachineMaintainTask;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.property.domain.bo.MachineMaintainTaskDetailBo; import org.dromara.property.domain.bo.MachineMaintainTaskDetailBo;
import org.dromara.property.domain.vo.MachineMaintainTaskDetailVo; import org.dromara.property.domain.vo.MachineMaintainTaskDetailVo;
@@ -26,10 +21,10 @@ import java.util.Map;
import java.util.Collection; import java.util.Collection;
/** /**
* 设备保养任务明细Service业务层处理 * 保养明细Service业务层处理
* *
* @author mocheng * @author mocheng
* @date 2025-07-16 * @date 2025-07-30
*/ */
@Slf4j @Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@@ -39,70 +34,66 @@ public class MachineMaintainTaskDetailServiceImpl implements IMachineMaintainTas
private final MachineMaintainTaskDetailMapper baseMapper; private final MachineMaintainTaskDetailMapper baseMapper;
/** /**
* 查询设备保养任务明细 * 查询保养明细
* *
* @param id 主键 * @param id 主键
* @return 设备保养任务明细 * @return 保养明细
*/ */
@Override @Override
public MachineMaintainTaskDetailVo queryById(Long id){ public MachineMaintainTaskDetailVo queryById(Long id){
MachineMaintainTaskDetail machineMaintainTaskDetail = baseMapper.selectById(id); return baseMapper.selectVoById(id);
MachineMaintainTaskDetailVo machineMaintainTaskDetailVo = BeanUtil.copyProperties(machineMaintainTaskDetail, MachineMaintainTaskDetailVo.class);
return machineMaintainTaskDetailVo;
} }
/** /**
* 分页查询设备保养任务明细列表 * 分页查询保养明细列表
* *
* @param bo 查询条件 * @param bo 查询条件
* @param pageQuery 分页参数 * @param pageQuery 分页参数
* @return 设备保养任务明细分页列表 * @return 保养明细分页列表
*/ */
@Override @Override
public TableDataInfo<MachineMaintainTaskDetailVo> queryPageList(MachineMaintainTaskDetailBo bo, PageQuery pageQuery) { public TableDataInfo<MachineMaintainTaskDetailVo> queryPageList(MachineMaintainTaskDetailBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<MachineMaintainTaskDetail> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<MachineMaintainTaskDetail> lqw = buildQueryWrapper(bo);
IPage<MachineMaintainTaskDetailVo> result = baseMapper.selectJoinPage(pageQuery.build(),MachineMaintainTaskDetailVo.class, lqw); Page<MachineMaintainTaskDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
/** /**
* 查询符合条件的设备保养任务明细列表 * 查询符合条件的保养明细列表
* *
* @param bo 查询条件 * @param bo 查询条件
* @return 设备保养任务明细列表 * @return 保养明细列表
*/ */
@Override @Override
public List<MachineMaintainTaskDetailVo> queryList(MachineMaintainTaskDetailBo bo) { public List<MachineMaintainTaskDetailVo> queryList(MachineMaintainTaskDetailBo bo) {
MPJLambdaWrapper<MachineMaintainTaskDetail> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<MachineMaintainTaskDetail> lqw = buildQueryWrapper(bo);
return baseMapper.selectJoinList(MachineMaintainTaskDetailVo.class, lqw); return baseMapper.selectVoList(lqw);
} }
private MPJLambdaWrapper<MachineMaintainTaskDetail> buildQueryWrapper(MachineMaintainTaskDetailBo bo) { private LambdaQueryWrapper<MachineMaintainTaskDetail> buildQueryWrapper(MachineMaintainTaskDetailBo bo) {
return new MPJLambdaWrapper<MachineMaintainTaskDetail>() Map<String, Object> params = bo.getParams();
.orderByAsc(MachineMaintainTaskDetail::getId) LambdaQueryWrapper<MachineMaintainTaskDetail> lqw = Wrappers.lambdaQuery();
.eq(bo.getTaskId() != null, MachineMaintainTaskDetail::getTaskId, bo.getTaskId()) lqw.orderByAsc(MachineMaintainTaskDetail::getId);
.eq(bo.getMachineId() != null, MachineMaintainTaskDetail::getMachineId, bo.getMachineId()) lqw.eq(bo.getTaskId() != null, MachineMaintainTaskDetail::getTaskId, bo.getTaskId());
.eq(StringUtils.isNotBlank(bo.getSendFlag()), MachineMaintainTaskDetail::getSendFlag, bo.getSendFlag()) lqw.eq(bo.getMachineId() != null, MachineMaintainTaskDetail::getMachineId, bo.getMachineId());
.eq(bo.getSortNumber() != null, MachineMaintainTaskDetail::getSortNumber, bo.getSortNumber()) lqw.eq(StringUtils.isNotBlank(bo.getSendFlag()), MachineMaintainTaskDetail::getSendFlag, bo.getSendFlag());
.eq(StringUtils.isNotBlank(bo.getState()), MachineMaintainTaskDetail::getState, bo.getState()) lqw.eq(bo.getSortNumber() != null, MachineMaintainTaskDetail::getSortNumber, bo.getSortNumber());
.eq(StringUtils.isNotBlank(bo.getSearchValue()), MachineMaintainTaskDetail::getSearchValue, bo.getSearchValue()) lqw.eq(StringUtils.isNotBlank(bo.getState()), MachineMaintainTaskDetail::getState, bo.getState());
.selectAll(MachineMaintainTaskDetail.class) lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), MachineMaintainTaskDetail::getSearchValue, bo.getSearchValue());
.select(MachineMaintainTask::getMaintainTaskNo) return lqw;
.leftJoin(MachineMaintainTask.class, MachineMaintainTask::getId, MachineMaintainTaskDetail::getTaskId);
} }
/** /**
* 新增设备保养任务明细 * 新增保养明细
* *
* @param bo 设备保养任务明细 * @param bo 保养明细
* @return 是否新增成功 * @return 是否新增成功
*/ */
@Override @Override
public Boolean insertByBo(MachineMaintainTaskDetailBo bo) { public Boolean insertByBo(MachineMaintainTaskDetailBo bo) {
MachineMaintainTaskDetail add = MapstructUtils.convert(bo, MachineMaintainTaskDetail.class); MachineMaintainTaskDetail add = MapstructUtils.convert(bo, MachineMaintainTaskDetail.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = this.insertByBo(bo); boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
} }
@@ -110,16 +101,16 @@ public class MachineMaintainTaskDetailServiceImpl implements IMachineMaintainTas
} }
/** /**
* 修改设备保养任务明细 * 修改保养明细
* *
* @param bo 设备保养任务明细 * @param bo 保养明细
* @return 是否修改成功 * @return 是否修改成功
*/ */
@Override @Override
public Boolean updateByBo(MachineMaintainTaskDetailBo bo) { public Boolean updateByBo(MachineMaintainTaskDetailBo bo) {
MachineMaintainTaskDetail update = MapstructUtils.convert(bo, MachineMaintainTaskDetail.class); MachineMaintainTaskDetail update = MapstructUtils.convert(bo, MachineMaintainTaskDetail.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
return baseMapper.updateById(update)>0; return baseMapper.updateById(update) > 0;
} }
/** /**
@@ -130,7 +121,7 @@ public class MachineMaintainTaskDetailServiceImpl implements IMachineMaintainTas
} }
/** /**
* 校验并批量删除设备保养任务明细信息 * 校验并批量删除保养明细信息
* *
* @param ids 待删除的主键集合 * @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验 * @param isValid 是否进行有效性校验

View File

@@ -1,5 +1,6 @@
package org.dromara.property.service.impl; package org.dromara.property.service.impl;
import cn.hutool.core.util.IdUtil;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -92,6 +93,7 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(ServiceWorkOrdersTypeBo bo) { public Boolean insertByBo(ServiceWorkOrdersTypeBo bo) {
ServiceWorkOrdersType add = MapstructUtils.convert(bo, ServiceWorkOrdersType.class); ServiceWorkOrdersType add = MapstructUtils.convert(bo, ServiceWorkOrdersType.class);
add.setOrderTypeNo("TD" + IdUtil.getSnowflakeNextIdStr());
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {

View File

@@ -1,6 +1,5 @@
package org.dromara.property.service.impl; package org.dromara.property.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -76,22 +75,22 @@ public class TbCommunityServiceImpl implements ITbCommunityService {
community.addAll(list); community.addAll(list);
} }
} }
//if (level >= 4) {
// List<TbUnitVo> vos = unitService.queryAll();
// if (vos != null && !vos.isEmpty()) {
// List<TreeNode<Long>> list = vos.stream().map(item -> {
// TreeNode<Long> node = new TreeNode<>();
// node.setChildren(new ArrayList<>());
// node.setCode(item.getId());
// node.setLabel(item.getUnitName());
// node.setParentCode(item.getBuildingId());
// node.setLevel(3);
// return node;
// }).toList();
// community.addAll(list);
// }
//}
if (level >= 3) { if (level >= 3) {
List<TbUnitVo> vos = unitService.queryAll();
if (vos != null && !vos.isEmpty()) {
List<TreeNode<Long>> list = vos.stream().map(item -> {
TreeNode<Long> node = new TreeNode<>();
node.setChildren(new ArrayList<>());
node.setCode(item.getId());
node.setLabel(item.getUnitName());
node.setParentCode(item.getBuildingId());
node.setLevel(3);
return node;
}).toList();
community.addAll(list);
}
}
if (level >= 4) {
List<TbFloorVo> vos = floorService.queryAll(); List<TbFloorVo> vos = floorService.queryAll();
if (vos != null && !vos.isEmpty()) { if (vos != null && !vos.isEmpty()) {
List<TreeNode<Long>> list = vos.stream().map(item -> { List<TreeNode<Long>> list = vos.stream().map(item -> {
@@ -99,15 +98,15 @@ public class TbCommunityServiceImpl implements ITbCommunityService {
node.setChildren(new ArrayList<>()); node.setChildren(new ArrayList<>());
node.setCode(item.getId()); node.setCode(item.getId());
node.setLabel(item.getFloorName()); node.setLabel(item.getFloorName());
node.setParentCode(item.getUnitId()); node.setParentCode(item.getBuildingId());
node.setLevel(4); node.setLevel(3);
return node; return node;
}).toList(); }).toList();
community.addAll(list); community.addAll(list);
} }
} }
if (level >= 5) { if (level >= 4) {
List<TbRoomVo> vos = roomService.queryAll(); List<TbRoomVo> vos = roomService.queryAll();
if (vos != null && !vos.isEmpty()) { if (vos != null && !vos.isEmpty()) {
List<TreeNode<Long>> list = vos.stream().map(item -> { List<TreeNode<Long>> list = vos.stream().map(item -> {
@@ -116,7 +115,7 @@ public class TbCommunityServiceImpl implements ITbCommunityService {
node.setCode(item.getId()); node.setCode(item.getId());
node.setLabel(item.getRoomNumber()); node.setLabel(item.getRoomNumber());
node.setParentCode(item.getFloorId()); node.setParentCode(item.getFloorId());
node.setLevel(5); node.setLevel(4);
return node; return node;
}).toList(); }).toList();
community.addAll(list); community.addAll(list);

View File

@@ -12,9 +12,10 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.property.domain.TbFloor; import org.dromara.property.domain.TbFloor;
import org.dromara.property.domain.bo.TbFloorBo; import org.dromara.property.domain.bo.TbFloorBo;
import org.dromara.property.domain.vo.TbBuildingVo;
import org.dromara.property.domain.vo.TbFloorVo; import org.dromara.property.domain.vo.TbFloorVo;
import org.dromara.property.domain.vo.TbUnitVo;
import org.dromara.property.mapper.TbFloorMapper; import org.dromara.property.mapper.TbFloorMapper;
import org.dromara.property.service.ITbBuildingService;
import org.dromara.property.service.ITbFloorService; import org.dromara.property.service.ITbFloorService;
import org.dromara.property.service.ITbUnitService; import org.dromara.property.service.ITbUnitService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -37,6 +38,7 @@ public class TbFloorServiceImpl implements ITbFloorService {
private final TbFloorMapper baseMapper; private final TbFloorMapper baseMapper;
private final ITbUnitService tbUnitService; private final ITbUnitService tbUnitService;
private final ITbBuildingService iTbBuildingService;
/** /**
* 查询楼层 * 查询楼层
@@ -81,7 +83,7 @@ public class TbFloorServiceImpl implements ITbFloorService {
lqw.orderByAsc(TbFloor::getId); lqw.orderByAsc(TbFloor::getId);
lqw.like(StringUtils.isNotBlank(bo.getFloorName()), TbFloor::getFloorName, bo.getFloorName()); lqw.like(StringUtils.isNotBlank(bo.getFloorName()), TbFloor::getFloorName, bo.getFloorName());
lqw.eq(bo.getFloorNumber() != null, TbFloor::getFloorNumber, bo.getFloorNumber()); lqw.eq(bo.getFloorNumber() != null, TbFloor::getFloorNumber, bo.getFloorNumber());
lqw.eq(bo.getUnitId() != null, TbFloor::getUnitId, bo.getUnitId()); lqw.eq(bo.getBuildingId()!= null, TbFloor::getUnitId, bo.getBuildingId());
lqw.eq(bo.getFloorType() != null, TbFloor::getFloorType, bo.getFloorType()); lqw.eq(bo.getFloorType() != null, TbFloor::getFloorType, bo.getFloorType());
lqw.eq(bo.getRoomCount() != null, TbFloor::getRoomCount, bo.getRoomCount()); lqw.eq(bo.getRoomCount() != null, TbFloor::getRoomCount, bo.getRoomCount());
lqw.eq(bo.getFloorHeight() != null, TbFloor::getFloorHeight, bo.getFloorHeight()); lqw.eq(bo.getFloorHeight() != null, TbFloor::getFloorHeight, bo.getFloorHeight());
@@ -98,19 +100,19 @@ public class TbFloorServiceImpl implements ITbFloorService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(TbFloorBo bo) { public Boolean insertByBo(TbFloorBo bo) {
// 验证单元是否存在 // 验证单元是否存在
TbUnitVo tbUnitVo = tbUnitService.queryById(bo.getUnitId()); TbBuildingVo tbBuildingVo = iTbBuildingService.queryById(bo.getBuildingId());
Assert.notNull(tbUnitVo, "单元:{},不存在。", bo.getUnitId()); Assert.notNull(tbBuildingVo, "建筑:{},不存在。", tbBuildingVo);
// 验证同一单元楼层是否已经存在 // 验证同一单元楼层是否已经存在
LambdaQueryWrapper<TbFloor> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<TbFloor> lqw = Wrappers.lambdaQuery();
lqw.eq(TbFloor::getUnitId, bo.getUnitId()) lqw.eq(TbFloor::getBuildingId, bo.getBuildingId())
.eq(TbFloor::getFloorNumber, bo.getFloorNumber()); .eq(TbFloor::getFloorNumber, bo.getFloorNumber());
boolean numberExists = baseMapper.selectCount(lqw) > 0; boolean numberExists = baseMapper.selectCount(lqw) > 0;
Assert.isFalse(numberExists, "单元:{},楼层:{}已存在。", bo.getUnitId(), bo.getFloorNumber()); Assert.isFalse(numberExists, "单元:{},建筑:{}已存在。", bo.getBuildingId(), bo.getFloorNumber());
TbFloor add = MapstructUtils.convert(bo, TbFloor.class); TbFloor add = MapstructUtils.convert(bo, TbFloor.class);
add.setCommunityId(tbUnitVo.getCommunityId()); add.setCommunityId(tbBuildingVo.getCommunityId());
add.setBuildingId(tbUnitVo.getBuildingId()); add.setBuildingId(tbBuildingVo.getId());
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
Assert.isTrue(flag, "新增楼层失败"); Assert.isTrue(flag, "新增楼层失败");