From bf8d660367791eeb842ceb9c02bf65819efa2259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Thu, 9 Mar 2023 21:37:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=87=87=E8=B4=AD=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E5=92=8C=E9=94=80=E5=94=AE=E7=BB=9F=E8=AE=A1=E7=9A=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/DepotItemController.java | 34 ++++++++++--------- .../datasource/mappers/DepotItemMapperEx.java | 8 +++-- .../service/depotItem/DepotItemService.java | 26 ++++++++------ .../mapper_xml/DepotItemMapperEx.xml | 24 +++++++++++++ 4 files changed, 63 insertions(+), 29 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java index afe76342..8dd7ecc4 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -478,22 +478,23 @@ public class DepotItemController { endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); try { String [] creatorArray = depotHeadService.getCreatorArray(roleType); + List depotList = depotService.parseDepotList(null); Boolean amountApprovalFlag = systemConfigService.getAmountApprovalFlag(); List dataList = depotItemService.getListWithBugOrSale(StringUtil.toNull(materialParam), - "buy", beginTime, endTime, creatorArray, amountApprovalFlag, (currentPage-1)*pageSize, pageSize); + "buy", beginTime, endTime, creatorArray, depotList, amountApprovalFlag, (currentPage-1)*pageSize, pageSize); String[] mpArr = mpList.split(","); int total = depotItemService.getListWithBugOrSaleCount(StringUtil.toNull(materialParam), - "buy", beginTime, endTime, creatorArray, amountApprovalFlag); + "buy", beginTime, endTime, creatorArray, depotList, amountApprovalFlag); map.put("total", total); //存放数据json数组 JSONArray dataArray = new JSONArray(); if (null != dataList) { for (DepotItemVo4WithInfoEx diEx : dataList) { JSONObject item = new JSONObject(); - BigDecimal InSum = depotItemService.buyOrSale("入库", "采购", diEx.getMId(), beginTime, endTime, creatorArray, "number"); - BigDecimal OutSum = depotItemService.buyOrSale("出库", "采购退货", diEx.getMId(), beginTime, endTime, creatorArray, "number"); - BigDecimal InSumPrice = depotItemService.buyOrSale("入库", "采购", diEx.getMId(), beginTime, endTime, creatorArray, "price"); - BigDecimal OutSumPrice = depotItemService.buyOrSale("出库", "采购退货", diEx.getMId(), beginTime, endTime, creatorArray, "price"); + BigDecimal InSum = depotItemService.buyOrSale("入库", "采购", diEx.getMId(), beginTime, endTime, creatorArray, depotList, "number"); + BigDecimal OutSum = depotItemService.buyOrSale("出库", "采购退货", diEx.getMId(), beginTime, endTime, creatorArray, depotList, "number"); + BigDecimal InSumPrice = depotItemService.buyOrSale("入库", "采购", diEx.getMId(), beginTime, endTime, creatorArray, depotList, "price"); + BigDecimal OutSumPrice = depotItemService.buyOrSale("出库", "采购退货", diEx.getMId(), beginTime, endTime, creatorArray, depotList, "price"); BigDecimal InOutSumPrice = InSumPrice.subtract(OutSumPrice); item.put("barCode", diEx.getBarCode()); item.put("materialName", diEx.getMName()); @@ -551,26 +552,27 @@ public class DepotItemController { endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); try { String [] creatorArray = depotHeadService.getCreatorArray(roleType); + List depotList = depotService.parseDepotList(null); Boolean amountApprovalFlag = systemConfigService.getAmountApprovalFlag(); List dataList = depotItemService.getListWithBugOrSale(StringUtil.toNull(materialParam), - "sale", beginTime, endTime, creatorArray, amountApprovalFlag, (currentPage-1)*pageSize, pageSize); + "sale", beginTime, endTime, creatorArray, depotList, amountApprovalFlag, (currentPage-1)*pageSize, pageSize); String[] mpArr = mpList.split(","); int total = depotItemService.getListWithBugOrSaleCount(StringUtil.toNull(materialParam), - "sale", beginTime, endTime, creatorArray, amountApprovalFlag); + "sale", beginTime, endTime, creatorArray, depotList, amountApprovalFlag); map.put("total", total); //存放数据json数组 JSONArray dataArray = new JSONArray(); if (null != dataList) { for (DepotItemVo4WithInfoEx diEx : dataList) { JSONObject item = new JSONObject(); - BigDecimal OutSumRetail = depotItemService.buyOrSale("出库", "零售", diEx.getMId(), beginTime, endTime, creatorArray,"number"); - BigDecimal OutSum = depotItemService.buyOrSale("出库", "销售", diEx.getMId(), beginTime, endTime, creatorArray,"number"); - BigDecimal InSumRetail = depotItemService.buyOrSale("入库", "零售退货", diEx.getMId(), beginTime, endTime, creatorArray,"number"); - BigDecimal InSum = depotItemService.buyOrSale("入库", "销售退货", diEx.getMId(), beginTime, endTime, creatorArray,"number"); - BigDecimal OutSumRetailPrice = depotItemService.buyOrSale("出库", "零售", diEx.getMId(), beginTime, endTime, creatorArray,"price"); - BigDecimal OutSumPrice = depotItemService.buyOrSale("出库", "销售", diEx.getMId(), beginTime, endTime, creatorArray,"price"); - BigDecimal InSumRetailPrice = depotItemService.buyOrSale("入库", "零售退货", diEx.getMId(), beginTime, endTime, creatorArray,"price"); - BigDecimal InSumPrice = depotItemService.buyOrSale("入库", "销售退货", diEx.getMId(), beginTime, endTime, creatorArray,"price"); + BigDecimal OutSumRetail = depotItemService.buyOrSale("出库", "零售", diEx.getMId(), beginTime, endTime, creatorArray, depotList,"number"); + BigDecimal OutSum = depotItemService.buyOrSale("出库", "销售", diEx.getMId(), beginTime, endTime, creatorArray, depotList,"number"); + BigDecimal InSumRetail = depotItemService.buyOrSale("入库", "零售退货", diEx.getMId(), beginTime, endTime, creatorArray, depotList,"number"); + BigDecimal InSum = depotItemService.buyOrSale("入库", "销售退货", diEx.getMId(), beginTime, endTime, creatorArray, depotList,"number"); + BigDecimal OutSumRetailPrice = depotItemService.buyOrSale("出库", "零售", diEx.getMId(), beginTime, endTime, creatorArray, depotList,"price"); + BigDecimal OutSumPrice = depotItemService.buyOrSale("出库", "销售", diEx.getMId(), beginTime, endTime, creatorArray, depotList,"price"); + BigDecimal InSumRetailPrice = depotItemService.buyOrSale("入库", "零售退货", diEx.getMId(), beginTime, endTime, creatorArray, depotList,"price"); + BigDecimal InSumPrice = depotItemService.buyOrSale("入库", "销售退货", diEx.getMId(), beginTime, endTime, creatorArray, depotList,"price"); BigDecimal OutInSumPrice = (OutSumRetailPrice.add(OutSumPrice)).subtract(InSumRetailPrice.add(InSumPrice)); item.put("barCode", diEx.getBarCode()); item.put("materialName", diEx.getMName()); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java index f0ac6e07..ab698005 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java @@ -30,7 +30,7 @@ public interface DepotItemMapperEx { @Param("remark") String remark); List findDetailByDepotIdsAndMaterialIdList( - @Param("depotIdArray") String[] depotIdArray, + @Param("depotIdArray") Long[] depotIdArray, @Param("sku") String sku, @Param("batchNumber") String batchNumber, @Param("number") String number, @@ -41,7 +41,7 @@ public interface DepotItemMapperEx { @Param("rows") Integer rows); Long findDetailByDepotIdsAndMaterialIdCount( - @Param("depotIdArray") String[] depotIdArray, + @Param("depotIdArray") Long[] depotIdArray, @Param("sku") String sku, @Param("batchNumber") String batchNumber, @Param("number") String number, @@ -68,6 +68,7 @@ public interface DepotItemMapperEx { @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("creatorArray") String[] creatorArray, + @Param("depotList") List depotList, @Param("amountApprovalFlag") Boolean amountApprovalFlag, @Param("offset") Integer offset, @Param("rows") Integer rows); @@ -78,6 +79,7 @@ public interface DepotItemMapperEx { @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("creatorArray") String[] creatorArray, + @Param("depotList") List depotList, @Param("amountApprovalFlag") Boolean amountApprovalFlag); BigDecimal buyOrSaleNumber( @@ -87,6 +89,7 @@ public interface DepotItemMapperEx { @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("creatorArray") String[] creatorArray, + @Param("depotList") List depotList, @Param("sumType") String sumType); BigDecimal buyOrSalePrice( @@ -96,6 +99,7 @@ public interface DepotItemMapperEx { @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("creatorArray") String[] creatorArray, + @Param("depotList") List depotList, @Param("sumType") String sumType); BigDecimal inOrOutPrice( diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index 65c9e376..e977a9f0 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -176,10 +176,12 @@ public class DepotItemService { public List findDetailByDepotIdsAndMaterialIdList(String depotIds, String sku, String batchNumber, String number, String beginTime, String endTime, Long mId, int offset, int rows)throws Exception { - String [] depotIdArray = null; + Long depotId = null; if(StringUtil.isNotEmpty(depotIds)) { - depotIdArray = depotIds.split(","); + depotId = Long.parseLong(depotIds); } + List depotList = depotService.parseDepotList(depotId); + Long[] depotIdArray = StringUtil.listToLongArray(depotList); List list =null; try{ list = depotItemMapperEx.findDetailByDepotIdsAndMaterialIdList(depotIdArray, sku, batchNumber, number, beginTime, endTime, mId, offset, rows); @@ -191,10 +193,12 @@ public class DepotItemService { public Long findDetailByDepotIdsAndMaterialIdCount(String depotIds, String sku, String batchNumber, String number, String beginTime, String endTime, Long mId)throws Exception { - String [] depotIdArray = null; + Long depotId = null; if(StringUtil.isNotEmpty(depotIds)) { - depotIdArray = depotIds.split(","); + depotId = Long.parseLong(depotIds); } + List depotList = depotService.parseDepotList(depotId); + Long[] depotIdArray = StringUtil.listToLongArray(depotList); Long result =null; try{ result = depotItemMapperEx.findDetailByDepotIdsAndMaterialIdCount(depotIdArray, sku, batchNumber, number, beginTime, endTime, mId); @@ -314,10 +318,10 @@ public class DepotItemService { } public List getListWithBugOrSale(String materialParam, String billType, - String beginTime, String endTime, String[] creatorArray, Boolean amountApprovalFlag, Integer offset, Integer rows)throws Exception { + String beginTime, String endTime, String[] creatorArray, List depotList, Boolean amountApprovalFlag, Integer offset, Integer rows)throws Exception { List list =null; try{ - list = depotItemMapperEx.getListWithBugOrSale(materialParam, billType, beginTime, endTime, creatorArray, amountApprovalFlag, offset, rows); + list = depotItemMapperEx.getListWithBugOrSale(materialParam, billType, beginTime, endTime, creatorArray, depotList, amountApprovalFlag, offset, rows); }catch(Exception e){ JshException.readFail(logger, e); } @@ -325,10 +329,10 @@ public class DepotItemService { } public int getListWithBugOrSaleCount(String materialParam, String billType, - String beginTime, String endTime, String[] creatorArray, Boolean amountApprovalFlag)throws Exception { + String beginTime, String endTime, String[] creatorArray, List depotList, Boolean amountApprovalFlag)throws Exception { int result=0; try{ - result = depotItemMapperEx.getListWithBugOrSaleCount(materialParam, billType, beginTime, endTime, creatorArray, amountApprovalFlag); + result = depotItemMapperEx.getListWithBugOrSaleCount(materialParam, billType, beginTime, endTime, creatorArray, depotList, amountApprovalFlag); }catch(Exception e){ JshException.readFail(logger, e); } @@ -336,13 +340,13 @@ public class DepotItemService { } public BigDecimal buyOrSale(String type, String subType, Long MId, String beginTime, String endTime, - String[] creatorArray, String sumType) throws Exception{ + String[] creatorArray, List depotList, String sumType) throws Exception{ BigDecimal result= BigDecimal.ZERO; try{ if (SUM_TYPE.equals(sumType)) { - result= depotItemMapperEx.buyOrSaleNumber(type, subType, MId, beginTime, endTime, creatorArray, sumType); + result= depotItemMapperEx.buyOrSaleNumber(type, subType, MId, beginTime, endTime, creatorArray, depotList, sumType); } else { - result= depotItemMapperEx.buyOrSalePrice(type, subType, MId, beginTime, endTime, creatorArray, sumType); + result= depotItemMapperEx.buyOrSalePrice(type, subType, MId, beginTime, endTime, creatorArray, depotList, sumType); } }catch(Exception e){ JshException.readFail(logger, e); diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml index f028d170..f806d9df 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -376,6 +376,12 @@ ) + + and di.depot_id in + + #{item} + + and dh.status = '1' @@ -417,6 +423,12 @@ ) + + and di.depot_id in + + #{item} + + and dh.status = '1' @@ -438,6 +450,12 @@ ) + + and di.depot_id in + + #{item} + + and ifnull(dh.delete_flag,'0') !='1' and ifnull(di.delete_flag,'0') !='1' @@ -456,6 +474,12 @@ ) + + and di.depot_id in + + #{item} + + and ifnull(dh.delete_flag,'0') !='1' and ifnull(di.delete_flag,'0') !='1'