From 6497e0daf1d0afc3da65a11d389c740e79427a78 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期三, 24 七月 2024 14:08:11 +0800
Subject: [PATCH] 2024-07-24 朱宝民 整点报历史记录查询、管理卡创建
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportCtrl.java | 45 +++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/ManagerCard.java | 33 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java | 19 +
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeManagerCardMapper.xml | 124 ++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java | 31 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagerCard.java | 72 ++++++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java | 55 ++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/qo/ReportQO.java | 40 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOnHour.java | 75 ++++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml | 54 ++++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java | 13
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java | 72 ++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeManagerCardMapper.java | 35 ++
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 2
14 files changed, 657 insertions(+), 13 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
index edcde57..1eaa921 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
@@ -2,8 +2,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory;
-import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast;
+import com.dy.pipIrrGlobal.voRm.VoOnHour;
import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
/**
* @Author: liurunyu
@@ -53,4 +56,18 @@
* @return update count
*/
int updateByPrimaryKey(RmOnHourReportHistory record);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰曟暟閲�
+ * @param params
+ * @return
+ */
+ Long getOnHourReportsCount_history(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�
+ * @param params
+ * @return
+ */
+ List<VoOnHour> getOnHourReports_history(Map<?, ?> params);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeManagerCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeManagerCardMapper.java
new file mode 100644
index 0000000..6df948a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeManagerCardMapper.java
@@ -0,0 +1,35 @@
+package com.dy.pipIrrGlobal.daoSe;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-24 10:36
+ * @LastEditTime 2024-07-24 10:36
+ * @Description
+ */
+
+@Mapper
+public interface SeManagerCardMapper extends BaseMapper<SeManagerCard> {
+ int deleteByPrimaryKey(Long id);
+
+ int insert(SeManagerCard record);
+
+ int insertSelective(SeManagerCard record);
+
+ SeManagerCard selectByPrimaryKey(Long id);
+
+ int updateByPrimaryKeySelective(SeManagerCard record);
+
+ int updateByPrimaryKey(SeManagerCard record);
+
+ /**
+ * 鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈢鐞嗗崱缂栧彿
+ * @param areaCode
+ * @return
+ */
+ String getManagerCardNumOfMax(@Param("areaCode") String areaCode);
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagerCard.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagerCard.java
new file mode 100644
index 0000000..6bf4d99
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagerCard.java
@@ -0,0 +1,72 @@
+package com.dy.pipIrrGlobal.pojoSe;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import org.hibernate.validator.constraints.Length;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-24 10:36
+ * @LastEditTime 2024-07-24 10:36
+ * @Description
+ */
+/**
+ * 绠$悊鍛樻按鍗¤〃
+ */
+
+@TableName(value = "se_manager_card", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+public class SeManagerCard implements BaseEntity {
+ public static final long serialVersionUID = 202407241040001L;
+
+ /**
+ * 涓婚敭
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @TableId(type = IdType.INPUT)
+ private Long id;
+
+ /**
+ * 鍗$墖鍦板潃
+ */
+ @NotBlank(message = "鍗$墖鍦板潃涓嶈兘涓虹┖")
+ private String cardAddr;
+
+ /**
+ * 鍗$墖缂栧彿
+ */
+ @NotBlank(message = "鍗$墖缂栧彿涓嶈兘涓虹┖")
+ private String cardNum;
+
+ /**
+ * 鍗$墖绫诲瀷;2-绠$悊绉戯紝4-寮�鍏抽榾鍗★紝5娓呯┖鍗�
+ */
+ @NotNull(message = "鍗$墖绫诲瀷涓嶈兘涓虹┖")
+ private Byte cardType;
+
+ /**
+ * 寮�鍗℃椂闂�
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ @Length(max = 200)
+ private String remarks;
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOnHour.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOnHour.java
new file mode 100644
index 0000000..26dece0
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOnHour.java
@@ -0,0 +1,75 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 17:12
+ * @LastEditTime 2024-07-23 17:12
+ * @Description 鏁寸偣鎶ユ暟鎹鍥惧璞�
+ */
+
+@Data
+public class VoOnHour {
+ private static final long serialVersionUID = 202407231713001L;
+
+ /**
+ * 鍙栨按鍙D
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ private Long intakeId;
+
+ /**
+ * 鍙栨按鍙g紪鍙�
+ */
+ private String intakeNum;
+
+ /**
+ * 闃�鎺у櫒鍦板潃
+ */
+ private String rtuAddr;
+
+ /**
+ * 鏁版嵁鎺ユ敹鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private String receiveTime;
+
+ /**
+ * 鐬椂娴侀噺
+ */
+ private Double instantAmount;
+
+ /**
+ * 绱娴侀噺
+ */
+ private Double totalAmount;
+
+ /**
+ * 鎹熷け娴侀噺锛屼粠褰撴棩0鏃跺埌褰撳墠鐨勬紡鎹熺疮璁℃祦閲�
+ */
+ private Double lossAmount;
+
+ /**
+ * 姘村帇
+ */
+ private Double waterPress;
+
+ /**
+ * 钃勭數姹犵數鍘�
+ */
+ private Double batteryVolt;
+
+ /**
+ * 淇″彿寮哄害
+ */
+ private Integer signalValue;
+
+ /**
+ * 姘翠环
+ */
+ private Double waterPrice;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index 7cabb1f..82bc8e4 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -136,6 +136,8 @@
projectNo: 10
#鎺у埗鍣ㄧ被鍨�
controllerType: 57
+ #榛樿琛屾斂鍖哄垝缂栫爜锛堝ぉ娲�-澶╂触甯�-姝︽竻鍖�-浜花宸ヤ笟鍥�-澶х鑺傛按锛�
+ divisionCode: 120114403100
#閫氳鍗忚
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
index a06bd6d..dab83eb 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
@@ -194,4 +194,58 @@
water_price = #{waterPrice,jdbcType=FLOAT}
where id = #{id,jdbcType=BIGINT}
</update>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰曟暟閲�-->
+ <select id="getOnHourReportsCount_history" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM rm_on_hour_report_history oh
+ INNER JOIN pr_intake inta ON inta.id = oh.intake_id
+ <where>
+ <if test = "intakeName != null and intakeName !=''">
+ AND inta.name LIKE CONCAT('%',#{intakeName},'%')
+ </if>
+ <if test = "rtuAddr != null and rtuAddr !=''">
+ AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�-->
+ <select id="getOnHourReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOnHour">
+ SELECT
+ oh.intake_id AS intakeId,
+ inta.`name` AS intakeNum,
+ oh.rtu_addr AS rtuAddr,
+ oh.dt AS receiveTime,
+ oh.instant_amount AS instantAmount,
+ oh.total_amount AS totalAmount,
+ oh.loss_amount AS lossAmount,
+ oh.water_press AS waterPress,
+ oh.battery_volt AS batteryVolt,
+ oh.signal_value AS signalValue,
+ oh.water_price AS waterPrice
+ FROM rm_on_hour_report_history oh
+ INNER JOIN pr_intake inta ON inta.id = oh.intake_id
+ <where>
+ <if test = "intakeNum != null and intakeNum !=''">
+ AND inta.name LIKE CONCAT('%',#{intakeNum},'%')
+ </if>
+ <if test = "rtuAddr != null and rtuAddr !=''">
+ AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ORDER BY oh.dt DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeManagerCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeManagerCardMapper.xml
new file mode 100644
index 0000000..dc41740
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeManagerCardMapper.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dy.pipIrrGlobal.daoSe.SeManagerCardMapper">
+ <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+ <!--@mbg.generated-->
+ <!--@Table se_manager_card-->
+ <id column="id" jdbcType="BIGINT" property="id" />
+ <result column="card_addr" jdbcType="VARCHAR" property="cardAddr" />
+ <result column="card_num" jdbcType="VARCHAR" property="cardNum" />
+ <result column="card_type" jdbcType="TINYINT" property="cardType" />
+ <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+ <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ <!--@mbg.generated-->
+ id, card_addr, card_num, card_type, create_time, remarks
+ </sql>
+ <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+ <!--@mbg.generated-->
+ select
+ <include refid="Base_Column_List" />
+ from se_manager_card
+ where id = #{id,jdbcType=BIGINT}
+ </select>
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+ <!--@mbg.generated-->
+ delete from se_manager_card
+ where id = #{id,jdbcType=BIGINT}
+ </delete>
+ <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+ <!--@mbg.generated-->
+ insert into se_manager_card (id, card_addr, card_num,
+ card_type, create_time, remarks
+ )
+ values (#{id,jdbcType=BIGINT}, #{cardAddr,jdbcType=VARCHAR}, #{cardNum,jdbcType=VARCHAR},
+ #{cardType,jdbcType=TINYINT}, #{createTime,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR}
+ )
+ </insert>
+ <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+ <!--@mbg.generated-->
+ insert into se_manager_card
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="cardAddr != null">
+ card_addr,
+ </if>
+ <if test="cardNum != null">
+ card_num,
+ </if>
+ <if test="cardType != null">
+ card_type,
+ </if>
+ <if test="createTime != null">
+ create_time,
+ </if>
+ <if test="remarks != null">
+ remarks,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=BIGINT},
+ </if>
+ <if test="cardAddr != null">
+ #{cardAddr,jdbcType=VARCHAR},
+ </if>
+ <if test="cardNum != null">
+ #{cardNum,jdbcType=VARCHAR},
+ </if>
+ <if test="cardType != null">
+ #{cardType,jdbcType=TINYINT},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="remarks != null">
+ #{remarks,jdbcType=VARCHAR},
+ </if>
+ </trim>
+ </insert>
+ <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+ <!--@mbg.generated-->
+ update se_manager_card
+ <set>
+ <if test="cardAddr != null">
+ card_addr = #{cardAddr,jdbcType=VARCHAR},
+ </if>
+ <if test="cardNum != null">
+ card_num = #{cardNum,jdbcType=VARCHAR},
+ </if>
+ <if test="cardType != null">
+ card_type = #{cardType,jdbcType=TINYINT},
+ </if>
+ <if test="createTime != null">
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="remarks != null">
+ remarks = #{remarks,jdbcType=VARCHAR},
+ </if>
+ </set>
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+ <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+ <!--@mbg.generated-->
+ update se_manager_card
+ set card_addr = #{cardAddr,jdbcType=VARCHAR},
+ card_num = #{cardNum,jdbcType=VARCHAR},
+ card_type = #{cardType,jdbcType=TINYINT},
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ remarks = #{remarks,jdbcType=VARCHAR}
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+
+ <!--鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈢鐞嗗崱缂栧彿-->
+ <select id="getManagerCardNumOfMax" resultType="java.lang.String">
+ SELECT card_num
+ FROM se_manager_card
+ WHERE card_num LIKE CONCAT(#{areaCode},'%')
+ ORDER BY card_num desc
+ LIMIT 0,1
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportCtrl.java
new file mode 100644
index 0000000..e3cdcda
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportCtrl.java
@@ -0,0 +1,45 @@
+package com.dy.pipIrrRemote.report;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.voRm.VoOnHour;
+import com.dy.pipIrrRemote.report.qo.ReportQO;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 16:01
+ * @LastEditTime 2024-07-23 16:01
+ * @Description 鍚勭被鏁版嵁鎶ユ帶鍒剁被
+ */
+
+@Slf4j
+@RestController
+@RequestMapping(path = "report")
+@RequiredArgsConstructor
+public class ReportCtrl {
+ private final ReportSv reportSv;
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "/on_hour_report_history")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoOnHour>>> getOnHourReportHistory(ReportQO qo){
+ try {
+ return BaseResponseUtils.buildSuccess(reportSv.getOnHourReportsHistory(qo));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
new file mode 100644
index 0000000..ed17765
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
@@ -0,0 +1,72 @@
+package com.dy.pipIrrRemote.report;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.*;
+import com.dy.pipIrrGlobal.voRm.VoOnHour;
+import com.dy.pipIrrRemote.report.qo.ReportQO;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 16:02
+ * @LastEditTime 2024-07-23 16:02
+ * @Description 鍚勭被鏁版嵁鎶ユ湇鍔$被
+ */
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ReportSv {
+ // 闃�鎺у櫒鏁寸偣鎶AO
+ private final RmOnHourReportHistoryMapper rmOnHourReportHistoryMapper;
+ private final RmOnHourReportLastMapper rmOnHourReportLastMapper;
+
+ // 闃�鎺у櫒寮�鍏抽榾鎶AO
+ private final RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
+ private final RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper;
+
+ // 闃�鎺у櫒瀹氭椂鎶AO
+ private final RmTimingReportHistoryMapper rmTimingReportHistoryMapper;
+ private final RmTimingReportLastMapper rmTimingReportLastMapper;
+
+ // 宸ヤ綔鎶AO
+ private final RmWorkReportHistoryMapper rmWorkReportHistoryMapper;
+ private final RmWorkReportLastMapper rmWorkReportLastMapper;
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoOnHour>> getOnHourReportsHistory(ReportQO qo) {
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart != null) {
+ timeStart = timeStart + " 00:00:00";
+ qo.setTimeStart(timeStart);
+ }
+ if(timeStop != null) {
+ timeStop = timeStop + " 23:59:59";
+ qo.setTimeStop(timeStop);
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmOnHourReportHistoryMapper.getOnHourReportsCount_history(params);
+
+ QueryResultVo<List<VoOnHour>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportHistoryMapper.getOnHourReports_history(params);
+ return rsVo ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/qo/ReportQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/qo/ReportQO.java
new file mode 100644
index 0000000..92b88f6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/qo/ReportQO.java
@@ -0,0 +1,40 @@
+package com.dy.pipIrrRemote.report.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 16:31
+ * @LastEditTime 2024-07-23 16:31
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class ReportQO extends QueryConditionVo {
+
+ /**
+ * 鍙栨按鍙g紪鍙�
+ */
+ private String intakeNum;
+
+ /**
+ * 闃�鎺у櫒鍦板潃
+ */
+ private String rtuAddr;
+
+ /**
+ * 鏌ヨ寮�濮嬫棩鏈�
+ */
+ private String timeStart;
+
+ /**
+ * 鏌ヨ缁撴潫鏃ユ湡
+ */
+ private String timeStop;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
index 5cb744f..c0d55cf 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -10,6 +10,7 @@
import com.dy.pipIrrGlobal.pojoBa.BaClient;
import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
import com.dy.pipIrrGlobal.util.AmountToChinese;
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
import com.dy.pipIrrGlobal.voSe.VoOperate;
@@ -31,6 +32,7 @@
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
@@ -55,6 +57,8 @@
private final CardOperateSv cardOperateSv;
private final ClientCardSv clientCardSv;
+ @Value("${project.divisionCode}")
+ private String divisionCode;
/**
* 寮�鍗�
* @param po 寮�鍗′紶鍏ュ璞�
@@ -748,6 +752,57 @@
}
/**
+ * 鍒涘缓绠$悊鍗�
+ * @param po
+ * @param bindingResult
+ * @return
+ */
+ @PostMapping(path = "create_manager_card", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> createManagerCard(@RequestBody @Valid ManagerCard po, BindingResult bindingResult){
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ /**
+ * 鏍规嵁琛屾斂鍖哄垝涓诧紙divisionCode锛夊湪绠$悊鍗¤〃涓拡瀵瑰崱鐗囩紪鍙凤紙cardNum锛夎繘琛屾ā绯婃煡璇�
+ * 濡傛灉椤哄簭鍙峰凡缁忚揪鍒版渶澶у�硷紝鎻愮ず鐢ㄦ埛鑱旂郴绯荤粺绠$悊鍛�
+ * 濡傛灉椤哄簭鍙锋湭杈惧埌鏈�澶у�硷紝鍒欏姞1
+ * cardNum涓烘柊鐨勫崱鍙�
+ */
+ String cardNum = Optional.ofNullable(cardOperateSv.getManagerCardNumOfMax(divisionCode)).orElse("");
+ if(cardNum != null && cardNum.trim().length() > 0) {
+ Integer number = Integer.parseInt(cardNum.substring(12));
+ number = number + 1;
+ if(number > 65535) {
+ return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_OVERRUN.getMessage());
+ }
+ cardNum = cardNum.substring(0, 12) + String.format("%05d", number);
+ } else {
+ cardNum = divisionCode + "00001";
+ }
+
+ SeManagerCard seManagerCard = new SeManagerCard();
+ seManagerCard.setCardAddr(po.getCardAddr());
+ seManagerCard.setCardNum(cardNum);
+ seManagerCard.setCardType(po.getCardType());
+ seManagerCard.setCreateTime(new Date());
+ seManagerCard.setRemarks(po.getRemarks());
+ Long managerCardId = cardOperateSv.addManagerCard(seManagerCard);
+ if(managerCardId == 0) {
+ return BaseResponseUtils.buildErrorMsg(SellResultCode.CREATE_MANAGER_CARD_ERROR.getMessage());
+ }
+
+ return BaseResponseUtils.buildSuccess(cardNum);
+
+ //Map map = new HashMap();
+ //map.put("cardNum", cardNum);
+ //return BaseResponseUtils.buildSuccess(map) ;
+ }
+
+
+ /**
* 鑾峰彇鍏呭�艰褰�
* @param vo
* @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
index 84cc589..5ff8607 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -7,12 +7,10 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
-import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper;
-import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
-import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
-import com.dy.pipIrrGlobal.daoSe.SeGeneralMapper;
+import com.dy.pipIrrGlobal.daoSe.*;
import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
import com.dy.pipIrrGlobal.voSe.*;
import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge;
import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -56,6 +54,9 @@
@Autowired
private BaSettingsMapper baSettingsMapper;
+ @Autowired
+ private SeManagerCardMapper seManagerCardMapper;
+
/**
* 娣诲姞寮�鍗¤褰�
@@ -88,16 +89,36 @@
public Long getAreaCodeById(Long clientId) {
return seClientMapper.getAreaCodeById(clientId);
}
+
/**
* 鏍规嵁琛屾斂鍖哄垝涓叉ā鍧楁煡璇㈡按鍗$紪鍙凤紝寮�鍗′娇鐢�
* @param areaCode
* @return
*/
- String getCardNumOfMax(String areaCode) {
+ public String getCardNumOfMax(String areaCode) {
return seClientCardMapper.getCardNumOfMax(areaCode);
}
/**
+ * 鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈢鐞嗗崱缂栧彿锛屽垱寤虹鐞嗗崱浣跨敤
+ * @param areaCode
+ * @return
+ */
+ public String getManagerCardNumOfMax(String areaCode) {
+ return seManagerCardMapper.getManagerCardNumOfMax(areaCode);
+ }
+
+ /**
+ * 鍒涘缓绠$悊鍗�
+ * @param po
+ * @return
+ */
+ public Long addManagerCard(SeManagerCard po) {
+ seManagerCardMapper.insert(po);
+ return po.getId();
+ }
+
+ /**
* 鏍规嵁鍐滄埛缂栧彿鑾峰彇鍐滄埛ID锛屽紑鍗′娇鐢�
* @param clientNum
* @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/ManagerCard.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/ManagerCard.java
new file mode 100644
index 0000000..0b28e12
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/ManagerCard.java
@@ -0,0 +1,33 @@
+package com.dy.pipIrrSell.cardOperate.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-24 11:25
+ * @LastEditTime 2024-07-24 11:25
+ * @Description 绠$悊鍗′紶杈撳璞�
+ */
+
+@Data
+public class ManagerCard {
+ public static final long serialVersionUID = 202407241125001L;
+
+ /**
+ * 姘村崱鍦板潃锛屼粎淇濆瓨锛屾棤涓氬姟
+ */
+ @NotBlank(message = "姘村崱鍦板潃涓嶈兘涓虹┖")
+ private String cardAddr;
+
+ /**
+ * 鍗$墖绫诲瀷锛�2-绠$悊绉戯紝4-寮�鍏抽榾鍗★紝5-娓呯┖鍗�
+ */
+ private Byte cardType;
+
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ private String remarks;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
index 23112df..7dc0cf8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
@@ -28,13 +28,12 @@
No_ActiveCards(10009, "娌℃湁绗﹀悎鏉′欢鐨勫紑鍗℃暟鎹�"),
No_RECHARGES(10010, "娌℃湁绗﹀悎鏉′欢鐨勫厖鍊兼暟鎹�"),
No_ReissueCards(10011, "娌℃湁绗﹀悎鏉′欢鐨勮ˉ鍗℃暟鎹�"),
- No_CANCELS(10010, "娌℃湁绗﹀悎鏉′欢鐨勬敞閿�鏁版嵁"),
- PARAMS_ERROR(10010, "鎿嶄綔绫诲瀷鍙傛暟閿欒"),
-
- THE_CARD_NOT_EXIST(10012, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"),
- THE_CARD_NOT_SUPPORT_THIS_OPERATION(10013, "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"),
-
- THE_FEE_CANNOT_BE_REFUNDED(10014, "鍘熷崱鎸傚け鏃跺凡閫�娆撅紝琛ュ崱鏃朵笉鑳借ˉ璐圭敤"),
+ No_CANCELS(10012, "娌℃湁绗﹀悎鏉′欢鐨勬敞閿�鏁版嵁"),
+ PARAMS_ERROR(10013, "鎿嶄綔绫诲瀷鍙傛暟閿欒"),
+ CREATE_MANAGER_CARD_ERROR(10014, "鍒涘缓绠$悊鍗″け璐�"),
+ THE_CARD_NOT_EXIST(10015, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"),
+ THE_CARD_NOT_SUPPORT_THIS_OPERATION(10016, "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"),
+ THE_FEE_CANNOT_BE_REFUNDED(10017, "鍘熷崱鎸傚け鏃跺凡閫�娆撅紝琛ュ崱鏃朵笉鑳借ˉ璐圭敤"),
/**
* 鍏呭��
--
Gitblit v1.8.0