From 426718fb2310abff70f54962f118f4300ead2408 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期日, 12 一月 2025 11:30:59 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/yunyibao into 2.0.1
---
server/service/src/main/java/com/doumee/service/business/impl/CompanyDepartmentServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++----
1 files changed, 75 insertions(+), 9 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CompanyDepartmentServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CompanyDepartmentServiceImpl.java
index ecff560..b6741d2 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CompanyDepartmentServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CompanyDepartmentServiceImpl.java
@@ -1,6 +1,5 @@
package com.doumee.service.business.impl;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -9,9 +8,9 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.CompanyDepartmentMapper;
+import com.doumee.dao.business.dto.UpdateSortDTO;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.CompanyDepartment;
-import com.doumee.dao.business.model.Member;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.system.vo.DepartmentTree;
@@ -29,7 +28,7 @@
import java.util.Date;
import java.util.List;
-import java.util.UUID;
+import java.util.Objects;
/**
* 浼佷笟淇℃伅琛⊿ervice瀹炵幇
@@ -43,11 +42,13 @@
private CompanyDepartmentMapper companyDepartmentMapper;
@Autowired
private SystemUserMapper systemUserMapper;
+
@Override
public List<CompanyDepartment> departTree(Integer type){
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
MPJLambdaWrapper<CompanyDepartment> queryWrapper = new MPJLambdaWrapper<>();
- queryWrapper.selectAll(Company.class);
- queryWrapper.select("t2.realname",CompanyDepartment::getEditorName);
+ queryWrapper.selectAll(CompanyDepartment.class);
+ queryWrapper.select("t3.realname",CompanyDepartment::getEditorName);
queryWrapper.select("t2.realname",CompanyDepartment::getHeadName);
queryWrapper.select("t2.mobile",CompanyDepartment::getHeadPhone);
queryWrapper.select("t1.name",CompanyDepartment::getParentName);
@@ -58,12 +59,76 @@
queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,CompanyDepartment::getEditor);
queryWrapper.eq(CompanyDepartment::getIsdeleted,Constants.ZERO);
queryWrapper.eq(type!=null,CompanyDepartment::getType,type);
- queryWrapper.orderByAsc(true,"t.sortnum");
+ //濡傛灉鏄紒涓�/鍟嗘埛 鍙煡璇㈣嚜韬粍缁囦笅鐨勬暟鎹�
+ if( !Constants.equalsInteger(type,Constants.ZERO)){
+ queryWrapper.eq(CompanyDepartment::getCompanyId,loginUserInfo.getCompanyId());
+ }else{
+ queryWrapper.eq(CompanyDepartment::getType,type);
+ }
+ queryWrapper.last(" order by t.sortnum asc ");
List<CompanyDepartment> companyList = companyDepartmentMapper.selectJoinList(CompanyDepartment.class,queryWrapper);
DepartmentTree treeBuild = new DepartmentTree(companyList);
companyList = treeBuild.buildTree();
return companyList;
}
+
+
+ @Override
+ public void updateSort(UpdateSortDTO dto) {
+ CompanyDepartment companyDepartment = companyDepartmentMapper.selectById(dto.getId());
+ if(Objects.isNull(companyDepartment)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+
+ List<CompanyDepartment> companyDepartmentPool;
+ if (companyDepartment.getParentId() == null) {
+ companyDepartmentPool = companyDepartmentMapper.selectList(new QueryWrapper<CompanyDepartment>().lambda()
+ .eq(CompanyDepartment::getIsdeleted,Constants.ZERO)
+ .isNull(CompanyDepartment::getParentId)
+ .orderByAsc(CompanyDepartment::getSortnum)
+ );
+ } else {
+ companyDepartmentPool = companyDepartmentMapper.selectList(new QueryWrapper<CompanyDepartment>().lambda()
+ .eq(CompanyDepartment::getIsdeleted,Constants.ZERO)
+ .eq(CompanyDepartment::getParentId,companyDepartment.getParentId())
+ .orderByAsc(CompanyDepartment::getSortnum)
+ );
+ }
+ int currentMenuIndex = 0;
+ for (int i = 0; i < companyDepartmentPool.size(); i++) {
+ if (companyDepartmentPool.get(i).getId().equals(dto.getId())) {
+ currentMenuIndex = i;
+ break;
+ }
+ }
+ // 涓婄Щ
+ if ("top".equals(dto.getDirection())) {
+ if (currentMenuIndex - 1 < 0) {
+ return;
+ }
+ CompanyDepartment preMenu = companyDepartmentPool.get(currentMenuIndex - 1);
+ companyDepartmentPool.remove(currentMenuIndex - 1);
+ companyDepartmentPool.add(currentMenuIndex, preMenu);
+ }
+ // 涓嬬Щ
+ else {
+ if (currentMenuIndex + 1 > companyDepartmentPool.size() - 1) {
+ return;
+ }
+ CompanyDepartment nextMenu = companyDepartmentPool.remove(currentMenuIndex + 1);
+ companyDepartmentPool.add(currentMenuIndex, nextMenu);
+ }
+ for (int i = 0; i < companyDepartmentPool.size(); i++) {
+ companyDepartmentPool.get(i).setSortnum(i);
+ }
+
+ for (CompanyDepartment updCompanyDepartment:companyDepartmentPool) {
+ companyDepartmentMapper.updateById(updCompanyDepartment);
+ }
+
+ }
+
+
@Override
public Integer create(CompanyDepartment company) {
@@ -71,7 +136,7 @@
if(StringUtils.isBlank(company.getName())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- if(company.getType()==null || !(company.getType() ==0 || company.getType() ==1)){
+ if(company.getType()==null || !(company.getType() ==0 || company.getType() ==1 || company.getType() ==2)){
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝缁勭粐绫诲瀷涓嶆纭紝璇锋寜瑕佹眰濉啓~");
}
int type = Constants.ZERO;//榛樿骞冲彴缁勭粐
@@ -247,9 +312,8 @@
//鏇存柊鐨刢ompanyPath
String newName = model.getNamePath().replace(model.getName(),company.getName());
companyDepartmentMapper.update(null,new UpdateWrapper<CompanyDepartment>().lambda()
- .setSql("company_name_path=REPLACE(name_path,'"+ model.getNamePath()+"','"+newName+"')")
+ .setSql("name_path = REPLACE(name_path,'"+ model.getNamePath()+"','"+newName+"')")
.likeRight(CompanyDepartment::getIdPath,model.getIdPath()));
-
}
@@ -362,4 +426,6 @@
QueryWrapper<CompanyDepartment> wrapper = new QueryWrapper<>(companyDepartment);
return companyDepartmentMapper.selectCount(wrapper);
}
+
+
}
--
Gitblit v1.9.3