设备巡检任务处理

dev_fifo1.0
anthonywj 1 year ago
parent 9815904b31
commit 308f817e82

@ -7,9 +7,12 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.req.dev.DeviceCheckDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceCheckDetailParam;
import com.glxp.api.req.dev.DeviceCheckDetailQuery;
import com.glxp.api.req.dev.DeviceCheckDetailRepairParam;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.DeviceCheckDetailItemService;
import com.glxp.api.service.dev.DeviceCheckDetailService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -25,6 +28,7 @@ import java.util.List;
public class DeviceCheckDetailController extends BaseController {
private final DeviceCheckDetailService deviceCheckDetailService;
private final DeviceCheckDetailItemService deviceCheckDetailItemService;
/**
*
@ -57,5 +61,19 @@ public class DeviceCheckDetailController extends BaseController {
return ResultVOUtils.successMsg("创建成功");
}
/**
*
*
* @param param
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/check/detail/finish")
public BaseResponse finish(@RequestBody @Valid DeviceCheckDetailParam param) {
AuthAdmin user = super.getUser();
deviceCheckDetailItemService.finishAll(param, user);
return ResultVOUtils.successMsg("操作成功");
}
}

@ -169,4 +169,21 @@ public class DeviceCheckDetailEntity {
*/
@TableField(value = "repairId")
private Long repairId;
/**
*
*/
@TableField(value = "suggestion")
private String suggestion;
/**
*
*/
@TableField(value = "livePath")
private String livePath;
/**
*
*/
@TableField(value = "normalFlag")
private Boolean normalFlag;
}

@ -1,12 +1,18 @@
package com.glxp.api.req.dev;
import com.glxp.api.util.page.ListPageRequest;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeviceCheckDetailItemFinishParam {
@NotNull(message = "任务单标识不能为空")

@ -12,7 +12,6 @@ public class DeviceCheckDetailItemQuery extends ListPageRequest {
/**
*
*/
@NotNull(message = "任务单标识不能为空")
private Long taskId;
/**

@ -0,0 +1,36 @@
package com.glxp.api.req.dev;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class DeviceCheckDetailParam {
@NotNull(message = "任务单标识不能为空")
private Long taskId;
@NotBlank(message = "设备编码不能为空")
private String deviceCode;
/**
*
*/
private String suggestion;
/**
*
*/
private String livePath;
/**
*
*/
private Boolean normalFlag;
private List<DeviceCheckDetailItemEntity> detailItemEntities;
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.req.dev.DeviceCheckDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceCheckDetailItemQuery;
import com.glxp.api.req.dev.DeviceCheckDetailParam;
import java.util.List;
@ -24,4 +25,7 @@ public interface DeviceCheckDetailItemService extends IService<DeviceCheckDetail
* @param user
*/
void finish(DeviceCheckDetailItemFinishParam param, AuthAdmin user);
public void finishAll(DeviceCheckDetailParam param, AuthAdmin user);
}

@ -3,6 +3,7 @@ package com.glxp.api.service.dev;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.req.dev.DeviceCheckDetailParam;
import com.glxp.api.req.dev.DeviceCheckDetailQuery;
import com.glxp.api.req.dev.DeviceCheckDetailRepairParam;
@ -28,4 +29,7 @@ public interface DeviceCheckDetailService extends IService<DeviceCheckDetailEnti
* @param user
*/
void repair(DeviceCheckDetailRepairParam param, AuthAdmin user);
void finish(DeviceCheckDetailParam param, AuthAdmin user);
}

@ -1,7 +1,9 @@
package com.glxp.api.service.dev.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.dev.DeviceCheckDetailMapper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
@ -9,16 +11,20 @@ import com.glxp.api.entity.dev.DeviceCheckEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceCheckDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceCheckDetailItemQuery;
import com.glxp.api.req.dev.DeviceCheckDetailParam;
import com.glxp.api.service.dev.DeviceCheckDetailItemService;
import com.glxp.api.dao.dev.DeviceCheckDetailItemMapper;
import com.glxp.api.service.dev.DeviceCheckDetailService;
import com.glxp.api.service.dev.DeviceCheckService;
import com.glxp.api.util.IntUtil;
import groovy.util.logging.Slf4j;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
@ -33,6 +39,8 @@ public class DeviceCheckDetailItemServiceImpl extends ServiceImpl<DeviceCheckDet
final DeviceCheckService deviceCheckService;
final DeviceCheckDetailService deviceCheckDetailService;
@Resource
DeviceCheckDetailMapper deviceCheckDetailMapper;
@Override
public List<DeviceCheckDetailItemEntity> pageList(DeviceCheckDetailItemQuery query) {
@ -86,6 +94,44 @@ public class DeviceCheckDetailItemServiceImpl extends ServiceImpl<DeviceCheckDet
throw new JsonException("操作失败,该项目可能已经被其他人完成,请刷新重试");
}
}
@Override
public void finishAll(DeviceCheckDetailParam param, AuthAdmin user) {
int finishCount = 0;
int exceptionCount = 0;
int itemCount = 0;
if (CollUtil.isNotEmpty(param.getDetailItemEntities())) {
for (DeviceCheckDetailItemEntity itemEntity : param.getDetailItemEntities()) {
if (!IntUtil.value(itemEntity.getNormalFlag())) {
exceptionCount++;
}
finishCount++;
itemCount++;
finish(DeviceCheckDetailItemFinishParam.builder()
.taskId(param.getTaskId())
.deviceCode(param.getDeviceCode())
.itemCode(itemEntity.getItemCode())
.normalFlag(itemEntity.getNormalFlag())
.suggestion("")
.build(), user);
}
}
deviceCheckDetailMapper.update(DeviceCheckDetailEntity.builder()
.finishFlag(true)
.finishCount(finishCount)
.suggestion(param.getSuggestion())
.livePath(param.getLivePath())
.normalFlag(param.getNormalFlag())
.finishTime(LocalDateTime.now())
.exceptionCount(exceptionCount).itemCount(itemCount).build(),
Wrappers.lambdaUpdate(DeviceCheckDetailEntity.class)
.eq(DeviceCheckDetailEntity::getTaskId, param.getTaskId())
.eq(DeviceCheckDetailEntity::getDeviceCode, param.getDeviceCode())
);
}
}

@ -1,22 +1,24 @@
package com.glxp.api.service.dev.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
import com.glxp.api.entity.dev.DeviceRepairEntity;
import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceCheckDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceCheckDetailParam;
import com.glxp.api.req.dev.DeviceCheckDetailQuery;
import com.glxp.api.req.dev.DeviceCheckDetailRepairParam;
import com.glxp.api.service.dev.DeviceCheckDetailService;
import com.glxp.api.service.dev.*;
import com.glxp.api.dao.dev.DeviceCheckDetailMapper;
import com.glxp.api.service.dev.DeviceCheckService;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.dev.DeviceRepairService;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.SnowflakeUtil;
import groovy.util.logging.Slf4j;
import lombok.RequiredArgsConstructor;
@ -24,6 +26,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
@ -134,6 +137,10 @@ public class DeviceCheckDetailServiceImpl extends ServiceImpl<DeviceCheckDetailM
.eq(DeviceCheckDetailEntity::getDeviceCode, detailEntity.getDeviceCode())
);
}
@Override
public void finish(DeviceCheckDetailParam param, AuthAdmin user) {
}
}

@ -2461,3 +2461,13 @@ CALL Pro_Temp_ColumnWork('device_info', 'assetReserveType',
1);
CALL Pro_Temp_ColumnWork('device_plan', 'status', 'tinyint NULL DEFAULT NULL COMMENT ''设备巡检计划状态 1草稿2.已提交''', 1);
CALL Pro_Temp_ColumnWork('device_check_detail', 'normalFlag', 'tinyint NULL DEFAULT NULL COMMENT ''巡检状态 0异常1.正常''', 1);
CALL Pro_Temp_ColumnWork('device_check_detail', 'livePath',
' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''现场照片''',
1);
CALL Pro_Temp_ColumnWork('device_check_detail', 'suggestion',
' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''巡检建议''',
1);

Loading…
Cancel
Save