From 629092ffbe730ea2ac1c3690abfb9d0c32c544cb Mon Sep 17 00:00:00 2001 From: FCL Date: Tue, 24 Mar 2026 11:50:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=AE=BE=E5=A4=87=E6=A3=80=E5=AE=9A?= =?UTF-8?q?=E6=A0=A1=E5=87=86=E7=BB=86=E8=8A=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/DeviceCalibrationController.java | 21 ++++-- .../DeviceCalibrationPlanController.java | 6 ++ .../vo/DeviceCalibrationPageReqVO.java | 3 + .../service/DeviceCalibrationService.java | 8 +-- .../service/DeviceCalibrationServiceImpl.java | 69 +++++++++++++++++-- .../dal/mapper/DeviceCalibrationMapper.xml | 3 + 6 files changed, 97 insertions(+), 13 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceCalibrationController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceCalibrationController.java index 9d3f0749..e193c5cc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceCalibrationController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceCalibrationController.java @@ -2,10 +2,7 @@ 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.DeviceCalibrationRespVO; -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.controller.vo.*; 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; @@ -100,9 +97,23 @@ public class DeviceCalibrationController extends AbstractFileUploadController im return success(BeanUtils.toBean(deviceCalibration, DeviceCalibrationRespVO.class)); } + @GetMapping("/getVO") + @Operation(summary = "获得设备-检定校准") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getVO(@RequestParam("id") Long id) { + DeviceCalibrationVO vo = deviceCalibrationService.getDeviceCalibrationVO(id); + return success(vo); + } + + @RequestMapping("/submitApply") + @Operation(summary = "提交申请") + public CommonResult submitApply(@RequestBody DeviceCalibrationSaveReqVO param) { + return deviceCalibrationService.submitApply(param); + } + @GetMapping("/page") @Operation(summary = "获得设备-检定校准分页") - public CommonResult> getDeviceCalibrationPage(@Valid DeviceCalibrationPageReqVO param) { + public CommonResult> getDeviceCalibrationPage(@Valid DeviceCalibrationPageReqVO param) { Page page = new Page<>(param.getPageNo(), param.getPageSize()); Long productId = param.getProductId(); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceCalibrationPlanController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceCalibrationPlanController.java index 3f8db220..3ec1cf84 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceCalibrationPlanController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceCalibrationPlanController.java @@ -59,6 +59,12 @@ public class DeviceCalibrationPlanController extends AbstractFileUploadControlle return deviceCalibrationPlanService.createPlan(checkYear); } + @RequestMapping("/savePlan") + @Operation(summary = "编辑计划") + public CommonResult savePlan(@RequestBody DeviceCalibrationPlanSaveReqVO param) { + return deviceCalibrationPlanService.savePlan(param); + } + @RequestMapping("/submitApply") @Operation(summary = "提交申请") public CommonResult submitApply(@RequestBody DeviceCalibrationPlanSaveReqVO param) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationPageReqVO.java index d006bc41..d47cb398 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationPageReqVO.java @@ -13,6 +13,9 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class DeviceCalibrationPageReqVO extends PageParam { + @Schema(description = "ID") + private Long id; + @Schema(description = "检定校准计划id", example = "22068") private Long planId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceCalibrationService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceCalibrationService.java index 57975f2b..beb5caad 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceCalibrationService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceCalibrationService.java @@ -5,10 +5,7 @@ import java.util.*; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zt.plat.framework.common.pojo.CommonResult; -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.DeviceCalibrationSaveReqVO; -import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationVO; +import com.zt.plat.module.qms.resource.device.controller.vo.*; import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceCalibrationPlanDO; import jakarta.validation.*; import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceCalibrationDO; @@ -32,6 +29,8 @@ public interface DeviceCalibrationService { List getListByPlanId(Long planId); + CommonResult submitApply(DeviceCalibrationSaveReqVO paramVO); + /** * 创建设备-检定校准 * @@ -68,6 +67,7 @@ public interface DeviceCalibrationService { * @return 设备-检定校准 */ DeviceCalibrationDO getDeviceCalibration(Long id); + DeviceCalibrationVO getDeviceCalibrationVO(Long id); /** * 获得设备-检定校准分页 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceCalibrationServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceCalibrationServiceImpl.java index f6eb7fa0..21cd1da6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceCalibrationServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceCalibrationServiceImpl.java @@ -7,19 +7,25 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.security.core.LoginUser; +import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; +import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi; +import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; +import com.zt.plat.module.qms.common.data.service.DataKeyCheckService; +import com.zt.plat.module.qms.common.data.service.DataOpinionService; +import com.zt.plat.module.qms.common.dic.service.DictionaryBusinessService; import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.resource.device.common.DeviceConstant; import com.zt.plat.module.qms.resource.device.common.DeviceUtil; -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.DeviceCalibrationSaveReqVO; -import com.zt.plat.module.qms.resource.device.controller.vo.DeviceCalibrationVO; +import com.zt.plat.module.qms.resource.device.controller.vo.*; import com.zt.plat.module.qms.resource.device.dal.dataobject.*; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; @@ -34,6 +40,8 @@ import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.e import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception0; import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; import static com.zt.plat.module.qms.enums.ErrorCodeConstants.DEVICE_CALIBRATION_NOT_EXISTS; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.DEVICE_CALIBRATION_PLAN_NOT_EXISTS; +import static com.zt.plat.module.qms.enums.QmsBpmConstant.BPM_CALLBACK_BEAN_NAME; /** * 设备-检定校准 Service 实现类 @@ -46,6 +54,11 @@ public class DeviceCalibrationServiceImpl implements DeviceCalibrationService { @Resource private DeviceCalibrationMapper deviceCalibrationMapper; @Resource private DeviceInfomationService deviceInfomationService; + @Resource private DictionaryBusinessService dictionaryBusinessService; + @Resource private BpmProcessInstanceApi bpmProcessInstanceApi; + @Resource private DataKeyCheckService dataKeyCheckService; + @Resource private DataOpinionService dataOpinionService; + private final String wfDicKey = "DeviceCalibrationWfKey"; @Override @Transactional(rollbackFor = Exception.class) @@ -124,6 +137,42 @@ public class DeviceCalibrationServiceImpl implements DeviceCalibrationService { return deviceCalibrationMapper.selectList(queryWrapper); } + @Override + @Transactional(rollbackFor = Exception.class) + public CommonResult submitApply(DeviceCalibrationSaveReqVO paramVO) { + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + //当前登录用户昵称 + String nickName = SecurityFrameworkUtils.getLoginUserNickname(); + Long id = paramVO.getId(); + DeviceCalibrationDO entity = getDeviceCalibration(id); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String processDefKey = dictionaryBusinessService.getValueByDataKey(wfDicKey); + if(ObjectUtils.isEmpty(processDefKey)) + throw exception0(DEVICE_CALIBRATION_PLAN_NOT_EXISTS.getCode(), "请先配置流程定义"); + Map variables = new JSONObject(); + variables.put("mainId", id); + variables.put("applyUser", nickName); + variables.put("applyUserId", loginUser.getId()); + variables.put("applyDepartment", loginUser.getVisitDeptName()); + variables.put("applyDepartmentId", loginUser.getVisitDeptId()); + variables.put("applyTime", sdf.format(new Date())); + variables.put(BPM_CALLBACK_BEAN_NAME, "deviceCalibrationService"); //流程回调时使用的service + BpmProcessInstanceCreateReqDTO reqDTO = new BpmProcessInstanceCreateReqDTO(); + reqDTO.setBusinessKey(String.valueOf(id)); + reqDTO.setProcessDefinitionKey(processDefKey); + reqDTO.setVariables(variables); + CommonResult result = bpmProcessInstanceApi.createProcessInstance(loginUser.getId(), reqDTO); + if(!result.isSuccess()){ + throw exception0(DEVICE_CALIBRATION_PLAN_NOT_EXISTS.getCode(), result.getMsg()); + } + String wfInsId = result.getData(); + entity.setFlowInstanceId(wfInsId); + entity.setFlowStatus(QmsCommonConstant.IN_PROGRESS); + deviceCalibrationMapper.updateById(entity); + DeviceCalibrationRespVO respVO = BeanUtils.toBean(entity, DeviceCalibrationRespVO.class); + return CommonResult.success(respVO); + } + @Override public DeviceCalibrationRespVO createDeviceCalibration(DeviceCalibrationSaveReqVO createReqVO) { // 插入 @@ -176,6 +225,18 @@ public class DeviceCalibrationServiceImpl implements DeviceCalibrationService { return deviceCalibrationMapper.selectById(id); } + @Override + public DeviceCalibrationVO getDeviceCalibrationVO(Long id) { + Page page = new Page<>(1,10); + DeviceCalibrationPageReqVO param = new DeviceCalibrationPageReqVO(); + param.setId( id); + IPage pageList = queryPageList(page, param); + PageResult pageResult = new PageResult<>(pageList.getRecords(), pageList.getTotal()); + if(pageResult.getList().isEmpty()) + return null; + return pageResult.getList().get(0); + } + @Override public PageResult getDeviceCalibrationPage(DeviceCalibrationPageReqVO pageReqVO) { return deviceCalibrationMapper.selectPage(pageReqVO); diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationMapper.xml index 53bbbed6..da7cbcb8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationMapper.xml @@ -86,6 +86,9 @@ left join T_DEV_INF d on c.DEV_ID = d.ID left join T_DEV_PDT p on d.PDT_ID = p.ID + + and c.ID = #{param.id} + and c.DEV_ID = #{param.deviceId}