|
|
|
@ -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; |
|
|
|
@ -47,7 +48,7 @@ public class DepositoryServiceImpl implements DepositoryService { |
|
|
|
* @return 影响条数 |
|
|
|
*/ |
|
|
|
@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 dnamePinYin = WordUtil.getPinYinHeadChar(dname); |
|
|
|
@ -61,12 +62,12 @@ public class DepositoryServiceImpl implements DepositoryService { |
|
|
|
List<Depository> condition = depositoryMapper.findDepositoryByCondition(temp); |
|
|
|
// 公司编号
|
|
|
|
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 = ""; |
|
|
|
// 部门编号
|
|
|
|
if (!"".equals(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); |
|
|
|
@ -98,7 +99,7 @@ public class DepositoryServiceImpl implements DepositoryService { |
|
|
|
// 部门编号
|
|
|
|
if (!"".equals(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); |
|
|
|
} |
|
|
|
// 获取父仓库编码
|
|
|
|
@ -132,7 +133,7 @@ public class DepositoryServiceImpl implements DepositoryService { |
|
|
|
* @return 影响条数 |
|
|
|
*/ |
|
|
|
@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; |
|
|
|
if (map.containsKey("size")) { |
|
|
|
size = ObjectFormatUtil.toInteger(map.get("size")); |
|
|
|
@ -150,7 +151,7 @@ public class DepositoryServiceImpl implements DepositoryService { |
|
|
|
List<Depository> list = depositoryMapper.findDepositoryByCondition(map); |
|
|
|
for (Depository depository : list) { |
|
|
|
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()); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -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) { |
|
|
|
|