zhubaomin
2025-03-29 4297d17c914dc6b2d64388776ba0db7fb093c1b9
轮灌组添加接口、删除接口
5个文件已修改
1个文件已添加
184 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupIntakeMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupIntakeMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/dto/IrrigateGroup.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupIntakeMapper.java
@@ -33,4 +33,11 @@
     * @return
     */
    List<Long> getIntakeIdsByGroupId(Long groupId);
    /**
     * 根据组ID删除取水口关联
     * @param groupId
     * @return
     */
    Integer deleteByGroupId(Long groupId);
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupIntakeMapper.xml
@@ -85,4 +85,9 @@
    FROM ir_group_intake
    WHERE group_id = #{groupId}
  </select>
  <!--根据组ID删除取水口关联-->
  <delete id="deleteByGroupId">
    DELETE FROM ir_group_intake WHERE group_id = #{groupId}
  </delete>
</mapper>
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
@@ -12,6 +12,7 @@
import com.dy.pipIrrGlobal.voIr.VoGroupOne;
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
import com.dy.pipIrrIrrigate.irrigateGroup.dto.GroupClient;
import com.dy.pipIrrIrrigate.irrigateGroup.dto.IrrigateGroup;
import com.dy.pipIrrIrrigate.result.IrrigateResultCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
@@ -442,4 +443,46 @@
        }
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * 新增轮灌组,新代码
     * @param po
     * @param bindingResult
     * @return
     */
    @PostMapping(path = "addIrrigateGroup", consumes = MediaType.APPLICATION_JSON_VALUE)
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> addIrrigateGroup(@RequestBody @Valid IrrigateGroup po, BindingResult bindingResult) {
        if (bindingResult != null && bindingResult.hasErrors()) {
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        Map map_result = irrigateGroupSv.addIrrigateGroup(po);
        if(map_result.get("success").equals(false)) {
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
        }
        return BaseResponseUtils.buildSuccess() ;
    }
    /**
     * 删除轮灌组,新代码
     * @param groupId
     * @return
     */
    @PostMapping(path = "deleteIrrigateGroup")
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> deleteIrrigateGroup(@RequestParam(required = false) Long groupId) {
        if(groupId == null) {
            return BaseResponseUtils.buildErrorMsg("轮灌组ID不能为空");
        }
        Map map_result = irrigateGroupSv.deleteGroup(groupId);
        if(map_result.get("success").equals(false)) {
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
        }
        return BaseResponseUtils.buildSuccess() ;
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
@@ -2,19 +2,23 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoIr.IrGroupClientMapper;
import com.dy.pipIrrGlobal.daoIr.IrGroupIntakeMapper;
import com.dy.pipIrrGlobal.daoIr.IrGroupUnitMapper;
import com.dy.pipIrrGlobal.daoIr.IrIrrigateGroupMapper;
import com.dy.pipIrrGlobal.pojoIr.IrGroupClient;
import com.dy.pipIrrGlobal.pojoIr.IrGroupIntake;
import com.dy.pipIrrGlobal.pojoIr.IrGroupUnit;
import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
import com.dy.pipIrrGlobal.voIr.VoGroup;
import com.dy.pipIrrGlobal.voIr.VoGroupOne;
import com.dy.pipIrrIrrigate.irrigateGroup.dto.IrrigateGroup;
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.HashMap;
import java.util.List;
import java.util.Map;
@@ -34,6 +38,9 @@
    @Autowired
    private IrGroupClientMapper irGroupClientMapper;
    @Autowired
    private IrGroupIntakeMapper irGroupIntakeMapper;
    /**
     * 创建轮灌组
@@ -168,4 +175,78 @@
    public Integer deleteGroupClient (Long id) {
        return irGroupClientMapper.deleteByPrimaryKey(id);
    }
    /**
     * 创建轮灌组
     * @param po
     * @return
     */
    public Map addIrrigateGroup(IrrigateGroup po) {
        IrIrrigateGroup irrigateGroup = new IrIrrigateGroup();
        irrigateGroup.setGroupCode(po.getGroupCode());
        irrigateGroup.setDefaultDuration(po.getDefaultDuration());
        irrigateGroup.setOperator(po.getOperator());
        irrigateGroup.setOperateTime(new Date());
        irrigateGroup.setDeleted((byte) 0);
        irIrrigateGroupMapper.insertSelective(irrigateGroup);
        Long groupId = irrigateGroup.getId();
        if(groupId == null) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", "创建轮灌组失败");
            map.put("content", null);
            return map;
        }
        String[] intakeArr = po.getIntakes().split(",");
        Integer sort = 1;
        for(String intekeId : intakeArr) {
            String trimmed = intekeId.trim();
            if(trimmed.isEmpty()) {
                continue;
            }
            try {
                Long intakeIdLong = Long.parseLong(trimmed);
                IrGroupIntake irGroupIntake = new IrGroupIntake();
                irGroupIntake.setGroupId(groupId);
                irGroupIntake.setIntakeId(intakeIdLong);
                irGroupIntakeMapper.insert(irGroupIntake);
            } catch (NumberFormatException  e) {
                Map map = new HashMap<>();
                map.put("success", false);
                map.put("msg", "取水口ID格式错误");
                map.put("content", null);
                return map;
            }
        }
        Map map = new HashMap<>();
        map.put("success", true);
        map.put("msg", "添加轮灌组成功");
        map.put("content", null);
        return map;
    }
    /**
     * 根据组ID删除取水口关联
     * @param groupId
     * @return
     */
    public Map deleteGroup(Long groupId) {
        try {
            irGroupIntakeMapper.deleteByGroupId(groupId);
            irIrrigateGroupMapper.deleteByPrimaryKey(groupId);
            Map map = new HashMap<>();
            map.put("success", true);
            map.put("msg", "灌溉项目删除成功");
            map.put("content", null);
            return map;
        } catch (Exception e) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", "轮灌组删除失败");
            map.put("content", null);
            return map;
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/dto/IrrigateGroup.java
New file
@@ -0,0 +1,46 @@
package com.dy.pipIrrIrrigate.irrigateGroup.dto;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
 * @author ZhuBaoMin
 * @date 2025-03-28 20:26
 * @LastEditTime 2025-03-28 20:26
 * @Description 轮灌组实体类,添加及修改轮灌组使用
 */
@Data
public class IrrigateGroup {
    public static final long serialVersionUID = 202503282027001L;
    /**
     * 轮灌组ID,修改轮灌组信息需要传入
     */
    private Long groupId;
    /**
     * 轮灌组名
     */
    @NotBlank(message = "轮灌组名不能为空")
    private String groupCode;
    /**
     * 轮灌组默认时长
     */
    @NotNull(message = "轮灌组默认时长不能为空")
    private Integer defaultDuration;
    /**
     * 轮灌组关联的 intakeId,以逗号分隔
     */
    @NotBlank(message = "轮灌组关联的 intakeId 不能为空")
    private String intakes;
    /**
     * 操作员ID
     */
    @NotNull(message = "操作员ID不能为空")
    private Long operator;
}
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java
@@ -8,7 +8,7 @@
 * @author ZhuBaoMin
 * @date 2025-03-27 15:09
 * @LastEditTime 2025-03-27 15:09
 * @Description 灌溉项目实体类,添加项目使用
 * @Description 灌溉项目实体类,添加及修改项目使用
 */
@Data