|
|
@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.usky.common.core.bean.CommonPage;
|
|
|
import com.usky.common.core.exception.BusinessException;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
+import com.usky.vpp.domain.VppContract;
|
|
|
import com.usky.vpp.domain.VppContractTemplate;
|
|
|
+import com.usky.vpp.mapper.VppContractMapper;
|
|
|
import com.usky.vpp.mapper.VppContractTemplateMapper;
|
|
|
import com.usky.vpp.service.VppContractTemplateService;
|
|
|
import com.usky.vpp.service.vo.VppContractTemplateRequestVO;
|
|
|
@@ -41,6 +43,8 @@ public class VppContractTemplateServiceImpl implements VppContractTemplateServic
|
|
|
|
|
|
@Autowired
|
|
|
private VppContractTemplateMapper vppContractTemplateMapper;
|
|
|
+ @Autowired
|
|
|
+ private VppContractMapper vppContractMapper;
|
|
|
|
|
|
private final RestTemplate restTemplate = new RestTemplate();
|
|
|
|
|
|
@@ -185,11 +189,21 @@ public class VppContractTemplateServiceImpl implements VppContractTemplateServic
|
|
|
public Boolean delete(Long id) {
|
|
|
LambdaQueryWrapper<VppContractTemplate> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(VppContractTemplate::getId, id)
|
|
|
+ .eq(VppContractTemplate::getDeleteFlag, 0)
|
|
|
.eq(VppContractTemplate::getTenantId, SecurityUtils.getTenantId());
|
|
|
VppContractTemplate template = vppContractTemplateMapper.selectOne(queryWrapper);
|
|
|
|
|
|
if (template == null) {
|
|
|
- throw new BusinessException("合同模板不存在!");
|
|
|
+ throw new BusinessException("合同模板不存在或已被删除!");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 模板下存在关联合同时不允许删除
|
|
|
+ LambdaQueryWrapper<VppContract> contractWrapper = new LambdaQueryWrapper<>();
|
|
|
+ contractWrapper.eq(VppContract::getTemplateId, id)
|
|
|
+ .eq(VppContract::getDeleteFlag, 0);
|
|
|
+ Integer relatedCount = vppContractMapper.selectCount(contractWrapper);
|
|
|
+ if (relatedCount != null && relatedCount > 0) {
|
|
|
+ throw new BusinessException("该合同模板下存在关联合同,无法删除!");
|
|
|
}
|
|
|
|
|
|
template.setDeleteFlag(1);
|