From 69a1b191f02e49b7c8545c3b42744217f0dc6b8e Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 25 Nov 2023 14:47:23 +0800
Subject: [PATCH] 物业公司组织机构关联处理,相关权限限制去除

---
 src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
index 1ab2d13..3a08b29 100644
--- a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
+++ b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
@@ -16,14 +16,21 @@
  */
 package org.springblade.modules.property.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import liquibase.pro.packaged.D;
+import liquibase.pro.packaged.P;
 import org.springblade.modules.property.entity.PropertyCompanyEntity;
 import org.springblade.modules.property.vo.PropertyCompanyVO;
 import org.springblade.modules.property.mapper.PropertyCompanyMapper;
 import org.springblade.modules.property.service.IPropertyCompanyService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.service.IDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
@@ -35,6 +42,9 @@
  */
 @Service
 public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMapper, PropertyCompanyEntity> implements IPropertyCompanyService {
+
+	@Autowired
+	private IDeptService deptService;
 
 	/**
 	 * 自定义分页
@@ -67,4 +77,48 @@
 	public Object getUserByPropertyCompany(PropertyCompanyVO propertyCompany) {
 		return baseMapper.getUserByPropertyCompany(propertyCompany);
 	}
+
+	/**
+	 * 物业公司 自定义新增或修改
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean saveOrUpdatePropertyCompany(PropertyCompanyEntity propertyCompany) {
+		boolean flag = false;
+		Dept dept = new Dept();
+		dept.setDeptName(propertyCompany.getName());
+		dept.setFullName(propertyCompany.getName());
+		// 判断新增还是修改
+		if (null != propertyCompany.getId()){
+			// 修改
+			updateById(propertyCompany);
+			// 修改住址机构信息
+			dept.setId(propertyCompany.getDeptId());
+			flag = deptService.updateById(dept);
+		}else {
+			// 查询父级id
+			QueryWrapper<Dept> wrapper = new QueryWrapper<>();
+			wrapper.eq("is_deleted",0).eq("dept_name","物业公司");
+			Dept parentDept = deptService.getOne(wrapper);
+			dept.setParentId(parentDept.getId());
+			// 新增机构
+			flag = deptService.save(dept);
+			// 新增物业公司
+			propertyCompany.setDeptId(dept.getId());
+			flag = save(propertyCompany);
+		}
+		return flag;
+	}
+
+	/**
+	 * 物业公司 删除
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	@Override
+	public boolean deleteByIds(List<Integer> toIntList) {
+		// 先查询对应的机构id集合
+		List<Long> deptIds = baseMapper.getDeptListByCompanyId(toIntList);
+		// 删除机构,删除物业公司
+		return removeByIds(toIntList) && deptService.removeByIds(deptIds);
+	}
 }

--
Gitblit v1.9.3