From ef77ac7224c9ff7468e0ad7daf50686eebbbd9fa Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期二, 25 二月 2025 16:21:51 +0800 Subject: [PATCH] 获取灌溉计划列表接口 --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java | 4 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/qo/QoIrrigatePlan.java | 42 ++++++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml | 73 ++++++++++------- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java | 24 +++++- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java | 9 + pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java | 26 +++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java | 41 +++++---- 7 files changed, 159 insertions(+), 60 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java index 8ef4634..697f90e 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java @@ -10,8 +10,8 @@ /** * @author ZhuBaoMin - * @date 2025-02-20 15:33 - * @LastEditTime 2025-02-20 15:33 + * @date 2025-02-25 14:59 + * @LastEditTime 2025-02-25 14:59 * @Description */ diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java index f0c2679..90c7951 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java @@ -30,54 +30,59 @@ public static final long serialVersionUID = 202502201543001L; /** - * 涓婚敭 - */ + * 涓婚敭 + */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @TableId(type = IdType.INPUT) private Long id; /** - * 椤圭洰ID - */ + * 椤圭洰ID + */ private Long projectId; /** - * 璁″垝鍚嶇О - */ + * 璁″垝鍚嶇О + */ @NotBlank(message = "璁″垝鍚嶇О涓嶈兘涓虹┖") private String planName; /** - * 璁″垝鍚姩妯″紡;1-鎵嬪姩鍚姩锛�2-鑷姩鍚姩 - */ + * 璁″垝鍚姩妯″紡;1-鎵嬪姩鍚姩锛�2-鑷姩鍚姩 + */ @NotNull(message = "璁″垝鍚姩妯″紡涓嶈兘涓虹┖") private Byte startupMode; /** - * 鐏屾簤寮�濮嬫椂闂�;绮剧‘鍒板垎 - */ + * 鐏屾簤寮�濮嬫椂闂�;绮剧‘鍒板垎 + */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date planStartTime; /** - * 鐏屾簤缁撴潫鏃堕棿;绮剧‘鍒板垎 - */ + * 鐏屾簤缁撴潫鏃堕棿;绮剧‘鍒板垎 + */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date planStopTime; /** - * 璁″垝鐘舵��;1-鑽夌锛�2-宸插彂甯� - */ + * 鐏屾簤鏃堕暱;鍒嗛挓 + */ + private Integer duration; + + /** + * 璁″垝鐘舵��;1-鑽夌锛�2-宸插彂甯� + */ private Byte planState; /** - * 鎵ц鐘舵��;1-鏈墽琛岋紝2-鎵ц涓紝3-宸叉殏鍋滐紝4-宸茬粓姝紝5-宸插畬鎴� - */ + * 鎵ц鐘舵��;1-鏈墽琛岋紝2-鎵ц涓紝3-宸叉殏鍋滐紝4-宸茬粓姝紝5-宸插畬鎴� + */ private Byte executingState; /** - * 閫昏緫鍒犻櫎鏍囪瘑;鏈垹闄や负0锛屽凡鍒犻櫎涓哄垹闄ゆ椂闂� - */ + * 閫昏緫鍒犻櫎鏍囪瘑;鏈垹闄や负0锛屽凡鍒犻櫎涓哄垹闄ゆ椂闂� + */ private Long deleted; } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java index cbaa7bf..3eb8770 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java @@ -17,7 +17,7 @@ */ @Data -@JsonPropertyOrder({"planId", "projectName", "planName", "startupMode", "startTime", "stopTime", "planState", "executingState"}) +@JsonPropertyOrder({"planId", "projectName", "planName", "startupMode", "startTime", "stopTime", "duration", "planState", "executingState"}) public class VoIrrigatePlan implements BaseEntity { public static final long serialVersionUID = 202502241652001L; @@ -55,12 +55,17 @@ private Date stopTime; /** + * 鐏屾簤鏃堕暱 + */ + private Integer duration; + + /** * 璁″垝鐘舵�侊紱1-鑽夌锛�2-宸插彂甯� */ private String planState; /** - * 璁″垝鎵ц鐘舵�� + * 璁″垝鎵ц鐘舵�侊紱1-鏈墽琛岋紝2-鎵ц涓紝3-宸叉殏鍋滐紝4-宸茬粓姝紝5-宸插畬鎴� */ private String executingState; } diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml index abd6ed3..bbf7b56 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml @@ -10,14 +10,15 @@ <result column="startup_mode" jdbcType="TINYINT" property="startupMode" /> <result column="plan_start_time" jdbcType="TIMESTAMP" property="planStartTime" /> <result column="plan_stop_time" jdbcType="TIMESTAMP" property="planStopTime" /> + <result column="duration" jdbcType="INTEGER" property="duration" /> <result column="plan_state" jdbcType="TINYINT" property="planState" /> <result column="executing_state" jdbcType="TINYINT" property="executingState" /> <result column="deleted" jdbcType="BIGINT" property="deleted" /> </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, plan_state, - executing_state, deleted + id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, duration, + plan_state, executing_state, deleted </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <!--@mbg.generated--> @@ -35,12 +36,12 @@ <!--@mbg.generated--> insert into ir_irrigate_plan (id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, - plan_state, executing_state, deleted - ) + duration, plan_state, executing_state, + deleted) values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR}, #{startupMode,jdbcType=TINYINT}, #{planStartTime,jdbcType=TIMESTAMP}, #{planStopTime,jdbcType=TIMESTAMP}, - #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT}, #{deleted,jdbcType=BIGINT} - ) + #{duration,jdbcType=INTEGER}, #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT}, + #{deleted,jdbcType=BIGINT}) </insert> <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan"> <!--@mbg.generated--> @@ -63,6 +64,9 @@ </if> <if test="planStopTime != null"> plan_stop_time, + </if> + <if test="duration != null"> + duration, </if> <if test="planState != null"> plan_state, @@ -92,6 +96,9 @@ </if> <if test="planStopTime != null"> #{planStopTime,jdbcType=TIMESTAMP}, + </if> + <if test="duration != null"> + #{duration,jdbcType=INTEGER}, </if> <if test="planState != null"> #{planState,jdbcType=TINYINT}, @@ -123,6 +130,9 @@ <if test="planStopTime != null"> plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP}, </if> + <if test="duration != null"> + duration = #{duration,jdbcType=INTEGER}, + </if> <if test="planState != null"> plan_state = #{planState,jdbcType=TINYINT}, </if> @@ -143,6 +153,7 @@ startup_mode = #{startupMode,jdbcType=TINYINT}, plan_start_time = #{planStartTime,jdbcType=TIMESTAMP}, plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP}, + duration = #{duration,jdbcType=INTEGER}, plan_state = #{planState,jdbcType=TINYINT}, executing_state = #{executingState,jdbcType=TINYINT}, deleted = #{deleted,jdbcType=BIGINT} @@ -158,7 +169,7 @@ <select id="getIrrigatePlanCount" resultType="java.lang.Long"> SELECT COUNT(*) FROM ir_irrigate_plan plan - INNER JOIN ir_project pro ON pro.id = plan.project_id + INNER JOIN ir_project pro ON pro.id = plan.project_id <where> AND plan.deleted = 0 AND pro.deleted = 0 @@ -187,32 +198,32 @@ <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掑垪琛�--> <select id="getIrrigatePlans" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigatePlan"> SELECT - plan.id AS planId, - pro.project_name AS projectName, - plan.plan_name AS planName, - CASE plan.startup_mode - WHEN 1 THEN '鎵嬪姩鍚姩' - WHEN 2 THEN '鑷姩鍚姩' - END AS startupMode, - plan.plan_start_time AS startTime, - plan.plan_stop_time AS stopTime, - CASE plan.plan_state - WHEN 1 THEN '鑽夌' - WHEN 2 THEN '宸插彂甯�' - END AS planState, + plan.id AS planId, + pro.project_name AS projectName, + plan.plan_name AS planName, + CASE plan.startup_mode + WHEN 1 THEN '鎵嬪姩鍚姩' + WHEN 2 THEN '鑷姩鍚姩' + END AS startupMode, + plan.plan_start_time AS startTime, + plan.plan_stop_time AS stopTime, + CASE plan.plan_state + WHEN 1 THEN '鑽夌' + WHEN 2 THEN '宸插彂甯�' + END AS planState, - CASE plan.executing_state - WHEN 1 THEN - '鏈墽琛�' - WHEN 2 THEN - '鎵ц涓�' - WHEN 3 THEN - '宸叉殏鍋�' - WHEN 4 THEN - '宸茬粓姝�' - END AS executingState + CASE plan.executing_state + WHEN 1 THEN + '鏈墽琛�' + WHEN 2 THEN + '鎵ц涓�' + WHEN 3 THEN + '宸叉殏鍋�' + WHEN 4 THEN + '宸茬粓姝�' + END AS executingState FROM ir_irrigate_plan plan - INNER JOIN ir_project pro ON pro.id = plan.project_id + INNER JOIN ir_project pro ON pro.id = plan.project_id <where> AND plan.deleted = 0 AND pro.deleted = 0 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java index 246fb29..1e9be73 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java @@ -2,25 +2,25 @@ import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan; import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule; import com.dy.pipIrrGlobal.pojoIr.IrOpeningSchedule; import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate; +import com.dy.pipIrrGlobal.voIr.VoIrrigatePlan; import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule; import com.dy.pipIrrWechat.irrigatePlan.dto.IrrigatePlan; import com.dy.pipIrrWechat.irrigatePlan.dto.IrrigateSchedule; import com.dy.pipIrrWechat.irrigatePlan.dto.PlanSimple; import com.dy.pipIrrWechat.irrigatePlan.enums.OperateTypeENUM; +import com.dy.pipIrrWechat.irrigatePlan.qo.QoIrrigatePlan; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; @@ -171,4 +171,20 @@ } return BaseResponseUtils.buildSuccess(); } + + /** + * 鑾峰彇鐏屾簤璁″垝鍒楄〃 + * @param vo + * @return + */ + @GetMapping(path = "/getIrrigatePlans") + public BaseResponse<QueryResultVo<List<VoIrrigatePlan>>> getIrrigatePlans(QoIrrigatePlan vo) { + try { + QueryResultVo<List<VoIrrigatePlan>> res = irrigatePlanSv.getIrrigatePlans(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇杞亴缁勮褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java index e205fb6..c75639d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java @@ -1,16 +1,21 @@ package com.dy.pipIrrWechat.irrigatePlan; +import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoIr.*; import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan; import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule; import com.dy.pipIrrGlobal.pojoIr.IrOpeningSchedule; import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate; +import com.dy.pipIrrGlobal.voIr.VoIrrigatePlan; import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule; +import com.dy.pipIrrWechat.irrigatePlan.qo.QoIrrigatePlan; 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.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -50,9 +55,24 @@ return po.getId(); } - //public List<VoIrrigatePlan> getIrrigatePlans(Map<?, ?> params { - // return irrigatePlanMapper.getIrrigatePlans(params); - //} + /** + * 鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掑垪琛� + * @param queryVo + * @return + */ + public QueryResultVo<List<VoIrrigatePlan>> getIrrigatePlans(QoIrrigatePlan queryVo) { + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + + Long itemTotal = irrigatePlanMapper.getIrrigatePlanCount(params); + + QueryResultVo<List<VoIrrigatePlan>> rsVo = new QueryResultVo<>(); + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = irrigatePlanMapper.getIrrigatePlans(params); + return rsVo; + } /** * 鍙戝竷鎸囧畾鐨勭亴婧夎鍒� diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/qo/QoIrrigatePlan.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/qo/QoIrrigatePlan.java new file mode 100644 index 0000000..2c10a36 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/qo/QoIrrigatePlan.java @@ -0,0 +1,42 @@ +package com.dy.pipIrrWechat.irrigatePlan.qo; + +import com.dy.common.webUtil.QueryConditionVo; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author ZhuBaoMin + * @date 2025-02-25 15:42 + * @LastEditTime 2025-02-25 15:42 + * @Description 鐏屾簤璁″垝鏌ヨ瀵硅薄 + */ + +@Data +@EqualsAndHashCode(callSuper = false) +public class QoIrrigatePlan extends QueryConditionVo { + + /** + * 椤圭洰鍚嶇О + */ + private String projectName; + + /** + * 璁″垝鍚嶇О + */ + private String planName; + + /** + * 璁″垝鍚姩妯″紡锛�1-鎵嬪姩鍚姩锛�2-鑷姩鍚姩 + */ + private Byte startupMode; + + /** + * 璁″垝鐘舵�侊紱1-鑽夌锛�2-宸插彂甯� + */ + private Byte planState; + + /** + * 鎵ц鐘舵�侊紱1-鏈墽琛岋紝2-鎵ц涓紝3-宸叉殏鍋滐紝4-宸茬粓姝紝5-宸插畬鎴� + */ + private Byte executingState; +} -- Gitblit v1.8.0