From 51dab03d03a4f3f671a64c3660c42e5241357c9b Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期四, 28 十二月 2023 15:30:57 +0800
Subject: [PATCH] 2023-12-28 朱宝民 根据水卡编号获取操作记录,重构农户查询,返回23个字段
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 10 ++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java | 37 ++++++++-
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java | 14 +++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml | 70 +++++++++++-----
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java | 40 +++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java | 19 +++-
6 files changed, 156 insertions(+), 34 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
index 7c70169..97dfd57 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -64,4 +64,18 @@
* @return
*/
List<VoCardInfo> getCardInfoByClientId(@Param("clientId") Long clientId);
+
+ /**
+ * 鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍒楄〃
+ * @param cardNum 姘村崱缂栧彿
+ * @return 姘村崱鎿嶄綔璁板綍鍒楄〃
+ */
+ List<Map<String, Object>> getOperateRecordsByCardNum(@Param("cardNum") Long cardNum);
+
+ /**
+ * 鏍规嵁姘村崱缂栧彿鑾峰彇浣欓
+ * @param cardNum 姘村崱缂栧彿
+ * @return 浣欓
+ */
+ Float getMoneyByCardNum(@Param("cardNum") Long cardNum);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java
index 64e4fed..76fe8c1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java
@@ -23,6 +23,36 @@
@Schema(title = "ID")
private Long id;
+ @Schema(title = "鍘縄D")
+ private String countyId;
+ @Schema(title = "鍘垮悕绉�")
+ private String countryName;
+
+ @Schema(title = "闀嘔D")
+ private String townId;
+ @Schema(title = "闀囧悕绉�")
+ private String townName;
+
+ @Schema(title = "鏉慖D")
+ private String villageId;
+ @Schema(title = "鏉戝悕绉�")
+ private String villageName;
+
+ @Schema(title = "鐗囧尯ID")
+ private String blockId;
+ @Schema(title = "鐗囧尯鍚嶇О")
+ private String bolckName;
+
+ @Schema(title = "鍒嗘按鎴縄D")
+ private String divideId;
+ @Schema(title = "鍒嗘按鎴垮悕绉�")
+ private String divideName;
+
+ @Schema(title = "鐢ㄦ埛绫诲瀷ID")
+ private String waterTypeId;
+ @Schema(title = "鐢ㄦ埛绫诲瀷鍚嶇О")
+ private String waterTypeName;
+
@Schema(title = "鍐滄埛ID")
private String clientId;
@@ -36,7 +66,10 @@
private String phone;
@Schema(title = "韬唤璇佸彿")
- private String idCard;
+ private String idcard;
+
+ @Schema(title = "绉嶆闈㈢Н")
+ private Double area;
@Schema(title = "鍗$墖鏁伴噺")
private Integer cardCount;
@@ -44,10 +77,11 @@
@Schema(title = "鍦板潃")
private String address;
+ @Schema(title = "澶囨敞")
+ private String remarks;
+
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Schema(title = "娉ㄥ唽鏃堕棿")
private Date operateDt;
-
-
}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
index ea222f6..44a5e35 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -272,4 +272,14 @@
FROM se_client_card
WHERE clientId = ${clientId}
</select>
+
+ <!--鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍒楄〃-->
+ <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap">
+ SELECT * FROM v_operate WHERE cardNum = ${cardNum}
+ </select>
+
+ <!--鏍规嵁姘村崱缂栧彿鑾峰彇浣欓-->
+ <select id="getMoneyByCardNum" resultType="java.lang.Float">
+ SELECT money FROM se_client_card WHERE cardNum = ${cardNum}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
index f94a209..c41166f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
@@ -304,22 +304,26 @@
<!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛璁板綍鏁�-->
<select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
SELECT
- COUNT(*) AS recordCount
+ COUNT(*) AS recordCount
FROM se_client cli
, (SELECT @i:=0) AS itable
<where>
- AND disabled = 0
- AND deleted = 0
+ AND cli.disabled = 0
+ AND cli.deleted = 0
<if test = "name != null and name !=''">
- AND name like CONCAT('%',#{name},'%')
+ AND cli.name like CONCAT('%',#{name},'%')
</if>
- <if test = "num != null and num !=''">
- AND clientNum like CONCAT('%',#{num},'%')
+ <if test = "clientNum != null and clientNum !=''">
+ AND cli.clientNum like CONCAT('%',#{clientNum},'%')
</if>
<if test = "phone != null and phone !=''">
- AND phone like CONCAT('%',#{phone},'%')
+ AND cli.phone like CONCAT('%',#{phone},'%')
+ </if>
+
+ <if test = "address != null and address !=''">
+ AND cli.address like CONCAT('%',#{address},'%')
</if>
</where>
@@ -329,37 +333,57 @@
<!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏁版嵁-->
<select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient">
SELECT
- (@i:=@i+1) AS id,
- CAST(id AS char) AS clientId,
- name,
- clientNum,
- phone,
- idCard,
- (SELECT COUNT(*) FROM se_client_card WHERE clientNum = cli.clientNum) AS cardCount,
- address,
- operateDt
+ (@i:=@i+1) AS id,
+ CAST(cli.countyId AS char) AS countyId,
+ dis_con.name AS countryName,
+ CAST(cli.townId AS char) AS townId,
+ dis_town.name AS townName,
+ CAST(cli.villageId AS char) AS villageId,
+ dis_village.name AS villageName,
+ CAST(cli.blockId AS char) AS blockId,
+ blo.name AS bolckName,
+ CAST(cli.divideId AS char) AS divideId,
+ divi.name AS divideName,
+ CAST(cli.typeId AS char) AS waterTypeId,
+ wat.typeName AS waterTypeName,
+ CAST(cli.id AS char) AS clientId,
+ cli.name,
+ cli.clientNum,
+ cli.phone,
+ cli.idCard,
+ cli.area,
+ (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id) AS cardCount,
+ cli.address,
+ cli.remarks,
+ cli.operateDt
FROM se_client cli
+ LEFT JOIN ba_district dis_con ON cli.countyId = dis_con.id
+ LEFT JOIN ba_district dis_town ON cli.townId = dis_town.id
+ LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id
+ LEFT JOIN ba_block blo ON cli.blockId = blo.id
+ LEFT JOIN pr_divide divi ON cli.divideId = divi.id
+ LEFT JOIN se_water_type wat ON cli.typeId = wat.id
, (SELECT @i:=0) AS itable
<where>
- AND disabled = 0
- AND deleted = 0
+ AND cli.disabled = 0
+ AND cli.deleted = 0
<if test = "name != null and name !=''">
- AND name like CONCAT('%',#{name},'%')
+ AND cli.name like CONCAT('%',#{name},'%')
</if>
<if test = "clientNum != null and clientNum !=''">
- AND clientNum like CONCAT('%',#{clientNum},'%')
+ AND cli.clientNum like CONCAT('%',#{clientNum},'%')
</if>
<if test = "phone != null and phone !=''">
- AND phone like CONCAT('%',#{phone},'%')
+ AND cli.phone like CONCAT('%',#{phone},'%')
</if>
<if test = "address != null and address !=''">
- AND address like CONCAT('%',#{address},'%')
+ AND cli.address like CONCAT('%',#{address},'%')
</if>
</where>
- ORDER BY operateDt DESC
+ ORDER BY cli.operateDt DESC
<if test="pageCurr != null and pageSize != null">
LIMIT ${pageCurr}, ${pageSize}
</if>
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java
index 6166932..005da2c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java
@@ -16,12 +16,10 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
+import java.util.Map;
/**
* @author ZhuBaoMin
@@ -38,6 +36,11 @@
public class ClientCardCtrl {
private final ClientCardSv clientCardSv;
+ /**
+ * 鑾峰彇鎸囧畾鐢ㄦ埛鍚嶄笅鍏ㄩ儴姘村崱
+ * @param clientId
+ * @return
+ */
@Operation(summary = "鑾峰緱鍏ㄩ儴姘村崱", description = "杩斿洖鍏ㄩ儴姘村崱鏁版嵁")
@ApiResponses(value = {
@ApiResponse(
@@ -58,4 +61,30 @@
return BaseResponseUtils.buildException(e.getMessage()) ;
}
}
+
+ /**
+ * 鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍙婁綑棰�
+ * @param cardNum 姘村崱缂栧彿
+ * @return 姘村崱鎿嶄綔璁板綍鍙婁綑棰�
+ */
+ @Operation(summary = "鑾峰緱姘村崱鎿嶄綔璁板綍鍙婁綑棰�", description = "杩斿洖姘村崱鎿嶄綔璁板綍鍙婁綑棰�")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = BaClient.class))}
+ )
+ })
+ @GetMapping(path = "/getoperaterecords")
+ @SsoAop()
+ public BaseResponse<List<Map<String, Object>>> getOperateRecordsAndMoney(@RequestParam("cardNum") Long cardNum){
+ try {
+ Map map = clientCardSv.getOperateRecordsAndMoney(cardNum);
+ return BaseResponseUtils.buildSuccess(map);
+ } catch (Exception e) {
+ log.error("鏌ヨ鎿嶄綔璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
index f428876..5301d17 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
@@ -7,10 +7,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
/**
* @author ZhuBaoMin
@@ -83,4 +80,18 @@
return new ArrayList<>();
}
}
+
+ /**
+ * 鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍙婁綑棰�
+ * @param cardNum
+ * @return
+ */
+ public Map getOperateRecordsAndMoney(Long cardNum) {
+ List<Map<String, Object>> list = Optional.ofNullable(seClientCardMapper.getOperateRecordsByCardNum(cardNum)).orElse(new ArrayList<>());
+ Float mondy = Optional.ofNullable(seClientCardMapper.getMoneyByCardNum(cardNum)).orElse(0f);
+ Map map = new HashMap();
+ map.put("mondy", mondy);
+ map.put("list", list);
+ return map;
+ }
}
--
Gitblit v1.8.0