Browse Source

修改不同权限部门看到的可视化界面

lwx_dev
erdanergou 3 years ago
parent
commit
691e33684d
  1. 34
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java
  2. 8
      src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java
  3. 70
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java
  4. 9
      src/test/java/com/dreamchaser/depository_manage/OtherTest.java

34
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java

@ -1,6 +1,7 @@
package com.dreamchaser.depository_manage.controller;
import com.alibaba.excel.util.ListUtils;
import com.dreamchaser.depository_manage.config.PublicConfig;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.*;
@ -383,7 +384,12 @@ public class DepositoryController {
show_weekday.add("周日");
// 获取各仓库名称以及id
Map<String, Integer> depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
Map<String, Integer> depositoryAllNameAndId = new HashMap<>();
if (PublicConfig.roleAdminorgList.contains(userByPort.getMaindeparment())) {
depositoryAllNameAndId = depositoryService.findAllDepositoryNameAndId();
} else {
depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
}
Iterator it = depositoryAllNameAndId.keySet().iterator();
@ -426,8 +432,7 @@ public class DepositoryController {
show_data.putAll((Map<?, ?>) result);
}
depository_data.put("data", show_data);
}
else {
} else {
// 定义线程
int threadSize = depositoryAllNameAndId.size();
ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize));
@ -487,8 +492,12 @@ public class DepositoryController {
show_weekday.add("周日");
// 获取各仓库名称以及id
Map<String, Integer> depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
Map<String, Integer> depositoryAllNameAndId = new HashMap<>();
if (PublicConfig.roleAdminorgList.contains(userByPort.getMaindeparment())) {
depositoryAllNameAndId = depositoryService.findAllDepositoryNameAndId();
} else {
depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
}
Map<String, Object> depository_data = new HashMap<>();
depository_data.put("week", show_weekday);
if ("0".equals(type)) {
@ -529,7 +538,12 @@ public class DepositoryController {
show_weekday.add("周日");
// 获取各仓库名称以及id
Map<String, Integer> depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
Map<String, Integer> depositoryAllNameAndId = new HashMap<>();
if (PublicConfig.roleAdminorgList.contains(userByPort.getMaindeparment())) {
depositoryAllNameAndId = depositoryService.findAllDepositoryNameAndId();
} else {
depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
}
int threadSize = 10;
ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize));
@ -846,7 +860,6 @@ public class DepositoryController {
}
/**
* 查找仓库内是否有物品
*
@ -1212,7 +1225,12 @@ public class DepositoryController {
* @return
*/
Map<Object, Object> getBarChartData(UserByPort userByPort) {
Map<String, Integer> depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
Map<String, Integer> depositoryAllNameAndId = new HashMap<>();
if (PublicConfig.roleAdminorgList.contains(userByPort.getMaindeparment())) {
depositoryAllNameAndId = depositoryService.findAllDepositoryNameAndId();
} else {
depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
}
int threadSize = 2;
ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize));

8
src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java

@ -120,11 +120,17 @@ public interface DepositoryService {
/**
* 查询所有仓库名称即对应编号
* 查询当前用户所拥有的所有仓库名称即对应编号
* @return
*/
Map<String,Integer> findDepositoryAllNameAndId(UserByPort user);
/**
* 查询所有仓库名称即对应编号
* @return
*/
Map<String,Integer> findAllDepositoryNameAndId();
/**
* 根据名称或编码获取当前仓库库存容量

70
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java

@ -3,6 +3,7 @@ package com.dreamchaser.depository_manage.service.impl;
import cn.hutool.core.lang.Snowflake;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PublicConfig;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.mapper.*;
import com.dreamchaser.depository_manage.pojo.InventoryByDname;
@ -280,6 +281,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 查询顶级仓库
*
* @return
*/
@Override
@ -303,7 +305,6 @@ public class DepositoryServiceImpl implements DepositoryService {
}
/**
* 获取本部门以及个人管理仓库的名称和id
*
@ -316,46 +317,77 @@ public class DepositoryServiceImpl implements DepositoryService {
Integer adminorg = user.getMaindeparment();
// 获取当前用户所在部门管理的仓库
List<Depository> depositoryByAdminorg = depositoryMapper.findDepositoryByAdminorg(adminorg.toString());
List<Integer> depositoryParentIdList = new ArrayList<>();
List<Depository> depositoryList = new ArrayList<>();
// 仓库id列表
// 添加到id列表
for (Depository depository : depositoryByAdminorg) {
int parentId = depository.getParentId();
Integer id = depository.getId();
if (parentId != 0) {
List<Depository> depositoryByParent = depositoryMapper.findDepositoryByParent(id);
if (depositoryByParent.size() == 0) {
map.put(depository.getDname() + "," + depository.getCode(), id);
} else {
if (depository.getAdminorg().equals(adminorg.toString())) {
for (Depository d : depositoryByParent) {
map.put(d.getDname() + "," + d.getCode(), d.getId());
}
depositoryList.add(depository);
depositoryParentIdList.add(parentId);
}
}
for (Depository depository : depositoryList
) {
Integer id = depository.getId();
if (!depositoryParentIdList.contains(id)) {
map.put(depository.getDname() + "," + depository.getCode(), id);
}
}
// 获取当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleMapper.findDepositoryAndRole(user.getId());
List<RoleAndDepository> roleAndDepositoryList = new ArrayList<>();
depositoryParentIdList = new ArrayList<>();
for (RoleAndDepository roleAndDepository : depositoryAndRole) {
int parentId = roleAndDepository.getParentId();
Integer id = roleAndDepository.getDepositoryId();
if (parentId != 0) {
List<Depository> depositoryByParent = depositoryMapper.findDepositoryByParent(id);
if (depositoryByParent.size() == 0) {
map.put(roleAndDepository.getDepositoryName() + "," + roleAndDepository.getDepositoryCode(), id);
} else {
if (roleAndDepository.getDepositoryAdminorg().equals(adminorg.toString())) {
for (Depository d : depositoryByParent) {
map.put(d.getDname() + "," + d.getCode(), d.getId());
roleAndDepositoryList.add(roleAndDepository);
depositoryParentIdList.add(parentId);
}
}
for (RoleAndDepository roleAndDepository : roleAndDepositoryList) {
Integer id = roleAndDepository.getDepositoryId();
if (!depositoryParentIdList.contains(id)) {
map.put(roleAndDepository.getDepositoryName() + "," + roleAndDepository.getDepositoryCode(), id);
}
}
return map;
}
/**
* 查询所有仓库名称即对应编号
*
* @return
*/
@Override
public Map<String, Integer> findAllDepositoryNameAndId() {
List<Depository> depositoryAll = depositoryMapper.findDepositoryAll();
Map<String, Integer> map = new HashMap<>();
List<Integer> depositoryParentIdList = new ArrayList<>();
List<Depository> depositoryList = new ArrayList<>();
for (Depository depository : depositoryAll
) {
int parentId = depository.getParentId();
if (parentId != 0) {
depositoryList.add(depository);
depositoryParentIdList.add(parentId);
}
}
for (Depository depository : depositoryList
) {
int id = depository.getId();
if (!depositoryParentIdList.contains(id)) {
map.put(depository.getDname() + "," + depository.getCode(), id);
}
}
return map;
}
@ -818,7 +850,6 @@ public class DepositoryServiceImpl implements DepositoryService {
}
// 根据id获取子类
public List<Long> findChildForMaterialTypeByParent(Long mtId) {
List<Long> result = new ArrayList<>();
@ -836,7 +867,6 @@ public class DepositoryServiceImpl implements DepositoryService {
}
private boolean hasDepository(List<Depository> list, Depository o) {
boolean flag = false;
for (Depository depository : list) {

9
src/test/java/com/dreamchaser/depository_manage/OtherTest.java

@ -47,6 +47,9 @@ public class OtherTest {
@Autowired
DepositoryMapper depositoryMapper;
@Autowired
DepositoryService depositoryService;
@Autowired
QyWxOperationService qyWxOperationService;
@ -94,6 +97,12 @@ public class OtherTest {
}
@Test
public void someTest(){
Map<String, Integer> allDepositoryNameAndId = depositoryService.findAllDepositoryNameAndId();
System.out.println(JSONObject.toJSONString(allDepositoryNameAndId));
}
@Test
public void main() {
ExecutorService exs = new ThreadPoolExecutor(10, 100, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<>(10),new ThreadPoolExecutor.DiscardPolicy());

Loading…
Cancel
Save