Commit 9f8318e2 authored by hongguangwu's avatar hongguangwu

MVP1.7.10-转自动+批量转人工+批量转自动

parent 0ce216b7
......@@ -20,7 +20,6 @@ package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
......@@ -28,11 +27,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TDispatchInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TAuditInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TDispatchInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialSoldierService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialInfoSearchVo;
......@@ -64,9 +59,7 @@ public class TSocialInfoController {
private final TSocialSoldierService tSocialSoldierService;
private final TDispatchInfoMapper tDispatchInfoMapper;
/**
* 简单分页查询
* @param page 分页对象
......@@ -196,7 +189,7 @@ public class TSocialInfoController {
/**
* @param id
* @param isSocial 1 社保 2 医保
* @param isSocial 1 社保 2 医保 3 全部
* @Description:
* @Author: hgw
* @Date: 2024/8/1 18:12
......@@ -209,44 +202,61 @@ public class TSocialInfoController {
if (user == null || Common.isEmpty(user.getId())) {
return R.failed("请登录!");
}
TSocialInfo socialInfo = tSocialInfoService.getById(id);
if (socialInfo == null || Common.isEmpty(socialInfo.getId())) {
return R.failed("未找到社保");
}
String handleRemark;
if (CommonConstants.ZERO_STRING.equals(socialInfo.getDispatchType())) {
handleRemark = "派增";
} else {
handleRemark = "派减";
return tSocialInfoService.doRenGong(id, isSocial, user);
}
/**
* @param idList
* @param isSocial 1 社保 2 医保 3 全部
* @Description: 转人工-批量
* @Author: hgw
* @Date: 2024/8/1 18:12
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(summary = "转人工-批量", description = "转人工-批量")
@PostMapping("/doRenGongBatch" )
public R<String> doRenGongBatch(@RequestBody List<String> idList, @RequestParam String isSocial) {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed("请登录!");
}
if (CommonConstants.ONE_STRING.equals(isSocial) && Common.isNotNull(socialInfo.getYgsHandleStatus())) {
if (CommonConstants.ZERO_STRING.equals(socialInfo.getYgsHandleStatus())
|| CommonConstants.FOUR_STRING.equals(socialInfo.getYgsHandleStatus())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getYgsHandleStatus())
|| CommonConstants.SIX_STRING.equals(socialInfo.getYgsHandleStatus())) {
return R.failed("当前养老工伤失业-办理状态不可以转人工!");
}
socialInfo.setYgsHandleStatus(CommonConstants.FIVE_STRING);
tSocialInfoService.updateById(socialInfo);
handleRemark += "养老、工伤、失业手动转人工";
} else if (CommonConstants.TWO_STRING.equals(isSocial) && Common.isNotNull(socialInfo.getYsdHandleStatus())) {
if (CommonConstants.ZERO_STRING.equals(socialInfo.getYsdHandleStatus())
|| CommonConstants.FOUR_STRING.equals(socialInfo.getYsdHandleStatus())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getYsdHandleStatus())
|| CommonConstants.SIX_STRING.equals(socialInfo.getYsdHandleStatus())) {
return R.failed("当前医疗生育大病-办理状态不可以转人工!");
}
socialInfo.setYsdHandleStatus(CommonConstants.FIVE_STRING);
tSocialInfoService.updateById(socialInfo);
handleRemark += "医疗、生育、大病手动转人工";
return tSocialInfoService.doRenGongBatch(idList, isSocial, user);
}
/**
* @param id
* @param isSocial 1 社保 2 医保 3 全部
* @Description:
* @Author: hgw
* @Date: 2024/8/1 18:12
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(summary = "转自动化", description = "转自动化")
@GetMapping("/doAuto" )
public R<String> doAuto(@RequestParam String id, @RequestParam String isSocial) {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed("请登录!");
}
TDispatchInfo disExist = tDispatchInfoMapper.selectOne(Wrappers.<TDispatchInfo>query().lambda()
.eq(TDispatchInfo::getSocialId, id).last(CommonConstants.LAST_ONE_SQL));
if (disExist != null) {
socialInfo.setDispatchId(disExist.getId());
return tSocialInfoService.doAuto(id, isSocial, user);
}
/**
* @param idList
* @param isSocial 1 社保 2 医保 3 全部
* @Description: 转人工-批量
* @Author: hgw
* @Date: 2024/8/1 18:12
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(summary = "转自动化-批量", description = "转自动化-批量")
@PostMapping("/doAutoBatch" )
public R<String> doAutoBatch(@RequestBody List<String> idList, @RequestParam String isSocial) {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed("请登录!");
}
// 加记录
tSocialSoldierService.doSocialTAuditInfo(socialInfo, handleRemark, handleRemark, handleRemark, user);
return R.ok("成功!");
return tSocialInfoService.doAutoBatch(idList, isSocial, user);
}
}
......@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.SocialAddAndReduceVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialInfoSearchVo;
......@@ -87,4 +88,48 @@ public interface TSocialInfoService extends IService<TSocialInfo> {
**/
List<TSocialInfo> getSocialSoldierByAddId(String addId);
/**
* @param idList 社保IDlist
* @param isSocial 1:社保 2:医保 3:全部
* @param user 当前登录人
* @Description: 批量转人工
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> doRenGongBatch(List<String> idList, String isSocial, YifuUser user);
/**
* @param id 社保ID
* @param isSocial 1:社保 2:医保 3:全部
* @param user 当前登录人
* @Description: 转人工
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> doRenGong(String id, String isSocial, YifuUser user);
/**
* @param idList 社保IDlist
* @param isSocial 1:社保 2:医保 3:全部
* @param user 当前登录人
* @Description: 批量转自动化
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> doAutoBatch(List<String> idList, String isSocial, YifuUser user);
/**
* @param id 社保ID
* @param isSocial 1:社保 2:医保 3:全部
* @param user 当前登录人
* @Description: 转自动化
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> doAuto(String id, String isSocial, YifuUser user);
}
......@@ -32,7 +32,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo;
......@@ -40,6 +42,7 @@ import com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TDispatchInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialSoldierService;
import com.yifu.cloud.plus.v1.yifu.social.vo.SocialAddAndReduceVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialInfoVo;
......@@ -69,6 +72,8 @@ public class TSocialInfoServiceImpl extends ServiceImpl<TSocialInfoMapper, TSoci
private final SysHouseHoldInfoMapper sysHouseHoldInfoMapper;
private final TSocialSoldierService tSocialSoldierService;
/**
* 社保明细表简单分页查询
* @param tSocialInfo 社保明细表
......@@ -503,4 +508,197 @@ public class TSocialInfoServiceImpl extends ServiceImpl<TSocialInfoMapper, TSoci
return baseMapper.getSocialSoldierByAddId(addId);
}
/**
* @param idList 社保IDlist
* @param isSocial 1:社保 2:医保 3:全部
* @param user 当前登录人
* @Description: 批量转人工
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Override
public R<String> doRenGongBatch(List<String> idList, String isSocial, YifuUser user) {
for (String id : idList) {
doRenGong(id, isSocial, user);
}
return R.ok("成功!");
}
/**
* @param id 社保ID
* @param isSocial 1:社保 2:医保 3:全部
* @param user 当前登录人
* @Description: 转人工
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Override
public R<String> doRenGong(String id, String isSocial, YifuUser user) {
TSocialInfo socialInfo = this.getById(id);
if (socialInfo == null || Common.isEmpty(socialInfo.getId())) {
return R.failed("未找到社保");
} else {
String handleRemark;
// 有可以转的项目,则可以转
boolean canUpdate = false;
if (CommonConstants.ZERO_STRING.equals(socialInfo.getDispatchType())) {
handleRemark = "派增";
} else {
handleRemark = "派减";
}
// 判断养工失转人工
if ((CommonConstants.ONE_STRING.equals(isSocial) || CommonConstants.THREE_STRING.equals(isSocial))
&& Common.isNotNull(socialInfo.getYgsHandleStatus())) {
if (CommonConstants.ZERO_STRING.equals(socialInfo.getYgsHandleStatus())
|| CommonConstants.FOUR_STRING.equals(socialInfo.getYgsHandleStatus())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getYgsHandleStatus())
|| CommonConstants.SIX_STRING.equals(socialInfo.getYgsHandleStatus())) {
// 全部的,不反馈某一个失败
if (!CommonConstants.THREE_STRING.equals(isSocial)) {
return R.failed("当前养老工伤失业-办理状态不可以转人工!");
}
} else {
socialInfo.setYgsHandleStatus(CommonConstants.FIVE_STRING);
handleRemark += "养老、工伤、失业手动转人工;";
canUpdate = true;
}
}
// 判断医生大转人工
if ((CommonConstants.TWO_STRING.equals(isSocial) || CommonConstants.THREE_STRING.equals(isSocial))
&& Common.isNotNull(socialInfo.getYsdHandleStatus())) {
if (CommonConstants.ZERO_STRING.equals(socialInfo.getYsdHandleStatus())
|| CommonConstants.FOUR_STRING.equals(socialInfo.getYsdHandleStatus())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getYsdHandleStatus())
|| CommonConstants.SIX_STRING.equals(socialInfo.getYsdHandleStatus())) {
// 全部的,不反馈某一个失败
if (!CommonConstants.THREE_STRING.equals(isSocial)) {
return R.failed("当前医疗生育大病-办理状态不可以转人工!");
}
} else {
socialInfo.setYsdHandleStatus(CommonConstants.FIVE_STRING);
handleRemark += "医疗、生育、大病手动转人工";
canUpdate = true;
}
}
// 更新社保和加日志
return doUpdateCoreAndLog(id, user, socialInfo, handleRemark, canUpdate);
}
}
/**
* @param idList 社保IDlist
* @param isSocial 1:社保 2:医保 3:全部
* @param user 当前登录人
* @Description: 批量转自动化
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Override
public R<String> doAutoBatch(List<String> idList, String isSocial, YifuUser user) {
for (String id : idList) {
doAuto(id, isSocial, user);
}
return R.ok("成功!");
}
/**
* @param id 社保ID
* @param isSocial 1:社保 2:医保 3:全部
* @param user 当前登录人
* @Description: 转自动化
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Override
public R<String> doAuto(String id, String isSocial, YifuUser user) {
TSocialInfo socialInfo = this.getById(id);
if (socialInfo == null || Common.isEmpty(socialInfo.getId())) {
return R.failed("未找到社保");
} else {
String handleRemark;
// 有可以转的项目,则可以转
boolean canUpdate = false;
if (CommonConstants.ZERO_STRING.equals(socialInfo.getDispatchType())) {
handleRemark = "派增";
} else {
handleRemark = "派减";
}
// 判断养工失转自动化
if ((CommonConstants.ONE_STRING.equals(isSocial) || CommonConstants.THREE_STRING.equals(isSocial))
&& Common.isNotNull(socialInfo.getYgsHandleStatus())
&& CommonConstants.FIVE_STRING.equals(socialInfo.getYgsHandleStatus())) {
// 养工失状态为待办理或派减待办理
if (CommonConstants.ZERO_STRING.equals(socialInfo.getPensionHandle())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getPensionHandle())
|| CommonConstants.ZERO_STRING.equals(socialInfo.getWorkInjuryHandle())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getWorkInjuryHandle())
|| CommonConstants.ZERO_STRING.equals(socialInfo.getUnemployHandle())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getUnemployHandle())) {
socialInfo.setYgsHandleStatus(CommonConstants.ONE_STRING);
handleRemark += "养老、工伤、失业手动转自动化;";
canUpdate = true;
} else if (!CommonConstants.THREE_STRING.equals(isSocial)) {
// 全部的,不反馈某一个失败
return R.failed("当前养老工伤失业-办理状态不可以转自动化!");
}
}
// 判断医生大转自动化
if ((CommonConstants.TWO_STRING.equals(isSocial) || CommonConstants.THREE_STRING.equals(isSocial))
&& Common.isNotNull(socialInfo.getYsdHandleStatus())
&& CommonConstants.FIVE_STRING.equals(socialInfo.getYsdHandleStatus())) {
// 医生大状态为待办理或派减待办理
if (CommonConstants.ZERO_STRING.equals(socialInfo.getPensionHandle())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getPensionHandle())
|| CommonConstants.ZERO_STRING.equals(socialInfo.getWorkInjuryHandle())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getWorkInjuryHandle())
|| CommonConstants.ZERO_STRING.equals(socialInfo.getUnemployHandle())
|| CommonConstants.FIVE_STRING.equals(socialInfo.getUnemployHandle())) {
socialInfo.setYsdHandleStatus(CommonConstants.FIVE_STRING);
handleRemark += "医疗、生育、大病手动转自动化";
canUpdate = true;
} else if (!CommonConstants.THREE_STRING.equals(isSocial)) {
// 全部的,不反馈某一个失败
return R.failed("当前医疗生育大病-办理状态不可以转自动化!");
}
}
// 更新社保和加日志
return doUpdateCoreAndLog(id, user, socialInfo, handleRemark, canUpdate);
}
}
/**
* @param id 社保ID
* @param user 当前登录人
* @param socialInfo 社保信息
* @param handleRemark 操作备注
* @param canUpdate 是否可以更新
* @Description: 更新社保和加日志
* @Author: hgw
* @Date: 2025/4/25 17:24
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
private R<String> doUpdateCoreAndLog(String id, YifuUser user, TSocialInfo socialInfo, String handleRemark, boolean canUpdate) {
if (canUpdate) {
this.updateById(socialInfo);
TDispatchInfo disExist = dispatchInfoMapper.selectOne(Wrappers.<TDispatchInfo>query().lambda()
.eq(TDispatchInfo::getSocialId, id).last(CommonConstants.LAST_ONE_SQL));
if (disExist != null) {
socialInfo.setDispatchId(disExist.getId());
}
// 加流程进展明细
tSocialSoldierService.doSocialTAuditInfo(socialInfo, handleRemark, handleRemark, handleRemark, user);
return R.ok("成功");
} else {
return R.failed("状态未变更,请刷新后查看列表状态!");
}
}
}
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