Sfoglia il codice sorgente

近n天报损统计

yzc 1 anno fa
parent
commit
388d4b38ed

+ 9 - 0
hx-mes/src/main/java/com/fjhx/mes/controller/report/ReportLossesDetailsController.java

@@ -1,5 +1,6 @@
 package com.fjhx.mes.controller.report;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.mes.entity.report.dto.ReportLossesDetailsDto;
 import com.fjhx.mes.entity.report.dto.ReportLossesDetailsSelectDto;
@@ -68,4 +69,12 @@ public class ReportLossesDetailsController {
         reportLossesDetailsService.delete(dto.getId());
     }
 
+    /**
+     * 近n天报损统计
+     */
+    @PostMapping("/lossesStatistics")
+    public JSONObject lossesStatistics(@RequestBody ReportLossesDetailsSelectDto dto) {
+        return reportLossesDetailsService.lossesStatistics(dto);
+    }
+
 }

+ 3 - 0
hx-mes/src/main/java/com/fjhx/mes/mapper/report/ReportLossesDetailsMapper.java

@@ -1,5 +1,6 @@
 package com.fjhx.mes.mapper.report;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.mes.entity.report.po.ReportLossesDetails;
@@ -23,4 +24,6 @@ public interface ReportLossesDetailsMapper extends BaseMapper<ReportLossesDetail
      */
     Page<ReportLossesDetailsVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ReportLossesDetails> wrapper);
 
+    JSONObject lossesStatistics(@Param("ew") IWrapper<Object> wrapper);
+
 }

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/service/report/ReportLossesDetailsService.java

@@ -1,5 +1,6 @@
 package com.fjhx.mes.service.report;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.mes.entity.report.dto.ReportLossesDetailsDto;
 import com.fjhx.mes.entity.report.dto.ReportLossesDetailsSelectDto;
@@ -42,4 +43,8 @@ public interface ReportLossesDetailsService extends BaseService<ReportLossesDeta
      */
     void delete(Long id);
 
+    /**
+     * 近n天报损统计
+     */
+    JSONObject lossesStatistics(ReportLossesDetailsSelectDto dto);
 }

+ 13 - 0
hx-mes/src/main/java/com/fjhx/mes/service/report/impl/ReportLossesDetailsServiceImpl.java

@@ -2,6 +2,7 @@ package com.fjhx.mes.service.report.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -147,4 +148,16 @@ public class ReportLossesDetailsServiceImpl extends ServiceImpl<ReportLossesDeta
         this.removeById(id);
     }
 
+    @Override
+    public JSONObject lossesStatistics(ReportLossesDetailsSelectDto dto) {
+        IWrapper<Object> wrapper = IWrapper.getWrapper();
+        //近n天过滤
+        Integer pastDay = dto.getPastDay();
+        if (ObjectUtil.isNotEmpty(pastDay)) {
+            wrapper.ge("DATEDIFF(NOW(),rld.repo_time)", 0);
+            wrapper.le("DATEDIFF(NOW(),rld.repo_time)", pastDay);
+        }
+        return baseMapper.lossesStatistics(wrapper);
+    }
+
 }

+ 6 - 0
hx-mes/src/main/resources/mapper/report/ReportLossesDetailsMapper.xml

@@ -21,5 +21,11 @@
                  LEFT JOIN sys_user su ON FIND_IN_SET(su.user_id, rld.resp_user_set)
             ${ew.customSqlSegment}
     </select>
+    <select id="lossesStatistics" resultType="com.alibaba.fastjson2.JSONObject">
+        SELECT IFNULL(SUM(IF(rld.type = 1, rld.quantity, 0)), 0) AS replenishSumQuantity,
+               IFNULL(SUM(IF(rld.type = 2, rld.quantity, 0)), 0) AS lossSumQuantity
+        FROM report_losses_details rld
+            ${ew.customSqlSegment}
+    </select>
 
 </mapper>