|
@@ -23,13 +23,16 @@ import com.jeeplus.test.cw.contractRegistration.domain.ContractFile;
|
|
|
import com.jeeplus.test.cw.contractRegistration.domain.ContractInfo;
|
|
|
import com.jeeplus.test.cw.contractRegistration.mapper.ContractInfoMapper;
|
|
|
import com.jeeplus.test.cw.projectRecords.domain.CwProjectClientContact;
|
|
|
+import com.jeeplus.test.cw.projectRecords.domain.CwProjectMembers;
|
|
|
import com.jeeplus.test.cw.projectRecords.domain.CwProjectRecords;
|
|
|
import com.jeeplus.test.cw.projectRecords.mapper.CwProjectClientContactMapper;
|
|
|
import com.jeeplus.test.cw.projectRecords.mapper.CwProjectRecordsMapper;
|
|
|
import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectClientContactDTO;
|
|
|
import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectClientInfoDTO;
|
|
|
+import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectMembersDTO;
|
|
|
import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO;
|
|
|
import com.jeeplus.test.cw.projectRecords.service.mapstruct.CwProjectClientContactWrapper;
|
|
|
+import com.jeeplus.test.cw.projectRecords.service.mapstruct.CwProjectMembersWrapper;
|
|
|
import com.jeeplus.test.cw.projectRecords.service.mapstruct.CwProjectRecordsWrapper;
|
|
|
import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientContact;
|
|
|
import com.jeeplus.test.cw.workClientInfo.service.CwWorkClientContactService;
|
|
@@ -79,6 +82,8 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
private UserMapper userMapper;
|
|
|
@Resource
|
|
|
private CwWorkClientContactService cwWorkClientContactService;
|
|
|
+ @Resource
|
|
|
+ private CwProjectMembersService cwProjectMembersService;
|
|
|
|
|
|
/**
|
|
|
* 差选项目列表信息
|
|
@@ -343,4 +348,52 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
return new ArrayList<>();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据项目id修改项目组成员信息
|
|
|
+ * 注:项目id必须不为空
|
|
|
+ * @param cwProjectRecordsDTO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public ResponseEntity updateMembers(CwProjectRecordsDTO cwProjectRecordsDTO) {
|
|
|
+ if (CollectionUtil.isNotEmpty(cwProjectRecordsDTO.getCwProjectMembersDTOList())) {
|
|
|
+ List<String> liveIds = cwProjectRecordsDTO.getCwProjectMembersDTOList().stream().filter(item -> {
|
|
|
+ if (StringUtils.isNotBlank(item.getId())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }).map(CwProjectMembersDTO::getId).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(liveIds)) {
|
|
|
+ cwProjectMembersService.remove(new QueryWrapper<CwProjectMembers>().lambda()
|
|
|
+ .eq(CwProjectMembers::getProjectId,cwProjectRecordsDTO.getId())
|
|
|
+ .notIn(CwProjectMembers::getId,liveIds));
|
|
|
+
|
|
|
+ } else {
|
|
|
+ cwProjectMembersService.remove(new QueryWrapper<CwProjectMembers>().lambda().eq(CwProjectMembers::getProjectId,cwProjectRecordsDTO.getId()));
|
|
|
+ }
|
|
|
+ List<CwProjectMembers> updateBatchById = new ArrayList<>();
|
|
|
+ List<CwProjectMembers> insertBatchById = new ArrayList<>();
|
|
|
+ cwProjectRecordsDTO.getCwProjectMembersDTOList().stream().forEach(item->{
|
|
|
+ item.setProjectId(cwProjectRecordsDTO.getId());
|
|
|
+ if (StringUtils.isNotBlank(item.getId())){
|
|
|
+ // 有id进行修改操作
|
|
|
+ updateBatchById.add(CwProjectMembersWrapper.INSTANCE.toEntity(item));
|
|
|
+ }else{
|
|
|
+ // 无id进行新增操作
|
|
|
+ insertBatchById.add(CwProjectMembersWrapper.INSTANCE.toEntity(item));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 批量根据id修改数据
|
|
|
+ if (CollectionUtil.isNotEmpty(updateBatchById)){
|
|
|
+ cwProjectMembersService.updateBatchById(updateBatchById);
|
|
|
+ }
|
|
|
+ // 批量新增数据
|
|
|
+ if (CollectionUtil.isNotEmpty(insertBatchById)){
|
|
|
+ cwProjectMembersService.saveBatch(insertBatchById);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ cwProjectMembersService.remove(new QueryWrapper<CwProjectMembers>().lambda().eq(CwProjectMembers::getProjectId,cwProjectRecordsDTO.getId()));
|
|
|
+ }
|
|
|
+ return ResponseEntity.ok("操作成功");
|
|
|
+ }
|
|
|
+
|
|
|
}
|