From 684f962a759c4ace4497c42afacfd233ad42face Mon Sep 17 00:00:00 2001 From: gjh <1421wake> Date: Fri, 20 Jun 2025 15:34:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=AE=A1=E6=A0=B8=E5=B7=A5?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/controller/WeChatController.java | 9 ++++---- .../controller/WorkOrderInfoController.java | 5 +++++ .../platform/domain/bo/WorkReviewInfoBo.java | 4 ++++ .../service/IWorkOrderInfoService.java | 2 ++ .../service/impl/ContractInfoServiceImpl.java | 9 ++++++++ .../service/impl/ProjectInfoServiceImpl.java | 9 ++++++++ .../impl/WorkOrderInfoServiceImpl.java | 22 +++++++++++++++++++ 7 files changed, 55 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WeChatController.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WeChatController.java index 752437d..dfb78d1 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WeChatController.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WeChatController.java @@ -171,13 +171,12 @@ public class WeChatController { request.setTouser(openid); request.setTemplate_id(TEMPLATE_ID); request.setPage("pages/index/index"); - Map dataMap = new HashMap<>(); dataMap.put("character_string5", new WeComSubscribeDataItem("工单编号:123456")); - dataMap.put("thing2", new WeComSubscribeDataItem("空调内部故障")); - dataMap.put("time13", new WeComSubscribeDataItem("2025年6月20日")); - dataMap.put("thing10", new WeComSubscribeDataItem("宁波国研机房")); - dataMap.put("thing8", new WeComSubscribeDataItem("2025年6月21日")); + dataMap.put("thing2", new WeComSubscribeDataItem("故障标题:空调内部故障")); + dataMap.put("time13", new WeComSubscribeDataItem("发生时间:2025年6月20日")); + dataMap.put("thing10", new WeComSubscribeDataItem("发生位置:宁波国研机房")); + dataMap.put("thing8", new WeComSubscribeDataItem("计划完成时间:2025年6月21日")); request.setData(dataMap); // 序列化 JSON 并记录日志 diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WorkOrderInfoController.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WorkOrderInfoController.java index e62aa8f..880a761 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WorkOrderInfoController.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WorkOrderInfoController.java @@ -182,6 +182,11 @@ public class WorkOrderInfoController extends BaseController { return R.ok("终审工单成功!"); } + @PostMapping("/batchReviewOrder") + public R batchReviewOrder(@RequestBody WorkReviewInfoBo bo ) { + workOrderInfoService.batchReviewOrder(bo); + return R.ok("批量审核工单!"); + } //@SaCheckPermission("platform:workOrder:dealWithList") @GetMapping("/dealWithList") diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/WorkReviewInfoBo.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/WorkReviewInfoBo.java index fc4d9bf..951edb5 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/WorkReviewInfoBo.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/WorkReviewInfoBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; /** @@ -28,6 +30,8 @@ public class WorkReviewInfoBo extends BaseEntity { //@NotBlank(message = "唯一标识符不能为空", groups = { EditGroup.class }) private String id; + private List ids; + /** * 关联的工单ID */ diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IWorkOrderInfoService.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IWorkOrderInfoService.java index 5b97514..ddb729c 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IWorkOrderInfoService.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IWorkOrderInfoService.java @@ -141,4 +141,6 @@ public interface IWorkOrderInfoService { List queryListForExport(WorkOrderInfoBo bo); WorkOrderInfoDto getOverTimeCost(String workOrderId); + + void batchReviewOrder(WorkReviewInfoBo bo); } diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ContractInfoServiceImpl.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ContractInfoServiceImpl.java index 7c3578b..3c09a07 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ContractInfoServiceImpl.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ContractInfoServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import jakarta.annotation.Resource; import org.dromara.common.core.domain.dto.RoleDTO; import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -173,6 +174,14 @@ public class ContractInfoServiceImpl implements IContractInfoService { */ private void validEntityBeforeSave(ContractInfo entity){ //TODO 做一些数据校验,如唯一约束 + String contractName = entity.getContractName(); + // 避免重复添加相同的合同 + if (contractName != null){ + Long count = baseMapper.selectCount(new LambdaQueryWrapper().eq(ContractInfo::getContractName, contractName)); + if (count > 0) { + throw new ServiceException("该合同已经存在,请勿重复新增!"); + } + } } /** diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ProjectInfoServiceImpl.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ProjectInfoServiceImpl.java index 69d1d2f..46fd9f1 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ProjectInfoServiceImpl.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ProjectInfoServiceImpl.java @@ -5,6 +5,7 @@ import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.domain.dto.RoleDTO; import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.domain.BaseEntity; @@ -170,6 +171,14 @@ public class ProjectInfoServiceImpl implements IProjectInfoService { */ private void validEntityBeforeSave(ProjectInfo entity){ //TODO 做一些数据校验,如唯一约束 + // 项目名称不能重复 + String projectName = entity.getProjectName(); + if (projectName != null) { + Long count = baseMapper.selectCount(new LambdaQueryWrapper().eq(ProjectInfo::getProjectName, projectName)); + if (count > 0) { + throw new ServiceException("该项目已经存在,请勿重复新增!"); + } + } } /** diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java index 925a9d8..0b8c6bc 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java @@ -1647,6 +1647,28 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { return workOrderInfoDto; } + @Override + public void batchReviewOrder(WorkReviewInfoBo bo) { + List ids = bo.getIds(); + if (CollectionUtil.isNotEmpty(ids)){ + List workOrderInfos = baseMapper.selectByIds(ids); + for (WorkOrderInfo workOrderInfo : workOrderInfos) { + bo.setProjectName(workOrderInfo.getProjectName()); + bo.setContractName(workOrderInfo.getContractName()); + // 初审 + if (workOrderInfo.getStatus() == 4){ + this.initReviewOrder(bo); + }else if (workOrderInfo.getStatus() == 5){ + // 终审默认结案 + bo.setIsCloseCase("是"); + this.initReviewOrder(bo); + } + } + } + + + } + /** * 截取“超时”后面的部分 */