From 805a8bbaed4ed069b3a0de72fb84b4b060bc577e Mon Sep 17 00:00:00 2001 From: lujiang Date: Wed, 4 Sep 2024 22:01:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A5=BC=E5=B1=82=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/service/impl/RepairServiceImpl.java | 42 +++++++++++++++++-- .../ics/admin/utils/RepairRemindContent.java | 11 +++++ .../mapper/admin/RepairAddressFloorMapper.xml | 2 +- .../mapper/admin/RepairHisMapper.xml | 2 +- .../main/resources/repairRemind.properties | 14 ++++++- 5 files changed, 63 insertions(+), 8 deletions(-) diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java index 5f5baf8..2016d0f 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java @@ -2,11 +2,13 @@ package com.ics.admin.service.impl; import cn.hutool.core.util.StrUtil; import com.ics.admin.domain.Repair; +import com.ics.admin.domain.RepairAddressFloor; import com.ics.admin.domain.RepairDeviceType; import com.ics.admin.domain.RepairLog; import com.ics.admin.domain.RepairRelational; import com.ics.admin.domain.RepairRemind; import com.ics.admin.mapper.IcsCustomerStaffMapper; +import com.ics.admin.mapper.RepairAddressFloorMapper; import com.ics.admin.mapper.RepairAttachMapper; import com.ics.admin.mapper.RepairDeviceTypeMapper; import com.ics.admin.mapper.RepairLogMapper; @@ -69,6 +71,9 @@ public class RepairServiceImpl implements IRepairService { @Autowired private RepairRemindMapper repairRemindMapper; + @Autowired + private RepairAddressFloorMapper repairAddressFloorMapper; + @Autowired private RepairRemindContent repairRemindContent; @@ -122,7 +127,7 @@ public class RepairServiceImpl implements IRepairService { //没有设置维修人员则到派单环节,否则到“修理工是否接收”环节 to = repair.getRepairUserId() == null ? 1 : 5; if (repair.getTypeId() == null) return "表单设备类型数据为空"; - RepairDeviceType repairDeviceType=repairDeviceTypeMapper.selectRepairDeviceTypeById(repair.getTypeId()); + RepairDeviceType repairDeviceType = repairDeviceTypeMapper.selectRepairDeviceTypeById(repair.getTypeId()); if (repairDeviceType == null) return "设备类型无效"; List listRelational = repairRelationalMapper.selectDispatcherByTypeId(repair.getTypeId()); if (listRelational == null || listRelational.size() == 0) return "根据表单设备类型找不到派单员"; @@ -130,7 +135,7 @@ public class RepairServiceImpl implements IRepairService { if (nextUser == null) return "没有找到派单员账号"; repair.setSn(snService.generate(Sn.Type.REPAIR));//编单号 repair.setPerUserId(nextUser.getId());//设置派单员 - int days=repairDeviceType.getDays(); + int days = repairDeviceType.getDays(); repair.setPreDate(new Date(now.getTime() + (days * 24 * 60 * 60 * 1000)));//设置预计完成时间 repair.setTimeout(1);//告警默认绿色 repair.setWarn(1);//预警默认绿色 @@ -207,6 +212,8 @@ public class RepairServiceImpl implements IRepairService { } private List processRemind(Repair repair, IcsCustomerStaff currentUser, IcsCustomerStaff nextUser, Integer from, Integer to, String content) { + RepairAddressFloor floor = repairAddressFloorMapper.selectRepairAddressFloorById(repair.getFloorId()); + Long adminId = floor.getAdminId();//楼层管理员id List rList = new ArrayList<>();//流程提醒 Date now = new Date(); String remind = repair.getAddress() + "/" + repair.getFloor() + " " + repair.getRoom() + " / " + repair.getTypeName(); @@ -214,6 +221,8 @@ public class RepairServiceImpl implements IRepairService { if (to == 1) //提醒派单员 rList.add(new RepairRemind(0L, nextUser.getId(), String.format(repairRemindContent.getP1(), remind), currentUser.getId(), now)); + //提醒楼层管理员 + rList.add(new RepairRemind(0L, adminId, String.format(repairRemindContent.getFloor01(), remind), currentUser.getId(), now)); if (to == 5) //提醒维修工 rList.add(new RepairRemind(0L, nextUser.getId(), String.format(repairRemindContent.getW1(), remind), currentUser.getId(), now)); @@ -223,6 +232,8 @@ public class RepairServiceImpl implements IRepairService { rList.add(new RepairRemind(repair.getId(), nextUser.getId(), String.format(repairRemindContent.getW1(), remind), currentUser.getId(), now)); //提醒发起人 rList.add(new RepairRemind(repair.getId(), Long.valueOf(repair.getCreateBy()), String.format(repairRemindContent.getR15(), remind), currentUser.getId(), now)); + //提醒楼层管理员 + rList.add(new RepairRemind(repair.getId(), adminId, String.format(repairRemindContent.getFloor15(), remind), currentUser.getId(), now)); } if (to == 3) { //提醒管理员 @@ -230,25 +241,38 @@ public class RepairServiceImpl implements IRepairService { //提醒发起人 rList.add(new RepairRemind(repair.getId(), Long.valueOf(repair.getCreateBy()), String.format(repairRemindContent.getR1(), remind), currentUser.getId(), now)); } - if (to == 11) + if (to == 11) { //提醒发起人 rList.add(new RepairRemind(repair.getId(), Long.valueOf(repair.getCreateBy()), String.format(repairRemindContent.getR2(), remind, StringUtils.isBlank(content) ? "" : content), currentUser.getId(), now)); + //提醒楼层管理员 + rList.add(new RepairRemind(repair.getId(), adminId, String.format(repairRemindContent.getFloor111(), remind, StringUtils.isBlank(content) ? "" : content), currentUser.getId(), now)); + } } else if (from == 3) {//重新派单 //提醒派单员 rList.add(new RepairRemind(repair.getId(), nextUser.getId(), String.format(repairRemindContent.getP2(), remind), currentUser.getId(), now)); + //提醒楼层管理员 + rList.add(new RepairRemind(repair.getId(), adminId, String.format(repairRemindContent.getFloor31(), remind), currentUser.getId(), now)); } else if (from == 5) {//修理工是否接收 if (to == 1) { //提醒派单员 rList.add(new RepairRemind(repair.getId(), nextUser.getId(), String.format(repairRemindContent.getP3(), remind, currentUser.getUsername(), StringUtils.isBlank(content) ? "" : content), currentUser.getId(), now)); //提醒发起人 rList.add(new RepairRemind(repair.getId(), Long.valueOf(repair.getCreateBy()), String.format(repairRemindContent.getR3(), remind), currentUser.getId(), now)); + //提醒楼层管理员 + rList.add(new RepairRemind(repair.getId(), adminId, String.format(repairRemindContent.getFloor51(), remind, currentUser.getUsername()), currentUser.getId(), now)); } - if (to == 7) + if (to == 7) { //提醒发起人 rList.add(new RepairRemind(repair.getId(), Long.valueOf(repair.getCreateBy()), String.format(repairRemindContent.getR4(), remind, nextUser.getUsername()), currentUser.getId(), now)); + //提醒楼层管理员 + rList.add(new RepairRemind(repair.getId(), adminId, String.format(repairRemindContent.getFloor57(), remind), currentUser.getId(), now)); + } } else if (from == 7) {//修理反馈 //提醒发起人 rList.add(new RepairRemind(repair.getId(), Long.valueOf(repair.getCreateBy()), String.format(repairRemindContent.getR5(), remind), currentUser.getId(), now)); + //提醒楼层管理员 + String result = repair.getResolve() == 0 ? "未解决" : "已解决"; + rList.add(new RepairRemind(repair.getId(), adminId, String.format(repairRemindContent.getFloor79(), remind, result), currentUser.getId(), now)); } return rList; } @@ -451,6 +475,11 @@ public class RepairServiceImpl implements IRepairService { String remindContent = repair.getAddress() + "/" + repair.getFloor() + " " + repair.getRoom() + " / " + repair.getTypeName(); RepairRemind repairRemind = new RepairRemind(repair.getId(), repair.getRepairUserId(), String.format(repairRemindContent.getTimeRed(), remindContent), -1L, now); repairRemindMapper.insertRepairRemind(repairRemind); + //提醒楼层管理管 + RepairAddressFloor floor = repairAddressFloorMapper.selectRepairAddressFloorById(repair.getFloorId()); + Long adminId = floor.getAdminId();//楼层管理员id + RepairRemind floorRemind = new RepairRemind(repair.getId(), adminId, String.format(repairRemindContent.getFloorTr(), remindContent), -1L, now); + repairRemindMapper.insertRepairRemind(floorRemind); } if (redList.size() > 0) return repairMapper.repairTimeoutRed(day); } @@ -469,6 +498,11 @@ public class RepairServiceImpl implements IRepairService { String remindContent = repair.getAddress() + "/" + repair.getFloor() + " " + repair.getRoom() + " / " + repair.getTypeName(); RepairRemind repairRemind = new RepairRemind(repair.getId(), repair.getRepairUserId(), String.format(repairRemindContent.getTimeOrange(), remindContent), -1L, now); repairRemindMapper.insertRepairRemind(repairRemind); + //提醒楼层管理管 + RepairAddressFloor floor = repairAddressFloorMapper.selectRepairAddressFloorById(repair.getFloorId()); + Long adminId = floor.getAdminId();//楼层管理员id + RepairRemind floorRemind = new RepairRemind(repair.getId(), adminId, String.format(repairRemindContent.getFloorTo(), remindContent), -1L, now); + repairRemindMapper.insertRepairRemind(floorRemind); } if (orangeList.size() > 0) return repairMapper.repairTimeoutOrange(day); } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/RepairRemindContent.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/RepairRemindContent.java index 4fb5e62..ba439a3 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/RepairRemindContent.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/RepairRemindContent.java @@ -35,4 +35,15 @@ public class RepairRemindContent { private String timeOrange; private String timeRed; + //楼层管理管 + private String floor01; + private String floor15; + private String floor57; + private String floor79; + private String floor31; + private String floor51; + private String floor111; + private String floorTo; + private String floorTr; + } diff --git a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAddressFloorMapper.xml b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAddressFloorMapper.xml index a4cfe3f..afa7a75 100644 --- a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAddressFloorMapper.xml +++ b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAddressFloorMapper.xml @@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"