Browse Source

修改本地库存旭日图算法

lwx_dev
erdanergou 3 years ago
parent
commit
435316d43f
  1. 46
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java
  2. 2
      src/test/java/com/dreamchaser/depository_manage/InventorySunburstDataTest.java

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

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

2
src/test/java/com/dreamchaser/depository_manage/InventorySunburstDataTest.java

@ -210,7 +210,7 @@ public class InventorySunburstDataTest {
double inventorySum = 0.0; double inventorySum = 0.0;
for (InventoryByMTAndDepository item : todayInventoryInfoByDidAndMt for (InventoryByMTAndDepository item : todayInventoryInfoByDidAndMt
) { ) {
inventorySum += (item.getInventory() / 100.0); inventorySum += item.getInventory();
} }
result.put("name", depository.getDname()); result.put("name", depository.getDname());
result.put("id",depository.getId()); result.put("id",depository.getId());

Loading…
Cancel
Save