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 5fbcca17..5d10a0e1 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 @@ -1,7 +1,9 @@ package com.zt.plat.module.qms.resource.device.controller.admin; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zt.plat.module.qms.enums.QmsCommonConstant; 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; @@ -65,7 +67,7 @@ public class DeviceCalibrationController extends AbstractFileUploadController im } @PostMapping("/createByDeviceId") - @Operation(summary = "创建设备-检定校准") + @Operation(summary = "创建检定校准") public CommonResult createByDeviceId(@RequestBody DeviceCalibrationSaveReqVO createReqVO) { return success(deviceCalibrationService.createByDeviceId(createReqVO)); } @@ -111,6 +113,20 @@ public class DeviceCalibrationController extends AbstractFileUploadController im return success(vo); } + @GetMapping("/getLastData") + @Operation(summary = "获得设备-检定校准") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getLastData(@Valid DeviceCalibrationPageReqVO vo) { + Long deviceId = vo.getDeviceId(); + if(ObjectUtils.isEmpty(deviceId)){ + return CommonResult.error(0, "缺少参数"); + } + JSONObject param = new JSONObject(); + param.put("deviceId", deviceId); + param.put("flowStatus", QmsCommonConstant.COMPLETED); + return CommonResult.success(deviceCalibrationService.getLastData( param)); + } + @RequestMapping("/submitApply") @Operation(summary = "提交申请") public CommonResult submitApply(@RequestBody DeviceCalibrationSaveReqVO param) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DevicePeriodCheckController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DevicePeriodCheckController.java index cfe6bd08..f315d264 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DevicePeriodCheckController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DevicePeriodCheckController.java @@ -1,7 +1,9 @@ package com.zt.plat.module.qms.resource.device.controller.admin; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +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.controller.vo.*; import com.zt.plat.module.qms.resource.device.service.DeviceProductService; @@ -66,6 +68,18 @@ public class DevicePeriodCheckController extends AbstractFileUploadController im return success(devicePeriodCheckService.createDevicePeriodCheck(createReqVO)); } + @PostMapping("/createByDeviceId") + @Operation(summary = "创建期间核查-设备") + public CommonResult createByDeviceId(@RequestBody DevicePeriodCheckSaveReqVO createReqVO) { + return success(devicePeriodCheckService.createByDeviceId(createReqVO)); + } + + @PostMapping("/createByMaterialId") + @Operation(summary = "创建期间核查-物料试剂") + public CommonResult createByMaterialId(@RequestBody DevicePeriodCheckSaveReqVO createReqVO) { + return success(devicePeriodCheckService.createByMaterialId(createReqVO)); + } + @PutMapping("/update") @Operation(summary = "更新设备-期间核查") public CommonResult updateDevicePeriodCheck(@Valid @RequestBody DevicePeriodCheckSaveReqVO updateReqVO) { @@ -148,7 +162,7 @@ public class DevicePeriodCheckController extends AbstractFileUploadController im Page page = new Page<>(param.getPageNo(), param.getPageSize()); Long productId = param.getProductId(); if(!ObjectUtils.isEmpty(productId)){ - List productIdList = deviceProductService.getIdListByIdPath(productId); + List productIdList = materialProductService.getIdListByIdPath(productId); param.setProductIdList(productIdList); param.setProductId(null); } @@ -163,6 +177,34 @@ public class DevicePeriodCheckController extends AbstractFileUploadController im return CommonResult.success(pageResult); } + @GetMapping("/getLastDataDevice") + @Operation(summary = "获取指定设备最新期间核查数据") + public CommonResult getLastDataDevice(@Valid DevicePeriodCheckPageReqVO vo) { + Long deviceId = vo.getDeviceId(); + if(ObjectUtils.isEmpty(deviceId)){ + return CommonResult.error(0, "缺少参数"); + } + JSONObject param = new JSONObject(); + param.put("deviceId", deviceId); + param.put("flowStatus", QmsCommonConstant.COMPLETED); + param.put("checkTarget", DeviceConstant.PERIOD_CHECK_TAGET_DEVICE); + return CommonResult.success(devicePeriodCheckService.getLastDataDevice( param)); + } + + @GetMapping("/getLastDataMaterial") + @Operation(summary = "获取指定物料最新期间核查数据") + public CommonResult getLastDataMaterial(@Valid DevicePeriodCheckPageReqVO vo) { + Long deviceId = vo.getDeviceId(); + if(ObjectUtils.isEmpty(deviceId)){ + return CommonResult.error(0, "缺少参数"); + } + JSONObject param = new JSONObject(); + param.put("deviceId", deviceId); + param.put("flowStatus", QmsCommonConstant.COMPLETED); + param.put("checkTarget", DeviceConstant.PERIOD_CHECK_TAGET_MATERIAL); + return CommonResult.success(devicePeriodCheckService.getLastDataMaterial( param)); + } + @GetMapping("/export-excel") @Operation(summary = "导出设备-期间核查 Excel") @PreAuthorize("@ss.hasPermission('qms:device-period-check:export')") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationMapper.java index 6a06c080..de8523bb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationMapper.java @@ -49,7 +49,7 @@ public interface DeviceCalibrationMapper extends BaseMapperX getLastDataCheckList(@Param("param") JSONObject param); + DeviceCalibrationVO getLastData(@Param("param") JSONObject param); + + IPage queryPageList(Page page, @Param("param") DeviceCalibrationPageReqVO param); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationPlanMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationPlanMapper.java index bc1460e8..de79f62d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationPlanMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceCalibrationPlanMapper.java @@ -30,7 +30,7 @@ public interface DeviceCalibrationPlanMapper extends BaseMapperX queryPageListDevice(Page page, @Param("param") DevicePeriodCheckPageReqVO param); IPage queryPageListMaterial(Page page, @Param("param") DevicePeriodCheckPageReqVO param); + + DevicePeriodCheckVO getLastDataDevice(@Param("param") JSONObject param); + DevicePeriodCheckVO getLastDataMaterial(@Param("param") JSONObject param); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckPlanMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckPlanMapper.java index 22ba79d3..f1a4c0ee 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckPlanMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckPlanMapper.java @@ -31,7 +31,7 @@ public interface DevicePeriodCheckPlanMapper extends BaseMapperX materialList = materialInfomationService.getListNeedByRule(ruleParam); + + String formKey = dictionaryBusinessService.getValueByDataKey(formDicKey); + DataTemplateDO formTemplate = dataTemplateService.getLatestDataByKey(formKey); + Long formTemplateId = formTemplate.getId(); + DevicePeriodCheckDO entity = new DevicePeriodCheckDO(); + entity.setDeviceId(deviceId); + entity.setPlanId(0L); + entity.setEffectiveFlag("1"); + entity.setFormId(formTemplateId); + entity.setFlowStatus(QmsCommonConstant.NOT_START); + entity.setCheckTarget(DeviceConstant.PERIOD_CHECK_TAGET_MATERIAL); + if(materialList.isEmpty()){ + devicePeriodCheckMapper.insert(entity); + return BeanUtils.toBean(entity, DevicePeriodCheckRespVO.class); + } + MaterialInfoWithBizConfigVO configVO = materialList.get(0); + DeviceConfigBusinessRuleDO rule = configVO.getRule(); + if(rule == null){ + devicePeriodCheckMapper.insert(entity); + return BeanUtils.toBean(entity, DevicePeriodCheckRespVO.class); + } + entity.setFrequencyRemark(rule.getFrequencyRemark()); + entity.setCheckPersonRemark(rule.getTreatmentUser()); + entity.setCheckAccording(rule.getTreatmentMethod()); + entity.setFrequencyRemark(rule.getFrequencyRemark()); devicePeriodCheckMapper.insert(entity); return BeanUtils.toBean(entity, DevicePeriodCheckRespVO.class); } @@ -428,4 +470,14 @@ public class DevicePeriodCheckServiceImpl implements DevicePeriodCheckService, B JSONObject ret = new JSONObject(); return CommonResult.success(ret); } + + @Override + public DevicePeriodCheckVO getLastDataMaterial(JSONObject param) { + return devicePeriodCheckMapper.getLastDataMaterial(param); + } + + @Override + public DevicePeriodCheckVO getLastDataDevice(JSONObject param) { + return devicePeriodCheckMapper.getLastDataDevice(param); + } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductService.java index aedabd20..1b4bc4d9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductService.java @@ -1,6 +1,7 @@ package com.zt.plat.module.qms.resource.material.service; import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceProductDO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductPageReqVO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductRespVO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductSaveReqVO; @@ -186,4 +187,8 @@ public interface MaterialProductService { List selectListWithCustomSql(MaterialProductPageReqVO reqVO); + + List getIdListByIdPath(Long id); + + List listByIdPath(Long id, String nodeType); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductServiceImpl.java index 009ffec9..124d2533 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductServiceImpl.java @@ -28,6 +28,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import java.math.BigDecimal; @@ -523,4 +524,21 @@ public class MaterialProductServiceImpl implements MaterialProductService { public List selectListWithCustomSql(MaterialProductPageReqVO reqVO) { return materialProductMapper.selectListWithCustomSql(reqVO); } + + @Override + public List getIdListByIdPath(Long id) { + List productDOList = this.listByIdPath(id, DataTypeConstant.DATA_TYPE_DATA); + List productIds = productDOList.stream().map(MaterialProductDO::getId).toList(); + return productIds; + } + + @Override + public List listByIdPath(Long id, String nodeType) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.like(MaterialProductDO::getIdPath, id); + if(!ObjectUtils.isEmpty(nodeType)) + query.eq(MaterialProductDO::getNodeType, nodeType); + query.orderByAsc(MaterialProductDO::getSortNo); + return materialProductMapper.selectList(query); + } } \ No newline at end of file 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 155ff22b..796b12e6 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 @@ -72,6 +72,29 @@ + + diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckMapper.xml index a0fedaca..9a46dd55 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckMapper.xml @@ -137,6 +137,7 @@ and d.DEV_NAME like concat(concat('%', #{param.deviceName}), '%') + order by c.CREATE_TIME desc + + + + + + \ No newline at end of file