diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/EmergencyTaskController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/EmergencyTaskController.java index d0436f4..47d2e3a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/EmergencyTaskController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/EmergencyTaskController.java @@ -1,5 +1,6 @@ package com.zteits.urbanops.module.garden.controller.admin.emergencytask; +import jodd.util.StringUtil; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -8,7 +9,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; @@ -17,16 +17,17 @@ import java.io.IOException; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.pojo.CommonResult; -import com.zteits.urbanops.framework.common.util.object.BeanUtils; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.error; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.EMERGENCY_TASK_NOT_EXISTS; import com.zteits.urbanops.module.garden.controller.admin.emergencytask.vo.*; -import com.zteits.urbanops.module.garden.dal.dataobject.emergencytask.EmergencyTaskDO; import com.zteits.urbanops.module.garden.service.emergencytask.EmergencyTaskService; @Tag(name = "管理后台 - 抢险任务主") @@ -49,6 +50,9 @@ public class EmergencyTaskController { @Operation(summary = "更新抢险任务主") @PreAuthorize("@ss.hasPermission('garden:emergency-task:update')") public CommonResult updateEmergencyTask(@Valid @RequestBody EmergencyTaskSaveReqVO updateReqVO) { + if(StringUtil.isEmpty(updateReqVO.getTaskNo())){ + return error(EMERGENCY_TASK_NOT_EXISTS); + } emergencyTaskService.updateEmergencyTask(updateReqVO); return success(true); } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/vo/EmergencyTaskSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/vo/EmergencyTaskSaveReqVO.java index 76fb201..9d1d854 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/vo/EmergencyTaskSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/vo/EmergencyTaskSaveReqVO.java @@ -11,6 +11,9 @@ import java.time.LocalDateTime; @Data public class EmergencyTaskSaveReqVO { + @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30197") + private String taskNo; + @Schema(description = "发现险情时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "发现险情时间不能为空") private LocalDateTime discoveryTime; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/emergencytask/EmergencyTaskServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/emergencytask/EmergencyTaskServiceImpl.java index 608f2b4..3b10615 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/emergencytask/EmergencyTaskServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/emergencytask/EmergencyTaskServiceImpl.java @@ -14,10 +14,10 @@ import com.zteits.urbanops.module.garden.dal.mysql.emergencytask.EmergencyMachin import com.zteits.urbanops.module.system.api.dept.DeptApi; import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO; import jodd.util.StringUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; @@ -60,7 +60,10 @@ public class EmergencyTaskServiceImpl implements EmergencyTaskService { public Long createEmergencyTask(EmergencyTaskSaveReqVO createReqVO) { String userId = SecurityFrameworkUtils.getLoginUserId() + ""; String userName = SecurityFrameworkUtils.getLoginUserNickname(); - String taskNo = "T" + System.currentTimeMillis() + RandomUtil.randomInt(1000, 9999); + String taskNo = createReqVO.getTaskNo(); + if(StringUtils.isEmpty(createReqVO.getTaskNo())){ + taskNo = "T" + System.currentTimeMillis() + RandomUtil.randomInt(1000, 9999); + } Long companyId = SecurityFrameworkUtils.getCompanyId(); Long deptId = SecurityFrameworkUtils.getDeptId(); // 插入 @@ -93,9 +96,10 @@ public class EmergencyTaskServiceImpl implements EmergencyTaskService { emergencyTaskMapper.insert(emergencyTask); List list = new ArrayList<>(); + String finalTaskNo = taskNo; createReqVO.getEmergencyMachineryList().forEach(emergencyMachinery -> { EmergencyMachineryDO emergencyMachineryDO = new EmergencyMachineryDO(); - emergencyMachineryDO.setTaskNo(taskNo); + emergencyMachineryDO.setTaskNo(finalTaskNo); emergencyMachineryDO.setMachineryNameId(emergencyMachinery.getMachineryNameId()); emergencyMachineryDO.setMachineryCount(emergencyMachinery.getMachineryCount()); emergencyMachineryDO.setCreator(userId); @@ -128,19 +132,19 @@ public class EmergencyTaskServiceImpl implements EmergencyTaskService { return emergencyTaskMapper.update(sqlWrapper); } + @Transactional(rollbackFor = Exception.class) @Override public void updateEmergencyTask(EmergencyTaskSaveReqVO updateReqVO) { // 校验存在 - //validateEmergencyTaskExists(updateReqVO.getId()); - // 更新 - EmergencyTaskDO updateObj = BeanUtils.toBean(updateReqVO, EmergencyTaskDO.class); - emergencyTaskMapper.updateById(updateObj); + validateEmergencyTaskExists(updateReqVO.getTaskNo()); + this.deleteEmergencyTaskByTaskNo(updateReqVO.getTaskNo()); + this.createEmergencyTask(updateReqVO); } @Override public void deleteEmergencyTask(Long id) { // 校验存在 - validateEmergencyTaskExists(id); + //validateEmergencyTaskExists(id); // 删除 emergencyTaskMapper.deleteById(id); } @@ -159,8 +163,9 @@ public class EmergencyTaskServiceImpl implements EmergencyTaskService { } - private void validateEmergencyTaskExists(Long id) { - if (emergencyTaskMapper.selectById(id) == null) { + private void validateEmergencyTaskExists(String taskNo) { + EmergencyTaskDO emergencyTaskDO = emergencyTaskMapper.selectOne(EmergencyTaskDO::getTaskNo, taskNo); + if(null == emergencyTaskDO){ throw exception(EMERGENCY_TASK_NOT_EXISTS); } }