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