Commit 1692470d authored by huyuchen's avatar huyuchen

huych-入职登记商险待办提交

parent 0caeff84
......@@ -546,6 +546,15 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
*/
@Override
public R confirmReceive(EmployeeRegistrationPreVo preVo) {
YifuUser user = SecurityUtils.getUser();
if (Common.isEmpty(preVo)) {
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
EmployeeRegistration registration = baseMapper.selectById(preVo.getId());
if (Common.isEmpty(registration) || (Common.isNotNull(registration) &&
!CommonConstants.ONE_STRING.equals(registration.getProcessStatus()))) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
if (preVo.getServerItem().contains("商险") && !preVo.getEmployeeInsurancePreVos().isEmpty()) {
List<TEmployeeInsuranceExitCheckVo> errorList = new ArrayList<>();
TEmployeeInsuranceExitCheckVo checkVo;
......@@ -553,13 +562,6 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
// 判断重复性MAP
Map<String, Integer> keyMap = new HashMap<>();
for (TEmployeeInsurancePreVo insurancePreVo : preVo.getEmployeeInsurancePreVos()) {
insurancePreVo.setEmpIdcard(preVo.getEmpIdcard());
insurancePreVo.setDeptNo(preVo.getDeptNo());
//商险是否存在判断
checkVo = checkInsuranceExit(insurancePreVo,preVo.getEmployeeName(),preVo.getEmpIdcard());
if (null != checkVo) {
errorList.add(checkVo);
}
// 1:重复性判断
key = this.getFiveKey(insurancePreVo);
if (keyMap.get(key) == null) {
......@@ -567,22 +569,19 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
} else {
return R.other(CommonConstants.TWO_INT,null,"保险公司、险种、购买标准、保单起、止日期不可同时重复;");
}
insurancePreVo.setEmpIdcard(preVo.getEmpIdcard());
insurancePreVo.setDeptNo(preVo.getDeptNo());
//商险是否存在判断
checkVo = checkInsuranceExit(insurancePreVo,preVo.getEmployeeName(),preVo.getEmpIdcard());
if (null != checkVo) {
errorList.add(checkVo);
}
}
if (!errorList.isEmpty()) {
return R.other(CommonConstants.TWO_INT,null,errorList);
}
}
YifuUser user = SecurityUtils.getUser();
if (Common.isEmpty(preVo)) {
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
EmployeeRegistration registration = baseMapper.selectById(preVo.getId());
if (Common.isEmpty(registration) || (Common.isNotNull(registration) &&
!CommonConstants.ONE_STRING.equals(registration.getProcessStatus()))) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
//点击“接收确认”的时候,监测到该人员该项目下已有在项的档案时,再次提醒:该人员已在项,
//状态将更新成“已处理”;处理记录中,针对此情况,记录真实的进项时间,备注:先于登记入项
EmpProjectStatusVo vo = new EmpProjectStatusVo();
......@@ -1261,7 +1260,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
return null;
}
//商险是否存在判断 type 1 单个接收 2 批量接收
//商险是否存在判断
private TEmployeeInsuranceExitCheckVo checkInsuranceExit(TEmployeeInsurancePreVo preVo,String empName,String empIdcard) {
//查询入职确认信息数据
TEmployeeInsuranceExitCheckVo exitCheckVo = new TEmployeeInsuranceExitCheckVo();
......@@ -1319,6 +1318,8 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
} else if (insuranceDetail.getBuyHandleStatus() == CommonConstants.FOUR_INT) {
preVo.setProcessStatus(CommonConstants.FIVE_STRING);
}
//是否地市自购
preVo.setIsAddress(insuranceDetail.getIsAdress());
}
}
}
......
......@@ -118,6 +118,12 @@ public class InsuranceAddParam implements Serializable {
@Schema(description = "错误信息")
private String errorMessage;
/**
* 商险待购买id
*/
@Schema(description = "商险待购买id")
private String insurancePreId;
/***********************************以下字段由系统算出,前端不用传,是为了方便入库***********************************/
/**
* 结算类型 (1、单独结算 2、合并结算-和工资一起结算)
......
......@@ -113,6 +113,12 @@ public class InsuranceBatchParam implements Serializable {
@Schema(description = "错误信息")
private String errorMessage;
/**
* 商险待购买id
*/
@Schema(description = "商险待购买id")
private String insurancePreId;
/***********************************以下字段由系统算出,前端不用传,是为了方便入库***********************************/
/**
* 结算类型 (1、单独结算 2、合并结算-和工资一起结算)
......
......@@ -101,6 +101,12 @@ public class InsuranceReplaceParam implements Serializable {
@Schema(description = "错误信息")
private String errorMessage;
/**
* 商险待购买id
*/
@Schema(description = "商险待购买id")
private String insurancePreId;
/**
* 数据传递对象
*/
......
......@@ -138,6 +138,8 @@ public class TEmployeeInsurancePreController {
@Operation(description = "导出商险待办任务表")
@PostMapping("/export")
public void export(HttpServletResponse response, @RequestBody TEmployeeInsurancePreSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, searchVo);
tEmployeeInsurancePreService.listExport(response,searchVo);
}
......
......@@ -35,6 +35,8 @@ public interface TEmployeeInsurancePreMapper extends BaseMapper<TEmployeeInsuran
long selectExportCount(@Param("tEmployeeInsurancePre") TEmployeeInsurancePreSearchVo employeeRegistration);
void updateBatchById(@Param("idList") List<String> idList);
List<TEmployeeInsurancePreExportVo> selectExportList(@Param("employeeRegistration") TEmployeeInsurancePreSearchVo employeeRegistration);
List<TEmployeeInsurancePre> getAllUnconfimData();
......
......@@ -70,14 +70,6 @@ public interface TEmployeeInsurancePreService extends IService<TEmployeeInsuranc
*/
Boolean saveInsurancePreInfo(EmployeeRegistrationPreVo preVo);
/**
* 更新商险待购买状态
* @param id
* @param status 状态
* @return
*/
void updateInsurancePreInfo(String id,String status);
TEmployeeInsuranceSelectVo selectInsurancePreInfoList(TEmployeeInsurancePreVo preVo);
void updateInsurancePreCustomerName(EmployeeRegistrationCustomerUserUpdateVo updateVo);
......
......@@ -120,6 +120,11 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
String fileName = "商险待办任务表批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TEmployeeInsurancePreExportVo> list = new ArrayList<>();
if (null == searchVo.getStatusList()) {
searchVo.setStatusList(CommonConstants.processListPreArchivesStatus);
}
//权限赋值
initSearchVo(searchVo);
long count = baseMapper.selectExportCount(searchVo);
try (ServletOutputStream out= response.getOutputStream();){
response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
......@@ -201,6 +206,7 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
addParam.setSettleMonth(CommonConstants.EMPTY_STRING);
addParam.setPost(insurancePre.getPosition());
addParam.setRemark(CommonConstants.EMPTY_STRING);
addParam.setInsurancePreId(insurancePre.getId());
addParamList.add(addParam);
}
if (CommonConstants.TWO_INT == insurancePre.getBuyType()) {
......@@ -217,6 +223,7 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
addParam.setSettleMonth(CommonConstants.EMPTY_STRING);
addParam.setPost(insurancePre.getPosition());
addParam.setRemark(CommonConstants.EMPTY_STRING);
addParam.setInsurancePreId(insurancePre.getId());
batchAddParamList.add(addParam);
}
if (CommonConstants.THREE_INT == insurancePre.getBuyType()) {
......@@ -234,6 +241,7 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
addParam.setReplaceDeptNo(insurancePre.getReplaceDeptNo());
addParam.setReplaceEmpIdcardNo(insurancePre.getReplaceEmpIdcard());
addParam.setRemark(CommonConstants.EMPTY_STRING);
addParam.setInsurancePreId(insurancePre.getId());
replaceAddParamList.add(addParam);
}
}
......@@ -325,6 +333,7 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
for (TEmployeeInsurancePreVo preVo : employeeInsurancePreVos) {
//判断是否存在商险待购买信息
preExit = baseMapper.selectOne(Wrappers.<TEmployeeInsurancePre>query().lambda()
.eq(TEmployeeInsurancePre::getRegisterId, preVo.getRegisterId())
.eq(TEmployeeInsurancePre::getEmpIdcard, preVo.getEmpIdcard())
.eq(TEmployeeInsurancePre::getBuyStandard, preVo.getBuyStandard())
.eq(TEmployeeInsurancePre::getInsuranceTypeName, preVo.getInsuranceTypeName())
......@@ -341,7 +350,6 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
pre.setId(preExit.getId());
baseMapper.insert(pre);
baseMapper.deleteById(preExit);
//todo 操作记录
} else {
baseMapper.insert(pre);
//暂时不需要,先注释,后续可能会需要
......@@ -365,17 +373,6 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
return true;
}
@Override
public void updateInsurancePreInfo(String id, String status) {
if (Common.isNotNull(id) && Common.isNotNull(status)) {
TEmployeeInsurancePre preExit = baseMapper.selectById(id);
if (Common.isNotNull(preExit)) {
preExit.setProcessStatus(status);
baseMapper.updateById(preExit);
}
}
}
@Override
public TEmployeeInsuranceSelectVo selectInsurancePreInfoList(TEmployeeInsurancePreVo preVo) {
TEmployeeInsuranceSelectVo selectVo = new TEmployeeInsuranceSelectVo();
......
......@@ -377,7 +377,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detailList.add(detail);
sourceIdCardList.add(detail.getEmpIdcardNo());
baseMapper.insert(detail);
updateEmployeeInsurancePre(detail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
updateEmployeeInsurancePre(success.getInsurancePreId(),detail,CommonConstants.THREE_STRING);
}
List<String> replaceIdList = new ArrayList<>();
for (TInsuranceDetail d : detailList) {
......@@ -386,6 +386,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
// 同步操作档案的 商险状态为:2正常(0无2正常3失效4处理中)
this.doFailInfo(detailList, sourceIdCardList, replaceIdList, CommonConstants.FOUR_STRING);
}
//派单失败更新商险待购买数据
if (CollectionUtils.isNotEmpty(listResult)){
List<String> idList = new ArrayList<>();
for (InsuranceAddParam addParam:listResult) {
if (Common.isNotNull(addParam.getInsurancePreId())) {
idList.add(addParam.getInsurancePreId());
}
}
if (!idList.isEmpty()) {
updateEmployeeInsurancePre(idList);
}
}
//操作记录
addOperate(detailList,user,InsurancesConstants.ADD,null,CommonConstants.ONE_INT);
return R.ok(listResult,InsurancesConstants.ADD_SUCCESS);
......@@ -440,13 +452,25 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
sourceIdCardList.add(detail.getEmpIdcardNo());
replaceIdList.add(detail.getId());
baseMapper.insert(detail);
updateEmployeeInsurancePre(detail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
updateEmployeeInsurancePre(success.getInsurancePreId(),detail,CommonConstants.THREE_STRING);
}
// 同步操作档案的 商险状态为:2正常(0无2正常3失效4处理中)
this.doFailInfo(detailList, sourceIdCardList, replaceIdList, CommonConstants.FOUR_STRING);
}
//操作记录
addOperate(detailList,user,InsurancesConstants.BATCH,null,CommonConstants.ONE_INT);
//派单失败更新商险待购买数据
if (CollectionUtils.isNotEmpty(listResult)){
List<String> idList = new ArrayList<>();
for (InsuranceBatchParam addParam:listResult) {
if (Common.isNotNull(addParam.getInsurancePreId())) {
idList.add(addParam.getInsurancePreId());
}
}
if (!idList.isEmpty()) {
updateEmployeeInsurancePre(idList);
}
}
return R.ok(listResult,InsurancesConstants.BATCH_SUCCESS);
}
......@@ -566,13 +590,25 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
replace.setCreateName(user.getNickname());
replace.setCreateTime(LocalDateTime.now());
tInsuranceReplaceService.save(replace);
updateEmployeeInsurancePre(newDetail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
updateEmployeeInsurancePre(success.getInsurancePreId(),newDetail,CommonConstants.THREE_STRING);
}
detailList.add(newDetail);
}
}
//操作记录
addOperate(detailList,user,InsurancesConstants.REPLACE,null,CommonConstants.ONE_INT);
//派单失败更新商险待购买数据
if (CollectionUtils.isNotEmpty(listResult)){
List<String> idList = new ArrayList<>();
for (InsuranceReplaceParam addParam:listResult) {
if (Common.isNotNull(addParam.getInsurancePreId())) {
idList.add(addParam.getInsurancePreId());
}
}
if (!idList.isEmpty()) {
updateEmployeeInsurancePre(idList);
}
}
return R.ok(listResult,InsurancesConstants.REPLACE_SUCCESS);
}
......@@ -1073,7 +1109,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUnitNo(jsonObject.getCustomerCode());
}
detailList.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("3").collect(Collectors.toList()),CommonConstants.FOUR_STRING);
updateEmployeeInsurancePreById(detail, Stream.of("3").collect(Collectors.toList()),CommonConstants.FOUR_STRING);
}
}
}
......@@ -1237,7 +1273,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUnitNo(jsonObject.getCustomerCode());
}
detailList.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("3").collect(Collectors.toList()),CommonConstants.FOUR_STRING);
updateEmployeeInsurancePreById(detail, Stream.of("3").collect(Collectors.toList()),CommonConstants.FOUR_STRING);
}
}
}
......@@ -1535,7 +1571,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
operateList.add(e);
}
});
updateEmployeeInsurancePre(detail,Stream.of("3","4","5").collect(Collectors.toList()),CommonConstants.FIVE_STRING);
updateEmployeeInsurancePreById(detail,Stream.of("3","4","6").collect(Collectors.toList()),CommonConstants.FIVE_STRING);
}
//更新状态
this.updateBatchById(successList);
......@@ -1663,7 +1699,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//替换类型,保单生效日期:T + 1
detail.setPolicyEffect(LocalDate.now().plusDays(CommonConstants.ONE_INT));
successOne.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
updateEmployeeInsurancePreById(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//查找被替换人信息
one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
......@@ -1718,7 +1754,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settleList.add(settle);
detail.setDefaultSettleId(settle.getId());
successTwo.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
updateEmployeeInsurancePreById(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//生成收入数据
createInsuranceInfo(detail,settleDomain);
}else {
......@@ -1755,7 +1791,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settleList.add(settle);
detail.setDefaultSettleId(settle.getId());
successTwo.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
updateEmployeeInsurancePreById(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//生成收入数据
createInsuranceInfo(detail,settleDomain);
}
......@@ -1775,7 +1811,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUpdateTime(LocalDateTime.now());
detail.setUpdateBy(user.getId());
successOne.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
updateEmployeeInsurancePreById(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
}
}
}
......@@ -8327,21 +8363,49 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
//商险各个入口更新待购买列表状态更新
private void updateEmployeeInsurancePre(TInsuranceDetail insuranceDetail,List<String> preStatusList,String status) {
TEmployeeInsurancePre pre = employeeInsurancePreMapper.selectOne(Wrappers.<TEmployeeInsurancePre>query().lambda()
.eq(TEmployeeInsurancePre::getEmpIdcard,insuranceDetail.getEmpIdcardNo())
private void updateEmployeeInsurancePre(String insurancePreId,TInsuranceDetail insuranceDetail,String status) {
TEmployeeInsurancePre pre;
if (null != insurancePreId) {
pre = employeeInsurancePreMapper.selectOne(Wrappers.<TEmployeeInsurancePre>query().lambda()
.eq(TEmployeeInsurancePre::getId,insurancePreId)
.in(TEmployeeInsurancePre::getProcessStatus,CommonConstants.processStatus)
.last(CommonConstants.LAST_ONE_SQL));
} else {
pre = employeeInsurancePreMapper.selectOne(Wrappers.<TEmployeeInsurancePre>query().lambda()
.eq(TEmployeeInsurancePre::getEmpIdcard, insuranceDetail.getEmpIdcardNo())
.eq(TEmployeeInsurancePre::getBuyStandard, insuranceDetail.getBuyStandard())
.eq(TEmployeeInsurancePre::getInsuranceTypeName, insuranceDetail.getInsuranceTypeName())
.eq(TEmployeeInsurancePre::getInsuranceCompanyName, insuranceDetail.getInsuranceCompanyName())
.eq(TEmployeeInsurancePre::getPolicyStart, insuranceDetail.getPolicyStart())
.eq(TEmployeeInsurancePre::getPolicyEnd, insuranceDetail.getPolicyEnd())
.in(TEmployeeInsurancePre::getProcessStatus,preStatusList)
.in(TEmployeeInsurancePre::getProcessStatus, CommonConstants.processStatus)
.last(CommonConstants.LAST_ONE_SQL));
}
if (Common.isNotNull(pre)) {
pre.setProcessStatus(status);
if (Common.isNotNull(insuranceDetail.getId())) {
pre.setInsurancesId(insuranceDetail.getId());
pre.setIsAddress(insuranceDetail.getIsAdress());
}
employeeInsurancePreMapper.updateById(pre);
}
}
//更新商险待购买派单失败
private void updateEmployeeInsurancePre(List<String> insurancePreIdList) {
if (!insurancePreIdList.isEmpty()) {
employeeInsurancePreMapper.updateBatchById(insurancePreIdList);
}
}
//商险各个入口更新待购买列表状态更新
private void updateEmployeeInsurancePreById(TInsuranceDetail insuranceDetail,List<String> preStatusList,String status) {
TEmployeeInsurancePre pre = employeeInsurancePreMapper.selectOne(Wrappers.<TEmployeeInsurancePre>query().lambda()
.eq(TEmployeeInsurancePre::getInsurancesId,insuranceDetail.getId())
.in(TEmployeeInsurancePre::getProcessStatus,preStatusList)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(pre)) {
pre.setProcessStatus(status);
employeeInsurancePreMapper.updateById(pre);
}
}
......
......@@ -149,9 +149,12 @@
</if>
<if test="tEmployeeInsurancePre.expectedCollectionTime != null">
AND a.expected_collection_time = #{tEmployeeInsurancePre.expectedCollectionTime}
</if>
<if test="tEmployeeInsurancePre.joinTimeStart != null">
AND a.regist_time <![CDATA[ >= ]]> #{tEmployeeInsurancePre.registTimeStart}
</if>
<if test="tEmployeeInsurancePre.registTimeEnd != null">
and a.regist_time <![CDATA[ <= ]]> concat(#{tEmployeeInsurancePre.registTimeEnd}, ' 23:59:59')
and a.regist_time <![CDATA[ <= ]]> #{tEmployeeInsurancePre.registTimeEnd}
</if>
<if test="tEmployeeInsurancePre.insuranceCompanyName != null and tEmployeeInsurancePre.insuranceCompanyName.trim() != ''">
AND a.insurance_company_name = #{tEmployeeInsurancePre.insuranceCompanyName}
......@@ -257,6 +260,15 @@
</where>
</select>
<update id="updateBatchById">
update t_employee_insurance_pre a
set a.process_status = '2'
where a.process_status in ('0','1') and a.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</update>
<select id="selectExportList" resultMap="tEmployeeInsurancePreExportMap">
SELECT
a.dept_name,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment