|
@@ -2,6 +2,7 @@ package com.zjugis.business.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.zjugis.business.bean.dto.AmountDto;
|
|
|
import com.zjugis.business.bean.dto.ProjectDto;
|
|
|
import com.zjugis.business.bean.entity.Contract;
|
|
|
import com.zjugis.business.bean.entity.Project;
|
|
@@ -12,6 +13,8 @@ import com.zjugis.business.bean.response.ProjectResponse;
|
|
|
import com.zjugis.business.bean.response.SumResponse;
|
|
|
import com.zjugis.business.mapper.ContractMapper;
|
|
|
import com.zjugis.business.mapper.ProjectMapper;
|
|
|
+import com.zjugis.business.service.ContractInvoiceService;
|
|
|
+import com.zjugis.business.service.ContractReturnMoneyService;
|
|
|
import com.zjugis.business.service.ContractService;
|
|
|
import com.zjugis.business.service.ProjectService;
|
|
|
import com.zjugis.framework.workflow.rpc.remote.WorkflowClient;
|
|
@@ -46,6 +49,12 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
@Autowired
|
|
|
ContractService contractService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ ContractInvoiceService contractInvoiceService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ContractReturnMoneyService contractReturnMoneyService;
|
|
|
+
|
|
|
@Autowired
|
|
|
ContractMapper contractMapper;
|
|
|
|
|
@@ -109,6 +118,9 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
ProjectResponse parent = projects.get(0);
|
|
|
Contract contract = contractService.selectMainByProject(parent.getId());
|
|
|
parent.setContractAmount(contract.getContractAmount());
|
|
|
+ AmountDto amountDto = contractService.selectReceivableAmount(contract.getId());
|
|
|
+ parent.setReceivableAmount(amountDto.getInvoiceAmount().subtract(amountDto.getReturnAmount()));
|
|
|
+ parent.setContractBalance(contract.getContractAmount().subtract(parent.getReceivableAmount()).subtract(amountDto.getReturnAmount()));
|
|
|
projects.remove(0);
|
|
|
parent.setChildren(projects);
|
|
|
return parent;
|
|
@@ -151,12 +163,24 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
|
|
|
private void updateVirtualContract(Project child) {
|
|
|
Contract contract = new Contract();
|
|
|
+ String pid = child.getPid();
|
|
|
+ Contract mainContract = contractService.selectMainByProject(pid);
|
|
|
contract.setProjectId(child.getId());
|
|
|
contract.setVirtualAmount(child.getOutputValue());
|
|
|
+ contract.setContractAmount(mainContract.getContractAmount());
|
|
|
+ contract.setContractNumber(mainContract.getContractNumber());
|
|
|
+ contract.setName(mainContract.getName());
|
|
|
+ contract.setSignWay(mainContract.getSignWay());
|
|
|
+ contract.setIsSign(mainContract.getIsSign());
|
|
|
+ contract.setMainType(mainContract.getMainType());
|
|
|
+ contract.setSecondType(mainContract.getSecondType());
|
|
|
+ contract.setAmountStatus(mainContract.getAmountStatus());
|
|
|
+ contract.setAssigneeName(mainContract.getAssigneeName());
|
|
|
+ contract.setContractOn(mainContract.getContractOn());
|
|
|
+ contract.setContractOff(mainContract.getContractOff());
|
|
|
+
|
|
|
contractService.insert(contract);
|
|
|
- String pid = child.getPid();
|
|
|
BigDecimal childrenOutput = projectMapper.selectChildrenOutputValue(pid);
|
|
|
- Contract mainContract = contractService.selectMainByProject(pid);
|
|
|
if(mainContract != null){
|
|
|
BigDecimal mainAmount = mainContract.getContractAmount().subtract(childrenOutput);
|
|
|
mainContract.setVirtualAmount(mainAmount);
|