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

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

View File

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

View File

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

View File

@ -313,12 +313,12 @@
</update> </update>
<select id="getRepairTimeoutOrange" resultMap="RepairResult"> <select id="getRepairTimeoutOrange" resultMap="RepairResult">
<![CDATA[ <![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> </select>
<update id="repairTimeoutOrange" parameterType="Integer"> <update id="repairTimeoutOrange" parameterType="Integer">
<![CDATA[ <![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> </update>

View File

@ -146,8 +146,7 @@
sum(case when status > 7 then 1 else 0 end) wc, 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 =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 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 timeout<=1 and status>=9 then 1 else 0 end) ntimeout
sum(case when predate > end_date and timeout=1 and status>=9 then 1 else 0 end) ntimeout
FROM FROM
ics_repair ics_repair
WHERE WHERE