diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java index 1dcec1c1..49364deb 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java @@ -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 initialStockMap = new HashMap<>(); + List initialStockList = materialService.getInitialStockWithMaterial(depotList); + for (MaterialInitialStockWithMaterial mism: initialStockList) { + initialStockMap.put(mism.getMaterialId(), mism.getNumber()); + } List 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; diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/MaterialInitialStockWithMaterial.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/MaterialInitialStockWithMaterial.java new file mode 100644 index 00000000..20591ac8 --- /dev/null +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/MaterialInitialStockWithMaterial.java @@ -0,0 +1,26 @@ +package com.jsh.erp.datasource.entities; + +import java.math.BigDecimal; + +public class MaterialInitialStockWithMaterial { + + private Long materialId; + + private BigDecimal number; + + public Long getMaterialId() { + return materialId; + } + + public void setMaterialId(Long materialId) { + this.materialId = materialId; + } + + public BigDecimal getNumber() { + return number; + } + + public void setNumber(BigDecimal number) { + this.number = number; + } +} \ No newline at end of file diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java index 69a801e5..94e51841 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java @@ -1,11 +1,9 @@ package com.jsh.erp.datasource.mappers; -import com.jsh.erp.datasource.entities.AccountHead; -import com.jsh.erp.datasource.entities.Material; -import com.jsh.erp.datasource.entities.MaterialVo4Unit; -import com.jsh.erp.datasource.entities.Unit; +import com.jsh.erp.datasource.entities.*; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; @@ -110,6 +108,9 @@ public interface MaterialMapperEx { @Param("barCodeArray") String [] barCodeArray, @Param("mId") Long mId); + List getInitialStockWithMaterial( + @Param("depotList") List depotList); + List getListWithStock( @Param("depotList") List depotList, @Param("idList") List idList, diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java index 51cd9c5b..03b2de41 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java @@ -1034,6 +1034,10 @@ public class MaterialService { return materialMapperEx.getMaterialByBarCodeAndWithOutMId(barCodeArray, mId); } + public List getInitialStockWithMaterial(List depotList) { + return materialMapperEx.getInitialStockWithMaterial(depotList); + } + public List getListWithStock(List depotList, List idList, String materialParam, Integer zeroStock, String column, String order, Integer offset, Integer rows) { return materialMapperEx.getListWithStock(depotList, idList, materialParam, zeroStock, column, order, offset, rows); diff --git a/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml index b3004c38..df4f2e84 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml @@ -30,6 +30,11 @@ + + + + + - select m.*, me.commodity_unit unitName, mc.name categoryName, me.bar_code, - ifnull(me.purchase_decimal,0) purchase_decimal, - (select ifnull(sum(mis.number),0) from jsh_material_initial_stock mis where mis.material_id = m.id + + +