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