diff --git a/erp_web/js/pages/materials/in_out.js b/erp_web/js/pages/materials/in_out.js index c9cf57a0..678b0741 100644 --- a/erp_web/js/pages/materials/in_out.js +++ b/erp_web/js/pages/materials/in_out.js @@ -155,7 +155,7 @@ listSubType = "拆卸单"; payTypeTitle = "隐藏"; organUrl = supUrl; - amountNum = "CSD"; + amountNum = "CXD"; } } //初始化系统基础信息 diff --git a/src/main/java/com/jsh/erp/controller/DepotItemController.java b/src/main/java/com/jsh/erp/controller/DepotItemController.java index 05f8d7c4..089e0ba1 100644 --- a/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -162,10 +162,19 @@ public class DepotItemController { BigDecimal prevSum = sumNumber("入库", pid, materialId, monthTime, true).subtract(sumNumber("出库", pid, materialId, monthTime, true)); BigDecimal InSum = sumNumber("入库", pid, materialId, monthTime, false); BigDecimal OutSum = sumNumber("出库", pid, materialId, monthTime, false); + // +组装(组合件)-组装(普通子件)+拆卸(普通子件)-拆卸(组合件) + BigDecimal prevAssembleSum = assembleNumber("组装单","组合件", pid, materialId, monthTime, true) + .subtract(assembleNumber("组装单","普通子件", pid, materialId, monthTime, true)) + .add(assembleNumber("拆卸单","普通子件", pid, materialId, monthTime, true)) + .subtract(assembleNumber("拆卸单","组合件", pid, materialId, monthTime, true)); + BigDecimal notPrevAssembleSum = assembleNumber("组装单","组合件", pid, materialId, monthTime, false) + .subtract(assembleNumber("组装单","普通子件", pid, materialId, monthTime, false)) + .add(assembleNumber("拆卸单","普通子件", pid, materialId, monthTime, false)) + .subtract(assembleNumber("拆卸单","组合件", pid, materialId, monthTime, false)); item.put("MaterialId", di.getMaterialid() == null ? "" : di.getMaterialid()); item.put("MaterialName", di.getMname()); item.put("MaterialModel", di.getMmodel()); - item.put("thisSum", prevSum.add(InSum).subtract(OutSum)); + item.put("thisSum", prevSum.add(InSum).subtract(OutSum).add(prevAssembleSum).add(notPrevAssembleSum)); dataArray.add(item); } } @@ -735,6 +744,19 @@ public class DepotItemController { return sumNumber; } + public BigDecimal assembleNumber(String subType, String mType, Integer ProjectId, Long MId, String MonthTime, Boolean isPrev) { + BigDecimal assembleNumber = BigDecimal.ZERO; + try { + BigDecimal sum = depotItemService.findAssembleByType(subType, mType, ProjectId, MId, MonthTime, isPrev); + if(sum != null) { + assembleNumber = sum; + } + } catch (Exception e) { + e.printStackTrace(); + } + return assembleNumber; + } + /** * 价格合计 * diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java index 35180b82..94125578 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java @@ -109,6 +109,20 @@ public interface DepotItemMapperEx { @Param("MId") Long MId, @Param("MonthTime") String MonthTime); + BigDecimal findAssembleIsPrev( + @Param("subType") String subType, + @Param("mType") String mType, + @Param("ProjectId") Integer ProjectId, + @Param("MId") Long MId, + @Param("MonthTime") String MonthTime); + + BigDecimal findAssembleIsNotPrev( + @Param("subType") String subType, + @Param("mType") String mType, + @Param("ProjectId") Integer ProjectId, + @Param("MId") Long MId, + @Param("MonthTime") String MonthTime); + BigDecimal buyOrSaleNumber( @Param("type") String type, @Param("subType") String subType, diff --git a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index c7b6a23d..98bf5fe1 100644 --- a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -214,6 +214,14 @@ public class DepotItemService { } } + public BigDecimal findAssembleByType(String subType, String mType, Integer ProjectId, Long MId, String MonthTime, Boolean isPrev) { + if (isPrev) { + return depotItemMapperEx.findAssembleIsPrev(subType, mType, ProjectId, MId, MonthTime); + } else { + return depotItemMapperEx.findAssembleIsNotPrev(subType, mType, ProjectId, MId, MonthTime); + } + } + public BigDecimal buyOrSale(String type, String subType, Long MId, String MonthTime, String sumType) { if (SUM_TYPE.equals(sumType)) { return depotItemMapperEx.buyOrSaleNumber(type, subType, MId, MonthTime, sumType); diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 0341d2a2..9633254c 100644 --- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -296,6 +296,29 @@ and ifnull(di.delete_Flag,'0') !='1' + + + +