|
@@ -10,15 +10,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.jeeplus.test.jobPosion.utils.BeanUtils;
|
|
import com.jeeplus.test.jobPosion.utils.BeanUtils;
|
|
import com.jeeplus.test.oss.service.OssService;
|
|
import com.jeeplus.test.oss.service.OssService;
|
|
import com.jeeplus.test.rank.service.dto.RankSystemTableDTO;
|
|
import com.jeeplus.test.rank.service.dto.RankSystemTableDTO;
|
|
-import com.jeeplus.test.roster.domain.RosterBankCards;
|
|
|
|
-import com.jeeplus.test.roster.domain.RosterBase;
|
|
|
|
-import com.jeeplus.test.roster.domain.RosterContract;
|
|
|
|
|
|
+import com.jeeplus.test.roster.domain.*;
|
|
import com.jeeplus.test.roster.mapper.RosterBaseMapper;
|
|
import com.jeeplus.test.roster.mapper.RosterBaseMapper;
|
|
-import com.jeeplus.test.roster.service.dto.RosterBankCardsDTO;
|
|
|
|
-import com.jeeplus.test.roster.service.dto.RosterBaseDTO;
|
|
|
|
-import com.jeeplus.test.roster.service.mapstruct.RosterBankCardsWrapper;
|
|
|
|
-import com.jeeplus.test.roster.service.mapstruct.RosterBaseWrapper;
|
|
|
|
-import com.jeeplus.test.roster.service.mapstruct.RosterContractWrapper;
|
|
|
|
|
|
+import com.jeeplus.test.roster.service.dto.*;
|
|
|
|
+import com.jeeplus.test.roster.service.mapstruct.*;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -41,6 +36,21 @@ public class RosterBaseService extends ServiceImpl<RosterBaseMapper, RosterBase>
|
|
private RosterBankCardsService rosterBankCardsService;
|
|
private RosterBankCardsService rosterBankCardsService;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
|
+ private RosterEducateService rosterEducateService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private RosterFamilyService rosterFamilyService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private RosterWorkService rosterWorkService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private RosterFilesService rosterFilesService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private RosterCertificateService rosterCertificateService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
private OssService ossService;
|
|
private OssService ossService;
|
|
|
|
|
|
public IPage<RosterBaseDTO> findList(Page<RosterBaseDTO> page, QueryWrapper<RosterBase> queryWrapper){
|
|
public IPage<RosterBaseDTO> findList(Page<RosterBaseDTO> page, QueryWrapper<RosterBase> queryWrapper){
|
|
@@ -55,6 +65,10 @@ public class RosterBaseService extends ServiceImpl<RosterBaseMapper, RosterBase>
|
|
String front = ossService.getFileTemporaryLookUrl(rosterBaseDTO.getCertificatesFront());
|
|
String front = ossService.getFileTemporaryLookUrl(rosterBaseDTO.getCertificatesFront());
|
|
rosterBaseDTO.setCertificatesFrontLsUrl(front);
|
|
rosterBaseDTO.setCertificatesFrontLsUrl(front);
|
|
}
|
|
}
|
|
|
|
+ if(StrUtil.isNotEmpty(rosterBaseDTO.getHeadshot())){
|
|
|
|
+ String headshot = ossService.getFileTemporaryLookUrl(rosterBaseDTO.getHeadshot());
|
|
|
|
+ rosterBaseDTO.setHeadshotLsUrl(headshot);
|
|
|
|
+ }
|
|
if(StrUtil.isNotEmpty(rosterBaseDTO.getCertificatesBack())){
|
|
if(StrUtil.isNotEmpty(rosterBaseDTO.getCertificatesBack())){
|
|
String back = ossService.getFileTemporaryLookUrl(rosterBaseDTO.getCertificatesBack());
|
|
String back = ossService.getFileTemporaryLookUrl(rosterBaseDTO.getCertificatesBack());
|
|
rosterBaseDTO.setCertificatesBackLsUrl(back);
|
|
rosterBaseDTO.setCertificatesBackLsUrl(back);
|
|
@@ -67,30 +81,76 @@ public class RosterBaseService extends ServiceImpl<RosterBaseMapper, RosterBase>
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterEducateDTOList())){
|
|
|
|
+ rosterBaseDTO.getRosterEducateDTOList().stream().forEach(item->{
|
|
|
|
+ if(StrUtil.isNotEmpty(item.getEducationCertFirst())){
|
|
|
|
+ String certFirst = ossService.getFileTemporaryLookUrl(item.getEducationCertFirst());
|
|
|
|
+ item.setEducationCertFirstLsUrl(certFirst);
|
|
|
|
+ }
|
|
|
|
+ if(StrUtil.isNotEmpty(item.getEducationCertFirst())){
|
|
|
|
+ String certSecond = ossService.getFileTemporaryLookUrl(item.getEducationCertSecond());
|
|
|
|
+ item.setEducationCertSecondLsUrl(certSecond);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterFamilyDTOList())){
|
|
|
|
+ rosterBaseDTO.getRosterFamilyDTOList().stream().forEach(item->{
|
|
|
|
+ if(StrUtil.isNotEmpty(item.getBirthCertificate())){
|
|
|
|
+ String birth = ossService.getFileTemporaryLookUrl(item.getBirthCertificate());
|
|
|
|
+ item.setBirthCertificateLsUrl(birth);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return rosterBaseDTO;
|
|
return rosterBaseDTO;
|
|
}
|
|
}
|
|
|
|
|
|
public ResponseEntity saveRoster(RosterBaseDTO rosterBaseDTO){
|
|
public ResponseEntity saveRoster(RosterBaseDTO rosterBaseDTO){
|
|
- RosterBase rosterBase = RosterBaseWrapper.INSTANCE.toEntity(rosterBaseDTO);
|
|
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(rosterBaseDTO)){
|
|
if(ObjectUtil.isNotEmpty(rosterBaseDTO)){
|
|
if(StrUtil.isNotEmpty(rosterBaseDTO.getId())){
|
|
if(StrUtil.isNotEmpty(rosterBaseDTO.getId())){
|
|
-
|
|
|
|
|
|
+ if(StrUtil.isNotEmpty(rosterBaseDTO.getIdCard())){
|
|
|
|
+ List<RosterBase> rosterBaseList = this.list(new QueryWrapper<RosterBase>().eq("id_card", rosterBaseDTO.getIdCard()).ne("id",rosterBaseDTO.getId()));
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseList)){
|
|
|
|
+ return ResponseEntity.badRequest().body("基础信息-身份证号 已存在,保存失败");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(StrUtil.isNotEmpty(rosterBaseDTO.getMobile())){
|
|
|
|
+ List<RosterBase> rosterBaseList = this.list(new QueryWrapper<RosterBase>().eq("mobile", rosterBaseDTO.getMobile()).ne("id",rosterBaseDTO.getId()));
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseList)){
|
|
|
|
+ return ResponseEntity.badRequest().body("基础信息-手机号码 已存在,保存失败");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ if(StrUtil.isNotEmpty(rosterBaseDTO.getIdCard())){
|
|
|
|
+ List<RosterBase> rosterBaseList = this.list(new QueryWrapper<RosterBase>().eq("id_card", rosterBaseDTO.getIdCard()));
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseList)){
|
|
|
|
+ return ResponseEntity.badRequest().body("基础信息-身份证号 已存在,保存失败");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(StrUtil.isNotEmpty(rosterBaseDTO.getMobile())){
|
|
|
|
+ List<RosterBase> rosterBaseList = this.list(new QueryWrapper<RosterBase>().eq("mobile", rosterBaseDTO.getMobile()));
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseList)){
|
|
|
|
+ return ResponseEntity.badRequest().body("基础信息-手机号码 已存在,保存失败");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ RosterBase rosterBase = RosterBaseWrapper.INSTANCE.toEntity(rosterBaseDTO);
|
|
|
|
+
|
|
this.saveOrUpdate(rosterBase);
|
|
this.saveOrUpdate(rosterBase);
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(rosterBaseDTO)){
|
|
if(ObjectUtil.isNotEmpty(rosterBaseDTO)){
|
|
|
|
+ //保存合同信息
|
|
if(ObjectUtil.isNotEmpty(rosterBaseDTO.getRosterContractDTO())){
|
|
if(ObjectUtil.isNotEmpty(rosterBaseDTO.getRosterContractDTO())){
|
|
RosterContract rosterContract = RosterContractWrapper.INSTANCE.toEntity(rosterBaseDTO.getRosterContractDTO());
|
|
RosterContract rosterContract = RosterContractWrapper.INSTANCE.toEntity(rosterBaseDTO.getRosterContractDTO());
|
|
rosterContract.setBaseId(rosterBase.getId());
|
|
rosterContract.setBaseId(rosterBase.getId());
|
|
rosterContractService.remove(new QueryWrapper<RosterContract>().eq("base_id",rosterBase.getId()));
|
|
rosterContractService.remove(new QueryWrapper<RosterContract>().eq("base_id",rosterBase.getId()));
|
|
rosterContractService.saveOrUpdate(rosterContract);
|
|
rosterContractService.saveOrUpdate(rosterContract);
|
|
}
|
|
}
|
|
- }
|
|
|
|
-
|
|
|
|
- if(ObjectUtil.isNotEmpty(rosterBaseDTO)){
|
|
|
|
|
|
+ //保存银行卡信息
|
|
if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterBankCardsDTOList())){
|
|
if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterBankCardsDTOList())){
|
|
List<String> collect = rosterBaseDTO.getRosterBankCardsDTOList().stream().map(RosterBankCardsDTO::getId).collect(Collectors.toList());
|
|
List<String> collect = rosterBaseDTO.getRosterBankCardsDTOList().stream().map(RosterBankCardsDTO::getId).collect(Collectors.toList());
|
|
rosterBankCardsService.remove(new QueryWrapper<RosterBankCards>().eq("base_id",rosterBase.getId()).notIn(CollectionUtil.isNotEmpty(collect),"id",collect));
|
|
rosterBankCardsService.remove(new QueryWrapper<RosterBankCards>().eq("base_id",rosterBase.getId()).notIn(CollectionUtil.isNotEmpty(collect),"id",collect));
|
|
@@ -104,6 +164,76 @@ public class RosterBaseService extends ServiceImpl<RosterBaseMapper, RosterBase>
|
|
}else{
|
|
}else{
|
|
rosterBankCardsService.remove(new QueryWrapper<RosterBankCards>().eq("base_id",rosterBase.getId()));
|
|
rosterBankCardsService.remove(new QueryWrapper<RosterBankCards>().eq("base_id",rosterBase.getId()));
|
|
}
|
|
}
|
|
|
|
+ //保存教育经历
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterEducateDTOList())){
|
|
|
|
+ List<String> collect = rosterBaseDTO.getRosterEducateDTOList().stream().map(RosterEducateDTO::getId).collect(Collectors.toList());
|
|
|
|
+ rosterEducateService.remove(new QueryWrapper<RosterEducate>().eq("base_id",rosterBase.getId()).notIn(CollectionUtil.isNotEmpty(collect),"id",collect));
|
|
|
|
+ rosterBaseDTO.getRosterEducateDTOList().stream().forEach(item->{
|
|
|
|
+ if(ObjectUtil.isNotEmpty(item)&& BeanUtils.objectCheckIsNull(item)){
|
|
|
|
+ RosterEducate rosterEducate = RosterEducateWrapper.INSTANCE.toEntity(item);
|
|
|
|
+ rosterEducate.setBaseId(rosterBase.getId());
|
|
|
|
+ rosterEducateService.saveOrUpdate(rosterEducate);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }else{
|
|
|
|
+ rosterEducateService.remove(new QueryWrapper<RosterEducate>().eq("base_id",rosterBase.getId()));
|
|
|
|
+ }
|
|
|
|
+ //保存工作经历
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterWorkDTOList())){
|
|
|
|
+ List<String> collect = rosterBaseDTO.getRosterWorkDTOList().stream().map(RosterWorkDTO::getId).collect(Collectors.toList());
|
|
|
|
+ rosterWorkService.remove(new QueryWrapper<RosterWork>().eq("base_id",rosterBase.getId()).notIn(CollectionUtil.isNotEmpty(collect),"id",collect));
|
|
|
|
+ rosterBaseDTO.getRosterWorkDTOList().stream().forEach(item->{
|
|
|
|
+ if(ObjectUtil.isNotEmpty(item)&& BeanUtils.objectCheckIsNull(item)){
|
|
|
|
+ RosterWork rosterWork = RosterWorkWrapper.INSTANCE.toEntity(item);
|
|
|
|
+ rosterWork.setBaseId(rosterBase.getId());
|
|
|
|
+ rosterWorkService.saveOrUpdate(rosterWork);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }else{
|
|
|
|
+ rosterWorkService.remove(new QueryWrapper<RosterWork>().eq("base_id",rosterBase.getId()));
|
|
|
|
+ }
|
|
|
|
+ //保存家庭成员
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterFamilyDTOList())){
|
|
|
|
+ List<String> collect = rosterBaseDTO.getRosterFamilyDTOList().stream().map(RosterFamilyDTO::getId).collect(Collectors.toList());
|
|
|
|
+ rosterFamilyService.remove(new QueryWrapper<RosterFamily>().eq("base_id",rosterBase.getId()).notIn(CollectionUtil.isNotEmpty(collect),"id",collect));
|
|
|
|
+ rosterBaseDTO.getRosterFamilyDTOList().stream().forEach(item->{
|
|
|
|
+ if(ObjectUtil.isNotEmpty(item)&& BeanUtils.objectCheckIsNull(item)){
|
|
|
|
+ RosterFamily rosterFamily = RosterFamilyWrapper.INSTANCE.toEntity(item);
|
|
|
|
+ rosterFamily.setBaseId(rosterBase.getId());
|
|
|
|
+ rosterFamilyService.saveOrUpdate(rosterFamily);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }else{
|
|
|
|
+ rosterFamilyService.remove(new QueryWrapper<RosterFamily>().eq("base_id",rosterBase.getId()));
|
|
|
|
+ }
|
|
|
|
+ //保存员工证书
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterCertificateDTOList())){
|
|
|
|
+ List<String> collect = rosterBaseDTO.getRosterCertificateDTOList().stream().map(RosterCertificateDTO::getId).collect(Collectors.toList());
|
|
|
|
+ rosterCertificateService.remove(new QueryWrapper<RosterCertificate>().eq("base_id",rosterBase.getId()).notIn(CollectionUtil.isNotEmpty(collect),"id",collect));
|
|
|
|
+ rosterBaseDTO.getRosterCertificateDTOList().stream().forEach(item->{
|
|
|
|
+ if(ObjectUtil.isNotEmpty(item)&& BeanUtils.objectCheckIsNull(item)){
|
|
|
|
+ RosterCertificate rosterCertificate = RosterCertificateWrapper.INSTANCE.toEntity(item);
|
|
|
|
+ rosterCertificate.setBaseId(rosterBase.getId());
|
|
|
|
+ rosterCertificateService.saveOrUpdate(rosterCertificate);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }else{
|
|
|
|
+ rosterCertificateService.remove(new QueryWrapper<RosterCertificate>().eq("base_id",rosterBase.getId()));
|
|
|
|
+ }
|
|
|
|
+ //保存附件
|
|
|
|
+ if(CollectionUtil.isNotEmpty(rosterBaseDTO.getRosterFilesDTOList())){
|
|
|
|
+ List<String> collect = rosterBaseDTO.getRosterFilesDTOList().stream().map(RosterFilesDTO::getId).collect(Collectors.toList());
|
|
|
|
+ rosterFilesService.remove(new QueryWrapper<RosterFiles>().eq("base_id",rosterBase.getId()).notIn(CollectionUtil.isNotEmpty(collect),"id",collect));
|
|
|
|
+ rosterBaseDTO.getRosterFilesDTOList().stream().forEach(item->{
|
|
|
|
+ if(ObjectUtil.isNotEmpty(item)&& BeanUtils.objectCheckIsNull(item)){
|
|
|
|
+ RosterFiles rosterFiles = RosterFilesWrapper.INSTANCE.toEntity(item);
|
|
|
|
+ rosterFiles.setBaseId(rosterBase.getId());
|
|
|
|
+ rosterFilesService.saveOrUpdate(rosterFiles);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }else{
|
|
|
|
+ rosterFilesService.remove(new QueryWrapper<RosterFiles>().eq("base_id",rosterBase.getId()));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return ResponseEntity.ok("花名册保存成功");
|
|
return ResponseEntity.ok("花名册保存成功");
|
|
}
|
|
}
|