|
@@ -118,8 +118,8 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
public MyVOPage<RepairApplicationFormVO> selectPageInfoVO(RepairApplicationFormDTO record, int pageNum, int pageSize) {
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
|
|
|
- // 获取报修人
|
|
|
if(record.getSearchType() != null){
|
|
|
+ // 获取报修人
|
|
|
if (record.getSearchType() == 1) {
|
|
|
if (record.getFilter() != null && DataFilterTypeEnum.SELF.getValue() == record.getFilter().intValue()) {
|
|
|
UserInfo userInfo = SecurityUtils.getUserInfo();
|
|
@@ -309,9 +309,24 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
RedisUtils.setString(RedisKeyConstants.EXPIRE_BUSINESS_KEY_REPAIR_STEP_FIRST + RedisKeyConstants.EXPIRE_BUSINESS_SEP + model.getId(),model.getId(),minute, TimeUnit.MINUTES);
|
|
|
|
|
|
// 维修时间升级流程:超过3个小时没修好,升级给牛工,超过8个小时没修好,升级给相工,超过24 没修好,升级给田总,现在把三阶段的人员位置留好,可以先暂时升级给我,后期再改为具体的人。
|
|
|
- RedisUtils.setString(RedisKeyConstants.EXPIRE_BUSINESS_KEY_REPAIR_OVERTIME_STEP_FIRST + RedisKeyConstants.EXPIRE_BUSINESS_SEP + model.getId(),model.getId(),3, TimeUnit.HOURS);
|
|
|
- RedisUtils.setString(RedisKeyConstants.EXPIRE_BUSINESS_KEY_REPAIR_OVERTIME_STEP_SECOND + RedisKeyConstants.EXPIRE_BUSINESS_SEP + model.getId(),model.getId(),8, TimeUnit.HOURS);
|
|
|
- RedisUtils.setString(RedisKeyConstants.EXPIRE_BUSINESS_KEY_REPAIR_OVERTIME_STEP_THIRD + RedisKeyConstants.EXPIRE_BUSINESS_SEP + model.getId(),model.getId(),24, TimeUnit.HOURS);
|
|
|
+ String hourFirstStr = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_OVERTIME_MINUTE_FIRST.name());
|
|
|
+ int hourFirst = 3;// 默认3小时
|
|
|
+ if(StringUtils.isNotBlank(hourFirstStr)){
|
|
|
+ hourFirst = Integer.valueOf(hourFirstStr);
|
|
|
+ }
|
|
|
+ String hourSecondStr = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_OVERTIME_MINUTE_SECOND.name());
|
|
|
+ int hourSecond = 8;// 默认8小时
|
|
|
+ if(StringUtils.isNotBlank(hourSecondStr)){
|
|
|
+ hourSecond = Integer.valueOf(hourSecondStr);
|
|
|
+ }
|
|
|
+ String hourThirdStr = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_OVERTIME_MINUTE_THIRD.name());
|
|
|
+ int hourThird = 24;// 默认24小时
|
|
|
+ if(StringUtils.isNotBlank(hourThirdStr)){
|
|
|
+ hourThird = Integer.valueOf(hourThirdStr);
|
|
|
+ }
|
|
|
+ RedisUtils.setString(RedisKeyConstants.EXPIRE_BUSINESS_KEY_REPAIR_OVERTIME_STEP_FIRST + RedisKeyConstants.EXPIRE_BUSINESS_SEP + model.getId(),model.getId(),hourFirst, TimeUnit.HOURS);
|
|
|
+ RedisUtils.setString(RedisKeyConstants.EXPIRE_BUSINESS_KEY_REPAIR_OVERTIME_STEP_SECOND + RedisKeyConstants.EXPIRE_BUSINESS_SEP + model.getId(),model.getId(),hourSecond, TimeUnit.HOURS);
|
|
|
+ RedisUtils.setString(RedisKeyConstants.EXPIRE_BUSINESS_KEY_REPAIR_OVERTIME_STEP_THIRD + RedisKeyConstants.EXPIRE_BUSINESS_SEP + model.getId(),model.getId(),hourThird, TimeUnit.HOURS);
|
|
|
|
|
|
return form;
|
|
|
}
|
|
@@ -390,11 +405,21 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
if (!RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue().equals(applicationForm.getStatus()) && !RepairApplicationFormStatusEnum.ALLOCATED.getValue().equals(applicationForm.getStatus()) && !RepairApplicationFormStatusEnum.REBACK.getValue().equals(applicationForm.getStatus())) {
|
|
|
throw new BusinessException("该状态不允许接收任务");
|
|
|
}
|
|
|
- applicationForm.setRepairUserId(SecurityUtils.getUserInfo().getUserId());
|
|
|
+ UserInfo userInfo = SecurityUtils.getUser().getUserInfo();
|
|
|
+ applicationForm.setRepairUserId(userInfo.getUserId());
|
|
|
applicationForm.setStatus(RepairApplicationFormStatusEnum.PROCESSING.getValue());
|
|
|
if(applicationForm.getRepairStartTime() == null){
|
|
|
applicationForm.setRepairStartTime(LocalDateTime.now());
|
|
|
}
|
|
|
+ applicationForm.setReceiveMinutes(DateUtils.getDurationMinutesStr(applicationForm.getApplyTime(), applicationForm.getRepairStartTime()));
|
|
|
+
|
|
|
+ // 根据配置判断维修是否超时
|
|
|
+ String minuteStr = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_WARN_MINUTE.name());
|
|
|
+ if(applicationForm.getReceiveMinutes().compareTo(minuteStr)>0){
|
|
|
+ applicationForm.setReceiveOvertime(true);
|
|
|
+ }else{
|
|
|
+ applicationForm.setReceiveOvertime(false);
|
|
|
+ }
|
|
|
applicationForm.setUpdateTime(LocalDateTime.now());
|
|
|
super.modModelByPrimaryKey(applicationForm);
|
|
|
|
|
@@ -527,8 +552,18 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
if(applicationForm.getRepairEndTime() == null){
|
|
|
applicationForm.setRepairEndTime(LocalDateTime.now());
|
|
|
}
|
|
|
- applicationForm.setRepairMinutes(DateUtils.dateDiff(applicationForm.getRepairEndTime(), applicationForm.getRepairStartTime()));
|
|
|
-
|
|
|
+ applicationForm.setRepairMinutes(DateUtils.getDurationMinutesStr(applicationForm.getRepairEndTime(), applicationForm.getRepairStartTime()));
|
|
|
+ // 根据配置判断维修是否超时
|
|
|
+ String hourFirstStr = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_OVERTIME_MINUTE_FIRST.name());
|
|
|
+ int hourFirst = 180;// 默认3小时,180分钟
|
|
|
+ if(StringUtils.isNotBlank(hourFirstStr)){
|
|
|
+ hourFirst = Integer.valueOf(hourFirstStr) * 60;
|
|
|
+ }
|
|
|
+ if(applicationForm.getRepairMinutes().compareTo(String.valueOf(hourFirst))>0){
|
|
|
+ applicationForm.setRepairOvertime(true);
|
|
|
+ }else{
|
|
|
+ applicationForm.setRepairOvertime(false);
|
|
|
+ }
|
|
|
applicationForm.setRepairContent(dto.getRepairContent());
|
|
|
applicationForm.setNeedStop(dto.getNeedStop());
|
|
|
//applicationForm.setLevel(dto.getLevel());
|