楼层管理员提醒

This commit is contained in:
lujiang 2024-09-04 22:01:52 +08:00
parent 27906c83cc
commit 805a8bbaed
5 changed files with 63 additions and 8 deletions

View File

@ -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<RepairRelational> 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<RepairRemind> 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<RepairRemind> 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);
}

View File

@ -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;
}

View File

@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectRepairAddressFloorById" parameterType="Long" resultMap="RepairAddressFloorResult">
<include refid="selectRepairAddressFloorVo"/>
WHERE id = #{id}
WHERE id = #{id} and delete_flag=0
</select>
<select id="getRepairAddressFloorList" parameterType="Long" resultMap="RepairAddressFloorResult">

View File

@ -57,8 +57,8 @@
<if test="wxrtel != null and wxrtel != ''"> AND wxrtel LIKE CONCAT('%', #{wxrtel}, '%')</if>
<if test="desc != null and desc != ''"> AND `desc` LIKE CONCAT('%', #{desc}, '%')</if>
<if test="params.beginTime != null and params.endTime != null"> and bxsj between #{params.beginTime} and #{params.endTime}</if>
order by bxid
</where>
order by bxid
</select>
<select id="selectRepairHisById" parameterType="Long" resultMap="RepairHisResult">

View File

@ -4,7 +4,7 @@ repair.remind.r15=您的工单《%s》已派遣维修人员
repair.remind.r2=您的工单《%s》申请无效原因是%s
repair.remind.r3=您的工单《%s》正在重新派遣维修人员
repair.remind.r4=您的工单《%s》维修人员%s开始处理
repair.remind.r5=您的工单《%s》已经处理完成,欢迎您对我们的服务进行评价,感谢您的使用!
repair.remind.r5=您的工单《%s》已经处理结束,欢迎您对我们的服务进行评价,感谢您的使用!
#派单员
repair.remind.p1=您收到工单《%s》需要派遣维修人员处理。
repair.remind.p2=工单《%s》已被管理员修正请派遣维修人员处理。
@ -14,4 +14,14 @@ repair.remind.m1=您收到工单《%s》需要重新派单原因是%s
#维修人员
repair.remind.w1=你收到工单《%s》请尽快处理。
repair.remind.timeOrange=工单《%s》已经超时黄灯告警。
repair.remind.timeRed=工单《%s》已经严重超时红灯告警。
repair.remind.timeRed=工单《%s》已经严重超时红灯告警。
#楼层管理管
repair.remind.floor01=工单《%s》待派单处理
repair.remind.floor15=工单《%s》已派单需维修员接单
repair.remind.floor57=工单《%s》维修人员已接单正在处理中
repair.remind.floor79=工单《%s》已结束%s
repair.remind.floor31=工单《%s》已被管理员修正需重新派单
repair.remind.floor51=工单《%s》已被维修人员%s退回需重新派单
repair.remind.floor111=工单《%s》被定为无效申请原因是%s
repair.remind.floorTo=工单《%s》已超时请尽快处理
repair.remind.floorTr=工单《%s》已严重超时请尽快处理