|
|
|
@ -404,6 +404,7 @@ public class DepositoryServiceImpl implements DepositoryService { |
|
|
|
|
|
|
|
/** |
|
|
|
* 获取当前仓库下的所有可见的子仓库 |
|
|
|
* |
|
|
|
* @param id 当前仓库id |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@ -795,40 +796,69 @@ public class DepositoryServiceImpl implements DepositoryService { |
|
|
|
return toDayInventoryByDNameTest; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 获取当前仓库该类型下的库存数量 |
|
|
|
* |
|
|
|
* @param did 待查询仓库 |
|
|
|
* @param mtId 待查询类型 |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public InventoryByMTAndDepository getTodayInventoryByDidAndMt(Integer did, Long mtId) { |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
map.put("depositoryId", did); |
|
|
|
List<Long> childForMaterialTypeByParent = findChildForMaterialTypeByParent(mtId); |
|
|
|
map.put("mtIdList",childForMaterialTypeByParent); |
|
|
|
// 获取所有子类
|
|
|
|
List<Long> list = findChildForMaterialTypeByParent(mtId); |
|
|
|
map.put("mtIdList", list); |
|
|
|
return depositoryMapper.getTodayInventoryByDidAndMt(map); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 获取当前仓库下各类型目前的库存数量 |
|
|
|
* |
|
|
|
* @param did 待查询仓库 |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<InventoryByMTAndDepository> getTodayInventoryInfoByDidAndMt(Integer did) { |
|
|
|
List<InventoryByMTAndDepository> result = new ArrayList<>(); |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
map.put("depositoryId", did); |
|
|
|
return depositoryMapper.getTodayInventoryByDid(map); |
|
|
|
// 获取所有子类
|
|
|
|
List<MaterialType> materialTypeNoParent = materialTypeMapper.findMaterialTypeNoParent(); |
|
|
|
for (MaterialType materialType : materialTypeNoParent |
|
|
|
) { |
|
|
|
Long oldId = materialType.getOldId(); |
|
|
|
List<Long> list = findChildForMaterialTypeByParent(oldId); |
|
|
|
map.put("mtIdList", list); |
|
|
|
InventoryByMTAndDepository todayInventoryByDidAndMt = depositoryMapper.getTodayInventoryByDidAndMt(map); |
|
|
|
todayInventoryByDidAndMt.setMtId(oldId); |
|
|
|
todayInventoryByDidAndMt.setInventory(todayInventoryByDidAndMt.getInventory() / 100.0); |
|
|
|
result.add(todayInventoryByDidAndMt); |
|
|
|
} |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 根据id获取子类
|
|
|
|
public List<Long> findChildForMaterialTypeByParent(Long mtId) { |
|
|
|
List<Long> result = new ArrayList<>(); |
|
|
|
result.add(mtId); |
|
|
|
List<Long> parentIdList = new ArrayList<>(); |
|
|
|
parentIdList.add(mtId); |
|
|
|
List<Long> parentId = new ArrayList<>(); |
|
|
|
parentId.add(mtId); |
|
|
|
List<MaterialType> materialTypeAll = materialTypeMapper.findMaterialTypeAll(); |
|
|
|
for (MaterialType materialType : materialTypeAll) { |
|
|
|
if (parentIdList.contains(materialType.getParentId())) { |
|
|
|
parentIdList.add(materialType.getOldId()); |
|
|
|
if (parentId.contains(materialType.getParentId())) { |
|
|
|
parentId.add(materialType.getOldId()); |
|
|
|
result.add(materialType.getOldId()); |
|
|
|
} |
|
|
|
} |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 用于获取当前仓库所属部门领导的企业微信id |
|
|
|
* |
|
|
|
* @param depositoryId 待查询仓库id |
|
|
|
* @param userAgent userAgent |
|
|
|
* @return |
|
|
|
|