Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test

This commit is contained in:
2025-12-31 16:34:13 +08:00
21 changed files with 579 additions and 51 deletions

View File

@@ -110,7 +110,9 @@ public class ReportDocumentFileController extends AbstractFileUploadController i
version = mainDO.getDocumentVersion(); version = mainDO.getDocumentVersion();
} }
ReportDocumentFileDO entity = reportDocumentFileService.getByMainIdAndVersion(mainId, version); ReportDocumentFileDO entity = reportDocumentFileService.getByMainIdAndVersion(mainId, version);
if(entity == null){
return CommonResult.success(null);
}
Long fileId = entity.getFileId(); Long fileId = entity.getFileId();
CommonResult<FileRespDTO> fileRet = fileApi.getFile(fileId); CommonResult<FileRespDTO> fileRet = fileApi.getFile(fileId);
FileRespDTO file = fileRet.getData(); FileRespDTO file = fileRet.getData();

View File

@@ -411,7 +411,10 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
String colKey = parseNumToString(colIndex, 2); String colKey = parseNumToString(colIndex, 2);
t.put(colPrefix + colKey, fieldName); t.put(colPrefix + colKey, fieldName);
//查询当前字段的检出限 //查询当前字段的检出限
JSONObject fieldObj = firstData.getJSONObject(field); JSONObject fieldObj = null;
if(firstData != null && !ObjectUtils.isEmpty(field)){
fieldObj = firstData.getJSONObject(field);
}
String rangeVal = ""; String rangeVal = "";
if (fieldObj != null) { if (fieldObj != null) {
rangeVal = fieldObj.getString(rangeKey); rangeVal = fieldObj.getString(rangeKey);
@@ -516,7 +519,9 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
if (FIELD_FIXED.equals(fieldType)) //这里只处理动态列。固定列在 addDataToRowList 处理 if (FIELD_FIXED.equals(fieldType)) //这里只处理动态列。固定列在 addDataToRowList 处理
continue; continue;
String field = fieldDO.getField(); String field = fieldDO.getField();
JSONObject fieldObj = s.getJSONObject(field); JSONObject fieldObj = new JSONObject();
if(s != null)
fieldObj = s.getJSONObject(field);
String fieldValue = ""; String fieldValue = "";
if (fieldObj != null) if (fieldObj != null)
fieldValue = fieldObj.getString("fieldValue"); fieldValue = fieldObj.getString("fieldValue");

View File

@@ -59,6 +59,12 @@ public class DeviceMaintainController extends AbstractFileUploadController imple
@Resource private DeviceMaintainService deviceMaintainService; @Resource private DeviceMaintainService deviceMaintainService;
@Resource private DeviceInfomationService deviceInfomationService; @Resource private DeviceInfomationService deviceInfomationService;
@PostMapping("/saveMaintainVo")
@Operation(summary = "创建或获取维护数据")
public CommonResult<Boolean> saveMaintainVo(@RequestBody DeviceMaintainVO vo) {
return deviceMaintainService.saveMaintainVo(vo);
}
@PostMapping("/createOrGet") @PostMapping("/createOrGet")
@Operation(summary = "创建或获取维护数据") @Operation(summary = "创建或获取维护数据")
public CommonResult<DeviceMaintainVO> createOrGet(@RequestBody JSONObject jsonObject) { public CommonResult<DeviceMaintainVO> createOrGet(@RequestBody JSONObject jsonObject) {
@@ -88,7 +94,7 @@ public class DeviceMaintainController extends AbstractFileUploadController imple
} }
@GetMapping("/queryPageListWithCount") @GetMapping("/queryPageListWithCount")
@Operation(summary = "维护-分页列表查询") @Operation(summary = "维护-分页列表查询(以设备为主数据)")
public CommonResult<PageResult<DeviceMaintainVO>> queryPageListWithCount(@Valid DeviceMaintainPageReqVO pageReqVO) { public CommonResult<PageResult<DeviceMaintainVO>> queryPageListWithCount(@Valid DeviceMaintainPageReqVO pageReqVO) {
PageResult<DeviceMaintainVO> pageResult = deviceMaintainService.queryPageListWithCount(pageReqVO); PageResult<DeviceMaintainVO> pageResult = deviceMaintainService.queryPageListWithCount(pageReqVO);
return success(pageResult); return success(pageResult);

View File

@@ -1,8 +1,12 @@
package com.zt.plat.module.qms.resource.device.controller.admin; package com.zt.plat.module.qms.resource.device.controller.admin;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceUseRecordPageReqVO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceUseRecordRespVO; import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceUseRecordSaveReqVO; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.resource.device.controller.vo.*;
import com.zt.plat.module.qms.resource.device.dal.mapper.DeviceUseRecordMapper;
import com.zt.plat.module.qms.resource.device.service.DeviceInfomationService;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -31,6 +35,7 @@ import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.DEVICE_USE_RECORD_NOT_EXISTS;
import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceUseRecordDO; import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceUseRecordDO;
import com.zt.plat.module.qms.resource.device.service.DeviceUseRecordService; import com.zt.plat.module.qms.resource.device.service.DeviceUseRecordService;
@@ -49,14 +54,43 @@ public class DeviceUseRecordController extends AbstractFileUploadController impl
} }
} }
@Resource @Resource private DeviceUseRecordService deviceUseRecordService;
private DeviceUseRecordService deviceUseRecordService; @Resource private DeviceInfomationService deviceInfomationService;
@Resource private DeviceUseRecordMapper deviceUseRecordMapper;
@GetMapping("/queryPageListWithCount")
@Operation(summary = "使用记录分页列表查询(以设备为主数据)")
public CommonResult<PageResult<DeviceUseRecordVO>> queryPageListWithCount(@Valid DeviceUseRecordPageReqVO pageReqVO) {
PageResult<DeviceUseRecordVO> pageResult = deviceUseRecordService.queryPageListWithCount(pageReqVO);
return success(pageResult);
}
@GetMapping("/queryLastUsingData")
@Operation(summary = "查询设备最近一次使用中的记录")
@Parameter(name = "deviceId", description = "设备ID", required = true, example = "1024")
public CommonResult<DeviceUseRecordRespVO> queryLastUsingData(@RequestParam("deviceId") Long deviceId) {
if(deviceId == null)
return CommonResult.error(DEVICE_USE_RECORD_NOT_EXISTS.getCode(), "设备ID不能为空");
LambdaQueryWrapper<DeviceUseRecordDO> query = new LambdaQueryWrapper<>();
query.eq(DeviceUseRecordDO::getDeviceId, deviceId);
query.isNull(DeviceUseRecordDO::getUseTimeEnd);
query.orderByDesc(DeviceUseRecordDO::getUseTimeStart);
query.last("LIMIT 1");
DeviceUseRecordDO recordDO = deviceUseRecordMapper.selectOne( query);
return success(BeanUtils.toBean(recordDO, DeviceUseRecordRespVO.class));
}
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建设备-使用记录") @Operation(summary = "创建设备-使用记录")
@PreAuthorize("@ss.hasPermission('qms:device-use-record:create')") public CommonResult<DeviceUseRecordRespVO> createDeviceUseRecord(@Valid @RequestBody DeviceUseRecordSaveReqVO reqVO) {
public CommonResult<DeviceUseRecordRespVO> createDeviceUseRecord(@Valid @RequestBody DeviceUseRecordSaveReqVO createReqVO) { Long deviceId = reqVO.getDeviceId();
return success(deviceUseRecordService.createDeviceUseRecord(createReqVO)); if(deviceId == null)
return CommonResult.error(DEVICE_USE_RECORD_NOT_EXISTS.getCode(), "设备ID不能为空");
//检查设备状态
CommonResult<Boolean> checkResult = deviceInfomationService.checkDeviceUsable(deviceId);
if(!checkResult.isSuccess())
return CommonResult.error(checkResult);
return deviceUseRecordService.createDeviceUseRecord(reqVO);
} }
@PutMapping("/update") @PutMapping("/update")
@@ -96,7 +130,6 @@ public class DeviceUseRecordController extends AbstractFileUploadController impl
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得设备-使用记录分页") @Operation(summary = "获得设备-使用记录分页")
@PreAuthorize("@ss.hasPermission('qms:device-use-record:query')")
public CommonResult<PageResult<DeviceUseRecordRespVO>> getDeviceUseRecordPage(@Valid DeviceUseRecordPageReqVO pageReqVO) { public CommonResult<PageResult<DeviceUseRecordRespVO>> getDeviceUseRecordPage(@Valid DeviceUseRecordPageReqVO pageReqVO) {
PageResult<DeviceUseRecordDO> pageResult = deviceUseRecordService.getDeviceUseRecordPage(pageReqVO); PageResult<DeviceUseRecordDO> pageResult = deviceUseRecordService.getDeviceUseRecordPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DeviceUseRecordRespVO.class)); return success(BeanUtils.toBean(pageResult, DeviceUseRecordRespVO.class));

View File

@@ -23,10 +23,10 @@ public class DeviceUseRecordPageReqVO extends PageParam {
private Long userId; private Long userId;
@Schema(description = "开始使用时间") @Schema(description = "开始使用时间")
private LocalDateTime useTimeStart; private LocalDateTime[] useTimeStart;
@Schema(description = "结束使用时间") @Schema(description = "结束使用时间")
private LocalDateTime useTimeEnd; private LocalDateTime[] useTimeEnd;
@Schema(description = "使用记录") @Schema(description = "使用记录")
private String useRemark; private String useRemark;
@@ -59,4 +59,24 @@ public class DeviceUseRecordPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime; private LocalDateTime[] createTime;
//=====================================扩展字段===============================================
@Schema(description = "产品id")
private Long productId;
@Schema(description = "设备名称")
private String deviceName;
@Schema(description = "管理编号")
private String deviceCode;
@Schema(description = "使用部门")
private String deptName;
@Schema(description = "产品id查询")
private List<Long> productIdList;
@Schema(description = "设备ID列表")
private List<Long> deviceIdList;
} }

View File

@@ -0,0 +1,79 @@
package com.zt.plat.module.qms.resource.device.controller.vo;
import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceMaintainItemDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Schema(description = "管理后台 - 设备使用记录VO")
@Data
public class DeviceUseRecordVO extends DeviceUseRecordRespVO {
//============大类字段============
@Schema(description = "产品id")
private Long productId;
@Schema(description = "规格")
private String specification;
@Schema(description = "型号")
private String modelNo;
@Schema(description = "制造商")
private String manufacturer;
//============设备字段============
@Schema(description = "设备名称")
private String deviceName;
@Schema(description = "别名")
private String alias;
@Schema(description = "管理编号")
private String deviceCode;
@Schema(description = "资产编号")
private String assetCode;
@Schema(description = "出厂编号")
private String factoryCode;
@Schema(description = "所属部门名称")
private String deptName;
@Schema(description = "维修状态: 1-维修0-正常")
private Integer repairFlag;
@Schema(description = "降级状态")
private Integer demoteFlag;
@Schema(description = "报废状态")
private Integer scrapFlag;
@Schema(description = "停用状态")
private Integer disableFlag;
@Schema(description = "外借状态")
private Integer lendFlag;
@Schema(description = "使用中状态")
private Integer inUseFlag;
@Schema(description = "验收状态")
private String acceptFlag;
//============其他字段============
@Schema(description = "未提交数据量")
private Integer runningCount;
@Schema(description = "已提交数据量")
private Integer finishedCount;
@Schema(description = "截止时间不为空")
private String useTimeEndFlag;
}

View File

@@ -0,0 +1,48 @@
package com.zt.plat.module.qms.resource.device.dal.dataobject;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
public class DeviceInfoWithBizConfigVO extends DeviceInfomationDO{
@Schema(description = "规则id")
private String ruleId;
@Schema(description = "业务领域:点检|检定校准|期间核查|等")
@Dict(dicCode = "device_business_domain")
private String businessDomain;
@Schema(description = "是否需要")
private Integer needFlag;
@Schema(description = "子业务类型")
private String subDomainType;
@Schema(description = "频次类型")
private String frequencyType;
@Schema(description = "频次")
private String frequency;
@Schema(description = "频次说明")
private String frequencyRemark;
@Schema(description = "报表模板")
private String reportTemplateKey;
@Schema(description = "表单组件")
private String formComponent;
@Schema(description = "处理方法")
private String processMethod;
@Schema(description = "处理人")
private String processUser;
@Schema(description = "标准/规范")
private String standard;
@Schema(description = "检定/校准类型")
private String calibrationCheckType;
}

View File

@@ -94,12 +94,12 @@ public class DeviceMaintainItemDO extends BusinessBaseDO {
/** /**
* 所属周期开始日期 * 所属周期开始日期
*/ */
@TableField("FREQ_ITM_STRT") @TableField("FREQ_TM_STRT")
private LocalDateTime frequencyTimeStart; private LocalDateTime frequencyTimeStart;
/** /**
* 所属周期截止日期 * 所属周期截止日期
*/ */
@TableField("FREQ_ITM_END") @TableField("FREQ_TM_STRT")
private LocalDateTime frequencyTimeEnd; private LocalDateTime frequencyTimeEnd;
/** /**
* 检查标准 * 检查标准

View File

@@ -41,6 +41,6 @@ public interface DeviceMaintainMapper extends BaseMapperX<DeviceMaintainDO> {
} }
IPage<DeviceMaintainVO> queryPageListWithCount(Page<DeviceMaintainVO> page, @Param("param") DeviceMaintainPageReqVO param); IPage<DeviceMaintainVO> queryPageListWithCount(Page<DeviceMaintainVO> page, @Param("param") DeviceMaintainPageReqVO param);
DeviceMaintainVO queryMaintainVoById(@Param("id") Long id); DeviceMaintainVO queryVoById(@Param("id") Long id);
} }

View File

@@ -1,11 +1,15 @@
package com.zt.plat.module.qms.resource.device.dal.mapper; package com.zt.plat.module.qms.resource.device.dal.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceUseRecordVO;
import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceUseRecordDO; import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceUseRecordDO;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceUseRecordPageReqVO; import com.zt.plat.module.qms.resource.device.controller.vo.DeviceUseRecordPageReqVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 设备-使用记录 Mapper * 设备-使用记录 Mapper
@@ -20,8 +24,8 @@ public interface DeviceUseRecordMapper extends BaseMapperX<DeviceUseRecordDO> {
.eqIfPresent(DeviceUseRecordDO::getDeviceId, reqVO.getDeviceId()) .eqIfPresent(DeviceUseRecordDO::getDeviceId, reqVO.getDeviceId())
.likeIfPresent(DeviceUseRecordDO::getUserName, reqVO.getUserName()) .likeIfPresent(DeviceUseRecordDO::getUserName, reqVO.getUserName())
.eqIfPresent(DeviceUseRecordDO::getUserId, reqVO.getUserId()) .eqIfPresent(DeviceUseRecordDO::getUserId, reqVO.getUserId())
.eqIfPresent(DeviceUseRecordDO::getUseTimeStart, reqVO.getUseTimeStart()) .betweenIfPresent(DeviceUseRecordDO::getUseTimeStart, reqVO.getUseTimeStart())
.eqIfPresent(DeviceUseRecordDO::getUseTimeEnd, reqVO.getUseTimeEnd()) .betweenIfPresent(DeviceUseRecordDO::getUseTimeEnd, reqVO.getUseTimeEnd())
.eqIfPresent(DeviceUseRecordDO::getUseRemark, reqVO.getUseRemark()) .eqIfPresent(DeviceUseRecordDO::getUseRemark, reqVO.getUseRemark())
.eqIfPresent(DeviceUseRecordDO::getStateBefore, reqVO.getStateBefore()) .eqIfPresent(DeviceUseRecordDO::getStateBefore, reqVO.getStateBefore())
.eqIfPresent(DeviceUseRecordDO::getStateRun, reqVO.getStateRun()) .eqIfPresent(DeviceUseRecordDO::getStateRun, reqVO.getStateRun())
@@ -35,4 +39,8 @@ public interface DeviceUseRecordMapper extends BaseMapperX<DeviceUseRecordDO> {
.orderByDesc(DeviceUseRecordDO::getId)); .orderByDesc(DeviceUseRecordDO::getId));
} }
IPage<DeviceUseRecordVO> queryPageListWithCount(Page<DeviceUseRecordVO> page, @Param("param") DeviceUseRecordPageReqVO param);
DeviceUseRecordVO queryVoById(@Param("id") Long id);
} }

Some files were not shown because too many files have changed in this diff Show More