|
@@ -32,12 +32,15 @@ import com.ningdatech.pmapi.organization.model.entity.DingOrganization; |
|
|
import com.ningdatech.pmapi.organization.service.IDingOrganizationService; |
|
|
import com.ningdatech.pmapi.organization.service.IDingOrganizationService; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.dto.DelayedApplyDTO; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.dto.DelayedApplyDTO; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.entity.Contract; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.entity.Contract; |
|
|
|
|
|
import com.ningdatech.pmapi.projectdeclared.model.entity.PaymentPlan; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.entity.PreInsAcceptancePerson; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.entity.PreInsAcceptancePerson; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.entity.Purchase; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.entity.Purchase; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.vo.ContractVO; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.vo.ContractVO; |
|
|
|
|
|
import com.ningdatech.pmapi.projectdeclared.model.vo.PaymentPlanVO; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.vo.PreInsAcceptancePersonVO; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.vo.PreInsAcceptancePersonVO; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.vo.PurchaseVO; |
|
|
import com.ningdatech.pmapi.projectdeclared.model.vo.PurchaseVO; |
|
|
import com.ningdatech.pmapi.projectdeclared.service.IContractService; |
|
|
import com.ningdatech.pmapi.projectdeclared.service.IContractService; |
|
|
|
|
|
import com.ningdatech.pmapi.projectdeclared.service.IPaymentPlanService; |
|
|
import com.ningdatech.pmapi.projectdeclared.service.IPreInsAcceptancePersonService; |
|
|
import com.ningdatech.pmapi.projectdeclared.service.IPreInsAcceptancePersonService; |
|
|
import com.ningdatech.pmapi.projectdeclared.service.IPurchaseService; |
|
|
import com.ningdatech.pmapi.projectdeclared.service.IPurchaseService; |
|
|
import com.ningdatech.pmapi.projectdeclared.utils.GenerateProjectCodeUtil; |
|
|
import com.ningdatech.pmapi.projectdeclared.utils.GenerateProjectCodeUtil; |
|
@@ -66,6 +69,7 @@ import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.stereotype.Component; |
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
|
import java.math.BigDecimal; |
|
|
import java.time.LocalDateTime; |
|
|
import java.time.LocalDateTime; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
@@ -102,6 +106,8 @@ public class ProjectLibManage { |
|
|
|
|
|
|
|
|
private final IPreInsAcceptancePersonService acceptancePersonService; |
|
|
private final IPreInsAcceptancePersonService acceptancePersonService; |
|
|
|
|
|
|
|
|
|
|
|
private final IPaymentPlanService paymentPlanService; |
|
|
|
|
|
|
|
|
public PageVo<ProjectLibListItemVO> projectLibList(ProjectListReq req) { |
|
|
public PageVo<ProjectLibListItemVO> projectLibList(ProjectListReq req) { |
|
|
LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req); |
|
|
LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req); |
|
|
query.eq(Project::getNewest,Boolean.TRUE); |
|
|
query.eq(Project::getNewest,Boolean.TRUE); |
|
@@ -540,7 +546,12 @@ public class ProjectLibManage { |
|
|
Contract contract = contractService.getOne(Wrappers.lambdaQuery(Contract.class) |
|
|
Contract contract = contractService.getOne(Wrappers.lambdaQuery(Contract.class) |
|
|
.in(Contract::getProjectId, allVersionProjectId) |
|
|
.in(Contract::getProjectId, allVersionProjectId) |
|
|
.last(BizConst.LIMIT_1)); |
|
|
.last(BizConst.LIMIT_1)); |
|
|
vo.setContract(BeanUtil.copyProperties(contract, ContractVO.class)); |
|
|
|
|
|
|
|
|
ContractVO contractVO = BeanUtil.copyProperties(contract, ContractVO.class); |
|
|
|
|
|
vo.setContract(contractVO); |
|
|
|
|
|
List<PaymentPlan> payments = paymentPlanService.list(Wrappers.lambdaQuery(PaymentPlan.class) |
|
|
|
|
|
.eq(PaymentPlan::getProjectId, projectId) |
|
|
|
|
|
.orderByAsc(PaymentPlan::getPaymentTime)); |
|
|
|
|
|
contractVO.setPayments(convertPayments(payments,contractVO.getTotalAmount())); |
|
|
|
|
|
|
|
|
//查询初验信息 |
|
|
//查询初验信息 |
|
|
List<PreInsAcceptancePerson> acceptancePersons = acceptancePersonService.list(Wrappers.lambdaQuery(PreInsAcceptancePerson.class) |
|
|
List<PreInsAcceptancePerson> acceptancePersons = acceptancePersonService.list(Wrappers.lambdaQuery(PreInsAcceptancePerson.class) |
|
@@ -788,4 +799,18 @@ public class ProjectLibManage { |
|
|
|
|
|
|
|
|
return acceptancePersons.stream().map(u -> BeanUtil.copyProperties(u,PreInsAcceptancePersonVO.class)).collect(Collectors.toList()); |
|
|
return acceptancePersons.stream().map(u -> BeanUtil.copyProperties(u,PreInsAcceptancePersonVO.class)).collect(Collectors.toList()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private List<PaymentPlanVO> convertPayments(List<PaymentPlan> payments, BigDecimal totalAmount) { |
|
|
|
|
|
if(CollUtil.isEmpty(payments)){ |
|
|
|
|
|
return Collections.emptyList(); |
|
|
|
|
|
} |
|
|
|
|
|
return payments.stream().map(p -> { |
|
|
|
|
|
PaymentPlanVO vo = BeanUtil.copyProperties(p, PaymentPlanVO.class); |
|
|
|
|
|
vo.setRatio((Objects.isNull(totalAmount)||totalAmount.compareTo(BigDecimal.ZERO) == 0) ? "0%" |
|
|
|
|
|
: p.getPaymentAmount().multiply(BigDecimal.valueOf(100)) |
|
|
|
|
|
.divide(totalAmount,BigDecimal.ROUND_CEILING,BigDecimal.ROUND_CEILING) + "%"); |
|
|
|
|
|
return vo; |
|
|
|
|
|
}) |
|
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
} |
|
|
} |
|
|
} |