收入合同修改

This commit is contained in:
梁琦涛
2021-09-22 11:25:31 +08:00
parent d4364775e5
commit bb40372664
10 changed files with 280 additions and 40 deletions
@@ -199,7 +199,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(StringUtils.isBlank(projectId)){
throw new JeroBootException("项目id不能为空!");
}
if(receivableAmount.compareTo(new BigDecimal("0.00")) == 0){
if(Objects.isNull(receivableAmount) ||receivableAmount.compareTo(new BigDecimal("0.00")) == 0){
return null;
}
// 获取项目信息
@@ -67,8 +67,6 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
// todo 缺少定时任务验证分期信息发送短信
/**
* 分页列表查询
@@ -145,7 +145,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
log.info("收入合同-添加异常",e);
throw new JeroBootException("合同名称已存在!");
}
setPayIncomeContract(payIncomeContract,null);
setPayIncomeContractAdd(payIncomeContract);
payIncomeContract.setStatus(PayIncomeContractCommon.STATUS1);
payIncomeContractService.save(payIncomeContract);
@@ -272,10 +272,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
// 校验金额
checkPayIncomeContractInstallment(listPayIncomeContractInstallment,payIncomeContract);
setPayIncomeContract(payIncomeContract,payIncomeContractStatus);
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
payCompanyManagementTemporaryService.removeById(payIncomeContract.getSignedCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Collections.singletonList(payIncomeContract.getSignedContactsTemporaryId()));
setPayIncomeContractEdit(payIncomeContract,payIncomeContractStatus);
payIncomeContractService.updateById(payIncomeContract);
}
@@ -500,7 +497,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
throw new JeroBootException("关联记录不存在!");
}
if(!Objects.equals(input.getContractId(),payIncomeContractAssociated.getContractId())){
throw new JeroBootException("关联id不能为空!");
throw new JeroBootException("合同id不能为空!");
}
PayIncomeContract payIncomeContract = payIncomeContractService.getById(payIncomeContractAssociated.getContractId());
if(Objects.isNull(payIncomeContract)){
@@ -664,8 +661,42 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
* @Return
* @Exception
*/
private void setPayIncomeContract(PayIncomeContract payIncomeContract,PayIncomeContract payIncomeContractStatus){
if(Objects.isNull(payIncomeContractStatus) || !Objects.equals(payIncomeContractStatus.getSignedCompanyTemporaryId(),payIncomeContract.getSignedCompanyId())){
private void setPayIncomeContractAdd(PayIncomeContract payIncomeContract){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payIncomeContract.getSignedCompanyId());
if(Objects.isNull(chargeCompanyName)){
throw new JeroBootException("企业名称为空!");
}
payIncomeContract.setSignedCompanyTemporaryId(chargeCompanyName.getId());
payIncomeContract.setSignedCompanyTemporaryName(chargeCompanyName.getCompanyName());
// 联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
if(Objects.isNull(contactsName)){
throw new JeroBootException("联系人名称为空!");
}
payIncomeContract.setSignedContactsTemporaryId(contactsName.getId());
payIncomeContract.setSignedContactsTemporaryName(contactsName.getName());
// 负责人名称
SysUser principalName = sysUserService.getById(payIncomeContract.getPrincipalId());
if(Objects.isNull(principalName)){
throw new JeroBootException("负责人名称为空!");
}
payIncomeContract.setPrincipalId(principalName.getId());
payIncomeContract.setPrincipalName(principalName.getRealname());
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt
* @Date 2021/8/31
* @Param payCommonProject
* @Return
* @Exception
*/
private void setPayIncomeContractEdit(PayIncomeContract payIncomeContract,PayIncomeContract payIncomeContractStatus){
if(!Objects.equals(payIncomeContractStatus.getSignedCompanyTemporaryId(),payIncomeContract.getSignedCompanyId())){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payIncomeContract.getSignedCompanyId());
if(Objects.isNull(chargeCompanyName)){
@@ -673,9 +704,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
payIncomeContract.setSignedCompanyTemporaryId(chargeCompanyName.getId());
payIncomeContract.setSignedCompanyTemporaryName(chargeCompanyName.getCompanyName());
payCompanyManagementTemporaryService.removeById(payIncomeContract.getSignedCompanyTemporaryId());
}else{
payIncomeContract.setSignedCompanyId(payIncomeContractStatus.getSignedCompanyId());
}
if(Objects.isNull(payIncomeContractStatus) || !Objects.equals(payIncomeContractStatus.getSignedContactsTemporaryId(),payIncomeContract.getSignedContactsId())){
if(!Objects.equals(payIncomeContractStatus.getSignedContactsTemporaryId(),payIncomeContract.getSignedContactsId())){
// 联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
if(Objects.isNull(contactsName)){
@@ -683,9 +717,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
payIncomeContract.setSignedContactsTemporaryId(contactsName.getId());
payIncomeContract.setSignedContactsTemporaryName(contactsName.getName());
payContactsManagementTemporaryService.removeById(payIncomeContract.getSignedContactsTemporaryId());
}else{
payIncomeContract.setSignedContactsId(payIncomeContractStatus.getSignedContactsId());
}
// 负责人名称
SysUser principalName = sysUserService.getById(payIncomeContract.getPrincipalId());
if(Objects.isNull(principalName)){
@@ -57,7 +57,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
log.error("",e);
throw new JeroBootException("该年份下已存在此打包企业!");
}
setPayPackCompany(payPackCompany);
setPayPackCompanyAdd(payPackCompany);
payPackCompanyService.save(payPackCompany);
return payPackCompany;
}
@@ -84,10 +84,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
log.error("",e);
throw new JeroBootException("该年份下已存在此打包企业!");
}
setPayPackCompany(payPackCompany);
// 删除历史数据
payCompanyManagementTemporaryService.removeById(payPackCompanyOld.getCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payPackCompanyOld.getCompanyContactTemporaryId(),payPackCompanyOld.getPackContactTemporaryId()));
setPayPackCompanyEdit(payPackCompany,payPackCompanyOld);
payPackCompanyService.updateById(payPackCompany);
}
@@ -104,7 +101,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
* @Return
* @Exception
*/
private PayPackCompany setPayPackCompany(PayPackCompany payPackCompany){
private PayPackCompany setPayPackCompanyAdd(PayPackCompany payPackCompany){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payPackCompany.getCompanyId());
if(Objects.isNull(chargeCompanyName)){
@@ -128,4 +125,55 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
payPackCompany.setPackContactTemporaryName(mailContactsName.getName());
return payPackCompany;
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt
* @Date 2021/8/31
* @Param payCommonProject
* @Return
* @Exception
*/
private PayPackCompany setPayPackCompanyEdit(PayPackCompany payPackCompany,PayPackCompany payPackCompanyOld){
if(!Objects.equals(payPackCompanyOld.getCompanyTemporaryId(),payPackCompany.getCompanyId())){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payPackCompany.getCompanyId());
if(Objects.isNull(chargeCompanyName)){
throw new JeroBootException("企业名称为空!");
}
payPackCompany.setCompanyTemporaryId(chargeCompanyName.getId());
payPackCompany.setCompanyTemporaryName(chargeCompanyName.getCompanyName());
payCompanyManagementTemporaryService.removeById(payPackCompanyOld.getCompanyTemporaryId());
}else{
payPackCompany.setCompanyId(payPackCompanyOld.getCompanyId());
}
if(!Objects.equals(payPackCompanyOld.getCompanyContactTemporaryId(),payPackCompany.getCompanyContactId())){
// 企业联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getCompanyContactId());
if(Objects.isNull(contactsName)){
throw new JeroBootException("企业联系人名称为空!");
}
payPackCompany.setCompanyContactTemporaryId(contactsName.getId());
payPackCompany.setCompanyContactTemporaryName(contactsName.getName());
payContactsManagementTemporaryService.removeById(payPackCompanyOld.getCompanyContactTemporaryId());
}else{
payPackCompany.setCompanyContactId(payPackCompanyOld.getCompanyContactId());
}
if(Objects.equals(payPackCompanyOld.getPackContactTemporaryId(),payPackCompanyOld.getPackContactId())){
// 邮寄联系人
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getPackContactId());
if(Objects.isNull(mailContactsName)){
throw new JeroBootException("邮寄联系人名称为空!");
}
payPackCompany.setPackContactTemporaryId(mailContactsName.getId());
payPackCompany.setPackContactTemporaryName(mailContactsName.getName());
payContactsManagementTemporaryService.removeById(payPackCompanyOld.getPackContactTemporaryId());
}else{
payPackCompany.setPackContactId(payPackCompanyOld.getPackContactId());
}
return payPackCompany;
}
}
@@ -188,18 +188,20 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
PayWorkingGroupPayment payWorkingGroupPayment = new PayWorkingGroupPayment();
// 已付全款
List<PayWorkingGroupSubItem> listAllPayment = listPayWorkingGroupSubItem.stream()
.filter(p1->(Objects.isNull(p1.getPaidAmount()) ? 0 : p1.getPaidAmount())
== (Objects.isNull(p1.getReceivableAmount()) ? 0 : p1.getReceivableAmount())).collect(Collectors.toList());
.filter(p1->(Objects.isNull(p1.getPaidAmount()) ? new BigDecimal("0.00") : p1.getPaidAmount())
.compareTo(Objects.isNull(p1.getReceivableAmount()) ? new BigDecimal("0.00") : p1.getReceivableAmount()) == 0).collect(Collectors.toList());
payWorkingGroupPayment.setAllPayment(listAllPayment.size());
// 部分付款
List<PayWorkingGroupSubItem> listPartPayment = listPayWorkingGroupSubItem.stream()
.filter(p1->(Objects.isNull(p1.getPaidAmount()) ? new BigDecimal("0.00") : p1.getPaidAmount()).
compareTo(Objects.isNull(p1.getReceivableAmount()) ? new BigDecimal("0.00") : p1.getReceivableAmount()) == -1).collect(Collectors.toList());
.filter(p1-> (Objects.isNull(p1.getPaidAmount()) ? new BigDecimal("0.00") : p1.getPaidAmount()).
compareTo(Objects.isNull(p1.getReceivableAmount()) ? new BigDecimal("0.00") : p1.getReceivableAmount()) < 0).collect(Collectors.toList());
payWorkingGroupPayment.setPartPayment(listPartPayment.size());
// 未付款
List<PayWorkingGroupSubItem> listNotPayment = listPayWorkingGroupSubItem.stream()
.filter(p1->(Objects.isNull(p1.getPaidAmount()) ? new BigDecimal("0.00") : p1.getPaidAmount()).compareTo(BigDecimal.ZERO) == 0
&& (Objects.isNull(p1.getReceivableAmount()) ? new BigDecimal("0.00") : p1.getReceivableAmount()).compareTo(BigDecimal.ZERO) != 0 )
&& (Objects.isNull(p1.getReceivableAmount()) ? new BigDecimal("0.00") : p1.getReceivableAmount()).compareTo(BigDecimal.ZERO) > 0
&& (Objects.isNull(p1.getReceivableAmount()) ? new BigDecimal("0.00") : p1.getReceivableAmount()).compareTo(
Objects.isNull(p1.getReceivableAmount()) ? new BigDecimal("0.00") : p1.getReceivableAmount()) < 0 )
.collect(Collectors.toList());
payWorkingGroupPayment.setNotPayment(listNotPayment.size());
p.setObj(payWorkingGroupPayment);
@@ -4,10 +4,12 @@ import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.dto.message.MessageDTO;
import com.jero.common.api.vo.Result;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.vo.ProjectDetailVO;
@@ -24,6 +26,7 @@ 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.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@@ -154,7 +157,14 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
}
String msg = "中汽数据中心提醒您,贵公司与中汽数据签订的" + payWorkingGroup.getWorkingGroupProject()
+ "项目款项仍未结余,请及时汇款,如已经汇款,请忽略此条通知。谢谢合作";
sysBaseAPI.sendEmailMsg(PasswordUtil.decrypt(listContactsEmail.get(0).getEmail()), "", msg);
// sysBaseAPI.sendEmailMsg(PasswordUtil.decrypt(listContactsEmail.get(0).getEmail()), "", msg);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
MessageDTO messageDTO = new MessageDTO();
messageDTO.setFromUser(sysUser.getId());
messageDTO.setTitle("催款提醒");
messageDTO.setContent(msg);
messageDTO.setToUser(sysUser.getUsername());
sysBaseAPI.sendSysAnnouncement(messageDTO);
});
// todo 缺少发送消息
return Result.OK("添加成功!");
@@ -60,6 +60,7 @@ public class PayWorkingGroupSubItem implements Serializable {
/**企业联系人一id*/
@ApiModelProperty(value = "企业联系人一id")
@Size(max = 32,message = "企业联系人一id长度不能大于32个字符")
@NotEmpty(message = "企业联系人一id不能为空")
private java.lang.String contactsIdOne;
/**临时企业联系人一id*/
@ApiModelProperty(value = "临时企业联系人一id")
@@ -108,6 +109,7 @@ public class PayWorkingGroupSubItem implements Serializable {
private Integer chargeUse;
/**邮寄联系人id*/
@ApiModelProperty(value = "邮寄联系人id")
@NotEmpty(message = "邮寄联系人id不能为空")
@Size(max = 32,message = "邮寄联系人id长度不能大于32个字符")
private java.lang.String mailContactsId;
/**临时邮寄联系人id*/
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayCommonProject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.vo.PayCommonProjectOutput;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
@@ -63,6 +64,4 @@ public interface IPayCommonProjectService extends IService<PayCommonProject> {
* @Exception
*/
void deleteBatch(String ids);
}
@@ -24,6 +24,7 @@ import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.vo.PayCommonProjectOutput;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
@@ -96,7 +97,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
log.info("普通项目管理-添加异常",e);
throw new JeroBootException("来款项目已存在!");
}
setPayCommonProject(payCommonProject);
setPayCommonProjectAdd(payCommonProject);
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
payCommonProject.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
payCommonProject.setMail(PayProjectCommon.MAIL0);
@@ -176,10 +177,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContractAdd.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContractAdd.getPack());
}
}
setPayCommonProject(payCommonProject);
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
payCompanyManagementTemporaryService.removeById(payCommonProjectOld.getChargeCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payCommonProjectOld.getContactsTemporaryId(),payCommonProjectOld.getMailContactsTemporaryId()));
setPayCommonProjectEdit(payCommonProject,payCommonProjectOld);
// 变更应收金额,重新校验状态
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payCommonProject.getId(),payCommonProject.getReceivableAmount(),payCommonProject.getNeedInvoice());
if(!Objects.isNull(projectStatusVO)){
@@ -222,6 +221,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
}
this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(",")));
}
/**
* @Description 删除项目打包关联,临时企业、联系信息
* @Author lqt
@@ -257,17 +257,19 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
* @Return
* @Exception
*/
private void setPayCommonProject(PayCommonProject payCommonProject){
private void setPayCommonProjectAdd(PayCommonProject payCommonProject){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payCommonProject.getChargeCompanyId());
if(Objects.isNull(chargeCompanyName)){
throw new JeroBootException("企业名称为空!");
}
// 联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getContactsId());
if(Objects.isNull(contactsName)){
throw new JeroBootException("联系人名称为空!");
}
// 邮寄联系人
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getMailContactsId());
if(Objects.isNull(mailContactsName)){
@@ -286,5 +288,67 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
payCommonProject.setMailContactsTemporaryName(mailContactsName.getName());
payCommonProject.setChargeCompanyTemporaryId(chargeCompanyName.getId());
payCommonProject.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName());
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt
* @Date 2021/8/31
* @Param payCommonProject
* @Return
* @Exception
*/
private void setPayCommonProjectEdit(PayCommonProject payCommonProject,PayCommonProject payCommonProjectOld){
// 企业id != 企业模板id 变更
if(!Objects.equals(payCommonProject.getChargeCompanyId(),payCommonProjectOld.getChargeCompanyTemporaryId())){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payCommonProject.getChargeCompanyId());
if(Objects.isNull(chargeCompanyName)){
throw new JeroBootException("企业名称为空!");
}
payCommonProject.setChargeCompanyTemporaryId(chargeCompanyName.getId());
payCommonProject.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName());
payCompanyManagementTemporaryService.removeById(payCommonProjectOld.getChargeCompanyTemporaryId());
}else{
payCommonProject.setChargeCompanyId(payCommonProjectOld.getChargeCompanyId());
}
// 联系人id != 联系人模板id 变更
if(!Objects.equals(payCommonProject.getContactsId(),payCommonProjectOld.getContactsTemporaryId())){
// 联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getContactsId());
if(Objects.isNull(contactsName)){
throw new JeroBootException("联系人名称为空!");
}
payCommonProject.setContactsTemporaryId(contactsName.getId());
payCommonProject.setContactsTemporaryName(contactsName.getName());
payContactsManagementTemporaryService.removeById(payCommonProjectOld.getContactsTemporaryId());
}else{
payCommonProject.setContactsId(payCommonProjectOld.getContactsId());
}
// 邮寄联系人id != 邮寄联系人模板id 变更
if(!Objects.equals(payCommonProject.getMailContactsId(),payCommonProjectOld.getMailContactsTemporaryId())){
// 邮寄联系人
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getMailContactsId());
if(Objects.isNull(mailContactsName)){
throw new JeroBootException("邮寄联系人名称为空!");
}
payCommonProject.setMailContactsTemporaryId(mailContactsName.getId());
payCommonProject.setMailContactsTemporaryName(mailContactsName.getName());
payContactsManagementTemporaryService.removeById(payCommonProjectOld.getMailContactsTemporaryId());
}else{
payCommonProject.setMailContactsId(payCommonProjectOld.getMailContactsId());
}
// 负责人名称
SysUser principalName = sysUserService.getById(payCommonProject.getPrincipalId());
if(Objects.isNull(principalName)){
throw new JeroBootException("负责人名称为空!");
}
payCommonProject.setPrincipalId(principalName.getId());
payCommonProject.setPrincipalName(principalName.getRealname());
}
}
@@ -132,7 +132,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
throw new JeroBootException("工作组成员单位已存在!");
}
setPayWorkingGroupSubItem(payWorkingGroupSubItem);
setPayWorkingGroupSubItemAdd(payWorkingGroupSubItem);
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
@@ -236,10 +236,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContractAdd.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContractAdd.getPack());
}
}
setPayWorkingGroupSubItem(payWorkingGroupSubItem);
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payWorkingGroupSubItemOld.getContactsTemporaryIdOne(),payWorkingGroupSubItemOld.getContactsTemporaryIdTwo(),payWorkingGroupSubItemOld.getContactsTemporaryIdThree()));
setPayWorkingGroupSubItemEdit(payWorkingGroupSubItem,payWorkingGroupSubItemOld);
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
// 变更应收金额,重新校验状态
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payWorkingGroupSubItem.getId(),payWorkingGroupSubItem.getReceivableAmount(),payWorkingGroupSubItem.getNeedInvoice());
@@ -471,7 +468,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
});
if (StringUtils.isBlank(msg)) {
// 拷贝企业,联系人
list.forEach(this::setPayWorkingGroupSubItem);
list.forEach(this::setPayWorkingGroupSubItemAdd);
// 更新数据
payWorkingGroupSubItemService.saveBatch(list);
}
@@ -565,7 +562,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
* @Return
* @Exception
*/
private void setPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem){
private void setPayWorkingGroupSubItemAdd(PayWorkingGroupSubItem payWorkingGroupSubItem){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId());
if(Objects.isNull(chargeCompanyName)){
@@ -606,5 +603,89 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
payWorkingGroupSubItem.setMailContactsTemporaryId(mailContactsName.getId());
payWorkingGroupSubItem.setMailContactsTemporaryName(mailContactsName.getName());
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt
* @Date 2021/8/31
* @Param payCommonProject
* @Return
* @Exception
*/
private void setPayWorkingGroupSubItemEdit(PayWorkingGroupSubItem payWorkingGroupSubItem,PayWorkingGroupSubItem payWorkingGroupSubItemOld){
if(!Objects.equals(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId(),payWorkingGroupSubItem.getChargeCompanyId())){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId());
if(Objects.isNull(chargeCompanyName)){
throw new JeroBootException("企业名称为空!");
}
payWorkingGroupSubItem.setChargeCompanyTemporaryId(chargeCompanyName.getId());
payWorkingGroupSubItem.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName());
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId());
}else{
payWorkingGroupSubItem.setChargeCompanyId(payWorkingGroupSubItemOld.getChargeCompanyId());
}
if(!Objects.equals(payWorkingGroupSubItemOld.getContactsTemporaryIdOne(),payWorkingGroupSubItem.getContactsIdOne())){
// 企业联系人一
PayContactsManagementTemporary contactsNameOne = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdOne());
if(Objects.isNull(contactsNameOne)){
throw new JeroBootException("企业联系人一名称为空!");
}
payWorkingGroupSubItem.setContactsTemporaryIdOne(contactsNameOne.getId());
payWorkingGroupSubItem.setContactsTemporaryNameOne(contactsNameOne.getName());
payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getContactsTemporaryIdOne());
}else{
payWorkingGroupSubItem.setContactsIdOne(payWorkingGroupSubItemOld.getContactsIdOne());
}
if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdTwo())){
if(!Objects.equals(payWorkingGroupSubItemOld.getContactsTemporaryIdTwo(),payWorkingGroupSubItem.getContactsIdTwo())) {
// 企业联系人二
PayContactsManagementTemporary contactsNameTwo = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdTwo());
if (Objects.isNull(contactsNameTwo)) {
throw new JeroBootException("企业联系人二名称为空!");
}
payWorkingGroupSubItem.setContactsTemporaryIdTwo(contactsNameTwo.getId());
payWorkingGroupSubItem.setContactsTemporaryNameTwo(contactsNameTwo.getName());
payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getContactsTemporaryIdTwo());
}else{
payWorkingGroupSubItem.setContactsIdTwo(payWorkingGroupSubItemOld.getContactsIdTwo());
}
}else{
payWorkingGroupSubItem.setContactsIdTwo("");
payWorkingGroupSubItem.setContactsTemporaryIdTwo("");
payWorkingGroupSubItem.setContactsTemporaryNameTwo("");
payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getContactsTemporaryIdTwo());
}
if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdThree())){
if(!Objects.equals(payWorkingGroupSubItemOld.getContactsTemporaryIdThree(),payWorkingGroupSubItem.getContactsIdThree())) {
// 企业联系人三
PayContactsManagementTemporary contactsNameThree = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdThree());
if (Objects.isNull(contactsNameThree)) {
throw new JeroBootException("企业联系人三名称为空!");
}
payWorkingGroupSubItem.setContactsTemporaryIdThree(contactsNameThree.getId());
payWorkingGroupSubItem.setContactsTemporaryNameThree(contactsNameThree.getName());
payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getContactsTemporaryIdThree());
}else{
payWorkingGroupSubItem.setContactsIdThree(payWorkingGroupSubItemOld.getContactsIdThree());
}
}else{
payWorkingGroupSubItem.setContactsTemporaryIdThree("");
payWorkingGroupSubItem.setContactsTemporaryNameThree("");
payWorkingGroupSubItem.setContactsIdThree("");
payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getContactsTemporaryIdThree());
}
if(!Objects.equals(payWorkingGroupSubItemOld.getMailContactsTemporaryId(),payWorkingGroupSubItem.getMailContactsId())){
// 邮寄联系人
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getMailContactsId());
if(Objects.isNull(mailContactsName)){
throw new JeroBootException("邮寄联系人名称为空!");
}
payWorkingGroupSubItem.setMailContactsTemporaryId(mailContactsName.getId());
payWorkingGroupSubItem.setMailContactsTemporaryName(mailContactsName.getName());
payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getMailContactsTemporaryId());
}else{
payWorkingGroupSubItem.setMailContactsId(payWorkingGroupSubItemOld.getMailContactsId());
}
}
}