From ad4b2265d15e03d8fd8637972ca8f4ccd31b7b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Tue, 31 May 2022 00:19:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E6=8A=A5=E8=A1=A8=E7=9A=84=E6=9F=A5=E8=AF=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/MaterialController.java | 10 ++++++- .../MaterialInitialStockWithMaterial.java | 26 +++++++++++++++++++ .../datasource/mappers/MaterialMapperEx.java | 9 ++++--- .../erp/service/material/MaterialService.java | 4 +++ .../resources/mapper_xml/MaterialMapperEx.xml | 20 ++++++++++---- 5 files changed, 59 insertions(+), 10 deletions(-) create mode 100644 jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/MaterialInitialStockWithMaterial.java 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 + + +