优化商品库存报表的查询逻辑

This commit is contained in:
季圣华
2022-05-31 00:19:41 +08:00
parent e8fdc83994
commit ad4b2265d1
5 changed files with 59 additions and 10 deletions

View File

@@ -2,6 +2,7 @@ package com.jsh.erp.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jsh.erp.datasource.entities.MaterialInitialStockWithMaterial;
import com.jsh.erp.datasource.entities.MaterialVo4Unit;
import com.jsh.erp.datasource.entities.Unit;
import com.jsh.erp.service.depot.DepotService;
@@ -591,6 +592,11 @@ public class MaterialController {
depotList.add(object.getLong("id"));
}
}
Map<Long, BigDecimal> initialStockMap = new HashMap<>();
List<MaterialInitialStockWithMaterial> initialStockList = materialService.getInitialStockWithMaterial(depotList);
for (MaterialInitialStockWithMaterial mism: initialStockList) {
initialStockMap.put(mism.getMaterialId(), mism.getNumber());
}
List<MaterialVo4Unit> dataList = materialService.getListWithStock(depotList, idList, StringUtil.toNull(materialParam), zeroStock,
StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage-1)*pageSize, pageSize);
int total = materialService.getListWithStockCount(depotList, idList, StringUtil.toNull(materialParam), zeroStock);
@@ -598,7 +604,9 @@ public class MaterialController {
map.put("total", total);
map.put("currentStock", materialVo4Unit.getCurrentStock());
map.put("currentStockPrice", materialVo4Unit.getCurrentStockPrice());
//存放数据json数组
for(MaterialVo4Unit item: dataList) {
item.setInitialStock(initialStockMap.get(item.getId()));
}
map.put("rows", dataList);
res.code = 200;
res.data = map;