feat: 设备管理优化

dev_kcyj
chenhc 1 year ago
parent 5f9b6437da
commit 58ace1f05d

@ -9,10 +9,7 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.entity.dev.DeviceRepairApplyEntity;
import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum;
import com.glxp.api.req.dev.DeviceRepairApplyAddParam; import com.glxp.api.req.dev.*;
import com.glxp.api.req.dev.DeviceRepairApplyConfirmParam;
import com.glxp.api.req.dev.DeviceRepairApplyHallQuery;
import com.glxp.api.req.dev.DeviceRepairApplyQuery;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.DeviceRepairApplyService; import com.glxp.api.service.dev.DeviceRepairApplyService;
import com.glxp.api.vo.dev.DeviceRepairApplyVo; import com.glxp.api.vo.dev.DeviceRepairApplyVo;

@ -67,4 +67,18 @@ public class DeviceRepairApplyDetailController extends BaseController {
} }
/**
*
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/repair/apply/listByIdAndCode")
public BaseResponse listByIdAndCode(@RequestBody @Valid DeviceRepairApplyListByIdAndCodeQuery query) {
DeviceRepairApplyDetailEntity entity = deviceRepairApplyDetailService.listByIdAndCode(query);
return ResultVOUtils.success(entity);
}
} }

@ -186,4 +186,10 @@ public class DeviceCheckDetailEntity {
@TableField(value = "normalFlag") @TableField(value = "normalFlag")
private Boolean normalFlag; private Boolean normalFlag;
/**
* id
*/
@TableField(value = "applyId")
private Long applyId;
} }

@ -201,4 +201,10 @@ public class DeviceRepairApplyDetailEntity {
*/ */
@TableField(value = "finishTime") @TableField(value = "finishTime")
private LocalDateTime finishTime; private LocalDateTime finishTime;
/**
*
*/
@TableField(exist = false)
private String repairUserPhone;
} }

@ -543,7 +543,7 @@ public class DeviceChangeOrderParam {
public DeviceChangeOrderEntity getOrderEntity(AuthAdmin user) { public DeviceChangeOrderEntity getOrderEntity(AuthAdmin user) {
if (orderId != null) { if (createUser != null) {
DeviceChangeOrderEntity deviceChangeOrderEntity = new DeviceChangeOrderEntity(); DeviceChangeOrderEntity deviceChangeOrderEntity = new DeviceChangeOrderEntity();
BeanUtil.copyProperties(this, deviceChangeOrderEntity); BeanUtil.copyProperties(this, deviceChangeOrderEntity);
return deviceChangeOrderEntity; return deviceChangeOrderEntity;

@ -37,6 +37,8 @@ public class DeviceRepairApplyAddParam {
@NotEmpty(message = "请选择至少一个设备进行报修") @NotEmpty(message = "请选择至少一个设备进行报修")
Set<ApplyDetail> details; Set<ApplyDetail> details;
Long taskId;
@Data @Data
public static class ApplyDetail { public static class ApplyDetail {

@ -0,0 +1,20 @@
package com.glxp.api.req.dev;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class DeviceRepairApplyListByIdAndCodeQuery {
@NotNull(message = "报修单标识不能为空")
Long applyId;
/**
*
*/
@NotBlank(message = "设备标识不可以为空")
String deviceCode;
}

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.entity.dev.DeviceRepairApplyEntity;
import com.glxp.api.req.dev.DeviceRepairApplyDetailDiagnosisParam; import com.glxp.api.req.dev.DeviceRepairApplyDetailDiagnosisParam;
import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery; import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery;
import com.glxp.api.req.dev.DeviceRepairApplyListByIdAndCodeQuery;
import java.util.List; import java.util.List;
@ -31,4 +32,6 @@ public interface DeviceRepairApplyDetailService extends IService<DeviceRepairApp
* @param deviceCode * @param deviceCode
*/ */
void finishDeviceRepair(Long applyId, String deviceCode); void finishDeviceRepair(Long applyId, String deviceCode);
DeviceRepairApplyDetailEntity listByIdAndCode(DeviceRepairApplyListByIdAndCodeQuery query);
} }

@ -99,19 +99,19 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
List<DeviceChangeLogEntity> logs = new ArrayList<>(); List<DeviceChangeLogEntity> logs = new ArrayList<>();
orderItems.forEach(i -> { orderItems.forEach(i -> {
if (order.getType() == DeviceChangeTypeEnum.ADD) { if (order.getType() == DeviceChangeTypeEnum.ADD) {
UdiRelevanceResponse productInfo = udiRelevanceService.selectByRelId(i.getProductId().toString()); // UdiRelevanceResponse productInfo = udiRelevanceService.selectByRelId(i.getProductId().toString());
if (productInfo == null) { // if (productInfo == null) {
throw new JsonException(String.format("未找到设备 %s", i.getProductName())); // throw new JsonException(String.format("未找到设备 %s", i.getProductName()));
} // }
i.setNameCode(productInfo.getNameCode()) // i.setNameCode(productInfo.getNameCode())
.setProductName(productInfo.getCpmctymc()) // .setProductName(productInfo.getCpmctymc())
.setGgxh(productInfo.getGgxh()) // .setGgxh(productInfo.getGgxh())
.setMeasname(productInfo.getMeasname()) // .setMeasname(productInfo.getMeasname())
.setManufactory(productInfo.getManufactory()) // .setManufactory(productInfo.getManufactory())
.setZczbhhzbapzbh(productInfo.getZczbhhzbapzbh()) // .setZczbhhzbapzbh(productInfo.getZczbhhzbapzbh())
.setSupId(productInfo.getUnitFk()) // .setSupId(productInfo.getUnitFk())
.setSupName(productInfo.getSupName()) // .setSupName(productInfo.getSupName())
; // ;
DeviceInfoEntity deviceInfoEntity = BeanUtil.copyProperties(i, DeviceInfoEntity.class); DeviceInfoEntity deviceInfoEntity = BeanUtil.copyProperties(i, DeviceInfoEntity.class);
deviceInfoEntity.setCheckLock(false); deviceInfoEntity.setCheckLock(false);
deviceInfoEntity.setCreateUserId(order.getCreateUser()); deviceInfoEntity.setCreateUserId(order.getCreateUser());
@ -120,15 +120,15 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
deviceInfoEntity.setDeptCode(order.getToDeptCode()); deviceInfoEntity.setDeptCode(order.getToDeptCode());
deviceInfoEntity.setStatus(DeviceStatusEnum.NORMAL); deviceInfoEntity.setStatus(DeviceStatusEnum.NORMAL);
deviceInfoEntity.setLastChangeOrderId(order.getOrderId()); deviceInfoEntity.setLastChangeOrderId(order.getOrderId());
boolean b = deviceInfoService.exitOrder(order.getOrderId(), deviceInfoEntity.getDeviceCode()); // boolean b = deviceInfoService.exitOrder(order.getOrderId(), deviceInfoEntity.getDeviceCode());
if (b) { // if (b) {
throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode())); // throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
} // }
try { // try {
deviceInfoService.saveOrUpdate(deviceInfoEntity); deviceInfoService.saveOrUpdate(deviceInfoEntity);
} catch (Exception e) { // } catch (Exception e) {
throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode())); // throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
} // }
DeviceChangeLogEntity logEntity = DeviceChangeLogEntity.genEntity(i.getDeviceCode(), orderVo); DeviceChangeLogEntity logEntity = DeviceChangeLogEntity.genEntity(i.getDeviceCode(), orderVo);
logs.add(logEntity); logs.add(logEntity);
} else { } else {

@ -25,6 +25,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -38,9 +39,12 @@ import java.util.List;
public class DeviceCheckDetailServiceImpl extends ServiceImpl<DeviceCheckDetailMapper, DeviceCheckDetailEntity> public class DeviceCheckDetailServiceImpl extends ServiceImpl<DeviceCheckDetailMapper, DeviceCheckDetailEntity>
implements DeviceCheckDetailService { implements DeviceCheckDetailService {
final DeviceCheckService deviceCheckService; @Resource
final DeviceInfoService deviceInfoService; DeviceCheckService deviceCheckService;
final DeviceRepairService deviceRepairService; @Resource
DeviceInfoService deviceInfoService;
@Resource
DeviceRepairService deviceRepairService;
@Override @Override
public List<DeviceCheckDetailEntity> pageList(DeviceCheckDetailQuery query) { public List<DeviceCheckDetailEntity> pageList(DeviceCheckDetailQuery query) {

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity; import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity;
import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.entity.dev.DeviceRepairApplyEntity;
import com.glxp.api.entity.dev.DeviceRepairEntity; import com.glxp.api.entity.dev.DeviceRepairEntity;
@ -15,11 +16,9 @@ import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.exception.JsonException; import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceRepairApplyDetailDiagnosisParam; import com.glxp.api.req.dev.DeviceRepairApplyDetailDiagnosisParam;
import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery; import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery;
import com.glxp.api.service.dev.DeviceInfoService; import com.glxp.api.req.dev.DeviceRepairApplyListByIdAndCodeQuery;
import com.glxp.api.service.dev.DeviceRepairApplyDetailService; import com.glxp.api.service.dev.*;
import com.glxp.api.dao.dev.DeviceRepairApplyDetailMapper; import com.glxp.api.dao.dev.DeviceRepairApplyDetailMapper;
import com.glxp.api.service.dev.DeviceRepairApplyService;
import com.glxp.api.service.dev.DeviceRepairService;
import com.glxp.api.util.SnowflakeUtil; import com.glxp.api.util.SnowflakeUtil;
import groovy.util.logging.Slf4j; import groovy.util.logging.Slf4j;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -28,6 +27,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ -42,6 +42,9 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
final DeviceRepairApplyService deviceRepairApplyService; final DeviceRepairApplyService deviceRepairApplyService;
@Resource
DeviceCheckDetailService deviceCheckDetailService;
@Autowired @Autowired
@Lazy @Lazy
DeviceRepairService deviceRepairService; DeviceRepairService deviceRepairService;
@ -110,6 +113,12 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
throw new JsonException("设备诊断失败[未找到对应状态的设备],请稍后再试"); throw new JsonException("设备诊断失败[未找到对应状态的设备],请稍后再试");
} }
//根据设备号和报修单标识更新巡检任务明细
deviceCheckDetailService.update(Wrappers.lambdaUpdate(DeviceCheckDetailEntity.class)
.set(DeviceCheckDetailEntity::getRepairId, repairId)
.eq(DeviceCheckDetailEntity::getApplyId, param.getApplyId())
.eq(DeviceCheckDetailEntity::getDeviceCode, param.getDeviceCode())
);
} }
@Override @Override
@ -135,6 +144,24 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
deviceRepairApplyService.finishDeviceRepair(applyId); deviceRepairApplyService.finishDeviceRepair(applyId);
} }
} }
@Override
public DeviceRepairApplyDetailEntity listByIdAndCode(DeviceRepairApplyListByIdAndCodeQuery query) {
DeviceRepairApplyEntity apply = deviceRepairApplyService.getOne(Wrappers.lambdaQuery(DeviceRepairApplyEntity.class)
.eq(DeviceRepairApplyEntity::getId, query.getApplyId()));
if (apply == null) {
throw new JsonException("请核对报修单Id");
}
DeviceRepairApplyDetailEntity one = super.getOne(Wrappers.lambdaQuery(DeviceRepairApplyDetailEntity.class)
.eq(DeviceRepairApplyDetailEntity::getApplyId, query.getApplyId())
.eq(DeviceRepairApplyDetailEntity::getDeviceCode, query.getDeviceCode())
);
if (one == null) {
throw new JsonException(String.format("该设备不处于[%s]状态,无法完成维修", DeviceRepairApplyDetailStatusEnum.REPAIRING.getDesc()));
}
one.setRepairUserPhone(apply.getApplyUserPhone());
return one;
}
} }

@ -7,26 +7,26 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity; import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity;
import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.entity.dev.DeviceRepairApplyEntity;
import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum;
import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.req.dev.DeviceRepairApplyAddParam; import com.glxp.api.req.dev.DeviceRepairApplyAddParam;
import com.glxp.api.req.dev.DeviceRepairApplyConfirmParam; import com.glxp.api.req.dev.DeviceRepairApplyConfirmParam;
import com.glxp.api.req.dev.DeviceRepairApplyQuery; import com.glxp.api.req.dev.DeviceRepairApplyQuery;
import com.glxp.api.service.dev.DeviceCheckDetailService;
import com.glxp.api.service.dev.DeviceInfoService; import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.dev.DeviceReceiveOrderDetailService; import com.glxp.api.dao.dev.DeviceRepairApplyMapper;
import com.glxp.api.service.dev.DeviceRepairApplyDetailService; import com.glxp.api.service.dev.DeviceRepairApplyDetailService;
import com.glxp.api.service.dev.DeviceRepairApplyService; import com.glxp.api.service.dev.DeviceRepairApplyService;
import com.glxp.api.dao.dev.DeviceRepairApplyMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
@ -37,8 +37,11 @@ import java.util.List;
public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyMapper, DeviceRepairApplyEntity> public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyMapper, DeviceRepairApplyEntity>
implements DeviceRepairApplyService { implements DeviceRepairApplyService {
@Resource
DeviceInfoService deviceInfoService;
@Resource
DeviceCheckDetailService deviceCheckDetailService;
private final DeviceInfoService deviceInfoService;
@Autowired @Autowired
@Lazy @Lazy
@ -100,8 +103,16 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyM
param.valid(); param.valid();
DeviceRepairApplyEntity repairApply = param.getEntity(user); DeviceRepairApplyEntity repairApply = param.getEntity(user);
List<DeviceRepairApplyDetailEntity> detailEntityList = param.getDetailEntityList(repairApply.getId(), deviceInfoService, user); List<DeviceRepairApplyDetailEntity> detailEntityList = param.getDetailEntityList(repairApply.getId(), deviceInfoService, user);
Long taskId = param.getTaskId();
detailEntityList.forEach(d -> { detailEntityList.forEach(d -> {
deviceInfoService.repairApply(d.getDeviceCode(), d.getDeptCode(), d.getApplyId()); deviceInfoService.repairApply(d.getDeviceCode(), d.getDeptCode(), d.getApplyId());
if (taskId != null){
deviceCheckDetailService.update(Wrappers.lambdaUpdate(DeviceCheckDetailEntity.class)
.set(DeviceCheckDetailEntity::getApplyId, repairApply.getId())
.eq(DeviceCheckDetailEntity::getTaskId, taskId)
.eq(DeviceCheckDetailEntity::getDeviceCode, d.getDeviceCode())
);
}
}); });
super.save(repairApply); super.save(repairApply);
repairApplyDetailService.saveBatch(detailEntityList); repairApplyDetailService.saveBatch(detailEntityList);

@ -18,6 +18,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ -30,8 +31,10 @@ import java.util.List;
public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepairEntity> public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepairEntity>
implements DeviceRepairService { implements DeviceRepairService {
final DeviceRepairApplyDetailService deviceRepairApplyDetailService; @Resource
final DeviceInfoService deviceInfoService; DeviceRepairApplyDetailService deviceRepairApplyDetailService;
@Resource
DeviceInfoService deviceInfoService;
@Override @Override
public List<DeviceRepairEntity> pageList(DeviceRepairQuery query) { public List<DeviceRepairEntity> pageList(DeviceRepairQuery query) {

@ -2327,7 +2327,7 @@ CALL Pro_Temp_ColumnWork('device_change_order_item', 'startImperativeDate',
CALL Pro_Temp_ColumnWork('device_change_order_item', 'startMaintainDate', CALL Pro_Temp_ColumnWork('device_change_order_item', 'startMaintainDate',
' date NULL DEFAULT NULL COMMENT ''开始保养日期''', ' date NULL DEFAULT NULL COMMENT ''开始保养日期''',
1); 1);
CALL Pro_Temp_ColumnWork('device_change_order_item', 'maintainType', CALL Pro_Temp_ColumnWork('device_change_order_item', 'serviceType',
' varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修组''', ' varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修组''',
1); 1);
CALL Pro_Temp_ColumnWork('device_change_order_item', 'maintainType', CALL Pro_Temp_ColumnWork('device_change_order_item', 'maintainType',
@ -2495,3 +2495,9 @@ SET `menu_name` = '本科室设备', `parent_id` = 1703, `order_num` = 4, `path`
CALL Pro_Temp_ColumnWork('device_repair', 'repairDescription', CALL Pro_Temp_ColumnWork('device_repair', 'repairDescription',
' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修内容''', ' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修内容''',
1); 1);
ALTER TABLE device_repair
MODIFY COLUMN `diagnosisInfo` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '诊断信息' AFTER `description`;
CALL Pro_Temp_ColumnWork('device_check_detail', 'applyId',
'bigint DEFAULT NULL COMMENT''报修单id''',
1);

Loading…
Cancel
Save