From 3ad93e20e50f532be16e5c9f61262da08d61fde1 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, 9 Nov 2021 00:35:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A6=96=E9=A1=B5=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/DepotHeadController.java | 42 ++++++++++++------- .../erp/controller/DepotItemController.java | 14 ++++++- .../datasource/mappers/DepotHeadMapperEx.java | 1 - .../datasource/mappers/DepotItemMapperEx.java | 6 +++ .../service/depotHead/DepotHeadService.java | 4 +- .../service/depotItem/DepotItemService.java | 21 ++++++++++ .../mapper_xml/DepotHeadMapperEx.xml | 6 --- .../mapper_xml/DepotItemMapperEx.xml | 9 ++++ 8 files changed, 78 insertions(+), 25 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java index 49539d10..565c0a57 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java @@ -345,34 +345,48 @@ public class DepotHeadController { } /** - * 统计今日销售额、今日进货额、本月销售额、本月进货额 + * 统计今日采购额、本月采购额、今日销售额、本月销售额、今日零售额、本月零售额 * @param request * @return */ @GetMapping(value = "/getBuyAndSaleStatistics") - @ApiOperation(value = "统计今日销售额、今日进货额、本月销售额、本月进货额") + @ApiOperation(value = "统计今日采购额、本月采购额、今日销售额、本月销售额、今日零售额、本月零售额") public BaseResponseInfo getBuyAndSaleStatistics(HttpServletRequest request) { BaseResponseInfo res = new BaseResponseInfo(); Map map = new HashMap(); try { String today = Tools.getNow() + BusinessConstants.DAY_FIRST_TIME; String firstDay = Tools.firstDayOfMonth(Tools.getCurrentMonth()) + BusinessConstants.DAY_FIRST_TIME; - BigDecimal todaySale = depotHeadService.getBuyAndSaleStatistics("出库", "销售", - 1, today, getNow3()); //今日销售出库 - BigDecimal todayRetailSale = depotHeadService.getBuyAndSaleRetailStatistics("出库", "零售", - 0, today, getNow3()); //今日零售出库 BigDecimal todayBuy = depotHeadService.getBuyAndSaleStatistics("入库", "采购", 1, today, getNow3()); //今日采购入库 - BigDecimal monthSale = depotHeadService.getBuyAndSaleStatistics("出库", "销售", - 1,firstDay, getNow3()); //本月销售出库 - BigDecimal monthRetailSale = depotHeadService.getBuyAndSaleRetailStatistics("出库", "零售", - 0,firstDay, getNow3()); //本月零售出库 + BigDecimal todayBuyBack = depotHeadService.getBuyAndSaleStatistics("出库", "采购退货", + 1, today, getNow3()); //今日采购退货 + BigDecimal todaySale = depotHeadService.getBuyAndSaleStatistics("出库", "销售", + 1, today, getNow3()); //今日销售出库 + BigDecimal todaySaleBack = depotHeadService.getBuyAndSaleStatistics("入库", "销售退货", + 1, today, getNow3()); //今日销售退货 + BigDecimal todayRetailSale = depotHeadService.getBuyAndSaleRetailStatistics("出库", "零售", + today, getNow3()); //今日零售出库 + BigDecimal todayRetailSaleBack = depotHeadService.getBuyAndSaleRetailStatistics("入库", "零售退货", + today, getNow3()); //今日零售退货 BigDecimal monthBuy = depotHeadService.getBuyAndSaleStatistics("入库", "采购", 1, firstDay, getNow3()); //本月采购入库 - map.put("todaySale", todaySale.add(todayRetailSale)); - map.put("todayBuy", todayBuy); - map.put("thisMonthSale", monthSale.add(monthRetailSale)); - map.put("thisMonthBuy", monthBuy); + BigDecimal monthBuyBack = depotHeadService.getBuyAndSaleStatistics("出库", "采购退货", + 1, firstDay, getNow3()); //本月采购退货 + BigDecimal monthSale = depotHeadService.getBuyAndSaleStatistics("出库", "销售", + 1,firstDay, getNow3()); //本月销售出库 + BigDecimal monthSaleBack = depotHeadService.getBuyAndSaleStatistics("入库", "销售退货", + 1,firstDay, getNow3()); //本月销售退货 + BigDecimal monthRetailSale = depotHeadService.getBuyAndSaleRetailStatistics("出库", "零售", + firstDay, getNow3()); //本月零售出库 + BigDecimal monthRetailSaleBack = depotHeadService.getBuyAndSaleRetailStatistics("入库", "零售退货", + firstDay, getNow3()); //本月零售退货 + map.put("todayBuy", todayBuy.subtract(todayBuyBack)); + map.put("todaySale", todaySale.subtract(todaySaleBack)); + map.put("todayRetailSale", todayRetailSale.subtract(todayRetailSaleBack)); + map.put("monthBuy", monthBuy.subtract(monthBuyBack)); + map.put("monthSale", monthSale.subtract(monthSaleBack)); + map.put("monthRetailSale", monthRetailSale.subtract(monthRetailSaleBack)); res.code = 200; res.data = map; } catch(Exception e){ 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 62cb5a84..52d7619c 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 @@ -597,14 +597,14 @@ public class DepotItemController { } /** - * 统计采购或销售的总金额 + * 统计采购、销售、零售的总金额 * @param request * @param response * @return * @throws Exception */ @GetMapping(value = "/buyOrSalePrice") - @ApiOperation(value = "统计采购或销售的总金额") + @ApiOperation(value = "统计采购、销售、零售的总金额") public BaseResponseInfo buyOrSalePrice(HttpServletRequest request, HttpServletResponse response)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); Map map = new HashMap(); @@ -631,6 +631,16 @@ public class DepotItemController { salePriceList.add(obj); } map.put("salePriceList", salePriceList); + JSONArray retailPriceList = new JSONArray(); + for(String month: list) { + JSONObject obj = new JSONObject(); + BigDecimal outPrice = depotItemService.inOrOutRetailPrice("出库", "零售", month); + BigDecimal inPrice = depotItemService.inOrOutRetailPrice("入库", "零售退货", month); + obj.put("x", month); + obj.put("y", outPrice.subtract(inPrice)); + retailPriceList.add(obj); + } + map.put("retailPriceList", retailPriceList); res.code = 200; res.data = map; } catch (Exception e) { diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java index c223fa2e..86773e80 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java @@ -155,7 +155,6 @@ public interface DepotHeadMapperEx { BigDecimal getBuyAndSaleRetailStatistics( @Param("type") String type, @Param("subType") String subType, - @Param("hasSupplier") Integer hasSupplier, @Param("beginTime") String beginTime, @Param("endTime") String endTime); 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 b514b34f..ba9f0176 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 @@ -72,6 +72,12 @@ public interface DepotItemMapperEx { @Param("beginTime") String beginTime, @Param("endTime") String endTime); + BigDecimal inOrOutRetailPrice( + @Param("type") String type, + @Param("subType") String subType, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime); + BigDecimal getStockCheckSum( @Param("depotId") Long depotId, @Param("mId") Long mId, diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java index 8357ecc0..309daa68 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -796,8 +796,8 @@ public class DepotHeadService { return depotHeadMapperEx.getBuyAndSaleStatistics(type, subType, hasSupplier, beginTime, endTime); } - public BigDecimal getBuyAndSaleRetailStatistics(String type, String subType, Integer hasSupplier, String beginTime, String endTime) { - return depotHeadMapperEx.getBuyAndSaleRetailStatistics(type, subType, hasSupplier, beginTime, endTime); + public BigDecimal getBuyAndSaleRetailStatistics(String type, String subType, String beginTime, String endTime) { + return depotHeadMapperEx.getBuyAndSaleRetailStatistics(type, subType, beginTime, endTime).abs(); } public DepotHead getDepotHead(String number)throws Exception { 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 162cad97..e662484e 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 @@ -298,6 +298,27 @@ public class DepotItemService { return result; } + /** + * 统计零售的总金额 + * @param type + * @param subType + * @param month + * @return + * @throws Exception + */ + public BigDecimal inOrOutRetailPrice(String type, String subType, String month) throws Exception{ + BigDecimal result= BigDecimal.ZERO; + try{ + String beginTime = Tools.firstDayOfMonth(month) + BusinessConstants.DAY_FIRST_TIME; + String endTime = Tools.lastDayOfMonth(month) + BusinessConstants.DAY_LAST_TIME; + result = depotItemMapperEx.inOrOutRetailPrice(type, subType, beginTime, endTime); + result = result.abs(); + }catch(Exception e){ + JshException.readFail(logger, e); + } + return result; + } + @Transactional(value = "transactionManager", rollbackFor = Exception.class) public void saveDetials(String rows, Long headerId, HttpServletRequest request) throws Exception{ //查询单据主表信息 diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml index cd57bf2a..3765944d 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml @@ -518,12 +518,6 @@ and sub_type=#{subType} - - and organ_id is not null - - - and organ_id is null - and oper_time >= #{beginTime} diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml index d55c47ff..c655ac8a 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -269,6 +269,15 @@ and ifnull(dh.delete_flag,'0') !='1' + +