From add4c38e8914170703065ecdf7ab5199ba35933b Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期一, 27 五月 2024 14:56:51 +0800
Subject: [PATCH] 田间灌溉项目管理 灌溉制度模块 5个接口实现
---
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/IrIrrigateSchedulingSv.java | 97 ++++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoSchedulingOne.java | 48 ++++
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/QueryVo.java | 24 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoScheduling.java | 31 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateSchedulingMapper.java | 48 ++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateScheduling.java | 90 +++++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateSchedulingMapper.xml | 172 ++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/IrrigateSchedulingCtrl.java | 198 ++++++++++++++++
8 files changed, 707 insertions(+), 1 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateSchedulingMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateSchedulingMapper.java
new file mode 100644
index 0000000..2a4c438
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateSchedulingMapper.java
@@ -0,0 +1,48 @@
+package com.dy.pipIrrGlobal.daoIr;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateScheduling;
+import com.dy.pipIrrGlobal.voIr.VoScheduling;
+import com.dy.pipIrrGlobal.voIr.VoSchedulingOne;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/27 10:46
+ * @LastEditTime :2024/5/27 10:46
+ * @Description
+ */
+@Mapper
+public interface IrIrrigateSchedulingMapper extends BaseMapper<IrIrrigateScheduling> {
+
+ //澧�
+ int insertSelective(IrIrrigateScheduling record);
+
+ //鍒�
+ int deleteLogicById(Long id);
+
+ //鏀�
+ int updateByPrimaryKeySelective(IrIrrigateScheduling record);
+
+ //鏌ヤ竴涓�
+ VoSchedulingOne selectById(Long id);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浣滅墿鐏屾簤鍒跺害鏁�
+ *
+ * @param params
+ * @return
+ */
+ Long getRecordCount(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浣滅墿鐏屾簤鍒跺害璁板綍
+ *
+ * @param params
+ * @return
+ */
+ List<VoScheduling> getSchedulings(Map<?, ?> params);
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateScheduling.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateScheduling.java
index d08fc05..b11142a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateScheduling.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateScheduling.java
@@ -1,10 +1,98 @@
package com.dy.pipIrrGlobal.pojoIr;
+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 io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import org.hibernate.validator.constraints.Length;
+
+import java.util.Date;
+
/**
* @author :WuZeYu
* @Date :2024/5/25 9:41
* @LastEditTime :2024/5/25 9:41
* @Description
*/
-public class IrIrrigateScheduling {
+/**
+ * 鐏屾簤鍒跺害琛�
+ */
+
+@TableName(value="ir_irrigate_scheduling", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "椤圭洰瀹炰綋")
+public class IrIrrigateScheduling implements BaseEntity {
+
+ public static final long serialVersionUID = 202405270901001L;
+
+ /**
+ * 涓婚敭
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @TableId(type = IdType.INPUT)
+ @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Long id;
+
+ /**
+ * 浣滅墿id
+ */
+ @Schema(description = "浣滅墿id", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "浣滅墿id涓嶈兘涓虹┖")
+ private Long cropId;
+
+ /**
+ * 浣滅墿鐢熼暱鏈�
+ */
+ @Schema(description = "浣滅墿鐢熼暱鏈�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @Length(message = "浣滅墿鐢熼暱鏈熶笉澶т簬{max}瀛�",max = 10)
+ private String growthPeriod;
+
+ /**
+ * 鐏屾按鍛ㄦ湡
+ */
+ @Schema(description = "鐏屾按鍛ㄦ湡", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "鐏屾按鍛ㄦ湡涓嶈兘涓虹┖")
+ private Integer irrigateCycle;
+
+ /**
+ * 鐏屾按寤剁画鏃堕棿
+ */
+ @Schema(description = "鐏屾按寤剁画鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "鐏屾按寤剁画鏃堕棿涓嶈兘涓虹┖")
+ private Integer duration;
+
+ /**
+ * 澶囨敞
+ */
+ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String remarks;
+
+ /**
+ * 鎿嶄綔浜篒D
+ */
+ @Schema(description = "鎿嶄綔浜篒D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @NotNull(message = "鎿嶄綔浜篒D涓嶈兘涓虹┖")
+ private Long operator;
+
+ /**
+ * 鎿嶄綔鏃堕棿
+ */
+ @Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Date operateDt;
+
+ /**
+ * 閫昏緫鍒犻櫎鏍囪瘑;0-鏈垹闄わ紝1-鍒犻櫎
+ */
+ @Schema(description = "鍒犻櫎鏍囪瘑", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Byte deleted;
}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoScheduling.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoScheduling.java
new file mode 100644
index 0000000..8d496da
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoScheduling.java
@@ -0,0 +1,31 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/27 10:34
+ * @LastEditTime :2024/5/27 10:34
+ * @Description
+ */
+@Data
+@Schema(name = "浣滅墿鐏屾簤鍒跺害瑙嗗浘")
+public class VoScheduling implements BaseEntity {
+
+ @Schema(description = "鐏屾簤鍒跺害瀹炰綋id")
+ private String id;
+
+ @Schema(description = "浣滅墿鍚嶇О")
+ private String cropName;
+
+ @Schema(description = "浣滅墿鐢熼暱鏈�")
+ private String growthPeriod;
+
+ @Schema(description = "浣滅墿鐢熼暱鏈�")
+ private int irrigateCycle;
+
+ @Schema(description = "浣滅墿鐢熼暱鏈�")
+ private int duration;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoSchedulingOne.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoSchedulingOne.java
new file mode 100644
index 0000000..0bd54e4
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoSchedulingOne.java
@@ -0,0 +1,48 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/27 13:59
+ * @LastEditTime :2024/5/27 13:59
+ * @Description
+ */
+@Data
+@Schema(name = "浣滅墿鐏屾簤鍒跺害瑙嗗浘")
+public class VoSchedulingOne implements BaseEntity {
+
+ @Schema(description = "鐏屾簤鍒跺害瀹炰綋id")
+ private String id;
+
+ @Schema(description = "浣滅墿id")
+ private String cropId;
+
+ @Schema(description = "浣滅墿鍚嶇О")
+ private String cropName;
+
+ @Schema(description = "浣滅墿鐢熼暱鏈�")
+ private String growthPeriod;
+
+ @Schema(description = "浣滅墿鐢熼暱鏈�")
+ private int irrigateCycle;
+
+ @Schema(description = "浣滅墿鐢熼暱鏈�")
+ private int duration;
+
+ @Schema(description = "澶囨敞")
+ private String remarks;
+
+ @Schema(description = "鎿嶄綔浜篒D")
+ private String operator;
+
+ @Schema(description = "鎿嶄綔浜哄悕瀛�")
+ private String operatorName;
+
+ @Schema(description = "鎿嶄綔鏃堕棿")
+ private Date operateDt;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateSchedulingMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateSchedulingMapper.xml
new file mode 100644
index 0000000..e70a955
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateSchedulingMapper.xml
@@ -0,0 +1,172 @@
+<?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.daoIr.IrIrrigateSchedulingMapper">
+ <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoIr.IrIrrigateScheduling">
+ <!--@mbg.generated-->
+ <!--@Table ir_irrigate_scheduling-->
+ <id column="id" jdbcType="BIGINT" property="id" />
+ <result column="crop_id" jdbcType="BIGINT" property="cropId" />
+ <result column="growth_period" jdbcType="VARCHAR" property="growthPeriod" />
+ <result column="irrigate_cycle" jdbcType="INTEGER" property="irrigateCycle" />
+ <result column="duration" jdbcType="INTEGER" property="duration" />
+ <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+ <result column="operator" jdbcType="BIGINT" property="operator" />
+ <result column="operate_time" jdbcType="TIMESTAMP" property="operateDt" />
+ <result column="deleted" jdbcType="TINYINT" property="deleted" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ <!--@mbg.generated-->
+ id, crop_id,growth_period,irrigate_cycle,duration, remarks,operator,operate_time, deleted
+ </sql>
+ <!--娣诲姞-->
+ <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateScheduling">
+ insert into ir_irrigate_scheduling
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="cropId != null">
+ crop_id,
+ </if>
+ <if test="growthPeriod != null">
+ growth_period,
+ </if>
+ <if test="irrigateCycle != null">
+ irrigate_cycle,
+ </if>
+ <if test="duration != null">
+ duration,
+ </if>
+ <if test="operator != null">
+ operator,
+ </if>
+ <if test="operateDt != null">
+ operate_time,
+ </if>
+ <if test="remarks != null">
+ remarks,
+ </if>
+ <if test="deleted != null">
+ deleted,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=BIGINT},
+ </if>
+ <if test="cropId != null">
+ #{cropId,jdbcType=BIGINT},
+ </if>
+ <if test="growthPeriod != null">
+ #{growthPeriod,jdbcType=VARCHAR},
+ </if>
+ <if test="irrigateCycle != null">
+ #{irrigateCycle,jdbcType=INTEGER},
+ </if>
+ <if test="duration != null">
+ #{duration,jdbcType=INTEGER},
+ </if>
+ <if test="operator != null">
+ #{operator,jdbcType=BIGINT},
+ </if>
+ <if test="operateDt != null">
+ #{operateDt,jdbcType=TIMESTAMP},
+ </if>
+ <if test="remarks != null">
+ #{remarks,jdbcType=VARCHAR},
+ </if>
+ <if test="deleted != null">
+ #{deleted,jdbcType=TINYINT},
+ </if>
+ </trim>
+ </insert>
+ <!--閫昏緫鍒犻櫎-->
+ <delete id="deleteLogicById" parameterType="java.lang.Long">
+ <!--@mbg.generated-->
+ update ir_irrigate_scheduling
+ set deleted = 1
+ where id = #{id,jdbcType=BIGINT}
+ </delete>
+
+ <!--淇敼淇℃伅-->
+ <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateScheduling">
+ update ir_irrigate_scheduling
+ <set>
+ <if test="cropId != null">
+ crop_id = #{cropId,jdbcType=BIGINT},
+ </if>
+ <if test="growthPeriod != null">
+ growth_period = #{growthPeriod,jdbcType=VARCHAR},
+ </if>
+ <if test="irrigateCycle != null">
+ irrigate_cycle = #{irrigateCycle,jdbcType=INTEGER},
+ </if>
+ <if test="duration != null">
+ duration = #{duration,jdbcType=INTEGER},
+ </if>
+ <if test="operator != null">
+ operator = #{operator,jdbcType=BIGINT},
+ </if>
+ <if test="operateDt != null">
+ operate_time = #{operateDt,jdbcType=TIMESTAMP},
+ </if>
+ <if test="remarks != null">
+ remarks = #{remarks,jdbcType=VARCHAR},
+ </if>
+ <if test="deleted != null">
+ deleted = #{deleted,jdbcType=TINYINT},
+ </if>
+ </set>
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+
+ <select id="getRecordCount" resultType="java.lang.Long">
+ SELECT COUNT(*) AS recordCount
+ from ir_irrigate_scheduling sch
+ left join ir_crop cro on cro.id = sch.crop_id
+ <where>
+ sch.deleted = 0
+ <if test="cropName != null and cropName != ''">
+ AND cro.crop_name LIKE CONCAT('%', #{cropName}, '%')
+ </if>
+ </where>
+ </select>
+
+ <select id="getSchedulings" resultType="com.dy.pipIrrGlobal.voIr.VoScheduling">
+ SELECT
+ CAST(sch.id AS char)AS id,
+ cro.crop_name AS cropName,
+ sch.growth_period AS growthPeriod,
+ sch.irrigate_cycle AS irrigateCycle,
+ sch.duration AS duration
+ from ir_irrigate_scheduling sch
+ left join ir_crop cro on cro.id = sch.crop_id
+ <where>
+ sch.deleted = 0
+ <if test="cropName != null and cropName != ''">
+ AND cro.crop_name LIKE CONCAT('%', #{cropName}, '%')
+ </if>
+ </where>
+ <if test="pageCurr != null and pageSize != null">
+ LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
+ </if>
+ </select>
+
+ <select id="selectById" resultType="com.dy.pipIrrGlobal.voIr.VoSchedulingOne">
+ select
+ CAST(sch.id AS char)AS id,
+ CAST(cro.id AS char)AS cropId,
+ cro.crop_name AS cropName,
+ sch.growth_period AS growthPeriod,
+ sch.irrigate_cycle AS irrigateCycle,
+ sch.duration AS duration,
+ sch.remarks AS remarks,
+ CAST(sch.operator AS char)AS operator,
+ cli.name AS operatorName,
+ sch.operate_time AS operateDt
+ from ir_irrigate_scheduling sch
+ left join ir_crop cro on cro.id = sch.crop_id
+ left join se_client cli on cli.id = sch.operator
+ where sch.id = #{id,jdbcType=BIGINT} and sch.deleted = 0
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/IrIrrigateSchedulingSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/IrIrrigateSchedulingSv.java
new file mode 100644
index 0000000..cd4dbe7
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/IrIrrigateSchedulingSv.java
@@ -0,0 +1,97 @@
+package com.dy.pipIrrIrrigate.irrigateScheduling;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoIr.IrIrrigateSchedulingMapper;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateScheduling;
+import com.dy.pipIrrGlobal.voIr.VoScheduling;
+import com.dy.pipIrrGlobal.voIr.VoSchedulingOne;
+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.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/27 10:12
+ * @LastEditTime :2024/5/27 10:12
+ * @Description
+ */
+@Slf4j
+@Service
+public class IrIrrigateSchedulingSv {
+
+ @Autowired
+ private IrIrrigateSchedulingMapper irIrrigateSchedulingMapper;
+
+ /**
+ * 娣诲姞浣滅墿鐏屾簤鍒跺害
+ *
+ * @param po
+ * @return
+ */
+ public Integer addScheduling(IrIrrigateScheduling po) {
+ po.setDeleted((byte) 0);
+ po.setOperateDt(new Date());
+ int rows = irIrrigateSchedulingMapper.insertSelective(po);
+ if (rows == 0) {
+ return 0;
+ }
+ return 1;
+ }
+ /**
+ * 鍒犻櫎浣滅墿鐏屾簤鍒跺害
+ *
+ * @param id
+ */
+ public Integer deleteScheduling(Long id) {
+ int rows = irIrrigateSchedulingMapper.deleteLogicById(id);
+ if (rows == 0) {
+ return 0;
+ }
+ return 1;
+ }
+
+ /**
+ * 淇敼浣滅墿鐏屾簤鍒跺害
+ * @param po
+ * @return
+ */
+ public Integer updateScheduling(IrIrrigateScheduling po){
+ int rows = irIrrigateSchedulingMapper.updateByPrimaryKeySelective(po);
+ if (rows == 0){
+ return 0;
+ }
+ return 1;
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ浣滅墿鐏屾簤鍒跺害
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoScheduling>> getSchedulings(QueryVo queryVo){
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+ Long itemTotal = irIrrigateSchedulingMapper.getRecordCount(params);
+
+ QueryResultVo<List<VoScheduling>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = irIrrigateSchedulingMapper.getSchedulings(params);
+ return rsVo;
+ }
+
+ /**
+ * 鑾峰彇涓�涓綔鐗╃亴婧夊埗搴︽暟鎹�
+ * @param id
+ * @return
+ */
+ public VoSchedulingOne selectById(Long id){
+ VoSchedulingOne irCrop = irIrrigateSchedulingMapper.selectById(id);
+ return irCrop;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/IrrigateSchedulingCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/IrrigateSchedulingCtrl.java
new file mode 100644
index 0000000..8874125
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/IrrigateSchedulingCtrl.java
@@ -0,0 +1,198 @@
+package com.dy.pipIrrIrrigate.irrigateScheduling;
+
+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.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateScheduling;
+import com.dy.pipIrrGlobal.pojoIr.IrProject;
+import com.dy.pipIrrGlobal.voIr.VoScheduling;
+import com.dy.pipIrrGlobal.voIr.VoSchedulingOne;
+import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import com.dy.pipIrrIrrigate.result.IrrigateResultCode;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+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.*;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/27 10:12
+ * @LastEditTime :2024/5/27 10:12
+ * @Description
+ */
+@Slf4j
+@Tag(name = "浣滅墿鐏屾簤鍒跺害绠$悊", description = "浣滅墿鐏屾簤鍒跺害鎿嶄綔")
+@RestController
+@RequestMapping(path = "scheduling")
+@RequiredArgsConstructor
+public class IrrigateSchedulingCtrl {
+
+ private final IrIrrigateSchedulingSv irIrrigateSchedulingSv;
+
+ /**
+ * 娣诲姞浣滅墿鐏屾簤鍒跺害
+ *
+ * @param po 浣滅墿鐏屾簤鍒跺害瀹炰綋瀵硅薄
+ * @param bindingResult
+ * @return 娣诲姞鏄惁鎴愬姛
+ */
+ @Operation(summary = "娣诲姞浣滅墿鐏屾簤鍒跺害璁板綍", description = "娣诲姞浣滅墿鐏屾簤鍒跺害璁板綍")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> add(@RequestBody @Valid IrIrrigateScheduling po, BindingResult bindingResult) {
+ if (bindingResult != null && bindingResult.hasErrors()) {
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+ try {
+ Integer rec = Optional.ofNullable(irIrrigateSchedulingSv.addScheduling(po)).orElse(0);
+ if (rec == 0) {
+ return BaseResponseUtils.buildFail(IrrigateResultCode.ADD_PROJECT_FAIL.getMessage());
+ }
+ } catch (Exception e) {
+ log.error("娣诲姞浣滅墿鐏屾簤鍒跺害寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true);
+ }
+ /**
+ * 閫昏緫鍒犻櫎浣滅墿鐏屾簤鍒跺害
+ * @param map
+ * @return
+ */
+ @Operation(summary = "閫昏緫鍒犻櫎浣滅墿鐏屾簤鍒跺害", description = "閫昏緫鍒犻櫎浣滅墿鐏屾簤鍒跺害")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "delete", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> delete(@RequestBody Map map) {
+ if (map == null || map.size() <= 0) {
+ BaseResponseUtils.buildFail(IrrigateResultCode.PLEASE_INPUT_PROJECT_ID.getMessage());
+ }
+ Long schedulingId = Long.parseLong(map.get("id").toString());
+ try {
+ Integer rows = irIrrigateSchedulingSv.deleteScheduling(schedulingId);
+ if (rows == 0) {
+ return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_PROJECT_FAIL.getMessage());
+ }
+ } catch (Exception e) {
+ log.error("鍒犻櫎浣滅墿鐏屾簤鍒跺害寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true);
+ }
+
+ /**
+ * 淇敼浣滅墿鐏屾簤鍒跺害
+ * @param po
+ * @param bindingResult
+ * @return
+ */
+ @Operation(summary = "淇敼浣滅墿鐏屾簤鍒跺害", description = "淇敼浣滅墿鐏屾簤鍒跺害")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> update(@RequestBody @Valid IrIrrigateScheduling po, BindingResult bindingResult){
+ if (bindingResult != null && bindingResult.hasErrors()) {
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+ try {
+ Integer rec = Optional.ofNullable(irIrrigateSchedulingSv.updateScheduling(po)).orElse(0);
+ if (rec == 0) {
+ return BaseResponseUtils.buildFail(IrrigateResultCode.UPDATE_PROJECT_FAIL.getMessage());
+ }
+ } catch (Exception e) {
+ log.error("淇敼浣滅墿鐏屾簤鍒跺害寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true);
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ * @param vo
+ * @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 = VoActiveCard.class))}
+ )
+ })
+ @GetMapping(path = "some")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoScheduling>>> getSchedulings(QueryVo vo) {
+ try {
+ QueryResultVo<List<VoScheduling>> res = irIrrigateSchedulingSv.getSchedulings(vo);
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇浣滅墿鐏屾簤鍒跺害璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
+
+ /**
+ * 鑾峰彇涓�涓綔鐗╃亴婧夊埗搴︽暟鎹�
+ *
+ * @return 鑾峰彇涓�涓綔鐗╃亴婧夊埗搴︽暟鎹�
+ */
+ @Operation(summary = "鑾峰彇涓�涓綔鐗╃亴婧夊埗搴︽暟鎹�", description = "鑾峰彇涓�涓綔鐗╃亴婧夊埗搴︽暟鎹�")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鑾峰彇涓�涓綔鐗╃亴婧夊埗搴︽暟鎹紙BaseResponse.content:{}锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = IrProject.class))}
+ )
+ })
+ @GetMapping(path = "one")
+ @SsoAop()
+ public BaseResponse<VoSchedulingOne> one(@RequestParam Long id) {
+ VoSchedulingOne irScheduling = this.irIrrigateSchedulingSv.selectById(id);
+
+ return BaseResponseUtils.buildSuccess(irScheduling);
+
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/QueryVo.java
new file mode 100644
index 0000000..dc2ec64
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateScheduling/QueryVo.java
@@ -0,0 +1,24 @@
+package com.dy.pipIrrIrrigate.irrigateScheduling;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/27 10:29
+ * @LastEditTime :2024/5/27 10:29
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "浣滅墿鐏屾簤鍒跺害鏌ヨ鏉′欢")
+public class QueryVo extends QueryConditionVo {
+
+ @Schema(description = "浣滅墿鍚嶇О")
+ public String cropName;
+}
--
Gitblit v1.8.0