Merge branch '2023-12-26变更' into branch20240105

This commit is contained in:
lijiarao
2023-12-27 15:30:13 +08:00
9 changed files with 157 additions and 43 deletions
@@ -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<PayCompanyManag
* @Exception
*/
private void updateBatchData(PayCompanyManagement payCompanyManagement){
// 更新临时数据
LambdaUpdateWrapper<PayCompanyManagementTemporary> 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<PayContactsManagement> updatePayContactsManagement = new LambdaUpdateWrapper<>();
updatePayContactsManagement.eq(PayContactsManagement::getCompanyId,payCompanyManagement.getId());
updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payCompanyManagement.getCompanyName());
payContactsManagementService.update(updatePayContactsManagement);
int thisYear = DateUtil.thisYear();
//需要更新的临时企业id
List<String> companyTemporaryIdList = new ArrayList<>();
// 更新普通项目
LambdaUpdateWrapper<PayCommonProject> 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<PayCommonProject> 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<PayCommonProject> list = payCommonProjectService.list(quaryPayCommonProject);
List<String> collect = list.stream().map(PayCommonProject::getChargeCompanyTemporaryId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect);
if (!collect.isEmpty()){
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
updatePayCommonProject.in(PayCommonProject::getChargeCompanyTemporaryId,collect);
updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
payCommonProjectService.update(updatePayCommonProject);
}
// 更新工作组
LambdaUpdateWrapper<PayWorkingGroupSubItem> 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<PayWorkingGroupSubItem> 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<PayWorkingGroupSubItem> workingGroupSubItemList = payWorkingGroupSubItemService.queryList(queryPayWorkingGroupSubItem);
List<String> collect1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect1);
if (!collect1.isEmpty()){
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getChargeCompanyId,collect1);
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
}
// 更新会员
LambdaUpdateWrapper<PayMemberProjectSubitem> 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<PayMemberProjectSubitem> 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<PayMemberProjectSubitem> payMemberProjectSubitems = memberProjectSubitemService.queryPageListCompany(queryPayMemberProjectSubitem);
List<String> collect2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect2);
if (!collect2.isEmpty()){
LambdaUpdateWrapper<PayMemberProjectSubitem> updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>();
updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId());
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName());
memberProjectSubitemService.update(updatePayMemberProjectSubitem);
}
// 更新临时数据
if (!companyTemporaryIdList.isEmpty()) {
LambdaUpdateWrapper<PayCompanyManagementTemporary> 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<PayIncomeContract> updatePayIncomeContract = new LambdaUpdateWrapper<>();
updatePayIncomeContract.eq(PayIncomeContract::getSignedCompanyId,payCompanyManagement.getId());
@@ -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<PayMemberProje
IPage<PayMemberProjectSubitem> queryPageListCompany(Page<PayMemberProjectSubitem> page, @Param(Constants.WRAPPER) QueryWrapper<PayMemberProjectSubitem> queryWrapper);
List<PayMemberProjectSubitem> queryPageListCompany(@Param(Constants.WRAPPER) QueryWrapper<PayMemberProjectSubitem> queryWrapper);
IPage<PayMemberProjectSubitem> getPage(Page<PayMemberProjectSubitem> page, @Param(Constants.WRAPPER) QueryWrapper<PayMemberProjectSubitem> queryWrapper);
}
@@ -70,6 +70,8 @@ public interface IPayMemberProjectSubitemService extends IService<PayMemberProje
IPage<PayMemberProjectSubitem> queryPageListCompany(Page<PayMemberProjectSubitem> page, QueryWrapper<PayMemberProjectSubitem> queryWrapper);
List<PayMemberProjectSubitem> queryPageListCompany(QueryWrapper<PayMemberProjectSubitem> queryWrapper);
IPage<PayMemberProjectSubitem> getPage(Page<PayMemberProjectSubitem> page, QueryWrapper<PayMemberProjectSubitem> queryWrapper);
void check(String subitemId, String permission);
@@ -497,6 +497,11 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
return baseMapper.queryPageListCompany(page,queryWrapper);
}
@Override
public List<PayMemberProjectSubitem> queryPageListCompany(QueryWrapper<PayMemberProjectSubitem> queryWrapper) {
return baseMapper.queryPageListCompany(queryWrapper);
}
@Override
public IPage<PayMemberProjectSubitem> getPage(Page<PayMemberProjectSubitem> page, QueryWrapper<PayMemberProjectSubitem> queryWrapper) {
return baseMapper.getPage(page, queryWrapper);
@@ -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<PayWorkingGroup
AllMoney queryPageList233(@Param("payWorkingGroupSubletSearch") PayWorkingGroupSubletSearch payWorkingGroupSubletSearch, @Param("id") String id);
IPage<PayWorkingGroupSubItem> publishReminderList(Page<PayWorkingGroupSubItem> page, @Param("payWorkingGroupSubItem") PayWorkingGroupSubItem payWorkingGroupSubItem);
List<PayWorkingGroupSubItem> queryList(@Param(Constants.WRAPPER) QueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem);
}
@@ -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
<where>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND pcp.charge_project like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND pcp.charge_company_temporary_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
AND pcm.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<if test="payCommonProject.contactsTemporaryName != null and payCommonProject.contactsTemporaryName != ''">
AND pcp.contacts_temporary_name like concat('%',concat(#{payCommonProject.contactsTemporaryName},'%'))
@@ -353,4 +353,9 @@
</where>
</select>
<select id="queryList" resultType="com.jero.project.entity.PayWorkingGroupSubItem">
select pwgs.* from pay_working_group_subitem pwgs
left join pay_working_group pwg ON pwgs.working_group_id = pwg.id
${ew.customSqlSegment}
</select>
</mapper>
@@ -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<PayWorkingGroup
void setLabel(SetLabelVO setLabelVO);
void deleteLabel(SetLabelVO setLabelVO);
List<PayWorkingGroupSubItem> queryList(QueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem);
}
@@ -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<PayWorkingGro
payWorkingGroupSubItemMapper.update(null, updateWrapper);
}
@Override
public List<PayWorkingGroupSubItem> queryList(QueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem) {
return payWorkingGroupSubItemMapper.queryList(queryPayWorkingGroupSubItem);
}
/**
* @Description 删除项目打包关联,临时企业、联系信息
* @Author lqt