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 d47cb398..ee87247e 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 @@ -74,6 +74,9 @@ public class DeviceCalibrationPageReqVO extends PageParam { @Schema(description = "流程实例id", example = "24905") private String flowInstanceId; + @Schema(description = "表单id") + private Long formId; + @Schema(description = "作废状态") private Integer cancelFlag; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationRespVO.java index 4d37ce38..bfd22036 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationRespVO.java @@ -90,6 +90,9 @@ public class DeviceCalibrationRespVO { @ExcelProperty("流程实例id") private String flowInstanceId; + @Schema(description = "表单id") + private Long formId; + @Schema(description = "作废状态") @ExcelProperty("作废状态") private Integer cancelFlag; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationSaveReqVO.java index 600ea02d..ce630493 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceCalibrationSaveReqVO.java @@ -68,6 +68,9 @@ public class DeviceCalibrationSaveReqVO { @Schema(description = "流程实例id", example = "24905") private String flowInstanceId; + @Schema(description = "表单id") + private Long formId; + @Schema(description = "作废状态") private Integer cancelFlag; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckPageReqVO.java index 57b064bd..b0d2103d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckPageReqVO.java @@ -78,6 +78,9 @@ public class DevicePeriodCheckPageReqVO extends PageParam { @Schema(description = "流程实例id", example = "31647") private String flowInstanceId; + @Schema(description = "表单id") + private Long formId; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckRespVO.java index 59c2ee07..8cf286fb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckRespVO.java @@ -98,6 +98,10 @@ public class DevicePeriodCheckRespVO { @ExcelProperty("流程实例id") private String flowInstanceId; + @Schema(description = "表单id") + @ExcelProperty("表单id") + private Long formId; + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckSaveReqVO.java index 2af8f43a..c7a2334e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DevicePeriodCheckSaveReqVO.java @@ -74,6 +74,9 @@ public class DevicePeriodCheckSaveReqVO { @Schema(description = "流程实例id", example = "31647") private String flowInstanceId; + @Schema(description = "表单id") + private Long formId; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceCalibrationDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceCalibrationDO.java index 8ccf02ca..c916b4c5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceCalibrationDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceCalibrationDO.java @@ -121,6 +121,9 @@ public class DeviceCalibrationDO extends BusinessBaseDO { */ @TableField("FLW_INSC_ID") private String flowInstanceId; + + @TableField("FORM_ID") + private Long formId; /** * 作废状态 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DevicePeriodCheckDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DevicePeriodCheckDO.java index b18a64d5..08991b68 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DevicePeriodCheckDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DevicePeriodCheckDO.java @@ -131,6 +131,10 @@ public class DevicePeriodCheckDO extends BusinessBaseDO { */ @TableField("FLW_INSC_ID") private String flowInstanceId; + + @TableField("FORM_ID") + private Long formId; + /** * 所属部门 */ 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 cef1d5af..6a06c080 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 @@ -55,7 +55,7 @@ public interface DeviceCalibrationMapper extends BaseMapperX getLastDataCheckList(@Param("param") JSONObject param); + List getLastDataCheckList(@Param("param") JSONObject param); IPage queryPageList(Page page, @Param("param") DeviceCalibrationPageReqVO param); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckMapper.java index 55ccd266..6c9a4248 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DevicePeriodCheckMapper.java @@ -53,7 +53,7 @@ public interface DevicePeriodCheckMapper extends BaseMapperX getLastDataCheckList(@Param("param") JSONObject param); + List getLastDataCheckList(@Param("param") JSONObject param); IPage queryPageList(Page page, @Param("param") DevicePeriodCheckPageReqVO 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/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 beb5caad..123c9d3c 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 @@ -21,7 +21,7 @@ public interface DeviceCalibrationService { void createListByPlan(DeviceCalibrationPlanDO plan); - CommonResult> getLastDataCheckList(List deviceIds, String flowStatus); + CommonResult> getLastDataCheckList(List deviceIds, String flowStatus); IPage queryPageList(Page page, DeviceCalibrationPageReqVO pageReqVO); 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 536c9022..dfdc83e8 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 @@ -15,8 +15,10 @@ import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import com.zt.plat.module.qms.api.task.BMPCallbackInterface; import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataCommonType; +import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO; 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.data.service.DataTemplateService; import com.zt.plat.module.qms.common.dic.service.DictionaryBusinessService; import com.zt.plat.module.qms.enums.QmsBpmConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant; @@ -65,7 +67,9 @@ public class DeviceCalibrationServiceImpl implements DeviceCalibrationService, B @Resource private BpmProcessInstanceApi bpmProcessInstanceApi; @Resource private DataKeyCheckService dataKeyCheckService; @Resource private DataOpinionService dataOpinionService; + @Resource private DataTemplateService dataTemplateService; private final String wfDicKey = "DeviceCalibrationWfKey"; + private final String formDicKey = "DeviceCalibrationFormKey"; @Override @Transactional(rollbackFor = Exception.class) @@ -81,20 +85,29 @@ public class DeviceCalibrationServiceImpl implements DeviceCalibrationService, B if(deviceList.isEmpty()) throw exception0(DEVICE_CALIBRATION_NOT_EXISTS.getCode(), "没有需要创建检定校准计划的设备,请检查“设备业务配置”!"); List deviceIds = convertList(deviceList, DeviceInfoWithBizConfigVO::getId); - List lastDeviceDataList = getLastDataCheckList(deviceIds, wfStatus).getData(); + List lastDeviceDataList = getLastDataCheckList(deviceIds, wfStatus).getData(); + String formKey = dictionaryBusinessService.getValueByDataKey(formDicKey); + DataTemplateDO formTemplate = dataTemplateService.getLatestDataByKey(formKey); + Long formTemplateId = formTemplate.getId(); for (DeviceInfoWithBizConfigVO device : deviceList) { DeviceConfigBusinessRuleDO rule = device.getRule(); Long deviceId = device.getId(); - initCalibrationData(planId, checkList, lastDeviceDataList, rule, deviceId); + initCalibrationData(planId, checkList, lastDeviceDataList, rule, deviceId, formTemplateId); } if(checkList.isEmpty()) throw exception0(DEVICE_CALIBRATION_NOT_EXISTS.getCode(), "没有需要创建检定校准计划的设备!"); deviceCalibrationMapper.insertBatch(checkList); } - private void initCalibrationData(Long planId, List checkList, List lastCheckList, DeviceConfigBusinessRuleDO rule, Long deviceId) { + private void initCalibrationData(Long planId, List checkList, List lastCheckList, DeviceConfigBusinessRuleDO rule, Long deviceId, Long formTemplateId) { DeviceCalibrationDO data = new DeviceCalibrationDO(); - DeviceCalibrationDO lastData = lastCheckList.stream().filter(item -> item.getDeviceId().equals(deviceId)).findFirst().orElse(null); + DeviceCalibrationVO lastData = null; + for(DeviceCalibrationVO lastDO : lastCheckList){ + if(lastDO.getDeviceId().equals(deviceId)){ + lastData = lastDO; + break; + } + } //计算下一次执行日期 LocalDateTime nextDate = null; if(lastData != null){ @@ -113,15 +126,16 @@ public class DeviceCalibrationServiceImpl implements DeviceCalibrationService, B data.setCheckType(rule.getCalibrationCheckType()); data.setFrequencyRemark(rule.getFrequencyRemark()); data.setFlowStatus(QmsCommonConstant.NOT_START); + data.setFormId(formTemplateId); checkList.add(data); } @Override - public CommonResult> getLastDataCheckList(List deviceIds, String flowStatus) { + public CommonResult> getLastDataCheckList(List deviceIds, String flowStatus) { JSONObject param = new JSONObject(); param.put("deviceIds", deviceIds); param.put("flowStatus", flowStatus); - List list = deviceCalibrationMapper.getLastDataCheckList(param); + List list = deviceCalibrationMapper.getLastDataCheckList(param); return CommonResult.success(list); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DevicePeriodCheckService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DevicePeriodCheckService.java index 76b5db84..db0e0f7e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DevicePeriodCheckService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DevicePeriodCheckService.java @@ -24,7 +24,7 @@ public interface DevicePeriodCheckService { void createListByPlan(DevicePeriodCheckPlanDO plan); - CommonResult> getLastDataCheckList(List deviceIds, String flowStatus); + CommonResult> getLastDataCheckList(List deviceIds, String flowStatus); IPage queryPageList(Page page, DevicePeriodCheckPageReqVO pageReqVO); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DevicePeriodCheckServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DevicePeriodCheckServiceImpl.java index 42e492a7..96a6c7cd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DevicePeriodCheckServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DevicePeriodCheckServiceImpl.java @@ -15,8 +15,10 @@ import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import com.zt.plat.module.qms.api.task.BMPCallbackInterface; import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataCommonType; +import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO; 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.data.service.DataTemplateService; import com.zt.plat.module.qms.common.dic.service.DictionaryBusinessService; import com.zt.plat.module.qms.enums.QmsBpmConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant; @@ -63,7 +65,9 @@ public class DevicePeriodCheckServiceImpl implements DevicePeriodCheckService, B @Resource private BpmProcessInstanceApi bpmProcessInstanceApi; @Resource private DataKeyCheckService dataKeyCheckService; @Resource private DataOpinionService dataOpinionService; + @Resource private DataTemplateService dataTemplateService; private final String wfDicKey = "DevicePeriodCheckWfKey"; + private final String formDicKey = "DevicePeriodCheckFormfKey"; /* * 创建本年度的期间核查列表 @@ -84,28 +88,37 @@ public class DevicePeriodCheckServiceImpl implements DevicePeriodCheckService, B //处理设备 List deviceList = deviceInfomationService.getListNeedByRule(ruleParam); List deviceIds = convertList(deviceList, DeviceInfoWithBizConfigVO::getId); - List lastDeviceDataList = getLastDataCheckList(deviceIds, wfStatus).getData(); + List lastDeviceDataList = getLastDataCheckList(deviceIds, wfStatus).getData(); + String formKey = dictionaryBusinessService.getValueByDataKey(formDicKey); + DataTemplateDO formTemplate = dataTemplateService.getLatestDataByKey(formKey); + Long formTemplateId = formTemplate.getId(); for (DeviceInfoWithBizConfigVO device : deviceList) { DeviceConfigBusinessRuleDO rule = device.getRule(); Long deviceId = device.getId(); - initPeriodCheckData(planId, checkList, lastDeviceDataList, rule, deviceId); + initPeriodCheckData(planId, checkList, lastDeviceDataList, rule, deviceId, formTemplateId); } //处理物料试剂 List materialList = materialInfomationService.getListNeedByRule(ruleParam); List materialIds = convertList(materialList, MaterialInfoWithBizConfigVO::getId); - List lastMaterialDataList = getLastDataCheckList(materialIds, wfStatus).getData(); + List lastMaterialDataList = getLastDataCheckList(materialIds, wfStatus).getData(); for (MaterialInfoWithBizConfigVO material : materialList) { DeviceConfigBusinessRuleDO rule = material.getRule(); Long deviceId = material.getId(); - initPeriodCheckData(planId, checkList, lastMaterialDataList, rule, deviceId); + initPeriodCheckData(planId, checkList, lastMaterialDataList, rule, deviceId, formTemplateId); } devicePeriodCheckMapper.insertBatch(checkList); } - private void initPeriodCheckData(Long planId, List checkList, List lastCheckList, DeviceConfigBusinessRuleDO rule, Long deviceId) { + private void initPeriodCheckData(Long planId, List checkList, List lastCheckList, DeviceConfigBusinessRuleDO rule, Long deviceId, Long formTemplateId) { DevicePeriodCheckDO data = new DevicePeriodCheckDO(); - DevicePeriodCheckDO lastCheck = lastCheckList.stream().filter(item -> item.getDeviceId().equals(deviceId)).findFirst().orElse(null); + DevicePeriodCheckVO lastCheck = null; + for(DevicePeriodCheckVO check : lastCheckList){ + if(check.getDeviceId().equals(deviceId)){ + lastCheck = check; + break; + } + } if(lastCheck != null) data.setLastCheckDate(lastCheck.getCheckDate()); //todo 计算计划执行日期 @@ -116,15 +129,16 @@ public class DevicePeriodCheckServiceImpl implements DevicePeriodCheckService, B data.setCheckAccording(rule.getTreatmentMethod()); data.setFrequencyRemark(rule.getFrequencyRemark()); data.setFlowStatus(QmsCommonConstant.NOT_START); + data.setFormId(formTemplateId); checkList.add(data); } @Override - public CommonResult> getLastDataCheckList(List deviceIds, String flowStatus) { + public CommonResult> getLastDataCheckList(List deviceIds, String flowStatus) { JSONObject param = new JSONObject(); param.put("deviceIds", deviceIds); param.put("flowStatus", flowStatus); - List list = devicePeriodCheckMapper.getLastDataCheckList(param); + List list = devicePeriodCheckMapper.getLastDataCheckList(param); return CommonResult.success(list); } 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 9f9154c6..155ff22b 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 @@ -29,6 +29,7 @@ + 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 04e05d19..ea4fcb6e 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 @@ -31,6 +31,7 @@ +