diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java index 9c5f643..4cf9e50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -10,7 +10,7 @@ EQUIPMENT_UNSEALED_APPROVAL("sbqfsq", "3", "设备启封申请"), EQUIPMENT_DISABLE_APPROVAL("sbjysq", "3", "设备禁用申请"), EQUIPMENT_SCRAP_APPROVAL("sbbfsq", "3", "设备报废申请"), - EQUIPMENT_DELAY_APPROVAL("sbbfsq", "3", "设备延用申请"), + EQUIPMENT_DELAY_APPROVAL("sbyysq", "3", "设备延用申请"), PLAN_APPROVAL("jljhgl","1","计量计划管理"), diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java index 9c5f643..4cf9e50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -10,7 +10,7 @@ EQUIPMENT_UNSEALED_APPROVAL("sbqfsq", "3", "设备启封申请"), EQUIPMENT_DISABLE_APPROVAL("sbjysq", "3", "设备禁用申请"), EQUIPMENT_SCRAP_APPROVAL("sbbfsq", "3", "设备报废申请"), - EQUIPMENT_DELAY_APPROVAL("sbbfsq", "3", "设备延用申请"), + EQUIPMENT_DELAY_APPROVAL("sbyysq", "3", "设备延用申请"), PLAN_APPROVAL("jljhgl","1","计量计划管理"), diff --git a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml index c82915a..cbc3446 100644 --- a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml @@ -41,7 +41,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id @@ -65,7 +66,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java index 9c5f643..4cf9e50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -10,7 +10,7 @@ EQUIPMENT_UNSEALED_APPROVAL("sbqfsq", "3", "设备启封申请"), EQUIPMENT_DISABLE_APPROVAL("sbjysq", "3", "设备禁用申请"), EQUIPMENT_SCRAP_APPROVAL("sbbfsq", "3", "设备报废申请"), - EQUIPMENT_DELAY_APPROVAL("sbbfsq", "3", "设备延用申请"), + EQUIPMENT_DELAY_APPROVAL("sbyysq", "3", "设备延用申请"), PLAN_APPROVAL("jljhgl","1","计量计划管理"), diff --git a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml index c82915a..cbc3446 100644 --- a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml @@ -41,7 +41,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id @@ -65,7 +66,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index 31bd60c..0848091 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -55,7 +55,7 @@ // 查找本单位提交的 Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or(CollUtil.isNotEmpty(parentDeptIds)).in("customer_id",parentDeptIds)); + wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); Page resultPage = orderListResponseMapper.selectPage(page, wrapper); for (OrderListResponse customerAdviceInfo : resultPage.getRecords()) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java index 9c5f643..4cf9e50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -10,7 +10,7 @@ EQUIPMENT_UNSEALED_APPROVAL("sbqfsq", "3", "设备启封申请"), EQUIPMENT_DISABLE_APPROVAL("sbjysq", "3", "设备禁用申请"), EQUIPMENT_SCRAP_APPROVAL("sbbfsq", "3", "设备报废申请"), - EQUIPMENT_DELAY_APPROVAL("sbbfsq", "3", "设备延用申请"), + EQUIPMENT_DELAY_APPROVAL("sbyysq", "3", "设备延用申请"), PLAN_APPROVAL("jljhgl","1","计量计划管理"), diff --git a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml index c82915a..cbc3446 100644 --- a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml @@ -41,7 +41,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id @@ -65,7 +66,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index 31bd60c..0848091 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -55,7 +55,7 @@ // 查找本单位提交的 Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or(CollUtil.isNotEmpty(parentDeptIds)).in("customer_id",parentDeptIds)); + wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); Page resultPage = orderListResponseMapper.selectPage(page, wrapper); for (OrderListResponse customerAdviceInfo : resultPage.getRecords()) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java index 1e60c9f..cc3e86c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java @@ -62,6 +62,7 @@ groupRelationService.deleteByGroupId(groupId); } + // todo datascope @Override public Page listPage(Page page, String groupName) { QueryWrapper queryWrapper = new QueryWrapper<>(); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java index 9c5f643..4cf9e50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -10,7 +10,7 @@ EQUIPMENT_UNSEALED_APPROVAL("sbqfsq", "3", "设备启封申请"), EQUIPMENT_DISABLE_APPROVAL("sbjysq", "3", "设备禁用申请"), EQUIPMENT_SCRAP_APPROVAL("sbbfsq", "3", "设备报废申请"), - EQUIPMENT_DELAY_APPROVAL("sbbfsq", "3", "设备延用申请"), + EQUIPMENT_DELAY_APPROVAL("sbyysq", "3", "设备延用申请"), PLAN_APPROVAL("jljhgl","1","计量计划管理"), diff --git a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml index c82915a..cbc3446 100644 --- a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml @@ -41,7 +41,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id @@ -65,7 +66,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index 31bd60c..0848091 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -55,7 +55,7 @@ // 查找本单位提交的 Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or(CollUtil.isNotEmpty(parentDeptIds)).in("customer_id",parentDeptIds)); + wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); Page resultPage = orderListResponseMapper.selectPage(page, wrapper); for (OrderListResponse customerAdviceInfo : resultPage.getRecords()) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java index 1e60c9f..cc3e86c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java @@ -62,6 +62,7 @@ groupRelationService.deleteByGroupId(groupId); } + // todo datascope @Override public Page listPage(Page page, String groupName) { QueryWrapper queryWrapper = new QueryWrapper<>(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 2da09bc..6f4d423 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.impl.status; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -9,6 +10,7 @@ import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.flowable.BaseApprovalRequest; @@ -16,7 +18,9 @@ import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; @@ -62,6 +66,9 @@ @Override public Long saveOrUpdateApproval(EquipmentStatusApproval approvalForm) { + if(haveUnfinishedApproval(approvalForm)){ + throw new BusinessException(500,"设备存在未完成的状态维护审批,无法提交新的申请"); + } // 1. 生成统一编号 if (StrUtil.isEmpty(approvalForm.getApprovalNo())) { Long maxNo = this.baseMapper.selectMaxNo(approvalForm.getApprovalType()); @@ -75,6 +82,17 @@ return approvalForm.getId(); } + private boolean haveUnfinishedApproval(EquipmentStatusApproval approvalForm){ + if(ObjectUtil.isNotEmpty(approvalForm.getEquipmentId())){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("equipment_id",approvalForm.getEquipmentId()); + queryWrapper.eq("approval_status",ApprovalStatusEnum.IN_APPROVED); + queryWrapper.ne(ObjectUtil.isNotEmpty(approvalForm.getId()),"id",approvalForm.getId()); + return this.count(queryWrapper) > 0; + } + return false; + } + private String getNoPrefix(String approvalType) { switch (approvalType) { case SEAL: @@ -96,7 +114,7 @@ @Override public void finishApproval(Long approvalId) { EquipmentStatusApproval approval = this.getById(approvalId); - super.updateApprovalStatus(approval,ApprovalStatusEnum.PASSED); + super.updateApprovalStatus(approval.getId(),ApprovalStatusEnum.PASSED); statusLogService.saveLog(approval); switch (approval.getApprovalType()) { case SEAL: diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java index 9c5f643..4cf9e50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -10,7 +10,7 @@ EQUIPMENT_UNSEALED_APPROVAL("sbqfsq", "3", "设备启封申请"), EQUIPMENT_DISABLE_APPROVAL("sbjysq", "3", "设备禁用申请"), EQUIPMENT_SCRAP_APPROVAL("sbbfsq", "3", "设备报废申请"), - EQUIPMENT_DELAY_APPROVAL("sbbfsq", "3", "设备延用申请"), + EQUIPMENT_DELAY_APPROVAL("sbyysq", "3", "设备延用申请"), PLAN_APPROVAL("jljhgl","1","计量计划管理"), diff --git a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml index c82915a..cbc3446 100644 --- a/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/status/EquipmentStatusApprovalMapper.xml @@ -41,7 +41,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id @@ -65,7 +66,8 @@ info.equipment_name as equipmentName, info.model as model, info.company_id as companyId, - info.dept_id as deptId + info.dept_id as deptId, + approval.process_id as processId from eqpt_equipment_status_approval approval left join eqpt_equipment_info info on approval.equipment_id = info.id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index 31bd60c..0848091 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -55,7 +55,7 @@ // 查找本单位提交的 Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or(CollUtil.isNotEmpty(parentDeptIds)).in("customer_id",parentDeptIds)); + wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); Page resultPage = orderListResponseMapper.selectPage(page, wrapper); for (OrderListResponse customerAdviceInfo : resultPage.getRecords()) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java index 1e60c9f..cc3e86c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentGroupInfoServiceImpl.java @@ -62,6 +62,7 @@ groupRelationService.deleteByGroupId(groupId); } + // todo datascope @Override public Page listPage(Page page, String groupName) { QueryWrapper queryWrapper = new QueryWrapper<>(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 2da09bc..6f4d423 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.impl.status; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -9,6 +10,7 @@ import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.flowable.BaseApprovalRequest; @@ -16,7 +18,9 @@ import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; @@ -62,6 +66,9 @@ @Override public Long saveOrUpdateApproval(EquipmentStatusApproval approvalForm) { + if(haveUnfinishedApproval(approvalForm)){ + throw new BusinessException(500,"设备存在未完成的状态维护审批,无法提交新的申请"); + } // 1. 生成统一编号 if (StrUtil.isEmpty(approvalForm.getApprovalNo())) { Long maxNo = this.baseMapper.selectMaxNo(approvalForm.getApprovalType()); @@ -75,6 +82,17 @@ return approvalForm.getId(); } + private boolean haveUnfinishedApproval(EquipmentStatusApproval approvalForm){ + if(ObjectUtil.isNotEmpty(approvalForm.getEquipmentId())){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("equipment_id",approvalForm.getEquipmentId()); + queryWrapper.eq("approval_status",ApprovalStatusEnum.IN_APPROVED); + queryWrapper.ne(ObjectUtil.isNotEmpty(approvalForm.getId()),"id",approvalForm.getId()); + return this.count(queryWrapper) > 0; + } + return false; + } + private String getNoPrefix(String approvalType) { switch (approvalType) { case SEAL: @@ -96,7 +114,7 @@ @Override public void finishApproval(Long approvalId) { EquipmentStatusApproval approval = this.getById(approvalId); - super.updateApprovalStatus(approval,ApprovalStatusEnum.PASSED); + super.updateApprovalStatus(approval.getId(),ApprovalStatusEnum.PASSED); statusLogService.saveLog(approval); switch (approval.getApprovalType()) { case SEAL: diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java index 4c429c9..0a84def 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java @@ -28,7 +28,7 @@ public void saveLog(EquipmentStatusApproval statusApproval) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("equipment_id",statusApproval.getEquipmentId()); - queryWrapper.orderByDesc("create_time"); + queryWrapper.orderByDesc("start_time"); queryWrapper.last("limit 1"); EquipmentStatusLog lastLog = this.getOne(queryWrapper); if(ObjectUtil.isNotEmpty(lastLog)){