feat:报告-iwork用印回调;设备-检定校准接口

This commit is contained in:
FCL
2026-03-19 15:38:51 +08:00
parent 868b9d5eec
commit faab71424c
27 changed files with 772 additions and 82 deletions

View File

@@ -2,7 +2,7 @@ package com.zt.plat.module.qms.business.reportdoc.constant;
public class ReportDocConstant { public class ReportDocConstant {
public static final String REPORT_DOCUMENT_BUSINESS_FILE_SOURCE_QMS = "qms.reportdoc"; public static final String REPORT_DOCUMENT_BUSINESS_FILE_SOURCE_QMS = "qms.reportdoc"; //报告模块产生的文件
public static final String REPORT_DOCUMENT_BUSINESS_FILE_SOURCE_IWORK = "iwork"; public static final String REPORT_DOCUMENT_BUSINESS_FILE_SOURCE_IWORK = "iwork"; //iwork产生的文件
} }

View File

@@ -0,0 +1,88 @@
package com.zt.plat.module.qms.business.reportdoc.controller.admin;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.client.impl.factory.MQClientInstance;
import org.apache.rocketmq.client.impl.MQClientAPIImpl;
import org.apache.rocketmq.remoting.protocol.route.BrokerData;
import org.apache.rocketmq.remoting.protocol.route.TopicRouteData;
public class RocketMqDebugDemo {
public static void main(String[] args) throws Exception {
// 1. 【标准定义】创建 Producer 实例
// 这里的 "MyProducerGroup" 是你的生产者组名,随意定义,但要唯一
DefaultMQProducer producer = new DefaultMQProducer("MyProducerGroup");
// 2. 【关键配置】设置 NameServer 地址
// 注意:这里填你映射到宿主机的地址,如 127.0.0.1:9876 或 服务器IP:9876
producer.setNamesrvAddr("127.0.0.1:9876");
// 3. 【可选优化】关闭 VIP 通道 (解决部分网络环境问题)
producer.setVipChannelEnabled(false);
// 4. 启动 Producer
producer.start();
System.out.println("Producer 启动成功...");
// ==========================================
// 5. 【插入调试代码】在发送消息前,获取路由信息
// ==========================================
String targetTopic = "SYSTEM_IWORK_BIZ_CALLBACK";
try {
// 获取内部实现对象
MQClientInstance factory = producer.getDefaultMQProducerImpl().getmQClientFactory();
MQClientAPIImpl apiImpl = factory.getMQClientAPIImpl();
// 请求路由信息 (超时设为 3000ms)
TopicRouteData routeData = apiImpl.getTopicRouteInfoFromNameServer(targetTopic, 3000);
if (routeData != null && routeData.getBrokerDatas() != null) {
System.out.println("\n====== 路由调试信息 ======");
for (BrokerData bd : routeData.getBrokerDatas()) {
System.out.println("Broker 名称: " + bd.getBrokerName());
System.out.println("Cluster 名称: " + bd.getCluster());
// 【核心】打印 Broker 地址列表Key 是 BrokerID (0 代表 Master)
System.out.println("Broker 地址列表: " + bd.getBrokerAddrs());
// 检查地址是否包含内网 IP (如 172.17.x.x)
bd.getBrokerAddrs().values().forEach(addr -> {
if (addr.startsWith("172.") || addr.startsWith("10.") && !addr.startsWith("10.0.0.")) {
System.out.println("⚠️ 警告:发现疑似容器内网 IP: " + addr);
System.out.println("⚠️ 这会导致外部 Producer 连接超时!请检查 brokerIP1 配置。");
} else {
System.out.println("✅ 地址看起来是可达的: " + addr);
}
});
}
System.out.println("========================\n");
} else {
System.out.println("❌ 错误:未获取到 Topic [" + targetTopic + "] 的路由信息。");
System.out.println("可能原因Topic 不存在且自动创建被禁用,或 NameServer 连接正常但无数据。");
}
} catch (Exception e) {
System.out.println("❌ 获取路由信息失败: " + e.getMessage());
e.printStackTrace();
}
// ==========================================
// 6. 【正式发送】如果上面调试没报错,尝试发送
// ==========================================
try {
Message msg = new Message(targetTopic, "TagA", "Hello RocketMQ from Debug Code".getBytes());
// 发送超时时间设为 3000ms
SendResult sendResult = producer.send(msg, 3000);
System.out.println("✅ 发送成功! MessageId: " + sendResult.getMsgId());
} catch (Exception e) {
System.out.println("❌ 发送失败! 错误信息: " + e.getMessage());
e.printStackTrace();
} finally {
// 7. 关闭 Producer
producer.shutdown();
}
}
}

View File

@@ -220,6 +220,7 @@ public class ReportDocumentAssistService {
fileSaveReqVO.setPath(fileRespDTO.getDirectory()); fileSaveReqVO.setPath(fileRespDTO.getDirectory());
fileSaveReqVO.setUrl(fileRespDTO.getUrl()); fileSaveReqVO.setUrl(fileRespDTO.getUrl());
fileSaveReqVO.setVersion(mainDO.getDocumentVersion()); fileSaveReqVO.setVersion(mainDO.getDocumentVersion());
fileSaveReqVO.setType(ReportDocConstant.REPORT_DOCUMENT_BUSINESS_FILE_SOURCE_QMS);
reportDocumentFileService.createReportDocumentFile(fileSaveReqVO); reportDocumentFileService.createReportDocumentFile(fileSaveReqVO);
return BeanUtils.toBean(fileRespDTO, ReportDocumentFileDO.class); return BeanUtils.toBean(fileRespDTO, ReportDocumentFileDO.class);
} }

View File

@@ -26,6 +26,7 @@ public interface ReportDocumentFileService {
* @return 编号 * @return 编号
*/ */
ReportDocumentFileRespVO createReportDocumentFile(@Valid ReportDocumentFileSaveReqVO createReqVO); ReportDocumentFileRespVO createReportDocumentFile(@Valid ReportDocumentFileSaveReqVO createReqVO);
ReportDocumentFileDO createReportDocumentFile(ReportDocumentFileDO fileDO);
/** /**
* 更新检测报告附件 * 更新检测报告附件

View File

@@ -53,6 +53,12 @@ public class ReportDocumentFileServiceImpl implements ReportDocumentFileService
return BeanUtils.toBean(reportDocumentFile, ReportDocumentFileRespVO.class); return BeanUtils.toBean(reportDocumentFile, ReportDocumentFileRespVO.class);
} }
@Override
public ReportDocumentFileDO createReportDocumentFile(ReportDocumentFileDO fileDO) {
reportDocumentFileMapper.insert(fileDO);
return fileDO;
}
@Override @Override
public void updateReportDocumentFile(ReportDocumentFileSaveReqVO updateReqVO) { public void updateReportDocumentFile(ReportDocumentFileSaveReqVO updateReqVO) {
// 校验存在 // 校验存在

View File

@@ -30,11 +30,8 @@ import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigUserSignature
import com.zt.plat.module.qms.business.config.service.ConfigUserSignatureService; import com.zt.plat.module.qms.business.config.service.ConfigUserSignatureService;
import com.zt.plat.module.qms.business.reportdoc.constant.ReportDocConstant; import com.zt.plat.module.qms.business.reportdoc.constant.ReportDocConstant;
import com.zt.plat.module.qms.business.reportdoc.controller.vo.*; import com.zt.plat.module.qms.business.reportdoc.controller.vo.*;
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentDataDO; import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.*;
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentMainCorrelationDO;
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentTypeDO;
import com.zt.plat.module.qms.business.reportdoc.dal.mapper.ReportDocumentMainMapper; import com.zt.plat.module.qms.business.reportdoc.dal.mapper.ReportDocumentMainMapper;
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentMainDO;
import com.zt.plat.module.qms.common.data.service.DataKeyCheckService; import com.zt.plat.module.qms.common.data.service.DataKeyCheckService;
import com.zt.plat.module.qms.core.code.SequenceUtil; import com.zt.plat.module.qms.core.code.SequenceUtil;
import com.zt.plat.module.qms.enums.QmsBpmConstant; import com.zt.plat.module.qms.enums.QmsBpmConstant;
@@ -80,6 +77,7 @@ public class ReportDocumentMainServiceImpl implements ReportDocumentMainService,
@Resource private ConfigUserSignatureService configUserSignatureService; @Resource private ConfigUserSignatureService configUserSignatureService;
@Resource private BusinessSampleEntrustRegistrationService businessSampleEntrustRegistrationService; @Resource private BusinessSampleEntrustRegistrationService businessSampleEntrustRegistrationService;
@Resource private ReportDocumentAssistService reportDocumentAssistService; @Resource private ReportDocumentAssistService reportDocumentAssistService;
@Resource private ReportDocumentFileService reportDocumentFileService;
@Resource private DataKeyCheckService dataKeyCheckService; @Resource private DataKeyCheckService dataKeyCheckService;
@Resource private SequenceUtil sequenceUtil; @Resource private SequenceUtil sequenceUtil;
@@ -434,7 +432,6 @@ public class ReportDocumentMainServiceImpl implements ReportDocumentMainService,
throw exception0(ERROR_CODE_MODULE_COMMON, result.getMsg()); throw exception0(ERROR_CODE_MODULE_COMMON, result.getMsg());
} }
entity.setFlowStatus(QmsCommonConstant.IN_PROGRESS); entity.setFlowStatus(QmsCommonConstant.IN_PROGRESS);
//todo 生成报告编号 documentCode
reportDocumentMainMapper.updateById(entity); reportDocumentMainMapper.updateById(entity);
ReportDocumentMainRespVO respVO = BeanUtils.toBean(entity, ReportDocumentMainRespVO.class); ReportDocumentMainRespVO respVO = BeanUtils.toBean(entity, ReportDocumentMainRespVO.class);
return CommonResult.success(respVO); return CommonResult.success(respVO);
@@ -469,7 +466,6 @@ public class ReportDocumentMainServiceImpl implements ReportDocumentMainService,
return CommonResult.success(respVO); return CommonResult.success(respVO);
} }
//流程回调 //流程回调
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@@ -594,7 +590,8 @@ public class ReportDocumentMainServiceImpl implements ReportDocumentMainService,
public CommonResult<String> execCallBackByIwork(IWorkBizCallbackMessage message){ public CommonResult<String> execCallBackByIwork(IWorkBizCallbackMessage message){
JSONObject payload = new JSONObject(); JSONObject payload = new JSONObject();
try{ try{
payload = JSONObject.parseObject((String) message.getPayload()); Map<String, Object> payloadMap = (Map<String, Object>) message.getPayload();
payload = new JSONObject(payloadMap);
}catch (Exception e){ }catch (Exception e){
log.error("iwork用印回调解析回调数据失败", e.getMessage()); log.error("iwork用印回调解析回调数据失败", e.getMessage());
e.getMessage(); e.getMessage();
@@ -605,7 +602,7 @@ public class ReportDocumentMainServiceImpl implements ReportDocumentMainService,
String fileName = payload.getString("fileName"); String fileName = payload.getString("fileName");
String requestId = payload.getString("requestId"); String requestId = payload.getString("requestId");
//获取主数据 //获取主数据
ReportDocumentMainDO entity = getByCode(businessCode); ReportDocumentMainDO mainDO = getByCode(businessCode);
//查询附件对象 //查询附件对象
BusinessFilePageReqDTO pageReqDTO = new BusinessFilePageReqDTO(); BusinessFilePageReqDTO pageReqDTO = new BusinessFilePageReqDTO();
@@ -625,20 +622,30 @@ public class ReportDocumentMainServiceImpl implements ReportDocumentMainService,
BusinessFileRespDTO bisFile = bisFileList.get(0); BusinessFileRespDTO bisFile = bisFileList.get(0);
Long fileId = bisFile.getFileId(); Long fileId = bisFile.getFileId();
CommonResult<FileRespDTO> fileRet = fileApi.getFile(fileId); CommonResult<FileRespDTO> fileRet = fileApi.getFile(fileId);
FileRespDTO file = fileRet.getData(); FileRespDTO fileRespDTO = fileRet.getData();
//写入ReportDocumentFile //写入ReportDocumentFile
ReportDocumentFileSaveReqVO fileSaveReqVO = new ReportDocumentFileSaveReqVO(); ReportDocumentFileDO documentFileDO = new ReportDocumentFileDO();
// fileSaveReqVO.setMainId(mainDO.getId()); documentFileDO.setMainId(mainDO.getId());
// fileSaveReqVO.setFileId(fileRespDTO.getId()); documentFileDO.setFileId(fileRespDTO.getId());
// fileSaveReqVO.setName(filename); documentFileDO.setName(fileName);
// fileSaveReqVO.setPath(fileRespDTO.getDirectory()); documentFileDO.setPath(fileRespDTO.getDirectory());
// fileSaveReqVO.setUrl(fileRespDTO.getUrl()); documentFileDO.setUrl(fileRespDTO.getUrl());
// fileSaveReqVO.setVersion(mainDO.getDocumentVersion()); documentFileDO.setVersion(mainDO.getDocumentVersion());
// reportDocumentFileService.createReportDocumentFile(fileSaveReqVO); documentFileDO.setType(ReportDocConstant.REPORT_DOCUMENT_BUSINESS_FILE_SOURCE_IWORK);
reportDocumentFileService.createReportDocumentFile(documentFileDO);
//触发流程提交 //触发流程提交
String flowInsId = mainDO.getFlowInstanceId();
return null; CommonResult<List<BpmTaskRespDTO>> taskRet = bpmTaskApi.getTaskListByProcessInstanceId(flowInsId);
List<BpmTaskRespDTO> taskList = taskRet.getData();
if(taskList.isEmpty())
throw exception0(ERROR_CODE_MODULE_COMMON, "流程任务查询失败,请联系管理员处理");
String taskId = taskList.get(taskList.size() - 1).getId();
//驳回后重新提交
BpmTaskApproveReqDTO reqVO = new BpmTaskApproveReqDTO();
reqVO.setId(taskId);
CommonResult<Boolean> result = bpmProcessInstanceApi.approveTask(reqVO);
return CommonResult.success("");
} }
} }

View File

@@ -22,10 +22,10 @@ public class DeviceUtil {
* @param frequency 频率 * @param frequency 频率
* @return * @return
*/ */
public static LocalDateTime[] getDateRangeByFrequency(LocalDate date, boolean nextFlag, String frequencyType, String frequency) { public static LocalDateTime[] getDateRangeByFrequency(LocalDateTime date, boolean nextFlag, String frequencyType, String frequency) {
LocalDate referenceDate = (date != null) ? date : LocalDate.now(); LocalDateTime referenceDate = (date != null) ? date : LocalDateTime.now();
LocalDate startDate = null; LocalDateTime startDate = null;
LocalDate endDate = null; LocalDateTime endDate = null;
int frequencyInt = Integer.parseInt(frequency); int frequencyInt = Integer.parseInt(frequency);
if(!nextFlag) if(!nextFlag)
frequencyInt --; frequencyInt --;
@@ -56,8 +56,8 @@ public class DeviceUtil {
} }
return new LocalDateTime[]{ return new LocalDateTime[]{
LocalDateTime.of(startDate, LocalTime.of(0, 0, 0)), LocalDateTime.of(startDate.toLocalDate(), LocalTime.of(0, 0, 0)),
LocalDateTime.of(endDate, LocalTime.of(23, 59, 59)) LocalDateTime.of(endDate.toLocalDate(), LocalTime.of(23, 59, 59))
}; };
} }
@@ -128,7 +128,7 @@ public class DeviceUtil {
} }
public static void main(String[] args) { public static void main(String[] args) {
LocalDate lastDate = LocalDate.of(2025, 3 , 25); LocalDateTime lastDate = LocalDateTime.of(2025, 3 , 25, 0, 0);
String frequencyType = "month"; String frequencyType = "month";
String frequency = "3"; String frequency = "3";

View File

@@ -1,8 +1,14 @@
package com.zt.plat.module.qms.resource.device.controller.admin; package com.zt.plat.module.qms.resource.device.controller.admin;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationPageReqVO; import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationPageReqVO;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationRespVO; import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationRespVO;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationSaveReqVO; import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationSaveReqVO;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationVO;
import com.zt.plat.module.qms.resource.device.service.DeviceCalibrationPlanService;
import com.zt.plat.module.qms.resource.device.service.DeviceProductService;
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;
@@ -52,19 +58,18 @@ public class DeviceCalibrationController extends AbstractFileUploadController im
} }
} }
@Resource @Resource private DeviceCalibrationService deviceCalibrationService;
private DeviceCalibrationService deviceCalibrationService; @Resource private DeviceCalibrationPlanService deviceCalibrationPlanService;
@Resource private DeviceProductService deviceProductService;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建设备-检定校准") @Operation(summary = "创建设备-检定校准")
@PreAuthorize("@ss.hasPermission('qms:device-calibration:create')")
public CommonResult<DeviceCalibrationRespVO> createDeviceCalibration(@Valid @RequestBody DeviceCalibrationSaveReqVO createReqVO) { public CommonResult<DeviceCalibrationRespVO> createDeviceCalibration(@Valid @RequestBody DeviceCalibrationSaveReqVO createReqVO) {
return success(deviceCalibrationService.createDeviceCalibration(createReqVO)); return success(deviceCalibrationService.createDeviceCalibration(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新设备-检定校准") @Operation(summary = "更新设备-检定校准")
@PreAuthorize("@ss.hasPermission('qms:device-calibration:update')")
public CommonResult<Boolean> updateDeviceCalibration(@Valid @RequestBody DeviceCalibrationSaveReqVO updateReqVO) { public CommonResult<Boolean> updateDeviceCalibration(@Valid @RequestBody DeviceCalibrationSaveReqVO updateReqVO) {
deviceCalibrationService.updateDeviceCalibration(updateReqVO); deviceCalibrationService.updateDeviceCalibration(updateReqVO);
return success(true); return success(true);
@@ -73,7 +78,6 @@ public class DeviceCalibrationController extends AbstractFileUploadController im
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除设备-检定校准") @Operation(summary = "删除设备-检定校准")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:device-calibration:delete')")
public CommonResult<Boolean> deleteDeviceCalibration(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteDeviceCalibration(@RequestParam("id") Long id) {
deviceCalibrationService.deleteDeviceCalibration(id); deviceCalibrationService.deleteDeviceCalibration(id);
return success(true); return success(true);
@@ -91,7 +95,6 @@ public class DeviceCalibrationController extends AbstractFileUploadController im
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得设备-检定校准") @Operation(summary = "获得设备-检定校准")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:device-calibration:query')")
public CommonResult<DeviceCalibrationRespVO> getDeviceCalibration(@RequestParam("id") Long id) { public CommonResult<DeviceCalibrationRespVO> getDeviceCalibration(@RequestParam("id") Long id) {
DeviceCalibrationDO deviceCalibration = deviceCalibrationService.getDeviceCalibration(id); DeviceCalibrationDO deviceCalibration = deviceCalibrationService.getDeviceCalibration(id);
return success(BeanUtils.toBean(deviceCalibration, DeviceCalibrationRespVO.class)); return success(BeanUtils.toBean(deviceCalibration, DeviceCalibrationRespVO.class));
@@ -99,18 +102,33 @@ public class DeviceCalibrationController extends AbstractFileUploadController im
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得设备-检定校准分页") @Operation(summary = "获得设备-检定校准分页")
@PreAuthorize("@ss.hasPermission('qms:device-calibration:query')") public CommonResult<PageResult<DeviceCalibrationRespVO>> getDeviceCalibrationPage(@Valid DeviceCalibrationPageReqVO param) {
public CommonResult<PageResult<DeviceCalibrationRespVO>> getDeviceCalibrationPage(@Valid DeviceCalibrationPageReqVO pageReqVO) {
PageResult<DeviceCalibrationDO> pageResult = deviceCalibrationService.getDeviceCalibrationPage(pageReqVO); Page<DeviceCalibrationPageReqVO> page = new Page<>(param.getPageNo(), param.getPageSize());
return success(BeanUtils.toBean(pageResult, DeviceCalibrationRespVO.class)); Long productId = param.getProductId();
if(!ObjectUtils.isEmpty(productId)){
List<Long> productIdList = deviceProductService.getIdListByIdPath(productId);
param.setProductIdList(productIdList);
param.setProductId(null);
}
String flowStatus = param.getFlowStatus();
if (!ObjectUtils.isEmpty(flowStatus)) {
param.setFlowStatusList(Arrays.asList(flowStatus.split(",")));
param.setFlowStatus("");
}
IPage<DeviceCalibrationVO> pageList = deviceCalibrationService.queryPageList(page, param);
PageResult pageResult = new PageResult<>(pageList.getRecords(), pageList.getTotal());
return CommonResult.success(pageResult);
// PageResult<DeviceCalibrationDO> pageResult = deviceCalibrationService.getDeviceCalibrationPage(pageReqVO);
// return success(BeanUtils.toBean(pageResult, DeviceCalibrationRespVO.class));
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出设备-检定校准 Excel") @Operation(summary = "导出设备-检定校准 Excel")
@PreAuthorize("@ss.hasPermission('qms:device-calibration:export')") @PreAuthorize("@ss.hasPermission('qms:device-calibration:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportDeviceCalibrationExcel(@Valid DeviceCalibrationPageReqVO pageReqVO, public void exportDeviceCalibrationExcel(@Valid DeviceCalibrationPageReqVO pageReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<DeviceCalibrationDO> list = deviceCalibrationService.getDeviceCalibrationPage(pageReqVO).getList(); List<DeviceCalibrationDO> list = deviceCalibrationService.getDeviceCalibrationPage(pageReqVO).getList();
// 导出 Excel // 导出 Excel

View File

@@ -1,8 +1,6 @@
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.DeviceCalibrationPlanPageReqVO; import com.zt.plat.module.qms.resource.device.controller.vo.*;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationPlanRespVO;
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationPlanSaveReqVO;
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;
@@ -55,16 +53,20 @@ public class DeviceCalibrationPlanController extends AbstractFileUploadControlle
@Resource @Resource
private DeviceCalibrationPlanService deviceCalibrationPlanService; private DeviceCalibrationPlanService deviceCalibrationPlanService;
@PostMapping("/create") @PostMapping("/createPlan")
@Operation(summary = "创建设备-检定校准计划") @Operation(summary = "创建设备-检定校准计划")
@PreAuthorize("@ss.hasPermission('qms:device-calibration-plan:create')") public CommonResult<DeviceCalibrationPlanRespVO> createPlan(String checkYear) {
public CommonResult<DeviceCalibrationPlanRespVO> createDeviceCalibrationPlan(@Valid @RequestBody DeviceCalibrationPlanSaveReqVO createReqVO) { return deviceCalibrationPlanService.createPlan(checkYear);
return success(deviceCalibrationPlanService.createDeviceCalibrationPlan(createReqVO)); }
@RequestMapping("/submitApply")
@Operation(summary = "提交申请")
public CommonResult<DeviceCalibrationPlanRespVO> submitApply(@RequestBody DeviceCalibrationPlanSaveReqVO param) {
return deviceCalibrationPlanService.submitApply(param);
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新设备-检定校准计划") @Operation(summary = "更新设备-检定校准计划")
@PreAuthorize("@ss.hasPermission('qms:device-calibration-plan:update')")
public CommonResult<Boolean> updateDeviceCalibrationPlan(@Valid @RequestBody DeviceCalibrationPlanSaveReqVO updateReqVO) { public CommonResult<Boolean> updateDeviceCalibrationPlan(@Valid @RequestBody DeviceCalibrationPlanSaveReqVO updateReqVO) {
deviceCalibrationPlanService.updateDeviceCalibrationPlan(updateReqVO); deviceCalibrationPlanService.updateDeviceCalibrationPlan(updateReqVO);
return success(true); return success(true);
@@ -73,7 +75,6 @@ public class DeviceCalibrationPlanController extends AbstractFileUploadControlle
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除设备-检定校准计划") @Operation(summary = "删除设备-检定校准计划")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:device-calibration-plan:delete')")
public CommonResult<Boolean> deleteDeviceCalibrationPlan(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteDeviceCalibrationPlan(@RequestParam("id") Long id) {
deviceCalibrationPlanService.deleteDeviceCalibrationPlan(id); deviceCalibrationPlanService.deleteDeviceCalibrationPlan(id);
return success(true); return success(true);
@@ -91,7 +92,6 @@ public class DeviceCalibrationPlanController extends AbstractFileUploadControlle
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得设备-检定校准计划") @Operation(summary = "获得设备-检定校准计划")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:device-calibration-plan:query')")
public CommonResult<DeviceCalibrationPlanRespVO> getDeviceCalibrationPlan(@RequestParam("id") Long id) { public CommonResult<DeviceCalibrationPlanRespVO> getDeviceCalibrationPlan(@RequestParam("id") Long id) {
DeviceCalibrationPlanDO deviceCalibrationPlan = deviceCalibrationPlanService.getDeviceCalibrationPlan(id); DeviceCalibrationPlanDO deviceCalibrationPlan = deviceCalibrationPlanService.getDeviceCalibrationPlan(id);
return success(BeanUtils.toBean(deviceCalibrationPlan, DeviceCalibrationPlanRespVO.class)); return success(BeanUtils.toBean(deviceCalibrationPlan, DeviceCalibrationPlanRespVO.class));
@@ -99,7 +99,6 @@ public class DeviceCalibrationPlanController extends AbstractFileUploadControlle
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得设备-检定校准计划分页") @Operation(summary = "获得设备-检定校准计划分页")
@PreAuthorize("@ss.hasPermission('qms:device-calibration-plan:query')")
public CommonResult<PageResult<DeviceCalibrationPlanRespVO>> getDeviceCalibrationPlanPage(@Valid DeviceCalibrationPlanPageReqVO pageReqVO) { public CommonResult<PageResult<DeviceCalibrationPlanRespVO>> getDeviceCalibrationPlanPage(@Valid DeviceCalibrationPlanPageReqVO pageReqVO) {
PageResult<DeviceCalibrationPlanDO> pageResult = deviceCalibrationPlanService.getDeviceCalibrationPlanPage(pageReqVO); PageResult<DeviceCalibrationPlanDO> pageResult = deviceCalibrationPlanService.getDeviceCalibrationPlanPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DeviceCalibrationPlanRespVO.class)); return success(BeanUtils.toBean(pageResult, DeviceCalibrationPlanRespVO.class));

View File

@@ -22,6 +22,8 @@ import jakarta.servlet.http.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
@@ -125,11 +127,11 @@ public class DeviceMaintainController extends AbstractFileUploadController imple
if(!checkResult.isSuccess()){ if(!checkResult.isSuccess()){
return checkResult.error(checkResult.getCode(), checkResult.getMsg()); return checkResult.error(checkResult.getCode(), checkResult.getMsg());
} }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); LocalDateTime dateTime = LocalDate.now().atStartOfDay();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
if(ObjectUtils.isEmpty(dateStr)) if(ObjectUtils.isEmpty(dateStr))
dateStr = sdf.format(new Date()); dateTime = LocalDateTime.parse(dateStr, formatter);
LocalDate localDate = LocalDate.parse(dateStr); return deviceMaintainService.create(deviceId, dateTime, dataType);
return deviceMaintainService.create(deviceId, localDate, dataType);
} }
@PutMapping("/update") @PutMapping("/update")

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