Explorar o código

App总览-营业数据-环比

wangbo %!s(int64=4) %!d(string=hai) anos
pai
achega
f7ebe64d1e

+ 32 - 5
sms_water/src/main/java/com/huaxu/controller/AppPageReportController.java

@@ -201,7 +201,7 @@ public class AppPageReportController {
         Map<String,Object> map = new HashMap<String,Object>();
         map.put("totalReceivable", sellerWaterList.get(0).getReceivableAmount());
         map.put("totalReceived", sellerWaterList.get(0).getReceivedAmount());
-        map.put("amount",sellerWaterList);
+        map.put("amountDetails",sellerWaterList);
         map.put("generalUser",sellerWaterList.get(0).getGeneralUserAmount());
         map.put("bigUser",sellerWaterList.get(0).getBigUserAmount());
         map.put("generalUserRate",generalRate);
@@ -268,6 +268,8 @@ public class AppPageReportController {
             totalReceivedAmount=totalReceivedAmount.add(amount.getReceivedAmount());
             totalGeneralUser=totalGeneralUser.add(amount.getGeneralUserAmount());
             totalBigUser=totalBigUser.add(amount.getBigUserAmount());
+
+            amount.setRecoveryRate(totalReceivableAmount.compareTo(BigDecimal.ZERO)==0? BigDecimal.ZERO : totalReceivedAmount.multiply(new BigDecimal(100)).divide(totalReceivableAmount,2));
         }
 
         BigDecimal sum =totalBigUser.add(totalGeneralUser);
@@ -355,12 +357,37 @@ public class AppPageReportController {
         return new AjaxMessage<>(ResultStatus.OK,map);
     }
 
-    @RequestMapping(value = "getSceneAmount",method = RequestMethod.GET)
-    @ApiOperation(value = "App总览——资产情况本月本年近一年")
-    public AjaxMessage<Object> getSceneAmount(@ApiParam(value = "公司id,总公司传空值") @RequestParam(required = false) Long companyOrgId){
-        Map<String,Object> map = appPageReportService.findSceneAmount(companyOrgId);
+    @RequestMapping(value = "getSceneAmountForSameMonth",method = RequestMethod.GET)
+    @ApiOperation(value = "App总览——资产情况本月")
+    public AjaxMessage<Object> getSceneAmountForSameMonth(@ApiParam(value = "公司id,总公司传空值") @RequestParam(required = false) Long companyOrgId){
+        Map<String,Object> map = new HashMap<String,Object>();
+        List<Map<String,Object>> amount = appPageReportService.findSceneAmount(companyOrgId,null);
+        List<Map<String,Object>> newAount = appPageReportService.findSceneAmount(companyOrgId,1);
+        map.put("assets",amount);
+        map.put("newAssets",newAount);
         return new AjaxMessage<>(ResultStatus.OK,map);
     }
 
+    @RequestMapping(value = "getSceneAmountForSameYear",method = RequestMethod.GET)
+    @ApiOperation(value = "App总览——资产情况本年")
+    public AjaxMessage<Object> getSceneAmountForSameYear(@ApiParam(value = "公司id,总公司传空值") @RequestParam(required = false) Long companyOrgId){
+        Map<String,Object> map = new HashMap<String,Object>();
+        LocalDate now = LocalDate.now();
+        List<Map<String,Object>> amount = appPageReportService.findSceneAmount(companyOrgId,null);
+        List<Map<String,Object>> newAount = appPageReportService.findSceneAmount(companyOrgId,now.getMonthValue());
+        map.put("assets",amount);
+        map.put("newAssets",newAount);
+        return new AjaxMessage<>(ResultStatus.OK,map);
+    }
 
+    @RequestMapping(value = "getSceneAmountForLast12Month",method = RequestMethod.GET)
+    @ApiOperation(value = "App总览——资产情况近一年")
+    public AjaxMessage<Object> getSceneAmountForLast12Month(@ApiParam(value = "公司id,总公司传空值") @RequestParam(required = false) Long companyOrgId){
+        Map<String,Object> map = new HashMap<String,Object>();
+        List<Map<String,Object>> amount = appPageReportService.findSceneAmount(companyOrgId,null);
+        List<Map<String,Object>> newAount = appPageReportService.findSceneAmount(companyOrgId,12);
+        map.put("assets",amount);
+        map.put("newAssets",newAount);
+        return new AjaxMessage<>(ResultStatus.OK,map);
+    }
 }

+ 1 - 1
sms_water/src/main/java/com/huaxu/dao/SceneMapper.java

@@ -44,7 +44,7 @@ public interface SceneMapper extends BaseMapper<SceneEntity> {
 
     SceneEntity findParentSceneById(@Param(value = "id")Long id);
 
-    Map<String,Object> findSceneAmount(@Param("scene") SceneEntity sceneEntity);
+    List<Map<String,Object>> findSceneAmount(@Param("scene") SceneEntity sceneEntity,@Param("months") Integer months);
 
     /**删除相关方法  使用mybatis-plus集成的 **/
 }

+ 1 - 1
sms_water/src/main/java/com/huaxu/service/AppPageReportService.java

@@ -25,7 +25,7 @@ public interface AppPageReportService {
 
     BigDecimal CalculationComparison(List<DeviceWaterSupply> sameWaterList, List<DeviceWaterSupply> lastWaterList);
 
-    Map<String,Object> findSceneAmount(Long companyOrgId);
+    List<Map<String,Object>> findSceneAmount(Long companyOrgId,Integer months);
 
     void CalculationNrw(List<DeviceWaterSupply> supplyWaterList, List<DeviceWaterSupply> makingWaterList,List<DeviceWaterSupply> sellerWaterList,Map<String,Object> map);
 }

+ 2 - 2
sms_water/src/main/java/com/huaxu/service/impl/AppPageReportServiceImpl.java

@@ -188,7 +188,7 @@ public class AppPageReportServiceImpl implements AppPageReportService {
     }
 
     @Override
-    public Map<String, Object> findSceneAmount(Long companyOrgId) {
+    public List<Map<String,Object>> findSceneAmount(Long companyOrgId,Integer months) {
         SceneEntity sceneEntity = new SceneEntity();
         LoginUser currentUser = UserUtil.getCurrentUser();
         if (currentUser != null) {
@@ -199,7 +199,7 @@ public class AppPageReportServiceImpl implements AppPageReportService {
             sceneEntity.setPermissonType(currentUser.getPermissonType());
         }
         sceneEntity.setCompanyOrgId(companyOrgId);
-        return sceneMapper.findSceneAmount(sceneEntity);
+        return sceneMapper.findSceneAmount(sceneEntity,months);
     }
 
     /**

+ 3 - 0
sms_water/src/main/resources/mapper/SceneMapper.xml

@@ -322,6 +322,9 @@
         <where>
             a.PARENT_SCENE_ID=0
             and a.STATUS=1
+            <if test="months != null">
+                and a.run_time>=date_sub(date_format(curdate(), '%y-%m-1' ), interval #{months}-1 month)
+            </if>
             <if test="scene.tenantId != null  and scene.tenantId != ''">
                 and a.tenant_id = #{scene.tenantId}
             </if>