|
|
|
@ -1,326 +1,404 @@
|
|
|
|
|
//package org.dromara.dms.controller;
|
|
|
|
|
//
|
|
|
|
|
//import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
|
|
//import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
|
|
//import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
//import lombok.RequiredArgsConstructor;
|
|
|
|
|
//import org.dromara.common.core.constant.DmsConstants;
|
|
|
|
|
//import org.dromara.common.core.domain.R;
|
|
|
|
|
//import org.dromara.common.log.annotation.Log;
|
|
|
|
|
//import org.dromara.common.log.enums.BusinessType;
|
|
|
|
|
//import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
|
|
//import org.dromara.common.web.core.BaseController;
|
|
|
|
|
//import org.dromara.dms.domain.DmsBaseMachineInfo;
|
|
|
|
|
//import org.dromara.dms.domain.DmsBaseOutsourcingInfo;
|
|
|
|
|
//import org.dromara.dms.domain.DmsBillsLubeDetail;
|
|
|
|
|
//import org.dromara.dms.domain.DmsBillsLubeInstance;
|
|
|
|
|
//import org.dromara.dms.service.IDmsBillsLubeInstanceService;
|
|
|
|
|
//import org.springframework.util.CollectionUtils;
|
|
|
|
|
//import org.springframework.validation.annotation.Validated;
|
|
|
|
|
//import org.springframework.web.bind.annotation.*;
|
|
|
|
|
//import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
//
|
|
|
|
|
//import java.util.ArrayList;
|
|
|
|
|
//import java.util.Date;
|
|
|
|
|
//import java.util.List;
|
|
|
|
|
//
|
|
|
|
|
//@Validated
|
|
|
|
|
//@RequiredArgsConstructor
|
|
|
|
|
//@RestController
|
|
|
|
|
//@RequestMapping("/mobile")
|
|
|
|
|
//public class DmsMobileController extends BaseController {
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// private final IDmsBillsFaultInstanceService dmsBillsFaultInstanceService;
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// private final IDmsBillsInspectInstanceService dmsBillsInspectInstanceService;
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// private final IDmsBaseDeviceLedgerService baseDeviceLedgerService;
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// private final IDmsBaseOutsrcInfoService dmsBaseOutsrcInfoService;
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// private final IDmsBillsMaintInstanceService dmsBillsMaintInstanceService;
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// private final IDmsBillsLubeInstanceService dmsBillsLubeInstanceService;
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 根据设备编号获取设备信息
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/getDeviceByDeviceCode/{deviceCode}")
|
|
|
|
|
// public R getDeviceByDeviceCode(@PathVariable("deviceCode") String deviceCode) {
|
|
|
|
|
// DmsBaseMachineInfo dmsBaseDeviceLedger = baseDeviceLedgerService.selectDmsBaseDeviceLedgerByDeviceCode(deviceCode);
|
|
|
|
|
// return R.ok(dmsBaseDeviceLedger);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 获取外协单位列表
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/getOutsrcInfos")
|
|
|
|
|
// public R getOutsrcInfos() {
|
|
|
|
|
// DmsBaseOutsourcingInfo queryBaseOutsrcInfo = new DmsBaseOutsourcingInfo();
|
|
|
|
|
package org.dromara.dms.controller;
|
|
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.dromara.common.core.domain.R;
|
|
|
|
|
import org.dromara.common.log.annotation.Log;
|
|
|
|
|
import org.dromara.common.log.enums.BusinessType;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
|
|
import org.dromara.common.web.core.BaseController;
|
|
|
|
|
import org.dromara.dms.domain.*;
|
|
|
|
|
import org.dromara.dms.domain.bo.*;
|
|
|
|
|
import org.dromara.dms.domain.vo.*;
|
|
|
|
|
import org.dromara.dms.service.*;
|
|
|
|
|
import org.dromara.resource.api.RemoteFileService;
|
|
|
|
|
import org.dromara.resource.api.domain.RemoteFile;
|
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
import org.dromara.common.core.exception.ServiceException;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
@Validated
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
|
@RestController
|
|
|
|
|
@RequestMapping("/mobile")
|
|
|
|
|
@Slf4j
|
|
|
|
|
public class DmsMobileController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final IDmsBillsFaultInstanceService dmsBillsFaultInstanceService;
|
|
|
|
|
|
|
|
|
|
private final IDmsBillsInspectInstanceService dmsBillsInspectInstanceService;
|
|
|
|
|
|
|
|
|
|
private final IDmsBaseMachineInfoService baseDeviceLedgerService;
|
|
|
|
|
|
|
|
|
|
private final IDmsBaseOutsourcingInfoService dmsBaseOutsrcInfoService;
|
|
|
|
|
|
|
|
|
|
private final IDmsBillsMaintInstanceService dmsBillsMaintInstanceService;
|
|
|
|
|
|
|
|
|
|
private final IDmsBillsLubeInstanceService dmsBillsLubeInstanceService;
|
|
|
|
|
|
|
|
|
|
private final RemoteFileService remoteFileService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 处理文件上传的函数
|
|
|
|
|
* @param files 多部分文件列表
|
|
|
|
|
* @return 上传文件的URL列表
|
|
|
|
|
*/
|
|
|
|
|
private List<String> handleFileUploads(List<MultipartFile> files) {
|
|
|
|
|
// 创建一个存储上传文件URL的列表
|
|
|
|
|
List<String> fileUrls = new ArrayList<>();
|
|
|
|
|
// 判断文件列表是否为空
|
|
|
|
|
if (files != null) {
|
|
|
|
|
// 遍历每个文件
|
|
|
|
|
for (MultipartFile file : files) {
|
|
|
|
|
// 获取原始文件名
|
|
|
|
|
String originalFilename = file.getOriginalFilename();
|
|
|
|
|
// 获取文件类型
|
|
|
|
|
String contentType = file.getContentType();
|
|
|
|
|
byte[] fileBytes;
|
|
|
|
|
try {
|
|
|
|
|
// 获取文件字节内容
|
|
|
|
|
fileBytes = file.getBytes();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
// 记录错误日志并抛出服务异常
|
|
|
|
|
log.error("获取文件字节失败: {}", originalFilename, e);
|
|
|
|
|
throw new ServiceException("文件获取失败,请重试。");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
// 调用远程文件服务的上传方法
|
|
|
|
|
RemoteFile sysFile = remoteFileService.upload(originalFilename, originalFilename, contentType, fileBytes);
|
|
|
|
|
// 判断上传结果是否成功
|
|
|
|
|
if (sysFile != null && sysFile.getUrl() != null) {
|
|
|
|
|
// 将文件URL添加到列表中
|
|
|
|
|
fileUrls.add(sysFile.getUrl());
|
|
|
|
|
} else {
|
|
|
|
|
// 记录警告日志
|
|
|
|
|
log.warn("文件上传成功但未返回URL或返回数据为空: {}", originalFilename);
|
|
|
|
|
}
|
|
|
|
|
} catch (ServiceException e) {
|
|
|
|
|
// 记录服务异常日志并抛出新的服务异常
|
|
|
|
|
log.error("文件上传服务异常: {}", originalFilename, e);
|
|
|
|
|
throw new ServiceException("文件上传服务异常:" + e.getMessage());
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 记录未知错误日志并抛出新的服务异常
|
|
|
|
|
log.error("文件上传过程中发生未知错误: {}", originalFilename, e);
|
|
|
|
|
throw new ServiceException("文件上传过程中发生未知错误,请联系管理员。");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 返回上传文件的URL列表
|
|
|
|
|
return fileUrls;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据设备编号获取设备信息
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/getDeviceByDeviceCode/{deviceCode}")
|
|
|
|
|
public R getDeviceByDeviceCode(@PathVariable("deviceCode") String deviceCode) {
|
|
|
|
|
DmsBaseMachineInfoBo dmsBaseMachineInfoBo = new DmsBaseMachineInfoBo();
|
|
|
|
|
dmsBaseMachineInfoBo.setMachineCode(deviceCode);
|
|
|
|
|
//TODO:根据设备编号查一个设备
|
|
|
|
|
DmsBaseMachineInfoVo dmsBaseDeviceLedger = baseDeviceLedgerService.queryList(dmsBaseMachineInfoBo).get(0);
|
|
|
|
|
return R.ok(dmsBaseDeviceLedger);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取外协单位列表
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/getOutsrcInfos")
|
|
|
|
|
public R getOutsrcInfos() {
|
|
|
|
|
DmsBaseOutsourcingInfoBo queryBaseOutsrcInfo = new DmsBaseOutsourcingInfoBo();
|
|
|
|
|
|
|
|
|
|
//沒有外协状态,用激活状态
|
|
|
|
|
// queryBaseOutsrcInfo.setOutsrcStatus(DmsConstants.DMS_BASE_OUTSRC_INFO_STATUS_NROMAL);
|
|
|
|
|
// List<DmsBaseOutsourcingInfo> baseOutsrcInfos = dmsBaseOutsrcInfoService.selectDmsBaseOutsrcInfoList(queryBaseOutsrcInfo);
|
|
|
|
|
// return R.ok(baseOutsrcInfos);
|
|
|
|
|
// }
|
|
|
|
|
// /**
|
|
|
|
|
// * 根据传参模糊查询设备名
|
|
|
|
|
// */
|
|
|
|
|
// @GetMapping("/likeDeviceName")
|
|
|
|
|
// public R likeDeviceName(String deviceName) {
|
|
|
|
|
// List<DmsBaseDeviceLedger> deviceLedgerList = baseDeviceLedgerService.likeDeviceName(deviceName);
|
|
|
|
|
// return R.ok(deviceLedgerList);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * PDA-报修
|
|
|
|
|
// * <p>
|
|
|
|
|
// * 需传入
|
|
|
|
|
// * 设备id deviceId
|
|
|
|
|
// * 故障类别 faultType
|
|
|
|
|
// * 故障描述 faultDescription
|
|
|
|
|
// * 涉及操作 designOperations
|
|
|
|
|
// * 维修类型 repairType
|
|
|
|
|
// * 外协id outsrcId(可不传入)
|
|
|
|
|
// * 图片 files
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "故障报修工单", businessType = BusinessType.INSERT)
|
|
|
|
|
// @PostMapping("/insertFaultInstsanceActivity")
|
|
|
|
|
// public R insertFaultInstsanceActivity(DmsBillsFaultInstance dmsBillsFaultInstance,
|
|
|
|
|
// List<MultipartFile> files) {
|
|
|
|
|
// List<String> fileUrls = new ArrayList<>();
|
|
|
|
|
// if(files!=null){
|
|
|
|
|
// for (MultipartFile file : files) {
|
|
|
|
|
// R<SysFile> sysFileR = remoteFileService.upload(file);
|
|
|
|
|
// SysFile sysFile = sysFileR.getData();
|
|
|
|
|
// fileUrls.add(sysFile.getUrl());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// dmsBillsFaultInstance.setFileUrls(fileUrls);
|
|
|
|
|
// return R.ok(dmsBillsFaultInstanceService.insertDmsBillsFaultInstance(dmsBillsFaultInstance));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 获取故障报修工单列表
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/getBillsFaultInstances")
|
|
|
|
|
// public TableDataInfo getBillsFaultInstances() {
|
|
|
|
|
//// startPage();
|
|
|
|
|
// DmsBillsFaultInstance queryBillsFaultInstance = new DmsBillsFaultInstance();
|
|
|
|
|
// List<DmsBillsFaultInstance> billsFaultInstances = dmsBillsFaultInstanceService.selectDmsBillsFaultInstanceJoinList(queryBillsFaultInstance);
|
|
|
|
|
// return getDataTable(billsFaultInstances);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 获取故障报修工单详细信息,修改工单使用
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/getBillsFaultInstanceByRepairInstanceId/{repairInstanceId}")
|
|
|
|
|
// public R getBillsFaultInstanceByRepairInstanceId(@PathVariable("repairInstanceId") Long repairInstanceId) {
|
|
|
|
|
// DmsBillsFaultInstance billsFaultInstance = dmsBillsFaultInstanceService.selectDmsBillsFaultInstanceByRepairInstanceId(repairInstanceId);
|
|
|
|
|
// return R.ok(billsFaultInstance);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 修改工单提交
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "故障报修工单", businessType = BusinessType.UPDATE)
|
|
|
|
|
// @PostMapping("/updateFaultInstanceActivity")
|
|
|
|
|
// public R updateFaultInstanceActivity(DmsFaultInstanceActivity dmsFaultInstanceActivity,
|
|
|
|
|
// @RequestParam(value = "files") List<MultipartFile> files) {
|
|
|
|
|
// List<String> fileUrls = new ArrayList<>();
|
|
|
|
|
// if (!CollectionUtils.isEmpty(files)){
|
|
|
|
|
// for (MultipartFile file : files) {
|
|
|
|
|
// R<SysFile> sysFileR = remoteFileService.upload(file);
|
|
|
|
|
// SysFile sysFile = sysFileR.getData();
|
|
|
|
|
// fileUrls.add(sysFile.getUrl());
|
|
|
|
|
// }
|
|
|
|
|
// dmsFaultInstanceActivity.setFileUrls(fileUrls);
|
|
|
|
|
// }
|
|
|
|
|
// return R.ok(dmsBillsFaultInstanceService.updateDmsFaultInstanceActivity(dmsFaultInstanceActivity));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 获取故障报修工单详细信息,维修使用
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/getBillsFaultInstance4Repair/{repairInstanceId}")
|
|
|
|
|
// public R getBillsFaultInstance4Repair(@PathVariable("repairInstanceId") Long repairInstanceId) {
|
|
|
|
|
// DmsBillsFaultInstance billsFaultInstance = dmsBillsFaultInstanceService.getDmsBillsFaultInstance4Repair(repairInstanceId);
|
|
|
|
|
// return R.ok(billsFaultInstance);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 故障报修扫描设备验证
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/scanDevice4Repair")
|
|
|
|
|
// public R scanDevice4Repair(@Validated DmsBillsFaultInstanceScanVo dmsBillsFaultInstanceScanVo) {
|
|
|
|
|
// dmsBillsFaultInstanceService.scanDevice4Repair(dmsBillsFaultInstanceScanVo);
|
|
|
|
|
// return R.ok();
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 开始维修
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "故障报修工单", businessType = BusinessType.START)
|
|
|
|
|
// @PostMapping("/startRepair")
|
|
|
|
|
// public R startRepair(@RequestBody DmsFaultInstanceActivity dmsFaultInstanceActivity) {
|
|
|
|
|
// return R.ok(dmsBillsFaultInstanceService.startRepair(dmsFaultInstanceActivity));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 完成维修
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "故障报修工单", businessType = BusinessType.COMPLETE)
|
|
|
|
|
// @PostMapping("/completeRepair")
|
|
|
|
|
// public R completeRepair(DmsFaultInstanceActivity dmsFaultInstanceActivity,@RequestParam(value = "files") List<MultipartFile> files) throws JsonProcessingException {
|
|
|
|
|
// dmsFaultInstanceActivity.setRepairConfirm(2);
|
|
|
|
|
// dmsFaultInstanceActivity.setConfirmTime(new Date());
|
|
|
|
|
// String parts1 = dmsFaultInstanceActivity.getParts1();
|
|
|
|
|
// ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
|
// List<DmsFaultCompentsParts> parts2 = objectMapper.readValue(parts1, new TypeReference<List<DmsFaultCompentsParts>>() {});
|
|
|
|
|
// dmsFaultInstanceActivity.setParts(parts2);
|
|
|
|
|
// List < String > fileUrls = new ArrayList<>();
|
|
|
|
|
// for (MultipartFile file : files) {
|
|
|
|
|
// R<SysFile> sysFileR = remoteFileService.upload(file);
|
|
|
|
|
// SysFile sysFile = sysFileR.getData();
|
|
|
|
|
// fileUrls.add(sysFile.getUrl());
|
|
|
|
|
// }
|
|
|
|
|
// dmsFaultInstanceActivity.setFileUrls(fileUrls);
|
|
|
|
|
// return R.ok(dmsBillsFaultInstanceService.completeRepair(dmsFaultInstanceActivity));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 获取最新一条待巡检或巡检中的巡检或点检工单(检查类型inspectType(1巡检,2点检))
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/getNewestInspectInstance")
|
|
|
|
|
// public R getNewestInspectInstance(DmsBillsInspectInstance dmsBillsInspectInstance) {
|
|
|
|
|
// DmsBillsInspectInstance newestInspectInstance = dmsBillsInspectInstanceService.getNewestBillsInspectInstance(dmsBillsInspectInstance);
|
|
|
|
|
// return R.ok(newestInspectInstance);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 扫描设备编号或者输入设备编号进行巡检验证
|
|
|
|
|
// * */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/scanInspectInstanceDetail")
|
|
|
|
|
// public R scanInspectInstanceDetail(@Validated DmsBillsInspectInstanceScanVo dmsBillsInspectInstanceScanVo) {
|
|
|
|
|
// return R.ok(dmsBillsInspectInstanceService.scanInspectInstanceDetail(dmsBillsInspectInstanceScanVo));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 点巡检工单
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
queryBaseOutsrcInfo.setActiveFlag("1");
|
|
|
|
|
|
|
|
|
|
List<DmsBaseOutsourcingInfoVo> baseOutsrcInfos = dmsBaseOutsrcInfoService.queryList(queryBaseOutsrcInfo);
|
|
|
|
|
return R.ok(baseOutsrcInfos);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 根据传参模糊查询设备名
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/likeDeviceName")
|
|
|
|
|
public R likeDeviceName(String deviceName) {
|
|
|
|
|
List<DmsBaseMachineInfoVo> deviceLedgerList = baseDeviceLedgerService.likeDeviceName(deviceName);
|
|
|
|
|
return R.ok(deviceLedgerList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* PDA-报修
|
|
|
|
|
* <p>
|
|
|
|
|
* 需传入
|
|
|
|
|
* 设备id deviceId
|
|
|
|
|
* 故障类别 faultType
|
|
|
|
|
* 故障描述 faultDescription
|
|
|
|
|
* 涉及操作 designOperations
|
|
|
|
|
* 维修类型 repairType
|
|
|
|
|
* 外协id outsrcId(可不传入)
|
|
|
|
|
* 图片 files
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
@Log(title = "故障报修工单", businessType = BusinessType.INSERT)
|
|
|
|
|
@PostMapping("/insertFaultInstsanceActivity")
|
|
|
|
|
public R insertFaultInstsanceActivity(DmsBillsFaultInstanceBo dmsBillsFaultInstance,
|
|
|
|
|
List<MultipartFile> files) {
|
|
|
|
|
List<String> fileUrls = new ArrayList<>();
|
|
|
|
|
if(files!=null){
|
|
|
|
|
for (MultipartFile file : files) {
|
|
|
|
|
// 从 MultipartFile 中提取 RemoteFileService 所需的参数
|
|
|
|
|
String originalFilename = file.getOriginalFilename();
|
|
|
|
|
String contentType = file.getContentType();
|
|
|
|
|
byte[] fileBytes;
|
|
|
|
|
try {
|
|
|
|
|
fileBytes = file.getBytes();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
log.error("获取文件字节失败: {}", originalFilename, e);
|
|
|
|
|
return R.fail("文件获取失败,请重试。");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
// 调用 RemoteFileService 的 upload 方法,传入正确参数
|
|
|
|
|
// 'name' 参数在当前RemoteFileServiceImpl实现中并非强制决定最终文件名,
|
|
|
|
|
// 这里传入originalFilename以保持一致性或作为备用标识
|
|
|
|
|
RemoteFile sysFile = remoteFileService.upload(originalFilename, originalFilename, contentType, fileBytes);
|
|
|
|
|
if (sysFile != null && sysFile.getUrl() != null) {
|
|
|
|
|
fileUrls.add(sysFile.getUrl());
|
|
|
|
|
} else {
|
|
|
|
|
log.warn("文件上传成功但未返回URL或返回数据为空: {}", originalFilename);
|
|
|
|
|
// 可以选择返回失败,或继续处理其他文件
|
|
|
|
|
}
|
|
|
|
|
} catch (ServiceException e) {
|
|
|
|
|
log.error("文件上传服务异常: {}", originalFilename, e);
|
|
|
|
|
return R.fail("文件上传服务异常:" + e.getMessage());
|
|
|
|
|
} catch (Exception e) { // 捕获其他未知异常
|
|
|
|
|
log.error("文件上传过程中发生未知错误: {}", originalFilename, e);
|
|
|
|
|
return R.fail("文件上传过程中发生未知错误,请联系管理员。");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//TODO:文件存储待测试
|
|
|
|
|
dmsBillsFaultInstance.setFileUrls(fileUrls);
|
|
|
|
|
return R.ok(dmsBillsFaultInstanceService.insertByBo(dmsBillsFaultInstance));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取故障报修工单列表
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/getBillsFaultInstances")
|
|
|
|
|
public TableDataInfo getBillsFaultInstances() {
|
|
|
|
|
DmsBillsFaultInstanceBo queryBillsFaultInstance = new DmsBillsFaultInstanceBo();
|
|
|
|
|
List<DmsBillsFaultInstanceVo> billsFaultInstances = dmsBillsFaultInstanceService.queryList(queryBillsFaultInstance);
|
|
|
|
|
return TableDataInfo.build(billsFaultInstances);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取故障报修工单详细信息,修改工单使用
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/getBillsFaultInstanceByRepairInstanceId/{repairInstanceId}")
|
|
|
|
|
public R getBillsFaultInstanceByRepairInstanceId(@PathVariable("repairInstanceId") Long repairInstanceId) {
|
|
|
|
|
//fixme:图片地址完整路径(IP)
|
|
|
|
|
DmsBillsFaultInstanceVo billsFaultInstance = dmsBillsFaultInstanceService.selectDmsBillsFaultInstanceByRepairInstanceId(repairInstanceId);
|
|
|
|
|
return R.ok(billsFaultInstance);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 修改工单提交
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
@Log(title = "故障报修工单", businessType = BusinessType.UPDATE)
|
|
|
|
|
@PostMapping("/updateFaultInstanceActivity")
|
|
|
|
|
public R updateFaultInstanceActivity(DmsFaultInstanceActivityBo dmsFaultInstanceActivity,
|
|
|
|
|
@RequestParam(value = "files") List<MultipartFile> files) {
|
|
|
|
|
List<String> fileUrls = handleFileUploads(files);
|
|
|
|
|
dmsFaultInstanceActivity.setFileUrls(fileUrls);
|
|
|
|
|
return R.ok(dmsBillsFaultInstanceService.updateDmsFaultInstanceActivity(dmsFaultInstanceActivity));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取故障报修工单详细信息,维修使用
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/getBillsFaultInstance4Repair/{repairInstanceId}")
|
|
|
|
|
public R<DmsBillsFaultInstanceVo> getBillsFaultInstance4Repair(@PathVariable("repairInstanceId") Long repairInstanceId) {
|
|
|
|
|
DmsBillsFaultInstanceVo billsFaultInstance = dmsBillsFaultInstanceService.queryById(repairInstanceId);
|
|
|
|
|
return R.ok(billsFaultInstance);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 故障报修扫描设备验证
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/scanDevice4Repair")
|
|
|
|
|
public R<Long> scanDevice4Repair(@Validated DmsBillsFaultInstanceScanBo dmsBillsFaultInstanceScan) {
|
|
|
|
|
//FIXME:返回从void改为long
|
|
|
|
|
return R.ok(dmsBillsFaultInstanceService.scanDevice4Repair(dmsBillsFaultInstanceScan));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 开始维修
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
@Log(title = "故障报修工单", businessType = BusinessType.START)
|
|
|
|
|
@PostMapping("/startRepair")
|
|
|
|
|
public R startRepair(@RequestBody DmsFaultInstanceActivityBo dmsFaultInstanceActivity) {
|
|
|
|
|
return R.ok(dmsBillsFaultInstanceService.startRepair(dmsFaultInstanceActivity));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 完成维修
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
@Log(title = "故障报修工单", businessType = BusinessType.COMPLETE)
|
|
|
|
|
@PostMapping("/completeRepair")
|
|
|
|
|
public R completeRepair(DmsFaultInstanceActivityBo dmsFaultInstanceActivity,
|
|
|
|
|
@RequestParam(value = "files") List<MultipartFile> files) throws JsonProcessingException {
|
|
|
|
|
dmsFaultInstanceActivity.setRepairConfirm("2");
|
|
|
|
|
dmsFaultInstanceActivity.setConfirmTime(new Date());
|
|
|
|
|
String parts1 = dmsFaultInstanceActivity.getParts1();
|
|
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
|
List<DmsFaultComponentsParts> parts2 = objectMapper.readValue(parts1, new TypeReference<List<DmsFaultComponentsParts>>() {});
|
|
|
|
|
dmsFaultInstanceActivity.setParts(parts2);
|
|
|
|
|
|
|
|
|
|
List<String> fileUrls = handleFileUploads(files);
|
|
|
|
|
dmsFaultInstanceActivity.setFileUrls(fileUrls);
|
|
|
|
|
//FIXME:关于工作流相关的本页代码以及调用方法都需测试完善修改
|
|
|
|
|
return R.ok(dmsBillsFaultInstanceService.completeRepair(dmsFaultInstanceActivity));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取最新一条待巡检或巡检中的巡检或点检工单(检查类型inspectType(1巡检,2点检))
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/getNewestInspectInstance")
|
|
|
|
|
public R getNewestInspectInstance(DmsBillsInspectInstanceBo dmsBillsInspectInstance) {
|
|
|
|
|
DmsBillsInspectInstanceVo newestInspectInstance = dmsBillsInspectInstanceService.getNewestBillsInspectInstance(dmsBillsInspectInstance);
|
|
|
|
|
return R.ok(newestInspectInstance);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 扫描设备编号或者输入设备编号进行巡检验证
|
|
|
|
|
* */
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/scanInspectInstanceDetail")
|
|
|
|
|
public R scanInspectInstanceDetail(@Validated DmsBillsInspectInstanceScanBo dmsBillsInspectInstanceScan) {
|
|
|
|
|
return R.ok(dmsBillsInspectInstanceService.scanInspectInstanceDetail(dmsBillsInspectInstanceScan));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 点巡检工单
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "点巡检工单明细", businessType = BusinessType.INSERT)
|
|
|
|
|
// @PostMapping("/saveInspectInstanceDetail")
|
|
|
|
|
// public R saveInspectInstanceDetail(@RequestBody DmsInspectInstanceDetail dmsInspectInstanceDetail) {
|
|
|
|
|
// public R saveInspectInstanceDetail(@RequestBody DmsInspectInstanceDetailBo dmsInspectInstanceDetail) {
|
|
|
|
|
// return R.ok(dmsBillsInspectInstanceService.updateDmsInspectInstanceDetail(dmsInspectInstanceDetail));
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 获取最新一条待保养或保养中的保养工单
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/getNewestMaintInstance")
|
|
|
|
|
// public R getNewestMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance) {
|
|
|
|
|
// DmsBillsMaintInstance newestMaintInstance = dmsBillsMaintInstanceService.getNewestBillsMaintInstance(dmsBillsMaintInstance);
|
|
|
|
|
// return R.ok(newestMaintInstance);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 开始保养
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "保养工单", businessType = BusinessType.START)
|
|
|
|
|
// @PostMapping("/startMaint")
|
|
|
|
|
// public R startMaint(@RequestBody DmsBillsMaintDetail dmsBillsMaintDetail) {
|
|
|
|
|
// return R.ok(dmsBillsMaintInstanceService.startMaint(dmsBillsMaintDetail));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 完成保养
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "保养工单", businessType = BusinessType.COMPLETE)
|
|
|
|
|
// @PostMapping("/completeMaint")
|
|
|
|
|
// public R completeMaint(@RequestBody DmsBillsMaintDetail dmsBillsMaintDetail) {
|
|
|
|
|
// return R.ok(dmsBillsMaintInstanceService.completeMaint(dmsBillsMaintDetail));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 获取最新一条待润滑或润滑中的润滑工单
|
|
|
|
|
// *
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// // @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
// @GetMapping("/getNewestLubeInstance")
|
|
|
|
|
// public R getNewestLubeInstance(DmsBillsLubeInstance dmsBillsLubeInstance) {
|
|
|
|
|
// DmsBillsLubeInstance newestLubeInstance = dmsBillsLubeInstanceService.getNewestBillsLubeInstance(dmsBillsLubeInstance);
|
|
|
|
|
// return R.ok(newestLubeInstance);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 开始润滑
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "润滑工单", businessType = BusinessType.START)
|
|
|
|
|
// @PostMapping("/startLube")
|
|
|
|
|
// public R startLube(@RequestBody DmsBillsLubeDetail dmsBillsLubeDetail) {
|
|
|
|
|
//
|
|
|
|
|
// return R.ok(dmsBillsLubeInstanceService.startLube(dmsBillsLubeDetail));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// /**
|
|
|
|
|
// * 完成润滑
|
|
|
|
|
// */
|
|
|
|
|
//// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
// @Log(title = "润滑工单", businessType = BusinessType.COMPLETE)
|
|
|
|
|
// @PostMapping("/completeLube")
|
|
|
|
|
// public R completeLube(@RequestBody DmsBillsLubeDetail dmsBillsLubeDetail) {
|
|
|
|
|
// return R.ok(dmsBillsLubeInstanceService.completeLube(dmsBillsLubeDetail));
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取最新一条待保养或保养中的保养工单
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/getNewestMaintInstance")
|
|
|
|
|
public R getNewestMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance) {
|
|
|
|
|
DmsBillsMaintInstance newestMaintInstance = dmsBillsMaintInstanceService.getNewestBillsMaintInstance(dmsBillsMaintInstance);
|
|
|
|
|
return R.ok(newestMaintInstance);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 开始保养
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
@Log(title = "保养工单", businessType = BusinessType.START)
|
|
|
|
|
@PostMapping("/startMaint")
|
|
|
|
|
public R startMaint(@RequestBody DmsBillsMaintDetail dmsBillsMaintDetail) {
|
|
|
|
|
return R.ok(dmsBillsMaintInstanceService.startMaint(dmsBillsMaintDetail));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 完成保养
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
@Log(title = "保养工单", businessType = BusinessType.COMPLETE)
|
|
|
|
|
@PostMapping("/completeMaint")
|
|
|
|
|
public R completeMaint(@RequestBody DmsBillsMaintDetail dmsBillsMaintDetail) {
|
|
|
|
|
return R.ok(dmsBillsMaintInstanceService.completeMaint(dmsBillsMaintDetail));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取最新一条待润滑或润滑中的润滑工单
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkrule:list")
|
|
|
|
|
@GetMapping("/getNewestLubeInstance")
|
|
|
|
|
public R getNewestLubeInstance(DmsBillsLubeInstanceBo dmsBillsLubeInstance) {
|
|
|
|
|
DmsBillsLubeInstanceVo newestLubeInstance = dmsBillsLubeInstanceService.getNewestBillsLubeInstance(dmsBillsLubeInstance);
|
|
|
|
|
return R.ok(newestLubeInstance);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 开始润滑
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
@Log(title = "润滑工单", businessType = BusinessType.START)
|
|
|
|
|
@PostMapping("/startLube")
|
|
|
|
|
public R startLube(@RequestBody DmsBillsLubeDetailBo dmsBillsLubeDetail) {
|
|
|
|
|
|
|
|
|
|
return R.ok(dmsBillsLubeInstanceService.startLube(dmsBillsLubeDetail));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 完成润滑
|
|
|
|
|
*/
|
|
|
|
|
// @RequiresPermissions("qms:checkresultdetail:add")
|
|
|
|
|
@Log(title = "润滑工单", businessType = BusinessType.COMPLETE)
|
|
|
|
|
@PostMapping("/completeLube")
|
|
|
|
|
public R completeLube(@RequestBody DmsBillsLubeDetailBo dmsBillsLubeDetail) {
|
|
|
|
|
return R.ok(dmsBillsLubeInstanceService.completeLube(dmsBillsLubeDetail));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|