修改工单超时修改,统计修改

This commit is contained in:
lujiang 2024-08-30 23:15:21 +08:00
parent 9991ffcdb2
commit da8890a2ab
5 changed files with 17 additions and 22 deletions

View File

@ -208,7 +208,7 @@ public class RepairServiceImpl implements IRepairService {
private List<RepairRemind> processRemind(Repair repair, IcsCustomerStaff currentUser, IcsCustomerStaff nextUser, Integer from, Integer to, String content) {
List<RepairRemind> rList = new ArrayList<>();//流程提醒
Date now = new Date();
String remind = repair.getAddress() + "/" + repair.getFloor() + " " + repair.getRoom() + " / " + repair.getExplain();
String remind = repair.getAddress() + "/" + repair.getFloor() + " " + repair.getRoom() + " / " + repair.getTypeName();
if (from == 0) {//报修
if (to == 1)
//提醒派单员
@ -428,15 +428,16 @@ public class RepairServiceImpl implements IRepairService {
@Override
public int repairTimeOutRed() {
List<DictData> list = dictDataService.selectDictDataByType("repair_timeout");
if (list.size() == 4) {
Integer red = Integer.valueOf(list.get(3).getDictValue());
List<Repair> redList = repairMapper.getRepairTimeoutRed(red);
if (list.size() == 3) {
Integer day = Integer.valueOf(list.get(2).getDictValue());
List<Repair> redList = repairMapper.getRepairTimeoutRed(day);
Date now = new Date();
for (Repair repair : redList) {
RepairRemind repairRemind = new RepairRemind(repair.getId(), repair.getRepairUserId(), String.format(repairRemindContent.getTimeRed(), repair.getRepairName()), -1L, now);
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);
}
if (redList.size() > 0) return repairMapper.repairTimeoutRed(red);
if (redList.size() > 0) return repairMapper.repairTimeoutRed(day);
}
return 0;
}
@ -445,15 +446,16 @@ public class RepairServiceImpl implements IRepairService {
@Override
public int repairTimeOutOrange() {
List<DictData> list = dictDataService.selectDictDataByType("repair_timeout");
if (list.size() == 4) {
Integer orange = Integer.valueOf(list.get(2).getDictValue());
List<Repair> orangeList = repairMapper.getRepairTimeoutOrange(orange);
if (list.size() == 3) {
Integer day = Integer.valueOf(list.get(2).getDictValue());
List<Repair> orangeList = repairMapper.getRepairTimeoutOrange(day);
Date now = new Date();
for (Repair repair : orangeList) {
RepairRemind repairRemind = new RepairRemind(repair.getId(), repair.getRepairUserId(), String.format(repairRemindContent.getTimeOrange(), repair.getRepairName()), -1L, now);
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);
}
if (orangeList.size() > 0) return repairMapper.repairTimeoutOrange(orange);
if (orangeList.size() > 0) return repairMapper.repairTimeoutOrange(day);
}
return 0;
}
@ -461,7 +463,7 @@ public class RepairServiceImpl implements IRepairService {
@Override
public int repairForewarnWarn() {
List<DictData> list = dictDataService.selectDictDataByType("repair_timeout");
if (list.size() == 4) {
if (list.size() == 3) {
Integer orange = Integer.valueOf(list.get(0).getDictValue());
Integer red = Integer.valueOf(list.get(1).getDictValue());
int r = repairMapper.repairForewarnRed(red);

View File

@ -84,7 +84,6 @@ public class RepairStatsServiceImpl implements IRepairStatsService {
List<Map<String, Object>> timeout = new ArrayList<>();
timeout.add(getMap("严重超时", repairStatsVo.getHtimeout()));
timeout.add(getMap("超时", repairStatsVo.getMtimeout()));
timeout.add(getMap("轻微超时", repairStatsVo.getLtimeout()));
timeout.add(getMap("未超时", repairStatsVo.getNtimeout()));
map.put("timeout", timeout);
} else if ("eval".equals(type)) {

View File

@ -66,11 +66,6 @@ public class RepairStatsVo implements Serializable {
*/
@JsonIgnore
private Integer mtimeout = 0;
/**
* 轻微超时
*/
@JsonIgnore
private Integer ltimeout = 0;
/**
* 未超时
*/

View File

@ -313,12 +313,12 @@
</update>
<select id="getRepairTimeoutOrange" resultMap="RepairResult">
<![CDATA[
SELECT * from ics_repair where delete_flag=0 and (status=5 or status=7) and timeout <= 1 and TIMESTAMPDIFF(DAY,preDate,now()) >= #{day}
SELECT * from ics_repair where delete_flag=0 and (status=5 or status=7) and timeout <= 1 and now()>preDate and TIMESTAMPDIFF(DAY,preDate,now()) < #{day}
]]>
</select>
<update id="repairTimeoutOrange" parameterType="Integer">
<![CDATA[
update ics_repair set timeout=3 where delete_flag=0 and (status=5 or status=7) and timeout <= 1 and TIMESTAMPDIFF(DAY,preDate,now()) >= #{day}
update ics_repair set timeout=3 where delete_flag=0 and (status=5 or status=7) and timeout <= 1 and now()>preDate and TIMESTAMPDIFF(DAY,preDate,now()) < #{day}
]]>
</update>

View File

@ -146,8 +146,7 @@
sum(case when status > 7 then 1 else 0 end) wc,
sum(case when timeout =5 and status>=9 then 1 else 0 end) htimeout,
sum(case when timeout =3 and status>=9 then 1 else 0 end) mtimeout,
sum(case when predate < end_date and timeout=1 and status>=9 then 1 else 0 end) ltimeout,
sum(case when predate > end_date and timeout=1 and status>=9 then 1 else 0 end) ntimeout
sum(case when timeout<=1 and status>=9 then 1 else 0 end) ntimeout
FROM
ics_repair
WHERE