|
|
@ -33,6 +33,9 @@ import com.qs.serve.modules.tzc.entity.TzcPolicyItem; |
|
|
|
import com.qs.serve.modules.tzc.service.TzcPolicyApplicationService; |
|
|
|
import com.qs.serve.modules.tzc.service.TzcPolicyItemService; |
|
|
|
import com.qs.serve.modules.tzc.service.impl.TzcPolicyOperationServiceImpl; |
|
|
|
import com.qs.serve.modules.vtb.entity.VtbVerification; |
|
|
|
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; |
|
|
|
import com.qs.serve.modules.vtb.service.VtbVerificationService; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
@ -64,6 +67,8 @@ public class TzcPolicyController { |
|
|
|
private TzcPolicyApplicationService policyApplicationService; |
|
|
|
private TzcPolicyOperationServiceImpl tzcPolicyOperationService; |
|
|
|
private SysPostUserService postUserService; |
|
|
|
private VtbVerificationService verificationService; |
|
|
|
private TbsBudgetLogService budgetLogService; |
|
|
|
|
|
|
|
@GetMapping("succ") |
|
|
|
public R<?> succ(Long id){ |
|
|
@ -423,5 +428,37 @@ public class TzcPolicyController { |
|
|
|
return tzcPolicyOperationService.runCompensate(id); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 作废 用于过审的政策 |
|
|
|
* @param id |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@PostMapping("/cancellation/{id}") |
|
|
|
public R<?> cancellation(@PathVariable Long id){ |
|
|
|
List<TzcPolicyItem> tzcPolicyItemList = tzcPolicyItemService.listByPolicyId(id); |
|
|
|
List<Long> itemIds = tzcPolicyItemList.stream().map(TzcPolicyItem::getId).collect(Collectors.toList()); |
|
|
|
LambdaQueryWrapper<VtbVerification> lqw = new LambdaQueryWrapper<>(); |
|
|
|
lqw.eq(VtbVerification::getPolicyItemId,itemIds); |
|
|
|
long count = verificationService.count(lqw); |
|
|
|
if(count>0){ |
|
|
|
return R.error("已核销的政策无法作废"); |
|
|
|
} |
|
|
|
//释放预算占用
|
|
|
|
LambdaQueryWrapper<TbsBudgetLog> logLqw = new LambdaQueryWrapper<>(); |
|
|
|
logLqw.eq(TbsBudgetLog::getPolicyId,id); |
|
|
|
budgetLogService.remove(logLqw); |
|
|
|
//释放政策及关联数据
|
|
|
|
for (TzcPolicyItem policyItem : tzcPolicyItemList) { |
|
|
|
policyItem.setPolicyItemStatus(TzPolicyItemStatus.Status_0_Default); |
|
|
|
tzcPolicyItemService.updateById(policyItem); |
|
|
|
} |
|
|
|
TzcPolicy policy = new TzcPolicy(); |
|
|
|
policy.setId(id); |
|
|
|
policy.setPolicyStatus(TzcPolicyStatus.Status_6_CANCEL); |
|
|
|
policy.setPassTime(LocalDateTime.now()); |
|
|
|
tzcPolicyService.updateById(policy); |
|
|
|
return R.ok(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|