fix 解决工作组成员复制后税额问题
This commit is contained in:
+1
@@ -241,6 +241,7 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
* @param payWorkingGroup 工作组项目
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "工作组项目-复制",operateType = 2)
|
||||
@RequiresPermissions("workingGroupProject:copy")
|
||||
@ApiOperation(value="工作组项目-复制", notes="工作组项目-复制")
|
||||
@PostMapping(value = "/copy")
|
||||
|
||||
+12
-1
@@ -17,6 +17,7 @@ import com.jero.common.service.RolePermissionService;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -44,6 +45,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -298,10 +300,19 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
p.setCreateTime(null);
|
||||
p.setUpdateBy(null);
|
||||
p.setUpdateTime(null);
|
||||
if(!Objects.isNull(p.getReceivableAmount()) && p.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
|
||||
BigDecimal receivableAmount = p.getReceivableAmount();
|
||||
if(!Objects.isNull(receivableAmount) && receivableAmount.compareTo(new BigDecimal("0")) > 0){
|
||||
p.setPaymentStatus(PayProjectCommon.PAYMENT_STATUS);
|
||||
BigDecimal noTaxAmount = receivableAmount.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
BigDecimal tax = receivableAmount.subtract(noTaxAmount);
|
||||
p.setTaxRate(StaticConfig.TAX_RATE);
|
||||
p.setNoTaxAmount(noTaxAmount);
|
||||
p.setTax(tax);
|
||||
}else{
|
||||
p.setPaymentStatus(null);
|
||||
p.setTaxRate(StaticConfig.TAX_RATE);
|
||||
p.setNoTaxAmount(BigDecimal.ZERO);
|
||||
p.setTax(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
p.setWorkingGroupId(payWorkingGroupOld.getId());
|
||||
|
||||
+9
@@ -24,6 +24,7 @@ import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
@@ -69,6 +70,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -429,6 +431,13 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
payWorkingGroupSubItem.setPaymentStatus(paymentStatus);
|
||||
payWorkingGroupSubItem.setInAccount(null);
|
||||
payWorkingGroupSubItem.setPaidAmount(null);
|
||||
|
||||
BigDecimal taxRate = payWorkingGroupSubItem.getTaxRate();
|
||||
BigDecimal receivableAmount = payWorkingGroupSubItem.getReceivableAmount();
|
||||
BigDecimal noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
BigDecimal tax = receivableAmount.subtract(noTaxAmount);
|
||||
payWorkingGroupSubItem.setNoTaxAmount(noTaxAmount);
|
||||
payWorkingGroupSubItem.setTax(tax);
|
||||
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId, workingGroupSubItemId);
|
||||
|
||||
Reference in New Issue
Block a user