Browse Source

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

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

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

@ -1,6 +1,7 @@
package com.dreamchaser.depository_manage.controller; package com.dreamchaser.depository_manage.controller;
import com.alibaba.excel.util.ListUtils; import com.alibaba.excel.util.ListUtils;
import com.dreamchaser.depository_manage.config.PublicConfig;
import com.dreamchaser.depository_manage.entity.*; import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException; import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.*; import com.dreamchaser.depository_manage.pojo.*;
@ -242,7 +243,7 @@ public class DepositoryController {
List<Integer> ids = (List<Integer>) map.get("ids"); List<Integer> ids = (List<Integer>) map.get("ids");
for (Integer integer : ids) { for (Integer integer : ids) {
String id = integer.toString(); String id = integer.toString();
HandlesOtherFunctionalThreadPool.execute(() -> UpdateSonState(id, 3, true, finalUserKey,finalToken)); HandlesOtherFunctionalThreadPool.execute(() -> UpdateSonState(id, 3, true, finalUserKey, finalToken));
} }
return CrudUtil.deleteHandle(depositoryService.changeStateToDeletedByIds(ids), ids.size()); return CrudUtil.deleteHandle(depositoryService.changeStateToDeletedByIds(ids), ids.size());
} else { } else {
@ -296,7 +297,7 @@ public class DepositoryController {
HandlesOtherFunctionalThreadPool.execute(() -> UpdateSonState(id, state, true, finalUserKey, finalToken)); HandlesOtherFunctionalThreadPool.execute(() -> UpdateSonState(id, state, true, finalUserKey, finalToken));
} else { } else {
// 禁用仓库 // 禁用仓库
HandlesOtherFunctionalThreadPool.execute(() -> UpdateSonState(id, state, false, finalUserKey,finalToken)); HandlesOtherFunctionalThreadPool.execute(() -> UpdateSonState(id, state, false, finalUserKey, finalToken));
} }
} }
return CrudUtil.insertHandle(depositoryService.updateDepository(map), 1); return CrudUtil.insertHandle(depositoryService.updateDepository(map), 1);
@ -307,15 +308,15 @@ public class DepositoryController {
* *
* @param parentId * @param parentId
*/ */
public void UpdateSonState(String parentId, Integer state, boolean envelop, String userKey,String token) { public void UpdateSonState(String parentId, Integer state, boolean envelop, String userKey, String token) {
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("parentId", parentId); param.put("parentId", parentId);
// 获取当前仓库所有子仓库 // 获取当前仓库所有子仓库
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryByCondition(param, userKey,token); List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryByCondition(param, userKey, token);
for (Depository depository : depositoryRecordPByCondition) { for (Depository depository : depositoryRecordPByCondition) {
int depositoryId = depository.getId(); int depositoryId = depository.getId();
UpdateSonState(String.valueOf(depositoryId), state, envelop, userKey,token); UpdateSonState(String.valueOf(depositoryId), state, envelop, userKey, token);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("id", depositoryId); map.put("id", depositoryId);
map.put("state", state); map.put("state", state);
@ -383,7 +384,12 @@ public class DepositoryController {
show_weekday.add("周日"); show_weekday.add("周日");
// 获取各仓库名称以及id // 获取各仓库名称以及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(); Iterator it = depositoryAllNameAndId.keySet().iterator();
@ -426,8 +432,7 @@ public class DepositoryController {
show_data.putAll((Map<?, ?>) result); show_data.putAll((Map<?, ?>) result);
} }
depository_data.put("data", show_data); depository_data.put("data", show_data);
} } else {
else {
// 定义线程 // 定义线程
int threadSize = depositoryAllNameAndId.size(); int threadSize = depositoryAllNameAndId.size();
ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize)); ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize));
@ -487,8 +492,12 @@ public class DepositoryController {
show_weekday.add("周日"); show_weekday.add("周日");
// 获取各仓库名称以及id // 获取各仓库名称以及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<>(); Map<String, Object> depository_data = new HashMap<>();
depository_data.put("week", show_weekday); depository_data.put("week", show_weekday);
if ("0".equals(type)) { if ("0".equals(type)) {
@ -529,7 +538,12 @@ public class DepositoryController {
show_weekday.add("周日"); show_weekday.add("周日");
// 获取各仓库名称以及id // 获取各仓库名称以及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; int threadSize = 10;
ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize)); ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize));
@ -841,12 +855,11 @@ public class DepositoryController {
Material materialById = materialService.findMaterialById(Integer.parseInt(mid)); Material materialById = materialService.findMaterialById(Integer.parseInt(mid));
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("depositoryId", materialById.getDepositoryId()); param.put("depositoryId", materialById.getDepositoryId());
List<Depository> depositoryId = depositoryService.findDepositoryByCondition(param, userKey,token); List<Depository> depositoryId = depositoryService.findDepositoryByCondition(param, userKey, token);
return new RestResponse(depositoryId.get(0), 1, 200); return new RestResponse(depositoryId.get(0), 1, 200);
} }
/** /**
* 查找仓库内是否有物品 * 查找仓库内是否有物品
* *
@ -1212,7 +1225,12 @@ public class DepositoryController {
* @return * @return
*/ */
Map<Object, Object> getBarChartData(UserByPort userByPort) { 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; int threadSize = 2;
ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize)); ExecutorService exs = new ThreadPoolExecutor(threadSize, threadSize, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(threadSize));
@ -1499,11 +1517,11 @@ public class DepositoryController {
for (i = days.size() - 1; i > 0; i--) { for (i = days.size() - 1; i > 0; i--) {
// 遍历 Map并计算各仓库的入库数 // 遍历 Map并计算各仓库的入库数
// 获取一段时间内的库存额度 // 获取一段时间内的库存额度
Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i), days.get(i-1), Integer.parseInt(type), val); Double depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(days.get(i), days.get(i - 1), Integer.parseInt(type), val);
drCountbyDrName.add(depositoryRecordByDate1); drCountbyDrName.add(depositoryRecordByDate1);
} }
Collections.reverse(drCountbyDrName); Collections.reverse(drCountbyDrName);
map.put("data",drCountbyDrName); map.put("data", drCountbyDrName);
result.put(val, map); result.put(val, map);
return result; return result;
} }

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

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

82
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 cn.hutool.core.lang.Snowflake;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PublicConfig;
import com.dreamchaser.depository_manage.entity.*; import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.mapper.*; import com.dreamchaser.depository_manage.mapper.*;
import com.dreamchaser.depository_manage.pojo.InventoryByDname; import com.dreamchaser.depository_manage.pojo.InventoryByDname;
@ -47,7 +48,7 @@ public class DepositoryServiceImpl implements DepositoryService {
* @return 影响条数 * @return 影响条数
*/ */
@Override @Override
public Integer insertDepository(Map<String, Object> map, String userKey,String token) { public Integer insertDepository(Map<String, Object> map, String userKey, String token) {
// 获取当前仓库拼音首字母 // 获取当前仓库拼音首字母
String dname = (String) map.get("dname"); String dname = (String) map.get("dname");
String dnamePinYin = WordUtil.getPinYinHeadChar(dname); String dnamePinYin = WordUtil.getPinYinHeadChar(dname);
@ -61,12 +62,12 @@ public class DepositoryServiceImpl implements DepositoryService {
List<Depository> condition = depositoryMapper.findDepositoryByCondition(temp); List<Depository> condition = depositoryMapper.findDepositoryByCondition(temp);
// 公司编号 // 公司编号
Integer cid = ObjectFormatUtil.toInteger(map.get("cid")); Integer cid = ObjectFormatUtil.toInteger(map.get("cid"));
String companyName = LinkInterfaceUtil.getCompany(cid, userKey,token).getName(); String companyName = LinkInterfaceUtil.getCompany(cid, userKey, token).getName();
String adminorgName = ""; String adminorgName = "";
// 部门编号 // 部门编号
if (!"".equals(map.get("adminorg"))) { if (!"".equals(map.get("adminorg"))) {
Integer adminorg = ObjectFormatUtil.toInteger(map.get("adminorg")); Integer adminorg = ObjectFormatUtil.toInteger(map.get("adminorg"));
adminorgName = LinkInterfaceUtil.getCompany(adminorg, userKey,token).getName(); adminorgName = LinkInterfaceUtil.getCompany(adminorg, userKey, token).getName();
} }
// 公司简称 // 公司简称
companyName = WordUtil.getPinYinHeadChar(companyName); companyName = WordUtil.getPinYinHeadChar(companyName);
@ -98,7 +99,7 @@ public class DepositoryServiceImpl implements DepositoryService {
// 部门编号 // 部门编号
if (!"".equals(map.get("adminorg"))) { if (!"".equals(map.get("adminorg"))) {
Integer adminorg = ObjectFormatUtil.toInteger(map.get("adminorg")); Integer adminorg = ObjectFormatUtil.toInteger(map.get("adminorg"));
adminorgName = LinkInterfaceUtil.getCompany(adminorg, userKey,token).getName(); adminorgName = LinkInterfaceUtil.getCompany(adminorg, userKey, token).getName();
adminorgName = WordUtil.getPinYinHeadChar(adminorgName).substring(0, 2); adminorgName = WordUtil.getPinYinHeadChar(adminorgName).substring(0, 2);
} }
// 获取父仓库编码 // 获取父仓库编码
@ -132,7 +133,7 @@ public class DepositoryServiceImpl implements DepositoryService {
* @return 影响条数 * @return 影响条数
*/ */
@Override @Override
public List<Depository> findDepositoryByCondition(Map<String, Object> map, String userKey,String token) { public List<Depository> findDepositoryByCondition(Map<String, Object> map, String userKey, String token) {
Integer size = 10, page = 1; Integer size = 10, page = 1;
if (map.containsKey("size")) { if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size")); size = ObjectFormatUtil.toInteger(map.get("size"));
@ -150,7 +151,7 @@ public class DepositoryServiceImpl implements DepositoryService {
List<Depository> list = depositoryMapper.findDepositoryByCondition(map); List<Depository> list = depositoryMapper.findDepositoryByCondition(map);
for (Depository depository : list) { for (Depository depository : list) {
if (!depository.getAdminorg().isEmpty()) { if (!depository.getAdminorg().isEmpty()) {
Administration company = LinkInterfaceUtil.getCompany(ObjectFormatUtil.toInteger(depository.getAdminorg()), userKey,token); Administration company = LinkInterfaceUtil.getCompany(ObjectFormatUtil.toInteger(depository.getAdminorg()), userKey, token);
depository.setAdminorgName(company.getName()); depository.setAdminorgName(company.getName());
} }
} }
@ -280,6 +281,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/** /**
* 查询顶级仓库 * 查询顶级仓库
*
* @return * @return
*/ */
@Override @Override
@ -303,7 +305,6 @@ public class DepositoryServiceImpl implements DepositoryService {
} }
/** /**
* 获取本部门以及个人管理仓库的名称和id * 获取本部门以及个人管理仓库的名称和id
* *
@ -316,46 +317,77 @@ public class DepositoryServiceImpl implements DepositoryService {
Integer adminorg = user.getMaindeparment(); Integer adminorg = user.getMaindeparment();
// 获取当前用户所在部门管理的仓库 // 获取当前用户所在部门管理的仓库
List<Depository> depositoryByAdminorg = depositoryMapper.findDepositoryByAdminorg(adminorg.toString()); List<Depository> depositoryByAdminorg = depositoryMapper.findDepositoryByAdminorg(adminorg.toString());
List<Integer> depositoryParentIdList = new ArrayList<>();
List<Depository> depositoryList = new ArrayList<>();
// 仓库id列表 // 仓库id列表
// 添加到id列表 // 添加到id列表
for (Depository depository : depositoryByAdminorg) { for (Depository depository : depositoryByAdminorg) {
int parentId = depository.getParentId(); int parentId = depository.getParentId();
Integer id = depository.getId();
if (parentId != 0) { if (parentId != 0) {
List<Depository> depositoryByParent = depositoryMapper.findDepositoryByParent(id); depositoryList.add(depository);
if (depositoryByParent.size() == 0) { depositoryParentIdList.add(parentId);
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());
}
} }
} }
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> depositoryAndRole = roleMapper.findDepositoryAndRole(user.getId());
List<RoleAndDepository> roleAndDepositoryList = new ArrayList<>();
depositoryParentIdList = new ArrayList<>();
for (RoleAndDepository roleAndDepository : depositoryAndRole) { for (RoleAndDepository roleAndDepository : depositoryAndRole) {
int parentId = roleAndDepository.getParentId(); int parentId = roleAndDepository.getParentId();
Integer id = roleAndDepository.getDepositoryId();
if (parentId != 0) { if (parentId != 0) {
List<Depository> depositoryByParent = depositoryMapper.findDepositoryByParent(id); roleAndDepositoryList.add(roleAndDepository);
if (depositoryByParent.size() == 0) { depositoryParentIdList.add(parentId);
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());
} }
} }
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; return map;
} }
@ -818,7 +850,6 @@ public class DepositoryServiceImpl implements DepositoryService {
} }
// 根据id获取子类 // 根据id获取子类
public List<Long> findChildForMaterialTypeByParent(Long mtId) { public List<Long> findChildForMaterialTypeByParent(Long mtId) {
List<Long> result = new ArrayList<>(); List<Long> result = new ArrayList<>();
@ -836,7 +867,6 @@ public class DepositoryServiceImpl implements DepositoryService {
} }
private boolean hasDepository(List<Depository> list, Depository o) { private boolean hasDepository(List<Depository> list, Depository o) {
boolean flag = false; boolean flag = false;
for (Depository depository : list) { for (Depository depository : list) {

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

@ -47,6 +47,9 @@ public class OtherTest {
@Autowired @Autowired
DepositoryMapper depositoryMapper; DepositoryMapper depositoryMapper;
@Autowired
DepositoryService depositoryService;
@Autowired @Autowired
QyWxOperationService qyWxOperationService; 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 @Test
public void main() { public void main() {
ExecutorService exs = new ThreadPoolExecutor(10, 100, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<>(10),new ThreadPoolExecutor.DiscardPolicy()); ExecutorService exs = new ThreadPoolExecutor(10, 100, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<>(10),new ThreadPoolExecutor.DiscardPolicy());

Loading…
Cancel
Save