消息提醒代码开发

master
薛宏祥 1 year ago
parent 94adb6e69f
commit 5f3fa6792b
  1. 3
      src/main/java/org/springblade/modules/business/contraller/DeviceController.java
  2. 13
      src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java
  3. 36
      src/main/java/org/springblade/modules/business/excel/MaintenanceTaskDetailExcel.java
  4. 32
      src/main/java/org/springblade/modules/business/pojo/dto/DeviceDTO.java
  5. 167
      src/main/java/org/springblade/modules/business/pojo/entity/Device.java
  6. 1
      src/main/java/org/springblade/modules/business/pojo/vo/DeviceVO.java
  7. 43
      src/main/java/org/springblade/modules/business/pojo/vo/MaintenanceTaskDetailVO.java
  8. 8
      src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java
  9. 50
      src/main/java/org/springblade/modules/business/service/impl/MaintenanceTaskServiceImpl.java

@ -85,6 +85,9 @@ public class DeviceController extends BladeController {
wrapper.like(StringUtils.isNotBlank(sanitizeInput(device.getName())), Device::getName, device.getName());
wrapper.eq(StringUtils.isNotBlank(sanitizeInput(device.getPosition())), Device::getPosition, device.getPosition());
wrapper.eq(StringUtils.isNotBlank(sanitizeInput(device.getType())), Device::getType, device.getType());
wrapper.eq(StringUtils.isNotBlank(sanitizeInput(device.getBrand())), Device::getBrand, device.getBrand());
wrapper.eq(StringUtils.isNotBlank(sanitizeInput(device.getSupplier())), Device::getSupplier, device.getSupplier());
wrapper.eq(device.getRunStatus() != null, Device::getRunStatus, device.getRunStatus());
// wrapper.eq(Device::getCreateUser, AuthUtil.getUserId());
wrapper.orderByDesc(Device::getCreateTime);
try {

@ -145,25 +145,12 @@ public class MaintenanceController extends BladeController {
@Operation(summary = "维修人员更新预约时间", description = "维修人员更新预约时间")
public R taskServicemanUpdateTime(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setSignUrl(task.getSignUrl());
taskOld.setRemark(task.getRemark());
taskOld.setReservationTime(task.getReservationTime());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-serviceman-update-sign")
@Operation(summary = "维修人员更新客户签名", description = "维修人员更新客户签名")
public R taskServicemanUpdateSign(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setSignUrl(task.getSignUrl());
taskOld.setRemark(task.getRemark());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-serviceman-update-detail")
@Operation(summary = "维修人员更新维修明细", description = "维修人员更新维修明细")
public R taskServicemanUpdateDetail(@RequestBody List<MaintenanceTaskDetail> taskDetailList) {

@ -0,0 +1,36 @@
package org.springblade.modules.business.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class MaintenanceTaskDetailExcel implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("楼层")
private String floor;
@ExcelProperty("房间名称")
private String deptName;
@ExcelProperty("专业/设备")
private String deviceName;
@ExcelProperty("巡检内容")
private String checkContent;
@ExcelProperty("状态")
private Integer status;
@ExcelProperty("价格")
private Double price;
}

@ -18,21 +18,31 @@ import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class DeviceDTO extends Device {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
// 设备附件
private List<DeviceAttach> attaches;
// 设备附件
private List<DeviceAttach> attaches;
// 设备巡检
private List<DeviceMaintenance> maintenances;
// 设备巡检
private List<DeviceMaintenance> maintenances;
// 设备名称
private String name;
// 设备名称
private String name;
// 设备位置
private String position;
// 设备位置
private String position;
// 设备类型
private String type;
// 供应商
private String supplier;
//品牌
private String brand;
//状态
private Integer runStatus;
// 设备类型
private String type;
}

@ -20,85 +20,90 @@ import java.util.Date;
@EqualsAndHashCode(callSuper = true)
public class Device extends BaseEntity {
/**
* 设备编号
*/
private String code;
/**
* 设备名称
*/
private String name;
/**
* 设备型号
*/
private String model;
/**
* 设备类型
*/
private String type;
/**
* 设备位置
*/
private String position;
/**
* 供应商
*/
private String supplier;
/**
* 生产时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8")
private Date produceTime;
/**
* 附件名称
*/
private String attachName;
/**
* 运行状态 0关机 1运行中 2报警中
*/
private Integer runStatus;
/**
* 二维码base64
*/
private String qrcode;
/**
* 实验室id
*/
private Long limsId;
/**
* 实验室名称
*/
private String limsName;
/**
* 楼层id
*/
private Long floorId;
/**
* 楼层名称
*/
private String floorName;
/**
* 房间id
*/
private Long roomId;
/**
* 房间名称
*/
private String roomName;
/**
* 设备编号
*/
private String code;
/**
* 设备名称
*/
private String name;
/**
* 设备型号
*/
private String model;
/**
* 设备类型
*/
private String type;
/**
* 设备位置
*/
private String position;
/**
* 品牌
*/
private String brand;
/**
* 供应商
*/
private String supplier;
/**
* 生产时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8")
private Date produceTime;
/**
* 附件名称
*/
private String attachName;
/**
* 运行状态 0关机 1运行中 2报警中
*/
private Integer runStatus;
/**
* 二维码base64
*/
private String qrcode;
/**
* 实验室id
*/
private Long limsId;
/**
* 实验室名称
*/
private String limsName;
/**
* 楼层id
*/
private Long floorId;
/**
* 楼层名称
*/
private String floorName;
/**
* 房间id
*/
private Long roomId;
/**
* 房间名称
*/
private String roomName;
}

@ -22,4 +22,5 @@ public class DeviceVO extends Device {
List<DeviceAttach> attaches;
List<DeviceMaintenance> maintenances;
}

@ -0,0 +1,43 @@
package org.springblade.modules.business.pojo.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
@Data
@AllArgsConstructor
public class MaintenanceTaskDetailVO {
/**
* 楼层
*/
private String floor;
/**
* 部门
*/
private String deptName;
/**
* 设备名称
*/
private String deviceName;
/**
* 巡检内容
*/
private String checkContent;
/**
* 状态
*/
private Integer status;
/**
* 价格
*/
// private Double price;
}

@ -1,9 +1,13 @@
package org.springblade.modules.business.service;
import cn.hutool.core.io.resource.InputStreamResource;
import jakarta.servlet.http.HttpServletResponse;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask;
import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO;
import org.springframework.http.ResponseEntity;
import java.io.IOException;
import java.util.List;
/**
@ -15,6 +19,7 @@ import java.util.List;
public interface IMaintenanceTaskService extends BaseService<MaintenanceTask> {
List<MaintenanceTaskVO> limsTaskList(String deptId);
/**
* 获取巡检任务包含详细 树形结构
*
@ -22,6 +27,7 @@ public interface IMaintenanceTaskService extends BaseService<MaintenanceTask> {
* @return
*/
MaintenanceTask taskDetail(Long taskId);
/**
* 获取巡检任务包含详细 树形结构
*
@ -29,4 +35,6 @@ public interface IMaintenanceTaskService extends BaseService<MaintenanceTask> {
* @return
*/
MaintenanceTask repairDetail(Long taskId);
void taskDetailConfiguration(Long taskId, HttpServletResponse httpServletResponse) throws IOException;
}

@ -1,11 +1,17 @@
package org.springblade.modules.business.service.impl;
import cn.hutool.core.io.resource.InputStreamResource;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.business.excel.MaintenanceTaskDetailExcel;
import org.springblade.modules.business.pojo.vo.MaintenanceTaskDetailVO;
import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO;
import org.springblade.modules.business.service.IMaintenanceTaskService;
import org.springblade.modules.business.mapper.MaintenanceTaskMapper;
@ -13,8 +19,12 @@ import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskDetail;
import org.springblade.modules.business.service.IMaintenanceTaskDetailService;
import org.springblade.modules.business.service.IMaintenanceTaskService;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.io.*;
import java.util.List;
import java.util.ArrayList;
@ -89,4 +99,44 @@ public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskM
public List<MaintenanceTaskVO> limsTaskList(String deptId) {
return baseMapper.limsTaskList(deptId);
}
@Override
public void taskDetailConfiguration(Long taskId, HttpServletResponse httpServletResponse) throws IOException {
//获取数据
List<MaintenanceTaskDetail> maintenanceTaskDetails = taskDetailService.list(Wrappers.lambdaQuery(MaintenanceTaskDetail.class).eq(MaintenanceTaskDetail::getTaskId, taskId));
//过滤字段
List<MaintenanceTaskDetailVO> maintenanceTaskDetailVOList = new ArrayList<>();
for (MaintenanceTaskDetail maintenanceTaskDetail : maintenanceTaskDetails) {
MaintenanceTaskDetailVO maintenanceTaskDetailVO = new MaintenanceTaskDetailVO(
maintenanceTaskDetail.getFloorName(),
maintenanceTaskDetail.getDeptName(),
maintenanceTaskDetail.getDeviceName(),
maintenanceTaskDetail.getCheckContent(),
null
// maintenanceTaskDetail.getPrice()
);
maintenanceTaskDetailVOList.add(maintenanceTaskDetailVO);
}
//导出任务配置明细导入到流中返回
ServletOutputStream out = null;
ByteArrayOutputStream baos = null;
try {
baos = new ByteArrayOutputStream();
EasyExcel.write(baos)
.head(MaintenanceTaskDetailExcel.class)
.sheet("任务配置明细")
.doWrite(maintenanceTaskDetailVOList);
out = httpServletResponse.getOutputStream();
out.write(baos.toByteArray());
} catch (Exception e) {
e.printStackTrace();
} finally {
baos.flush();
baos.close();
out.flush();
out.close();
}
}
}

Loading…
Cancel
Save