From 19e273f57444b1a68ce8c8f9ad776e47aaea7b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 8 Oct 2021 16:02:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E5=87=BA=E5=90=88=E5=90=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=AD=BE=E8=AE=A2=E5=8D=95=E4=BD=8D=EF=BC=8C=E8=81=94?= =?UTF-8?q?=E7=B3=BB=E4=BA=BA=E4=B8=8D=E5=81=9A=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PayIncomeContractServiceImpl.java | 45 ++-- .../impl/PaySpendingContractServiceImpl.java | 212 ++++-------------- 2 files changed, 72 insertions(+), 185 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index d21f0af2..c031c6fb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -404,10 +404,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPayPackCompanyProject = new LambdaQueryWrapper<>(); + queryPayPackCompanyProject.eq(PayPackCompanyProject::getProjectId,payMeetingSituation.getId()); + queryPayPackCompanyProject.eq(PayPackCompanyProject::getCome,PayIncomeContractCommon.COME1); + List listPayPackCompanyProject = payPackCompanyProjectService.list(queryPayPackCompanyProject); + // 存在数据,取消打包,变更项目打包状态, 否则不进行操作 + if(!CollectionUtils.isEmpty(listPayPackCompanyProject)){ + payPackCompanyProjectService.removeById(listPayPackCompanyProject.get(0).getId()); + } + } break; case PayIncomeContractCommon.PROJECT_TYPE4: // 会员项目 @@ -865,20 +880,20 @@ public class PayIncomeContractServiceImpl extends ServiceImpl list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.CWRY)); if(!CollectionUtils.isEmpty(list)){ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java index 0bf77050..73664202 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java @@ -9,13 +9,7 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.util.DateUtils; import com.jero.common.util.ValidUtil; -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.contract.common.PayIncomeContractCommon; -import com.jero.contract.entity.PayIncomeContract; -import com.jero.contract.entity.PayIncomeContractInstallment; import com.jero.contract.entity.PaySpendingContract; import com.jero.contract.entity.PaySpendingContractInstallment; import com.jero.contract.mapper.PaySpendingContractMapper; @@ -23,25 +17,17 @@ import com.jero.contract.service.IPaySpendingContractInstallmentService; import com.jero.contract.service.IPaySpendingContractService; import com.jero.contract.vo.PaySpendingContractImportExcel; import com.jero.contract.vo.PaySpendingContractInput; -import com.jero.modules.system.entity.SysDepart; import com.jero.modules.system.entity.SysUser; -import com.jero.modules.system.service.ISysDepartService; import com.jero.modules.system.service.ISysUserService; -import com.jero.temporary.entity.PayCompanyManagementTemporary; -import com.jero.temporary.entity.PayContactsManagementTemporary; -import com.jero.temporary.service.IPayCompanyManagementTemporaryService; -import com.jero.temporary.service.IPayContactsManagementTemporaryService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFCell; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; - import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.InputStream; @@ -50,7 +36,6 @@ import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -65,26 +50,16 @@ import java.util.stream.Collectors; @Service public class PaySpendingContractServiceImpl extends ServiceImpl implements IPaySpendingContractService { - @Autowired + @Resource private IPaySpendingContractInstallmentService paySpendingContractInstallmentService; - @Autowired + @Resource private IPaySpendingContractService paySpendingContractService; - @Autowired - private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService; - @Autowired - private IPayContactsManagementTemporaryService payContactsManagementTemporaryService; - @Autowired + @Resource private ISysUserService sysUserService; - @Autowired + @Resource private ISysBaseAPI sysBaseAPI; @Resource private PaySpendingContractMapper paySpendingContractMapper; - @Autowired - private IPayCompanyManagementService payCompanyManagementService; - @Autowired - private IPayContactsManagementService payContactsManagementService; - @Autowired - private ISysDepartService sysDepartService; @Override @@ -125,7 +100,13 @@ public class PaySpendingContractServiceImpl extends ServiceImpl mapOpening = sysBaseAPI.queryDictItemsMapByCode("yn"); -// Map mapAccountStatus = sysBaseAPI.queryDictItemsMapByCode("revenue_contract_account_status"); Map mapPack = sysBaseAPI.queryDictItemsMapByCode("yn"); StringBuilder sb = new StringBuilder(); List listPaySpendingContractImportExcel = new ArrayList<>(); @@ -312,9 +298,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl 0){ Pattern p = Pattern.compile("[0-9]*"); @@ -326,12 +310,12 @@ public class PaySpendingContractServiceImpl extends ServiceImpl listPaySpendingContractInstallment = new ArrayList<>(); Pattern pattern = Pattern.compile("[0-9]*\\.?[0-9]+"); for (int i = 0; i < count2; i++) { - if(StringUtils.isBlank(sub.get(listSpendingContract.size() + (i * 5) + 0))){ + if(StringUtils.isBlank(sub.get(listSpendingContract.size() + (i * 5)))){ continue; } int mm = listSpendingContract.size() + (i * listSpendingContractInstallment.size()); PaySpendingContractInstallment paySpendingContractInstallment = new PaySpendingContractInstallment(); - paySpendingContractInstallment.setPhaseName(sub.get(mm + 0)); + paySpendingContractInstallment.setPhaseName(sub.get(mm)); if(!StringUtils.isBlank(sub.get(mm + 1))){ if(!pattern.matcher(sub.get(mm + 1)).matches()){ sb.append("第").append(n + 1).append("行,").append(i+1).append("期应收金额格式错误!"); @@ -362,12 +346,10 @@ public class PaySpendingContractServiceImpl extends ServiceImpl queryDBContractNum = new LambdaQueryWrapper<>(); queryDBContractNum.in(PaySpendingContract::getContractNum,listContractNum); List listDBContractNum = paySpendingContractService.list(queryDBContractNum); - - // 获取excel签订单位 - List listSignedCompanyTemporaryName = listPaySpendingContractData.stream().map(PaySpendingContract::getSignedCompanyTemporaryName).collect(Collectors.toList()); - LambdaQueryWrapper queryDBSignedCompanyTemporaryName = new LambdaQueryWrapper<>(); - queryDBSignedCompanyTemporaryName.in(PayCompanyManagement::getCompanyName,listSignedCompanyTemporaryName); - List listDBSignedCompanyTemporaryName = payCompanyManagementService.list(queryDBSignedCompanyTemporaryName); - - // 获取excel签订单位联系人 - List listSignedContactsTemporaryName = listPaySpendingContractData.stream().map(PaySpendingContract::getSignedContactsTemporaryName).collect(Collectors.toList()); - LambdaQueryWrapper queryDBSignedContactsTemporaryName = new LambdaQueryWrapper<>(); - queryDBSignedContactsTemporaryName.in(PayContactsManagement::getName,listSignedContactsTemporaryName); - List listDBSignedContactsTemporaryName = payContactsManagementService.list(queryDBSignedContactsTemporaryName); - // 获取excel负责人 List listDBPrincipalName = sysUserService.list(); // 校验excel中是否存在重复合同编号 List listPaySpendingContract = new ArrayList<>(); listPaySpendingContractImportExcel.forEach(p->{ - int n = listPaySpendingContractImportExcel.indexOf(p); + int n = listPaySpendingContractImportExcel.indexOf(p) + 2; // 校验合同信息 PaySpendingContract paySpendingContract = p.getSpendingContract(); // 校验excel中是否存在重复合同编号 @@ -429,43 +398,16 @@ public class PaySpendingContractServiceImpl extends ServiceImpl listDB = listDBSignedCompanyTemporaryName.stream().filter(item-> - Objects.equals(item.getCompanyName(),paySpendingContract.getSignedCompanyTemporaryName())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listDB)){ - sb.append("第").append(n + 1).append("行,签订单位不存在,请修改!"); - }else{ - paySpendingContract.setSignedCompanyId(listDB.get(0).getId()); - } - }else{ - sb.append("第").append(n + 1).append("行,签订单位不能为空,请修改!"); - } - // 验证数据库中是否存在签订单位联系人 - if(!StringUtils.isBlank(paySpendingContract.getSignedCompanyTemporaryName())){ - if(!StringUtils.isBlank(paySpendingContract.getSignedCompanyId())){ - List listDB = listDBSignedContactsTemporaryName.stream().filter(item-> - Objects.equals(item.getCompanyName(),paySpendingContract.getSignedCompanyTemporaryName()) - && Objects.equals(item.getCompanyId(),paySpendingContract.getSignedCompanyId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listDB)){ - sb.append("第").append(n + 1).append("行,签订企业下签订单位联系人不存在,请修改!"); - }else{ - paySpendingContract.setSignedContactsId(listDB.get(0).getId()); - } - } - }else{ - sb.append("第").append(n + 1).append("行,签订单位联系人不能为空,请修改!"); - } // 验证数据库中是否存在负责人 if(!StringUtils.isBlank(paySpendingContract.getContractName())){ List listDB = listDBPrincipalName.stream().filter(item-> - Objects.equals(item.getUsername(),paySpendingContract.getPrincipalName())).collect(Collectors.toList()); + Objects.equals(item.getRealname(),paySpendingContract.getPrincipalName())).collect(Collectors.toList()); if(CollectionUtils.isEmpty(listDB)){ sb.append("第").append(n + 1).append("行,负责人不存在,请修改!"); }else{ paySpendingContract.setPrincipalId(listDB.get(0).getId()); // 验证数据库中是否存在部门名称 - Map useDepNames = sysUserService.getDepNamesByUserIds(Arrays.asList(listDB.get(0).getId())); + Map useDepNames = sysUserService.getDepNamesByUserIds(Collections.singletonList(listDB.get(0).getId())); if(!Objects.isNull(useDepNames)){ if(!Objects.equals(useDepNames.get(listDB.get(0).getId()),paySpendingContract.getDepartmentName())){ sb.append("第").append(n + 1).append("行,部门名称不存在,请修改!"); @@ -483,7 +425,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl listPaySpendingContractInstallment = p.getListInstallment(); @@ -491,7 +433,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl{ int c = listPaySpendingContractInstallment.indexOf(item) + 1; if(!Objects.isNull(item.getAccountsReceivableAmount()) && !Objects.isNull(item.getPaidAmount()) - && item.getAccountsReceivableAmount().compareTo(item.getPaidAmount()) == -1){ + && item.getAccountsReceivableAmount().compareTo(item.getPaidAmount()) < 0){ sb.append("第").append(n + 1).append("行,").append(c).append("期应收金额大于已收金额,请修改!"); } StringBuilder msg = ValidUtil.validateExcel(item,n + 1); @@ -505,20 +447,27 @@ public class PaySpendingContractServiceImpl extends ServiceImpl{ PaySpendingContract paySpendingContract = p.getSpendingContract(); paySpendingContract.setOutstandingAmount(paySpendingContract.getAccountsReceivableAmount().subtract(paySpendingContract.getAmountReceived())); if(paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == 0){ paySpendingContract.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS3); - }else if(paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == 1 - && paySpendingContract.getAmountReceived().compareTo(new BigDecimal("0.00")) != 0){ + }else if(paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) > 0 + && paySpendingContract.getAmountReceived().compareTo(new BigDecimal("0.00")) != 0){ paySpendingContract.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS2); }else{ paySpendingContract.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS1); } paySpendingContract.setNoTaxAmount((Objects.isNull(paySpendingContract.getContractAmount()) ? new BigDecimal("0.00") : paySpendingContract.getContractAmount()).divide(new BigDecimal("1").add(paySpendingContract.getRate().divide(new BigDecimal("100"))),2,BigDecimal.ROUND_HALF_UP)); - setPaySpendingContractAdd(paySpendingContract); + // 负责人名称 + SysUser principalName = sysUserService.getById(paySpendingContract.getPrincipalId()); + if(Objects.isNull(principalName)){ + throw new JeroBootException("负责人名称为空!"); + } + paySpendingContract.setPrincipalId(principalName.getId()); + paySpendingContract.setPrincipalName(principalName.getRealname()); paySpendingContractService.save(paySpendingContract); List listPaySpendingContractInstallment = p.getListInstallment(); if(!CollectionUtils.isEmpty(listPaySpendingContractInstallment)){ @@ -542,7 +491,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl map,Map mapOpening,Map mapPack, - int n,StringBuilder sb){ + int n,StringBuilder sb){ Pattern pattern = Pattern.compile("[0-9]*\\.?[0-9]+"); PaySpendingContract paySpendingContract = new PaySpendingContract(); paySpendingContract.setContractNum(map.get(0)); @@ -628,12 +577,13 @@ public class PaySpendingContractServiceImpl extends ServiceImpl