|
|
@ -19,6 +19,7 @@ import com.epmet.dao.IcResiUserDao; |
|
|
|
import com.epmet.dto.ChangeWelfareDTO; |
|
|
|
import com.epmet.dto.IcBirthRecordDTO; |
|
|
|
import com.epmet.dto.form.BirthRecordFormDTO; |
|
|
|
import com.epmet.dto.form.BirthRecordUpdateDTO; |
|
|
|
import com.epmet.dto.form.IcResiUserTransferFormDTO; |
|
|
|
import com.epmet.dto.result.AllGridsByUserIdResultDTO; |
|
|
|
import com.epmet.dto.result.HouseInfoDTO; |
|
|
@ -146,7 +147,7 @@ public class IcBirthRecordServiceImpl extends BaseServiceImpl<IcBirthRecordDao, |
|
|
|
//判断是否有所属组织,如果有,判断是否属于当前组织,没有的话则直接新增
|
|
|
|
if (StringUtils.isNotEmpty(sync.getIcResiUserId())) { |
|
|
|
userEntity.setId(sync.getIcResiUserId()); |
|
|
|
if (staffInfo.getAgencyId().equals(sync.getAgencyId())) { |
|
|
|
if (staffInfo.getAgencyId().equals(sync.getResiAgencyId())) { |
|
|
|
//组织相等的情况
|
|
|
|
if (NumConstant.ZERO_STR.equals(sync.getStatus())) { |
|
|
|
//正常状态
|
|
|
@ -213,108 +214,17 @@ public class IcBirthRecordServiceImpl extends BaseServiceImpl<IcBirthRecordDao, |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void update(TokenDto tokenDto, IcBirthRecordDTO dto) { |
|
|
|
|
|
|
|
IcBirthRecordEntity record = baseDao.selectById(dto.getId()); |
|
|
|
public void update(TokenDto tokenDto, BirthRecordUpdateDTO dto) { |
|
|
|
|
|
|
|
//获取工作人员信息
|
|
|
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); |
|
|
|
if (null == staffInfo) { |
|
|
|
throw new EpmetException("获取工作人员信息失败"); |
|
|
|
} |
|
|
|
if (NumConstant.ONE_STR.equals(dto.getIsCheck()) && NumConstant.ONE_STR.equals(record.getIsCheck())) { |
|
|
|
throw new EpmetException("已补充到居民信息"); |
|
|
|
} |
|
|
|
//是否补充居民信息
|
|
|
|
SyncResiResDTO sync = icResiUserService.checkUser(tokenDto.getCustomerId(), record.getIdCard(), staffInfo.getAgencyId()); |
|
|
|
if (NumConstant.ONE_STR.equals(dto.getIsCheck())) { |
|
|
|
//判断是否可迁入
|
|
|
|
if (!sync.getMoveInstatus()) { |
|
|
|
throw new EpmetException("请联系" + sync.getResiAgencyName() + "迁出该居民后操作"); |
|
|
|
} |
|
|
|
|
|
|
|
IcResiUserEntity userEntity = ConvertUtils.sourceToTarget(record, IcResiUserEntity.class); |
|
|
|
userEntity.setCustomerId(tokenDto.getCustomerId()); |
|
|
|
userEntity.setAgencyId(staffInfo.getAgencyId()); |
|
|
|
userEntity.setPids(staffInfo.getAgencyPIds()); |
|
|
|
userEntity.setYhzgx(dto.getHouseholderRelation()); |
|
|
|
userEntity.setStatus(NumConstant.ZERO_STR); |
|
|
|
userEntity.setSubStatus("11"); |
|
|
|
|
|
|
|
//判断是否有所属组织,如果有,判断是否属于当前组织,没有的话则直接新增
|
|
|
|
if (StringUtils.isNotEmpty(sync.getIcResiUserId())) { |
|
|
|
userEntity.setId(sync.getIcResiUserId()); |
|
|
|
if (staffInfo.getAgencyId().equals(sync.getAgencyId())) { |
|
|
|
//组织相等的情况
|
|
|
|
if (NumConstant.ZERO_STR.equals(sync.getStatus())) { |
|
|
|
//正常状态
|
|
|
|
if (!record.getHomeId().equals(sync.getResiHomeId())) { |
|
|
|
//房屋信息不一致
|
|
|
|
//是否更新 为空,返回确认消息
|
|
|
|
if (StringUtils.isBlank(dto.getIsReplace())) { |
|
|
|
throw new EpmetException("居民信息中房屋信息与当前选择房屋不一致,是否更新?"); |
|
|
|
} else if (NumConstant.ONE_STR.equals(dto.getIsReplace())) { |
|
|
|
//更新居民信息
|
|
|
|
icResiUserDao.updateById(userEntity); |
|
|
|
extracted(tokenDto, ConvertUtils.sourceToTarget(record, IcBirthRecordDTO.class), staffInfo, sync, "change"); |
|
|
|
} |
|
|
|
} else { |
|
|
|
//房屋信息一致
|
|
|
|
//更新居民信息
|
|
|
|
icResiUserDao.updateById(userEntity); |
|
|
|
} |
|
|
|
} else { |
|
|
|
//迁出或注销状态,
|
|
|
|
//更新居民信息
|
|
|
|
icResiUserDao.updateById(userEntity); |
|
|
|
//迁入记录
|
|
|
|
extracted(tokenDto, ConvertUtils.sourceToTarget(record, IcBirthRecordDTO.class), staffInfo, sync, "in"); |
|
|
|
} |
|
|
|
} else { |
|
|
|
//组织不相等的情况
|
|
|
|
//更新居民信息
|
|
|
|
icResiUserDao.updateById(userEntity); |
|
|
|
//迁入记录
|
|
|
|
extracted(tokenDto, ConvertUtils.sourceToTarget(record, IcBirthRecordDTO.class), staffInfo, sync, "in "); |
|
|
|
|
|
|
|
} |
|
|
|
} else { |
|
|
|
//添加居民信息
|
|
|
|
icResiUserDao.insert(userEntity); |
|
|
|
//迁入记录
|
|
|
|
sync.setIcResiUserId(userEntity.getId()); |
|
|
|
extracted(tokenDto, ConvertUtils.sourceToTarget(record, IcBirthRecordDTO.class), staffInfo, sync, "add"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
IcBirthRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcBirthRecordEntity.class); |
|
|
|
entity.setGridId(null); |
|
|
|
entity.setBuildId(null); |
|
|
|
entity.setUnitId(null); |
|
|
|
entity.setHomeId(null); |
|
|
|
entity.setName(null); |
|
|
|
entity.setMobile(null); |
|
|
|
entity.setIdCard(null); |
|
|
|
if (NumConstant.ONE_STR.equals(record.getIsCheck())) { |
|
|
|
entity.setIsCheck(null); |
|
|
|
} |
|
|
|
if (NumConstant.ONE_STR.equals(record.getIsWelfare())) { |
|
|
|
entity.setIsWelfare(null); |
|
|
|
} |
|
|
|
updateById(entity); |
|
|
|
|
|
|
|
if (NumConstant.ZERO_STR.equals(record.getIsWelfare()) && NumConstant.ONE_STR.equals(dto.getIsWelfare())) { |
|
|
|
ChangeWelfareDTO welfare = new ChangeWelfareDTO(); |
|
|
|
welfare.setCustomerId(tokenDto.getCustomerId()); |
|
|
|
welfare.setGridId(record.getGridId()); |
|
|
|
welfare.setUserId(sync.getIcResiUserId()); |
|
|
|
welfare.setIdCard(record.getIdCard()); |
|
|
|
welfare.setMobile(record.getMobile()); |
|
|
|
welfare.setName(record.getName()); |
|
|
|
welfare.setGender(record.getGender()); |
|
|
|
welfare.setJoinReason("出生登记选定"); |
|
|
|
changeWelfareService.saveWelfareInfo(welfare); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|