|
@@ -6,15 +6,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.zjugis.business.bean.dto.ContractInvoiceDto;
|
|
|
import com.zjugis.business.bean.entity.Contract;
|
|
|
import com.zjugis.business.bean.entity.ContractInvoice;
|
|
|
+import com.zjugis.business.bean.entity.ContractInvoiceRelation;
|
|
|
import com.zjugis.business.bean.entity.Customer;
|
|
|
import com.zjugis.business.bean.response.ContractInvoiceResponse;
|
|
|
import com.zjugis.business.bean.response.ContractInvoiceStaticsRespense;
|
|
|
import com.zjugis.business.constants.FlowStatusConstants;
|
|
|
import com.zjugis.business.mapper.ContractInvoiceMapper;
|
|
|
-import com.zjugis.business.service.ContractInvoiceService;
|
|
|
-import com.zjugis.business.service.ContractMilestoneService;
|
|
|
-import com.zjugis.business.service.ContractService;
|
|
|
-import com.zjugis.business.service.CustomerService;
|
|
|
+import com.zjugis.business.service.*;
|
|
|
import com.zjugis.framework.common.exception.ServiceException;
|
|
|
import com.zjugis.framework.common.pojo.CommonResult;
|
|
|
import com.zjugis.framework.security.core.util.SecurityFrameworkUtils;
|
|
@@ -25,6 +23,7 @@ import com.zjugis.module.system.api.user.AdminUserApi;
|
|
|
import com.zjugis.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDate;
|
|
|
import java.util.List;
|
|
@@ -53,6 +52,9 @@ public class ContractInvoiceServiceImpl implements ContractInvoiceService {
|
|
|
@Autowired
|
|
|
ContractMilestoneService contractMilestoneService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ ContractInvoiceRelationService contractInvoiceRelationService;
|
|
|
+
|
|
|
@Autowired
|
|
|
AdminUserApi adminUserApi;
|
|
|
|
|
@@ -105,6 +107,7 @@ public class ContractInvoiceServiceImpl implements ContractInvoiceService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public String process(String contractId) {
|
|
|
Contract contract = contractService.selectByPrimaryKey(contractId);
|
|
|
if(contract == null){
|
|
@@ -142,9 +145,21 @@ public class ContractInvoiceServiceImpl implements ContractInvoiceService {
|
|
|
invoice.setApplyDate(LocalDate.now());
|
|
|
contract.setFlowStatus(FlowStatusConstants.FLOW_NOT_START);
|
|
|
insert(invoice);
|
|
|
+ insertContractInvoiceRelation(invoice);
|
|
|
return returnUrl;
|
|
|
}
|
|
|
|
|
|
+ private void insertContractInvoiceRelation(ContractInvoice contractInvoice) {
|
|
|
+ List<Contract> contracts = contractService.selectVirtualList(contractInvoice.getContractId());
|
|
|
+ contracts.forEach(item -> {
|
|
|
+ ContractInvoiceRelation relation = new ContractInvoiceRelation();
|
|
|
+ relation.setContractId(item.getId());
|
|
|
+ relation.setContractInvoiceId(contractInvoice.getId());
|
|
|
+ relation.setContractType(item.getContractType());
|
|
|
+ contractInvoiceRelationService.insert(relation);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @param id
|
|
|
* @return
|