update 更改企业名称时处理项目的单位名称(普通项目完成)
This commit is contained in:
+59
-29
@@ -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,43 +744,51 @@ 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());
|
||||
@@ -786,11 +796,31 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
|
||||
// 更新会员
|
||||
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);
|
||||
|
||||
// 更新临时数据
|
||||
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());
|
||||
|
||||
+4
-2
@@ -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,
|
||||
@@ -45,12 +45,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},'%'))
|
||||
|
||||
Reference in New Issue
Block a user