From ac1825f0fca935314b16c7088a17736b18077ecf Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 19 Jul 2024 14:36:09 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=88=A4=E6=96=AD=E6=89=93=E5=8C=85?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayCompanyManagementController.java | 1 + .../controller/PayPackCompanyController.java | 12 +- .../PayPackCompanyProjectServiceImpl.java | 301 ++++++++++-------- 3 files changed, 173 insertions(+), 141 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java index a5ac1aac..17b572a8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java @@ -1111,6 +1111,7 @@ public class PayCompanyManagementController extends JeroController judgeCompanyIsPackaged(@RequestParam(name="companyId") String companyId){ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java index c203e062..7f27cc7b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java @@ -7,6 +7,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -16,6 +17,7 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.util.oConvertUtils; +import com.jero.company.entity.PayCompanyManagement; import com.jero.mail.entity.PayMailBillProject; import com.jero.mail.service.IPayMailBillProjectService; import com.jero.pack.entity.PayPackCompany; @@ -304,7 +306,15 @@ public class PayPackCompanyController extends JeroController judgeCompanyIsPackaged(@RequestParam(name="companyId") String companyId){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayPackCompany::getCompanyId,companyId); + wrapper.eq(PayPackCompany::getPackYear, DateUtil.thisYear()); + List list = payPackCompanyService.list(wrapper); + return Result.OK(!list.isEmpty()) ; + } /** * 导出excel diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java index 9b3609e4..94a0eaf4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java @@ -17,8 +17,12 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.config.StaticConfig; import com.jero.contract.common.PayIncomeContractCommon; +import com.jero.meeting.common.MeetingSubitemCommon; +import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.mapper.PayMeetingSituationMapper; +import com.jero.meeting.service.IPayMeetingService; +import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.member.entity.PayMemberProject; import com.jero.member.entity.PayMemberProjectSubitem; import com.jero.member.entity.TbCertificatePayment; @@ -106,7 +110,10 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl queryListAll(PayPackCompanyProjectInput input) { @@ -415,145 +422,145 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayPackCompany::getPackYear,"2024"); - List packCompanyList = payPackCompanyService.list(wrapper); - List packCompanyIdList = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList()); - - LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); - wrapper1.in(PayPackCompanyProject::getPackId,packCompanyIdList); - List list = this.list(wrapper1); - ExecutorService fixedThreadPool = ThreadUtil.newExecutor(10); - for (PayPackCompanyProject project : list) { - fixedThreadPool.submit(() -> { - String projectId = project.getProjectId(); - String projectType = project.getProjectType().toString(); - // 普通项目 - if (PayIncomeContractCommon.PROJECT_TYPE1.equals(projectType)){ - PayCommonProject old = payCommonProjectMapper.selectById(projectId); - if (old == null) { - throw new JeroBootException("项目不存在"); - } - if (!new BigDecimal("0.00").equals(old.getReceivableAmount())) { - return; - } - PayCommonProject payCommonProject = null; - //普通项目管理-添加 - List jsonObjects = sysBaseAPI.getLogByRequestParam(projectId); - if (jsonObjects.isEmpty()) { - return; - } - for (JSONObject jsonObject : jsonObjects) { - String logContent = jsonObject.getString("logContent"); - if ("普通项目管理-添加".equals(logContent)) { - String requestParam = jsonObject.getString("requestParam"); - requestParam = requestParam.substring(1, requestParam.length() - 1); - payCommonProject = JSONObject.parseObject(requestParam, PayCommonProject.class); - } - } - if (payCommonProject == null) { - return; - } - PayCommonProject project1 = new PayCommonProject(); - project1.setId(projectId); - project1.setReceivableAmount(payCommonProject.getReceivableAmount()); - project1.setNoTaxAmount(payCommonProject.getNoTaxAmount()); - project1.setTax(payCommonProject.getTax()); - payCommonProjectMapper.updateById(project1); - }else if (PayIncomeContractCommon.PROJECT_TYPE2.equals(projectType)){ - // 工作组项目 - //工作组成员-修改 工作组成员-添加 - PayWorkingGroupSubItem old1 = payWorkingGroupSubItemMapper.selectById(projectId); - if (old1 == null) { - throw new JeroBootException("项目不存在"); - } - if (!new BigDecimal("0.00").equals(old1.getReceivableAmount())) { - return; - } - String workingGroupId = old1.getWorkingGroupId(); - PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroupId); - BigDecimal yearChargeA = payWorkingGroup.getYearChargeA(); - if (yearChargeA == null || new BigDecimal("0.00").equals(yearChargeA)) { - yearChargeA = new BigDecimal("0.00"); - } - PayWorkingGroupSubItem payWorking = null; - List jsonObjects1 = sysBaseAPI.getLogByRequestParam(projectId); - for (JSONObject jsonObject : jsonObjects1) { - String logContent = jsonObject.getString("logContent"); - if ("工作组成员-添加".equals(logContent) || "工作组成员-修改".equals(logContent) || "企业端-工作组成员-修改".equals(logContent)) { - String requestParam = jsonObject.getString("requestParam"); - requestParam = requestParam.substring(1, requestParam.length() - 1); - PayWorkingGroupSubItem obj = JSONObject.parseObject(requestParam, PayWorkingGroupSubItem.class); - BigDecimal receivableAmount = obj.getReceivableAmount(); - if (new BigDecimal("0.00").equals(receivableAmount) || receivableAmount == null) { - return; - } else { - payWorking = obj; - } - } - } - if (payWorking == null) { - - PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem(); - project2.setId(projectId); - - project2.setReceivableAmount(yearChargeA); - BigDecimal noTaxAmount = yearChargeA.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP); - project2.setNoTaxAmount(noTaxAmount); - project2.setTax(yearChargeA.subtract(noTaxAmount)); - payWorkingGroupSubItemMapper.updateById(project2); - } else { - PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem(); - project2.setId(projectId); - project2.setReceivableAmount(payWorking.getReceivableAmount()); - project2.setNoTaxAmount(payWorking.getNoTaxAmount()); - project2.setTax(payWorking.getTax()); - payWorkingGroupSubItemMapper.updateById(project2); - } - }else if (PayIncomeContractCommon.PROJECT_TYPE4.equals(projectType)){ - //会员项目 - PayMemberProjectSubitem old2 = payMemberProjectSubitemMapper.selectById(projectId); - if (old2 == null) { - throw new JeroBootException("项目不存在"); - } - if (!new BigDecimal("0.00").equals(old2.getAmountReceivable())) { - return; - } - String memberProjectId = old2.getProjectId(); - PayMemberProject memberProject = payMemberProjectService.getById(memberProjectId); - PayMemberProjectSubitem member = new PayMemberProjectSubitem(); - member.setId(projectId); - member.setAmountReceivable(memberProject.getChargeStandard()); - BigDecimal noTaxAmount = memberProject.getChargeStandard().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP); - member.setNoTaxAmount(noTaxAmount); - member.setTax(memberProject.getChargeStandard().subtract(noTaxAmount)); - payMemberProjectSubitemMapper.updateById(member); - }else if (PayIncomeContractCommon.PROJECT_TYPE5.equals(projectType)){ - //标协会员 - TbMemberProjectSubitem old3 = tbMemberProjectSubitemMapper.selectById(projectId); - if (old3 == null) { - throw new JeroBootException("项目不存在"); - } - if (!new BigDecimal("0.00").equals(old3.getAmountReceivable())) { - return; - } - TbMemberProjectSubitem tbMember = new TbMemberProjectSubitem(); - Integer memberNature = old3.getMemberNature(); - BigDecimal amountReceivable = null; - if (memberNature.equals(1)) { - amountReceivable = new BigDecimal("5000"); - } else { - amountReceivable = new BigDecimal("2000"); - } - tbMember.setId(projectId); - tbMember.setAmountReceivable(amountReceivable); - BigDecimal noTaxAmount1 = amountReceivable.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP); - tbMember.setNoTaxAmount(noTaxAmount1); - tbMember.setTax(amountReceivable.subtract(noTaxAmount1)); - tbMemberProjectSubitemMapper.updateById(tbMember); - } - }); - } + //LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //wrapper.eq(PayPackCompany::getPackYear,"2024"); + //List packCompanyList = payPackCompanyService.list(wrapper); + //List packCompanyIdList = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList()); + // + //LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + //wrapper1.in(PayPackCompanyProject::getPackId,packCompanyIdList); + //List list = this.list(wrapper1); + //ExecutorService fixedThreadPool = ThreadUtil.newExecutor(10); + //for (PayPackCompanyProject project : list) { + // fixedThreadPool.submit(() -> { + // String projectId = project.getProjectId(); + // String projectType = project.getProjectType().toString(); + // // 普通项目 + // if (PayIncomeContractCommon.PROJECT_TYPE1.equals(projectType)){ + // PayCommonProject old = payCommonProjectMapper.selectById(projectId); + // if (old == null) { + // throw new JeroBootException("项目不存在"); + // } + // if (!new BigDecimal("0.00").equals(old.getReceivableAmount())) { + // return; + // } + // PayCommonProject payCommonProject = null; + // //普通项目管理-添加 + // List jsonObjects = sysBaseAPI.getLogByRequestParam(projectId); + // if (jsonObjects.isEmpty()) { + // return; + // } + // for (JSONObject jsonObject : jsonObjects) { + // String logContent = jsonObject.getString("logContent"); + // if ("普通项目管理-添加".equals(logContent)) { + // String requestParam = jsonObject.getString("requestParam"); + // requestParam = requestParam.substring(1, requestParam.length() - 1); + // payCommonProject = JSONObject.parseObject(requestParam, PayCommonProject.class); + // } + // } + // if (payCommonProject == null) { + // return; + // } + // PayCommonProject project1 = new PayCommonProject(); + // project1.setId(projectId); + // project1.setReceivableAmount(payCommonProject.getReceivableAmount()); + // project1.setNoTaxAmount(payCommonProject.getNoTaxAmount()); + // project1.setTax(payCommonProject.getTax()); + // payCommonProjectMapper.updateById(project1); + // }else if (PayIncomeContractCommon.PROJECT_TYPE2.equals(projectType)){ + // // 工作组项目 + // //工作组成员-修改 工作组成员-添加 + // PayWorkingGroupSubItem old1 = payWorkingGroupSubItemMapper.selectById(projectId); + // if (old1 == null) { + // throw new JeroBootException("项目不存在"); + // } + // if (!new BigDecimal("0.00").equals(old1.getReceivableAmount())) { + // return; + // } + // String workingGroupId = old1.getWorkingGroupId(); + // PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroupId); + // BigDecimal yearChargeA = payWorkingGroup.getYearChargeA(); + // if (yearChargeA == null || new BigDecimal("0.00").equals(yearChargeA)) { + // yearChargeA = new BigDecimal("0.00"); + // } + // PayWorkingGroupSubItem payWorking = null; + // List jsonObjects1 = sysBaseAPI.getLogByRequestParam(projectId); + // for (JSONObject jsonObject : jsonObjects1) { + // String logContent = jsonObject.getString("logContent"); + // if ("工作组成员-添加".equals(logContent) || "工作组成员-修改".equals(logContent) || "企业端-工作组成员-修改".equals(logContent)) { + // String requestParam = jsonObject.getString("requestParam"); + // requestParam = requestParam.substring(1, requestParam.length() - 1); + // PayWorkingGroupSubItem obj = JSONObject.parseObject(requestParam, PayWorkingGroupSubItem.class); + // BigDecimal receivableAmount = obj.getReceivableAmount(); + // if (new BigDecimal("0.00").equals(receivableAmount) || receivableAmount == null) { + // return; + // } else { + // payWorking = obj; + // } + // } + // } + // if (payWorking == null) { + // + // PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem(); + // project2.setId(projectId); + // + // project2.setReceivableAmount(yearChargeA); + // BigDecimal noTaxAmount = yearChargeA.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP); + // project2.setNoTaxAmount(noTaxAmount); + // project2.setTax(yearChargeA.subtract(noTaxAmount)); + // payWorkingGroupSubItemMapper.updateById(project2); + // } else { + // PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem(); + // project2.setId(projectId); + // project2.setReceivableAmount(payWorking.getReceivableAmount()); + // project2.setNoTaxAmount(payWorking.getNoTaxAmount()); + // project2.setTax(payWorking.getTax()); + // payWorkingGroupSubItemMapper.updateById(project2); + // } + // }else if (PayIncomeContractCommon.PROJECT_TYPE4.equals(projectType)){ + // //会员项目 + // PayMemberProjectSubitem old2 = payMemberProjectSubitemMapper.selectById(projectId); + // if (old2 == null) { + // throw new JeroBootException("项目不存在"); + // } + // if (!new BigDecimal("0.00").equals(old2.getAmountReceivable())) { + // return; + // } + // String memberProjectId = old2.getProjectId(); + // PayMemberProject memberProject = payMemberProjectService.getById(memberProjectId); + // PayMemberProjectSubitem member = new PayMemberProjectSubitem(); + // member.setId(projectId); + // member.setAmountReceivable(memberProject.getChargeStandard()); + // BigDecimal noTaxAmount = memberProject.getChargeStandard().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP); + // member.setNoTaxAmount(noTaxAmount); + // member.setTax(memberProject.getChargeStandard().subtract(noTaxAmount)); + // payMemberProjectSubitemMapper.updateById(member); + // }else if (PayIncomeContractCommon.PROJECT_TYPE5.equals(projectType)){ + // //标协会员 + // TbMemberProjectSubitem old3 = tbMemberProjectSubitemMapper.selectById(projectId); + // if (old3 == null) { + // throw new JeroBootException("项目不存在"); + // } + // if (!new BigDecimal("0.00").equals(old3.getAmountReceivable())) { + // return; + // } + // TbMemberProjectSubitem tbMember = new TbMemberProjectSubitem(); + // Integer memberNature = old3.getMemberNature(); + // BigDecimal amountReceivable = null; + // if (memberNature.equals(1)) { + // amountReceivable = new BigDecimal("5000"); + // } else { + // amountReceivable = new BigDecimal("2000"); + // } + // tbMember.setId(projectId); + // tbMember.setAmountReceivable(amountReceivable); + // BigDecimal noTaxAmount1 = amountReceivable.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP); + // tbMember.setNoTaxAmount(noTaxAmount1); + // tbMember.setTax(amountReceivable.subtract(noTaxAmount1)); + // tbMemberProjectSubitemMapper.updateById(tbMember); + // } + // }); + //} //if (!fixedThreadPool.isShutdown()) { // fixedThreadPool.shutdown(); //} @@ -561,5 +568,19 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(PayMeetingSituation::getPayMode, MeetingSubitemCommon.PAY_MODE_3); + List situationList = meetingSituationService.list(wrapper2); + for (PayMeetingSituation situation : situationList) { + String meetingId = situation.getMeetingId(); + PayMeeting meeting = meetingService.getById(meetingId); + BigDecimal meetingCosts = meeting.getMeetingCosts(); + PayMeetingSituation project2 = new PayMeetingSituation(); + project2.setId(situation.getId()); + project2.setAmountReceivable(meetingCosts); + BigDecimal noTaxAmount = meetingCosts.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP); + project2.setNoTaxAmount(noTaxAmount); + project2.setTax(meetingCosts.subtract(noTaxAmount)); + } } }