|
|
|
@ -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) { |
|
|
|
|