diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java index 095c1a00..14d84c25 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java @@ -1,6 +1,7 @@ package com.jero.company.service.impl; import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -52,6 +53,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -742,55 +744,133 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>(); - updatePayCompanyManagementTemporary.eq(PayCompanyManagementTemporary::getCompanyId,payCompanyManagement.getId()); - updatePayCompanyManagementTemporary.ge(PayCompanyManagementTemporary::getEditTime,payCompanyManagement.getEditTime()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyName,payCompanyManagement.getCompanyName()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyAddress,payCompanyManagement.getCompanyAddress()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyPhone,payCompanyManagement.getCompanyPhone()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getPostalCode,payCompanyManagement.getPostalCode()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getBankAccountName,payCompanyManagement.getBankAccountName()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getOpeningBank,payCompanyManagement.getOpeningBank()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getDutyCode,payCompanyManagement.getDutyCode()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getStatus,PayCompanyManagementCommon.STATUS1); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getDataSource,payCompanyManagement.getDataSource()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getRemarks,payCompanyManagement.getRemarks()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getEditTime,payCompanyManagement.getEditTime()); - //updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCreateBy,payCompanyManagement.getCreateBy()); - //updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCreateTime,payCompanyManagement.getCreateTime()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getUpdateBy,payCompanyManagement.getUpdateBy()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getUpdateTime,payCompanyManagement.getUpdateTime()); - payCompanyManagementTemporaryService.update(updatePayCompanyManagementTemporary); + //更新人员 LambdaUpdateWrapper updatePayContactsManagement = new LambdaUpdateWrapper<>(); updatePayContactsManagement.eq(PayContactsManagement::getCompanyId,payCompanyManagement.getId()); updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payCompanyManagement.getCompanyName()); payContactsManagementService.update(updatePayContactsManagement); + int thisYear = DateUtil.thisYear(); + //需要更新的临时企业id + List companyTemporaryIdList = new ArrayList<>(); // 更新普通项目 - LambdaUpdateWrapper updatePayCommonProject = new LambdaUpdateWrapper<>(); - updatePayCommonProject.eq(PayCommonProject::getChargeCompanyId,payCompanyManagement.getId()); - //updatePayCommonProject.ge(PayCommonProject::getCreateTime,payCompanyManagement.getEditTime()); - updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); - updatePayCommonProject.exists(" select 1 from pay_company_management_temporary where " + - "pay_common_project.charge_company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'"); - payCommonProjectService.update(updatePayCommonProject); + LambdaQueryWrapper quaryPayCommonProject = new LambdaQueryWrapper<>(); + quaryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,payCompanyManagement.getId()); + + quaryPayCommonProject.eq(PayCommonProject::getYear,thisYear); + quaryPayCommonProject.and( + a -> { + a.eq(PayCommonProject::getPaidAmount, BigDecimal.ZERO) + .or() + .isNull(PayCommonProject::getPaidAmount); + }); + quaryPayCommonProject.and( + a -> { + a.eq(PayCommonProject::getInvoiceAmount, BigDecimal.ZERO) + .or() + .isNull(PayCommonProject::getInvoiceAmount); + }); + quaryPayCommonProject.and( + a -> { + a.eq(PayCommonProject::getConfirmAmount, BigDecimal.ZERO) + .or() + .isNull(PayCommonProject::getConfirmAmount); + }); + List list = payCommonProjectService.list(quaryPayCommonProject); + List collect = list.stream().map(PayCommonProject::getChargeCompanyTemporaryId).collect(Collectors.toList()); + companyTemporaryIdList.addAll(collect); + if (!collect.isEmpty()){ + LambdaUpdateWrapper updatePayCommonProject = new LambdaUpdateWrapper<>(); + updatePayCommonProject.in(PayCommonProject::getChargeCompanyTemporaryId,collect); + updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); + payCommonProjectService.update(updatePayCommonProject); + } + // 更新工作组 - LambdaUpdateWrapper updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); - updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId()); - //updatePayWorkingGroupSubItem.ge(PayWorkingGroupSubItem::getCreateTime,payCompanyManagement.getEditTime()); - updatePayWorkingGroupSubItem.exists(" select 1 from pay_company_management_temporary where " + - "pay_working_group_subitem.charge_company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'"); - updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); - payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); + QueryWrapper queryPayWorkingGroupSubItem = new QueryWrapper<>(); + queryPayWorkingGroupSubItem.eq("pwg.year",thisYear); + queryPayWorkingGroupSubItem.lambda().eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId()) + .and( + a -> { + a.eq(PayWorkingGroupSubItem::getPaidAmount, BigDecimal.ZERO) + .or() + .isNull(PayWorkingGroupSubItem::getPaidAmount); + }) + .and( + a -> { + a.eq(PayWorkingGroupSubItem::getInvoiceAmount, BigDecimal.ZERO) + .or() + .isNull(PayWorkingGroupSubItem::getInvoiceAmount); + }) + .and( + a -> { + a.eq(PayWorkingGroupSubItem::getConfirmAmount, BigDecimal.ZERO) + .or() + .isNull(PayWorkingGroupSubItem::getConfirmAmount); + }); + List workingGroupSubItemList = payWorkingGroupSubItemService.queryList(queryPayWorkingGroupSubItem); + List collect1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryId).collect(Collectors.toList()); + companyTemporaryIdList.addAll(collect1); + if (!collect1.isEmpty()){ + LambdaUpdateWrapper updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); + updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getChargeCompanyId,collect1); + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); + payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); + } + // 更新会员 - LambdaUpdateWrapper updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>(); - updatePayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()); - //updatePayMemberProjectSubitem.ge(PayMemberProjectSubitem::getCreateTime,payCompanyManagement.getEditTime()); - updatePayMemberProjectSubitem.exists(" select 1 from pay_company_management_temporary where " + - "pay_member_project_subitem.company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'"); - updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName()); - memberProjectSubitemService.update(updatePayMemberProjectSubitem); + QueryWrapper queryPayMemberProjectSubitem = new QueryWrapper<>(); + queryPayMemberProjectSubitem.eq("pmp.particular_year",thisYear); + queryPayMemberProjectSubitem.lambda().eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()) + .and( + a -> { + a.eq(PayMemberProjectSubitem::getPaidAmount, BigDecimal.ZERO) + .or() + .isNull(PayMemberProjectSubitem::getPaidAmount); + }) + .and( + a -> { + a.eq(PayMemberProjectSubitem::getInvoiceAmount, BigDecimal.ZERO) + .or() + .isNull(PayMemberProjectSubitem::getInvoiceAmount); + }) + .and( + a -> { + a.eq(PayMemberProjectSubitem::getConfirmAmount, BigDecimal.ZERO) + .or() + .isNull(PayMemberProjectSubitem::getConfirmAmount); + }); + List payMemberProjectSubitems = memberProjectSubitemService.queryPageListCompany(queryPayMemberProjectSubitem); + List collect2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList()); + companyTemporaryIdList.addAll(collect2); + if (!collect2.isEmpty()){ + LambdaUpdateWrapper updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>(); + updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()); + updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName()); + memberProjectSubitemService.update(updatePayMemberProjectSubitem); + } + + + // 更新临时数据 + if (!companyTemporaryIdList.isEmpty()) { + LambdaUpdateWrapper updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>(); + updatePayCompanyManagementTemporary.in(PayCompanyManagementTemporary::getId,companyTemporaryIdList); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyName,payCompanyManagement.getCompanyName()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyAddress,payCompanyManagement.getCompanyAddress()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyPhone,payCompanyManagement.getCompanyPhone()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getPostalCode,payCompanyManagement.getPostalCode()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getBankAccountName,payCompanyManagement.getBankAccountName()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getOpeningBank,payCompanyManagement.getOpeningBank()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getDutyCode,payCompanyManagement.getDutyCode()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getStatus,PayCompanyManagementCommon.STATUS1); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getDataSource,payCompanyManagement.getDataSource()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getRemarks,payCompanyManagement.getRemarks()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getEditTime,payCompanyManagement.getEditTime()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getUpdateBy,payCompanyManagement.getUpdateBy()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getUpdateTime,payCompanyManagement.getUpdateTime()); + payCompanyManagementTemporaryService.update(updatePayCompanyManagementTemporary); + } + // 更新合同 LambdaUpdateWrapper updatePayIncomeContract = new LambdaUpdateWrapper<>(); updatePayIncomeContract.eq(PayIncomeContract::getSignedCompanyId,payCompanyManagement.getId()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/PayMemberProjectSubitemMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/PayMemberProjectSubitemMapper.java index e1db65e8..d6df6678 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/PayMemberProjectSubitemMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/PayMemberProjectSubitemMapper.java @@ -8,6 +8,8 @@ import com.jero.member.entity.PayMemberProjectSubitem; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @Description: 会员项目_subitem * @Author: jero-boot @@ -18,5 +20,7 @@ public interface PayMemberProjectSubitemMapper extends BaseMapper queryPageListCompany(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + List queryPageListCompany(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + IPage getPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/IPayMemberProjectSubitemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/IPayMemberProjectSubitemService.java index 06e34c8d..0dce1342 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/IPayMemberProjectSubitemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/IPayMemberProjectSubitemService.java @@ -70,6 +70,8 @@ public interface IPayMemberProjectSubitemService extends IService queryPageListCompany(Page page, QueryWrapper queryWrapper); + List queryPageListCompany(QueryWrapper queryWrapper); + IPage getPage(Page page, QueryWrapper queryWrapper); void check(String subitemId, String permission); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java index 9bff200e..53ba3f73 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java @@ -497,6 +497,11 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl queryPageListCompany(QueryWrapper queryWrapper) { + return baseMapper.queryPageListCompany(queryWrapper); + } + @Override public IPage getPage(Page page, QueryWrapper queryWrapper) { return baseMapper.getPage(page, queryWrapper); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemMapper.java index ee767266..1bada09c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemMapper.java @@ -1,6 +1,9 @@ package com.jero.project.mapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.company.entity.PayContactsManagement; import com.jero.project.entity.PayWorkGroupSubletStatistics; @@ -59,4 +62,6 @@ public interface PayWorkingGroupSubItemMapper extends BaseMapper publishReminderList(Page page, @Param("payWorkingGroupSubItem") PayWorkingGroupSubItem payWorkingGroupSubItem); + + List queryList(@Param(Constants.WRAPPER) QueryWrapper queryPayWorkingGroupSubItem); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml index ee03867f..332d6d4b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml @@ -11,7 +11,7 @@ su.realname as principal_name, pcp.charge_company_id, pcp.charge_company_temporary_id, - pcp.charge_company_temporary_name, + if(pcp.charge_company_temporary_name = pcm.company_name, pcp.charge_company_temporary_name, concat(pcp.charge_company_temporary_name,'(更名为',pcm.company_name,')')) as charge_company_temporary_name, pcp.charge_use, pcp.contacts_id, pcp.contacts_temporary_id, @@ -46,12 +46,14 @@ FROM pay_common_project pcp left join sys_user su on pcp.principal_id = su.id LEFT JOIN pay_payment_record ppr ON ppr.project_id = pcp.id + left join pay_company_management_temporary pcmt on pcp.charge_company_temporary_id = pcmt.id + left join pay_company_management pcm on pcmt.company_id = pcm.id AND pcp.charge_project like concat('%',concat(#{payCommonProject.chargeProject},'%')) - AND pcp.charge_company_temporary_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%')) + AND pcm.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%')) AND pcp.contacts_temporary_name like concat('%',concat(#{payCommonProject.contactsTemporaryName},'%')) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml index 10b9374e..e31b55a5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml @@ -353,4 +353,9 @@ + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java index a98157ae..ba8ac742 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java @@ -1,5 +1,7 @@ package com.jero.project.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; @@ -123,4 +125,6 @@ public interface IPayWorkingGroupSubItemService extends IService queryList(QueryWrapper queryPayWorkingGroupSubItem); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index 8975edd4..1e1eb79b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -2,6 +2,7 @@ package com.jero.project.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -1063,6 +1064,12 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl queryList(QueryWrapper queryPayWorkingGroupSubItem) { + + return payWorkingGroupSubItemMapper.queryList(queryPayWorkingGroupSubItem); + } + /** * @Description 删除项目打包关联,临时企业、联系信息 * @Author lqt