From ff515da6e89552593f07b458d33e92d19beef659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Tue, 19 Apr 2022 13:40:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...WorkingGroupSubItemContactsController.java | 85 ++++++++++ .../PayWorkingGroupSubItemController.java | 2 +- .../entity/PayWorkingGroupSubItem.java | 7 + .../PayWorkingGroupSubItemContacts.java | 80 +++++++++ .../PayWorkingGroupSubItemContactsMapper.java | 15 ++ .../PayWorkingGroupSubItemContactsMapper.xml | 5 + ...PayWorkingGroupSubItemContactsService.java | 14 ++ ...orkingGroupSubItemContactsServiceImpl.java | 19 +++ .../PayWorkingGroupSubItemServiceImpl.java | 157 +++++++++--------- 9 files changed, 300 insertions(+), 84 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemContactsController.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItemContacts.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemContactsMapper.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemContactsMapper.xml create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemContactsService.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemContactsServiceImpl.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemContactsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemContactsController.java new file mode 100644 index 00000000..8a65a957 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemContactsController.java @@ -0,0 +1,85 @@ +package com.jero.project.controller; + +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.base.controller.JeroController; +import com.jero.project.entity.PayWorkingGroupSubItemContacts; +import com.jero.project.service.IPayWorkingGroupSubItemContactsService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import java.util.Arrays; + + /** + * @Description: 成员联系人 + * @Author: jeecg-boot + * @Date: 2022-04-19 + * @Version: V1.0 + */ +@Api(tags="成员联系人") +@RestController +@RequestMapping("/project/PayWorkingGroupSubItemContacts") +@Slf4j +public class PayWorkingGroupSubItemContactsController extends JeroController { + @Resource + private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService; + + /** + * 添加 + * + * @param payWorkingGroupSubItemContacts + * @return + */ + @AutoLog(value = "成员联系人-添加") + @ApiOperation(value="成员联系人-添加", notes="成员联系人-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody PayWorkingGroupSubItemContacts payWorkingGroupSubItemContacts) { + payWorkingGroupSubItemContactsService.save(payWorkingGroupSubItemContacts); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param payWorkingGroupSubItemContacts + * @return + */ + @AutoLog(value = "成员联系人-编辑") + @ApiOperation(value="成员联系人-编辑", notes="成员联系人-编辑") + @PutMapping(value = "/edit") + public Result edit(@RequestBody PayWorkingGroupSubItemContacts payWorkingGroupSubItemContacts) { + payWorkingGroupSubItemContactsService.updateById(payWorkingGroupSubItemContacts); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "成员联系人-通过id删除") + @ApiOperation(value="成员联系人-通过id删除", notes="成员联系人-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id") String id) { + payWorkingGroupSubItemContactsService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "成员联系人-批量删除") + @ApiOperation(value="成员联系人-批量删除", notes="成员联系人-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids") String ids) { + payWorkingGroupSubItemContactsService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index 611be45d..799a4b2d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -48,7 +48,6 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ss.formula.functions.T; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; @@ -168,6 +167,7 @@ public class PayWorkingGroupSubItemController extends JeroController listProjectIds = new ArrayList<>(); + // todo 关联企业联系人表 // 工作组的企业联系人1,2,3 LambdaQueryWrapper queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>(); queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getContactsIdOne,sysUser.getId()).or() diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index cd264402..38fe3490 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -20,6 +20,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; /** * @Description: pay_working_group_subitem @@ -277,4 +278,10 @@ public class PayWorkingGroupSubItem implements Serializable { @ApiModelProperty(value = "任务及目标") @TableField(exist = false) private String missionAndObjectives; + /** + * 企业联系人列表 + */ + @ApiModelProperty(value = "企业联系人列表") + @TableField(exist = false) + private List payWorkingGroupSubItemContactsList; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItemContacts.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItemContacts.java new file mode 100644 index 00000000..d9e1cbe8 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItemContacts.java @@ -0,0 +1,80 @@ +package com.jero.project.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: pay_working_group_subitem_contacts + * @Author: jeecg-boot + * @Date: 2022-04-19 + * @Version: V1.0 + */ +@Data +@TableName("pay_working_group_subitem_contacts") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="pay_working_group_subitem_contacts对象", description="pay_working_group_subitem_contacts") +public class PayWorkingGroupSubItemContacts implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**工作组id*/ + @Excel(name = "工作组id", width = 15) + @ApiModelProperty(value = "工作组id") + private String workingGroupId; + /**工作组成员id*/ + @Excel(name = "工作组成员id", width = 15) + @ApiModelProperty(value = "工作组成员id") + private String workingGroupSubId; + /**企业联系人id*/ + @Excel(name = "企业联系人id", width = 15) + @ApiModelProperty(value = "企业联系人id") + private String contactsId; + /**临时企业联系人id*/ + @Excel(name = "临时企业联系人id", width = 15) + @ApiModelProperty(value = "临时企业联系人id") + private String contactsTemporaryId; + /**临时企业联系人名称*/ + @Excel(name = "临时企业联系人名称", width = 15) + @ApiModelProperty(value = "临时企业联系人名称") + private String contactsTemporaryName; + /**联系人备注*/ + @Excel(name = "联系人备注", width = 15) + @ApiModelProperty(value = "联系人备注") + private String remarks; + /**序号*/ + @Excel(name = "序号", width = 15) + @ApiModelProperty(value = "序号") + private Integer orderNum; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新时间") + private Date updateTime; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemContactsMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemContactsMapper.java new file mode 100644 index 00000000..652791bf --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemContactsMapper.java @@ -0,0 +1,15 @@ +package com.jero.project.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.project.entity.PayWorkingGroupSubItemContacts; + +/** + * @Description: pay_working_group_subitem_contacts + * @Author: jeecg-boot + * @Date: 2022-04-19 + * @Version: V1.0 + */ +public interface PayWorkingGroupSubItemContactsMapper extends BaseMapper { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemContactsMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemContactsMapper.xml new file mode 100644 index 00000000..eb8b98a9 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemContactsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemContactsService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemContactsService.java new file mode 100644 index 00000000..4d63ad79 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemContactsService.java @@ -0,0 +1,14 @@ +package com.jero.project.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.project.entity.PayWorkingGroupSubItemContacts; + +/** + * @Description: pay_working_group_subitem_contacts + * @Author: jeecg-boot + * @Date: 2022-04-19 + * @Version: V1.0 + */ +public interface IPayWorkingGroupSubItemContactsService extends IService { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemContactsServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemContactsServiceImpl.java new file mode 100644 index 00000000..07404cde --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemContactsServiceImpl.java @@ -0,0 +1,19 @@ +package com.jero.project.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.project.entity.PayWorkingGroupSubItemContacts; +import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper; +import com.jero.project.service.IPayWorkingGroupSubItemContactsService; +import org.springframework.stereotype.Service; + + +/** + * @Description: pay_working_group_subitem_contacts + * @Author: jeecg-boot + * @Date: 2022-04-19 + * @Version: V1.0 + */ +@Service +public class PayWorkingGroupSubItemContactsServiceImpl extends ServiceImpl implements IPayWorkingGroupSubItemContactsService { + +} 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 caa0a3cc..45730a59 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 @@ -38,12 +38,10 @@ import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.payment.service.IPayPaymentCheckService; import com.jero.project.common.PayProjectCommon; -import com.jero.project.entity.PayWorkGroupSubletStatistics; -import com.jero.project.entity.PayWorkingGroup; -import com.jero.project.entity.PayWorkingGroupSubItem; -import com.jero.project.entity.PayWorkingGroupSubletSearch; +import com.jero.project.entity.*; import com.jero.project.mapper.PayWorkingGroupSubItemMapper; import com.jero.project.service.IPayWorkingGroupService; +import com.jero.project.service.IPayWorkingGroupSubItemContactsService; import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.project.vo.SetChargeInput; import com.jero.statistics.entity.AllMoney; @@ -118,6 +116,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl payWorkingGroupSubItemIPage = payWorkingGroupSubItemMapper.queryPageList(page, payWorkingGroupSubitem, paymentDate); if (StringUtils.isNotBlank(payWorkingGroupSubitem.getMeetingId())){ List records = payWorkingGroupSubItemIPage.getRecords(); - for (PayWorkingGroupSubItem workingGroupSubItem : records) { - String workingGroupSubItemId = workingGroupSubItem.getId(); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingRemindRecord::getSubitemId,workingGroupSubItemId); - wrapper.eq(PayMeetingRemindRecord::getMeetingId,payWorkingGroupSubitem.getMeetingId()); - int count = payMeetingRemindRecordService.count(wrapper); - if (count>0){ - workingGroupSubItem.setRemind(PayProjectCommon.YES); - }else { - workingGroupSubItem.setRemind(PayProjectCommon.NO); + if(!CollectionUtils.isEmpty(records)){ + // 获取企业联系人 + List listIds = records.stream().map(PayWorkingGroupSubItem::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>(); + queryPayWorkingGroupSubItemContacts.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,listIds); + List payWorkingGroupSubItemContactsList = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts); + for (PayWorkingGroupSubItem workingGroupSubItem : records) { + String workingGroupSubItemId = workingGroupSubItem.getId(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingRemindRecord::getSubitemId,workingGroupSubItemId); + wrapper.eq(PayMeetingRemindRecord::getMeetingId,payWorkingGroupSubitem.getMeetingId()); + int count = payMeetingRemindRecordService.count(wrapper); + if (count>0){ + workingGroupSubItem.setRemind(PayProjectCommon.YES); + }else { + workingGroupSubItem.setRemind(PayProjectCommon.NO); + } + if(!CollectionUtils.isEmpty(payWorkingGroupSubItemContactsList)){ + List pwg = payWorkingGroupSubItemContactsList.stream().filter(p->Objects.equals(p.getWorkingGroupSubId(),workingGroupSubItem.getId())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(pwg)){ + pwg.sort(Comparator.comparing(PayWorkingGroupSubItemContacts::getOrderNum)); + workingGroupSubItem.setPayWorkingGroupSubItemContactsList(pwg); + } + } } } } @@ -191,6 +205,16 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl listPayWorkingGroupSubItemContacts = payWorkingGroupSubItem.getPayWorkingGroupSubItemContactsList(); + if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){ + for (int i = 0; i < listPayWorkingGroupSubItemContacts.size(); i++) { + listPayWorkingGroupSubItemContacts.get(i).setOrderNum(i+1); + listPayWorkingGroupSubItemContacts.get(i).setWorkingGroupId(payWorkingGroupSubItem.getWorkingGroupId()); + listPayWorkingGroupSubItemContacts.get(i).setWorkingGroupSubId(payWorkingGroupSubItem.getId()); + } + payWorkingGroupSubItemContactsService.saveBatch(listPayWorkingGroupSubItemContacts); + } List listFile = new ArrayList<>(); // 获取收费通知 if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY3) && StringUtils.isNotBlank(payWorkingGroupSubItem.getChargeNoticeId())){ @@ -386,6 +410,12 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>(); + queryPayWorkingGroupSubItemContacts.eq(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,payWorkingGroupSubItemOld.getId()); + List listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts); + if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){ + payWorkingGroupSubItemOld.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts); + } setPayWorkingGroupSubItemEdit(payWorkingGroupSubItem,payWorkingGroupSubItemOld); payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1); // 变更应收金额,重新校验状态 @@ -999,30 +1029,17 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl payWorkingGroupSubItemContactsList = payWorkingGroupSubItem.getPayWorkingGroupSubItemContactsList(); + if(!CollectionUtils.isEmpty(payWorkingGroupSubItemContactsList)){ + for (int i = 0; i < payWorkingGroupSubItemContactsList.size(); i++) { + // 企业联系人 + PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItemContactsList.get(i).getContactsId()); + if(Objects.isNull(contactsName)){ + throw new JeroBootException("企业联系人" + (i + 1) + "名称为空!"); + } + payWorkingGroupSubItemContactsList.get(i).setContactsTemporaryId(contactsName.getId()); + payWorkingGroupSubItemContactsList.get(i).setContactsTemporaryName(contactsName.getName()); } - payWorkingGroupSubItem.setContactsTemporaryIdTwo(contactsNameTwo.getId()); - payWorkingGroupSubItem.setContactsTemporaryNameTwo(contactsNameTwo.getName()); - } - if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdThree())){ - // 企业联系人3 - PayContactsManagementTemporary contactsNameThree = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdThree()); - if(Objects.isNull(contactsNameThree)){ - throw new JeroBootException("企业联系人3名称为空!"); - } - payWorkingGroupSubItem.setContactsTemporaryIdThree(contactsNameThree.getId()); - payWorkingGroupSubItem.setContactsTemporaryNameThree(contactsNameThree.getName()); } // 邮寄联系人 PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getMailContactsId()); @@ -1053,56 +1070,30 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl payWorkingGroupSubItemContactsList = payWorkingGroupSubItem.getPayWorkingGroupSubItemContactsList(); + if(!CollectionUtils.isEmpty(payWorkingGroupSubItemContactsList)){ + // 删除临时表历史记录 + if(!CollectionUtils.isEmpty(payWorkingGroupSubItemOld.getPayWorkingGroupSubItemContactsList())){ + List list = payWorkingGroupSubItemOld.getPayWorkingGroupSubItemContactsList().stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList()); + payContactsManagementTemporaryService.removeByIds(list); } - }else{ - payWorkingGroupSubItem.setContactsIdTwo(""); - payWorkingGroupSubItem.setContactsTemporaryIdTwo(""); - payWorkingGroupSubItem.setContactsTemporaryNameTwo(""); - payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getContactsTemporaryIdTwo()); - } - if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdThree())){ - if(!Objects.equals(payWorkingGroupSubItemOld.getContactsTemporaryIdThree(),payWorkingGroupSubItem.getContactsIdThree())) { - // 企业联系人3 - PayContactsManagementTemporary contactsNameThree = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdThree()); - if (Objects.isNull(contactsNameThree)) { - throw new JeroBootException("企业联系人3名称为空!"); + // 删除联系人记录 + LambdaUpdateWrapper updatePayWorkingGroupSubItemContacts = new LambdaUpdateWrapper<>(); + updatePayWorkingGroupSubItemContacts.eq(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,payWorkingGroupSubItem.getId()); + payWorkingGroupSubItemContactsService.remove(updatePayWorkingGroupSubItemContacts); + // 新增 + for (int i = 0; i < payWorkingGroupSubItemContactsList.size(); i++) { + if(!Objects.equals(payWorkingGroupSubItemOld.getContactsTemporaryIdOne(),payWorkingGroupSubItem.getContactsIdOne())) { + // 企业联系人 + PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItemContactsList.get(i).getContactsId()); + if (Objects.isNull(contactsName)) { + throw new JeroBootException("企业联系人" + (i + 1) + "名称为空!"); + } + payWorkingGroupSubItemContactsList.get(i).setContactsTemporaryId(contactsName.getId()); + payWorkingGroupSubItemContactsList.get(i).setContactsTemporaryName(contactsName.getName()); } - 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())){ // 邮寄联系人