|
@@ -1,5 +1,6 @@
|
|
|
package com.zjugis.business.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.excel.util.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -124,21 +125,26 @@ public class ContractServiceImpl implements ContractService{
|
|
|
if(contract.getTaxHsjeTotal()!=null){
|
|
|
contract.setContractAmount(contract.getTaxHsjeTotal());
|
|
|
}
|
|
|
+
|
|
|
int count =contractMapper.updateById(contract);
|
|
|
Contract contract1=contractMapper.selectById(contract.getId());
|
|
|
List<Contract> childList = contractMapper.selectList(new QueryWrapper<Contract>(){{
|
|
|
eq("parent_id", contract.getId());
|
|
|
eq("contract_type", 4);
|
|
|
}});
|
|
|
- for(Contract child: childList){
|
|
|
- child.setContractOff(contract.getContractOff());
|
|
|
+
|
|
|
+ if(childList.size()>0){
|
|
|
+ for(Contract child: childList){
|
|
|
+ child.setContractOff(contract.getContractOff());
|
|
|
+ }
|
|
|
+ contractMapper.updateBatch(childList);
|
|
|
}
|
|
|
- contractMapper.updateBatch(childList);
|
|
|
ProjectAmount projectAmounts = projectAmountService.selectById(contract1.getProjectId());
|
|
|
//更新PROJECT_AMOUNT表
|
|
|
ProjectAmount projectAmount=new ProjectAmount();
|
|
|
projectAmount.setProjectId(contract1.getProjectId());
|
|
|
- projectAmount.setContractAmount(contractMapper.getSumContractById(contract1.getProjectId()));
|
|
|
+ BigDecimal contractAmount = contractMapper.getSumContractById(contract1.getProjectId());
|
|
|
+ projectAmount.setContractAmount(contractAmount);
|
|
|
projectAmount.setContractBalance(projectAmount.getContractAmount().subtract(projectAmounts.getReceivableAmount()).subtract(projectAmounts.getReturnAmount()));
|
|
|
projectAmount.setUpdateTime(LocalDateTime.now());
|
|
|
projectAmountMapper.updateById(projectAmount);
|
|
@@ -156,6 +162,12 @@ public class ContractServiceImpl implements ContractService{
|
|
|
projectAmount2.setProjectId(contract1.getProjectId());
|
|
|
projectAmount2.setVirtualAmount(child);
|
|
|
projectAmountMapper.updateById(projectAmount2);
|
|
|
+ } else {
|
|
|
+ //将虚拟合同额设置成合同额一样
|
|
|
+ contract.setVirtualAmount(contract.getContractAmount());
|
|
|
+ contractMapper.updateById(contract);
|
|
|
+ projectAmount.setVirtualAmount(contractAmount);
|
|
|
+ projectAmountMapper.updateById(projectAmount);
|
|
|
}
|
|
|
}
|
|
|
return count;
|
|
@@ -297,13 +309,17 @@ public class ContractServiceImpl implements ContractService{
|
|
|
resp.setSubToPay(subToPayDto.getSubToPay());
|
|
|
resp.setOutToPay(subToPayDto.getOutToPay());
|
|
|
ContractInfoResp cost = projectAmountService.selectCostSum(projectAmountDto);
|
|
|
- resp.setPaymentCost(cost.getPaymentCost());
|
|
|
- resp.setReimbursementCost(cost.getReimbursementCost());
|
|
|
- resp.setTravelCost(cost.getTravelCost());
|
|
|
+ if(ObjectUtil.isNotNull(cost)){
|
|
|
+ resp.setPaymentCost(cost.getPaymentCost());
|
|
|
+ resp.setReimbursementCost(cost.getReimbursementCost());
|
|
|
+ resp.setTravelCost(cost.getTravelCost());
|
|
|
+ }
|
|
|
UseMoneyDeptRespVO paymentCost = useMoneyService.getDataByDeptId(new ArrayList<>(deptPermissions.getDeptIds()));
|
|
|
BigDecimal commonCost = commonCostService.getPaymentCost(infoRequest.getYear(), deptPermissions.getDeptIds());
|
|
|
BigDecimal travelCost = travelCostService.getTravelCost(infoRequest.getYear(), deptPermissions.getDeptIds());
|
|
|
- resp.setPaymentCost(paymentCost.getAmount());
|
|
|
+ if(ObjectUtil.isNotNull(paymentCost)){
|
|
|
+ resp.setPaymentCost(paymentCost.getAmount());
|
|
|
+ }
|
|
|
resp.setTravelCost(travelCost);
|
|
|
resp.setReimbursementCost(commonCost);
|
|
|
return resp;
|
|
@@ -404,9 +420,11 @@ public class ContractServiceImpl implements ContractService{
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<ManageSegmentDto> infoGroupBySegment() {
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
- String year = String.valueOf(calendar.get(Calendar.YEAR));
|
|
|
+ public List<ManageSegmentDto> infoGroupBySegment(String year) {
|
|
|
+ if(StringUtils.isBlank(year)) {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ year = String.valueOf(calendar.get(Calendar.YEAR));
|
|
|
+ }
|
|
|
List<ManageSegmentDto> returnDtos = contractMapper.returnGroupBySegment(year);
|
|
|
List<ManageSegmentDto> signDtos = contractMapper.signGroupBySegment(year);
|
|
|
List<ManageSegmentDto> newDtos = contractMapper.newGroupBySegment(year);
|
|
@@ -432,9 +450,11 @@ public class ContractServiceImpl implements ContractService{
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<ManageDeptDto> infoGroupByDept() {
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
- String year = String.valueOf(calendar.get(Calendar.YEAR));
|
|
|
+ public List<ManageDeptDto> infoGroupByDept(String year) {
|
|
|
+ if(StringUtils.isBlank(year)) {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ year = String.valueOf(calendar.get(Calendar.YEAR));
|
|
|
+ }
|
|
|
List<ManageDeptDto> returnDtos = contractMapper.returnGroupByDept(year);
|
|
|
List<ManageDeptDto> signDtos = contractMapper.signGroupByDept(year);
|
|
|
List<ManageDeptDto> newDtos = contractMapper.newGroupByDept(year);
|
|
@@ -460,9 +480,11 @@ public class ContractServiceImpl implements ContractService{
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<ManagePersonDto> infoGroupByPerson() {
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
- String year = String.valueOf(calendar.get(Calendar.YEAR));
|
|
|
+ public List<ManagePersonDto> infoGroupByPerson(String year) {
|
|
|
+ if(StringUtils.isBlank(year)) {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ year = String.valueOf(calendar.get(Calendar.YEAR));
|
|
|
+ }
|
|
|
List<ManagePersonDto> manageDtos = contractMapper.signGroupByPerson(year);
|
|
|
List<ManagePersonDto> returnDtos = contractMapper.returnGroupByPerson(year);
|
|
|
List<ManagePersonDto> newDtos = contractMapper.newGroupByPerson(year);
|