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.dev.DeviceRepairApplyEntity;
import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum;
import com.glxp.api.req.dev.DeviceRepairApplyAddParam;
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.req.dev.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.DeviceRepairApplyService;
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")
private Boolean normalFlag;
/**
* id
*/
@TableField(value = "applyId")
private Long applyId;
}

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

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

@ -37,6 +37,8 @@ public class DeviceRepairApplyAddParam {
@NotEmpty(message = "请选择至少一个设备进行报修")
Set<ApplyDetail> details;
Long taskId;
@Data
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.req.dev.DeviceRepairApplyDetailDiagnosisParam;
import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery;
import com.glxp.api.req.dev.DeviceRepairApplyListByIdAndCodeQuery;
import java.util.List;
@ -31,4 +32,6 @@ public interface DeviceRepairApplyDetailService extends IService<DeviceRepairApp
* @param 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<>();
orderItems.forEach(i -> {
if (order.getType() == DeviceChangeTypeEnum.ADD) {
UdiRelevanceResponse productInfo = udiRelevanceService.selectByRelId(i.getProductId().toString());
if (productInfo == null) {
throw new JsonException(String.format("未找到设备 %s", i.getProductName()));
}
i.setNameCode(productInfo.getNameCode())
.setProductName(productInfo.getCpmctymc())
.setGgxh(productInfo.getGgxh())
.setMeasname(productInfo.getMeasname())
.setManufactory(productInfo.getManufactory())
.setZczbhhzbapzbh(productInfo.getZczbhhzbapzbh())
.setSupId(productInfo.getUnitFk())
.setSupName(productInfo.getSupName())
;
// UdiRelevanceResponse productInfo = udiRelevanceService.selectByRelId(i.getProductId().toString());
// if (productInfo == null) {
// throw new JsonException(String.format("未找到设备 %s", i.getProductName()));
// }
// i.setNameCode(productInfo.getNameCode())
// .setProductName(productInfo.getCpmctymc())
// .setGgxh(productInfo.getGgxh())
// .setMeasname(productInfo.getMeasname())
// .setManufactory(productInfo.getManufactory())
// .setZczbhhzbapzbh(productInfo.getZczbhhzbapzbh())
// .setSupId(productInfo.getUnitFk())
// .setSupName(productInfo.getSupName())
// ;
DeviceInfoEntity deviceInfoEntity = BeanUtil.copyProperties(i, DeviceInfoEntity.class);
deviceInfoEntity.setCheckLock(false);
deviceInfoEntity.setCreateUserId(order.getCreateUser());
@ -120,15 +120,15 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
deviceInfoEntity.setDeptCode(order.getToDeptCode());
deviceInfoEntity.setStatus(DeviceStatusEnum.NORMAL);
deviceInfoEntity.setLastChangeOrderId(order.getOrderId());
boolean b = deviceInfoService.exitOrder(order.getOrderId(), deviceInfoEntity.getDeviceCode());
if (b) {
throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
}
try {
// boolean b = deviceInfoService.exitOrder(order.getOrderId(), deviceInfoEntity.getDeviceCode());
// if (b) {
// throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
// }
// try {
deviceInfoService.saveOrUpdate(deviceInfoEntity);
} catch (Exception e) {
throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
}
// } catch (Exception e) {
// throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
// }
DeviceChangeLogEntity logEntity = DeviceChangeLogEntity.genEntity(i.getDeviceCode(), orderVo);
logs.add(logEntity);
} else {

@ -25,6 +25,7 @@ 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;
@ -38,9 +39,12 @@ import java.util.List;
public class DeviceCheckDetailServiceImpl extends ServiceImpl<DeviceCheckDetailMapper, DeviceCheckDetailEntity>
implements DeviceCheckDetailService {
final DeviceCheckService deviceCheckService;
final DeviceInfoService deviceInfoService;
final DeviceRepairService deviceRepairService;
@Resource
DeviceCheckService deviceCheckService;
@Resource
DeviceInfoService deviceInfoService;
@Resource
DeviceRepairService deviceRepairService;
@Override
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.github.pagehelper.PageHelper;
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.DeviceRepairApplyEntity;
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.req.dev.DeviceRepairApplyDetailDiagnosisParam;
import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.dev.DeviceRepairApplyDetailService;
import com.glxp.api.req.dev.DeviceRepairApplyListByIdAndCodeQuery;
import com.glxp.api.service.dev.*;
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 groovy.util.logging.Slf4j;
import lombok.RequiredArgsConstructor;
@ -28,6 +27,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@ -42,6 +42,9 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
final DeviceRepairApplyService deviceRepairApplyService;
@Resource
DeviceCheckDetailService deviceCheckDetailService;
@Autowired
@Lazy
DeviceRepairService deviceRepairService;
@ -110,6 +113,12 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
throw new JsonException("设备诊断失败[未找到对应状态的设备],请稍后再试");
}
//根据设备号和报修单标识更新巡检任务明细
deviceCheckDetailService.update(Wrappers.lambdaUpdate(DeviceCheckDetailEntity.class)
.set(DeviceCheckDetailEntity::getRepairId, repairId)
.eq(DeviceCheckDetailEntity::getApplyId, param.getApplyId())
.eq(DeviceCheckDetailEntity::getDeviceCode, param.getDeviceCode())
);
}
@Override
@ -135,6 +144,24 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
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.github.pagehelper.PageHelper;
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.DeviceRepairApplyEntity;
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.DeviceRepairApplyConfirmParam;
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.DeviceReceiveOrderDetailService;
import com.glxp.api.dao.dev.DeviceRepairApplyMapper;
import com.glxp.api.service.dev.DeviceRepairApplyDetailService;
import com.glxp.api.service.dev.DeviceRepairApplyService;
import com.glxp.api.dao.dev.DeviceRepairApplyMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
/**
@ -37,8 +37,11 @@ import java.util.List;
public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyMapper, DeviceRepairApplyEntity>
implements DeviceRepairApplyService {
@Resource
DeviceInfoService deviceInfoService;
@Resource
DeviceCheckDetailService deviceCheckDetailService;
private final DeviceInfoService deviceInfoService;
@Autowired
@Lazy
@ -100,8 +103,16 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyM
param.valid();
DeviceRepairApplyEntity repairApply = param.getEntity(user);
List<DeviceRepairApplyDetailEntity> detailEntityList = param.getDetailEntityList(repairApply.getId(), deviceInfoService, user);
Long taskId = param.getTaskId();
detailEntityList.forEach(d -> {
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);
repairApplyDetailService.saveBatch(detailEntityList);

@ -18,6 +18,7 @@ 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.List;
@ -30,8 +31,10 @@ import java.util.List;
public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepairEntity>
implements DeviceRepairService {
final DeviceRepairApplyDetailService deviceRepairApplyDetailService;
final DeviceInfoService deviceInfoService;
@Resource
DeviceRepairApplyDetailService deviceRepairApplyDetailService;
@Resource
DeviceInfoService deviceInfoService;
@Override
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',
' date NULL DEFAULT NULL COMMENT ''开始保养日期''',
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''维修组''',
1);
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',
' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修内容''',
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