From 87a9119e22d949d4b93fb88a7b9497506990b761 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期五, 29 十二月 2023 11:41:39 +0800
Subject: [PATCH] 2023-12-29 朱宝民 控制器添加、获取水卡状态

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java |  192 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 187 insertions(+), 5 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
index eb16e9d..a3f631b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
@@ -5,13 +5,17 @@
 import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
 import com.dy.pipIrrGlobal.pojoSe.SeClient;
 import com.dy.pipIrrGlobal.voSe.VoClient;
+import com.dy.pipIrrGlobal.voSe.VoOperate;
+import com.dy.pipIrrGlobal.voSe.VoStatistics;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 /**
  * @author ZhuBaoMin
@@ -31,22 +35,159 @@
 
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏁版嵁
-     * @param vo
+     * @param queryVo
      * @return
      */
-    public QueryResultVo<List<VoClient>> getClients(QueryVo vo){
-        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
+    public QueryResultVo<List<VoClient>> getClients(QueryVo queryVo){
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ;
         Long itemTotal = seClientMapper.getRecordCount(params);
 
         QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ;
-        rsVo.pageSize = vo.pageSize ;
-        rsVo.pageCurr = vo.pageCurr ;
+        Integer pageCurr = 0;
+        Integer pageSize = 10000;
+        rsVo.pageCurr = 1;
+        rsVo.pageSize = 10000;
+        if(queryVo.pageSize != null && queryVo.pageCurr != null) {
+            rsVo.pageSize = queryVo.pageSize ;
+            rsVo.pageCurr = queryVo.pageCurr;
+            pageSize = queryVo.pageSize ;
+            pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
+        }
+        params.put("pageCurr", pageCurr);
+        params.put("pageSize", pageSize);
+
         rsVo.calculateAndSet(itemTotal, params);
         rsVo.obj = seClientMapper.getClients(params);
 
         return rsVo ;
     }
 
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍
+     * @param vo
+     * @return
+     */
+    public Map getOperates(QueryOperate vo){
+        // 琛ラ綈鏌ヨ鏃堕棿
+        String operateTimeStart = vo.operateTimeStart;
+        String operateTimeStop = vo.operateTimeStop;
+        if(operateTimeStart != null) {
+            operateTimeStart = operateTimeStart + " 00:00:00";
+            vo.setOperateTimeStart(operateTimeStart);
+        }
+        if(operateTimeStop != null) {
+            operateTimeStop = operateTimeStop + " 23:59:59";
+            vo.setOperateTimeStop(operateTimeStop);
+        }
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
+
+        // 鑾峰彇姹囨�荤殑璐按閲戦銆佽喘鍗¢噾棰�
+        Float money = 0f;
+        Float cardCost = 0f;
+        Map map_sum = Optional.ofNullable(seClientMapper.getSums(params)).orElse(new HashMap());
+        if(map_sum.size() > 0) {
+            money = Float.parseFloat(map_sum.get("money").toString());
+            cardCost = Float.parseFloat(map_sum.get("cardCost").toString());
+        }
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = seClientMapper.getOperateRecordCount(params);
+
+        Integer pageSize = vo.getPageSize();
+        // 璁$畻鎬婚〉鏁�
+        Integer pageTotal ;
+        pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
+
+        // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺
+        Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
+        params.put("pageCurr", pageCurr);
+
+        List<VoOperate> lit = seClientMapper.getOperates(params);
+        Map map_record = new HashMap();
+        map_record.put("itemTotal", itemTotal);
+        map_record.put("pageCurr", vo.pageCurr);
+        map_record.put("pageSize", pageSize);
+        map_record.put("pageTotal", pageTotal);
+        map_record.put("list", lit);
+
+        Map map_result = new HashMap();
+        map_result.put("money", money);
+        map_result.put("cardCost", cardCost);
+        map_result.put("records", map_record);
+
+        return map_result;
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍
+     * @param vo 浜ゆ槗姹囨�绘煡璇㈡潯浠�
+     * @return 浜ゆ槗姹囨�昏褰�
+     */
+    public Map getStatistics(QueryStatistic vo){
+        // 琛ラ綈鏌ヨ鏃堕棿
+        String operateTimeStart = vo.operateTimeStart;
+        String operateTimeStop = vo.operateTimeStop;
+        if(operateTimeStart != null) {
+            operateTimeStart = operateTimeStart + " 00:00:00";
+            vo.setOperateTimeStart(operateTimeStart);
+        }
+        if(operateTimeStop != null) {
+            operateTimeStop = operateTimeStop + " 23:59:59";
+            vo.setOperateTimeStop(operateTimeStop);
+        }
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
+
+        // 鑾峰彇姹囨�荤殑浜ゆ槗绗旀暟銆佷氦鏄撻噾棰�
+        Integer count = 0;
+        Float money = 0f;
+        Map map_sum = Optional.ofNullable(seClientMapper.getStatisticSums(params)).orElse(new HashMap());
+        if(map_sum.size() > 0) {
+            count = Integer.parseInt(map_sum.get("count").toString());
+            money = Float.parseFloat(map_sum.get("money").toString());
+        }
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = seClientMapper.getStatisticRecordCount(params);
+
+        Integer pageSize = vo.getPageSize();
+        // 璁$畻鎬婚〉鏁�
+        Integer pageTotal ;
+        pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
+
+        // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺
+        Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
+        params.put("pageCurr", pageCurr);
+
+        List<VoStatistics> lit = seClientMapper.getStatistics(params);
+        Map map_record = new HashMap();
+        map_record.put("itemTotal", itemTotal);
+        map_record.put("pageCurr", vo.pageCurr);
+        map_record.put("pageSize", pageSize);
+        map_record.put("pageTotal", pageTotal);
+        map_record.put("list", lit);
+
+        Map map_result = new HashMap();
+        map_result.put("count", count);
+        map_result.put("money", money);
+        map_result.put("records", map_record);
+
+        return map_result;
+    }
+
+    /**
+     * 鏍规嵁涓婚敭鑾峰彇鍐滄埛瀵硅薄
+     * @param id 鍐滄埛涓婚敭
+     * @return 鍐滄埛瀵硅薄
+     */
+    public VoClient getOneClient(Long id) {
+        SeClient seClient = seClientMapper.selectByPrimaryKey(id);
+        VoClient voClient = SeClientToVoClient.INSTANCT.po2vo(seClient);
+        return voClient;
+    }
     /**
      * 澧炲紑鍐滄埛
      * @param po
@@ -73,4 +214,45 @@
     public Map getDistrictsByVillageId(Long villageId) {
         return baDistrictMapper.getDistrictsByVillageId(villageId);
     }
+
+    /**
+     * 鏍规嵁鍐滄埛ID閫昏緫鍒犻櫎鍐滄埛
+     */
+    public Integer deleteClientById(Long id) {
+        return seClientMapper.deleteClientById(id);
+    }
+
+    /**
+     * 淇敼鍐滄埛瀵硅薄
+     * @param po 鍐滄埛瀵硅薄
+     * @return 淇敼璁板綍鏉℃暟
+     */
+    public Integer updateByPrimaryKey(SeClient po) {
+        return seClientMapper.updateByPrimaryKey(po);
+    }
+
+    /**
+     * 鏍规嵁涓婚敭鑾峰彇鏉慖D
+     * @param id
+     * @return
+     */
+    public Long getVillageIdById(Long id) {
+        return seClientMapper.getVillageIdById(id);
+    }
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″彿鏈�澶у��
+     * @return
+     */
+    public Long getMa1xVirtualId() {
+        return seClientMapper.getMa1xVirtualId();
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃
+     * @return
+     */
+    public List<Map<String, Object>> getWaterTypes() {
+        return seClientMapper.getWaterTypes();
+    }
 }

--
Gitblit v1.8.0