Commit 80875833 authored by hongguangwu's avatar hongguangwu

MVP1.7.15-户与失败原因配置

parent 8836389b
......@@ -28,6 +28,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 社保户公积金户数据
*
......@@ -407,4 +409,11 @@ public class SysHouseHoldInfo extends BaseEntity {
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("医保减员花名册模板")
private String reduceRosterTempYsd;
/**
* 户与失败原因关联list
*/
@TableField(exist = false)
private List<SysHouseHoldInfoFailRes> resList;
}
......@@ -16,6 +16,7 @@
*/
package com.yifu.cloud.plus.v1.yifu.social.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
......@@ -37,4 +38,8 @@ public class SysHouseHoldInfoFailRes {
// 重新办理动作 1 继续办理 2 中止办理 3 人工办理
private String replay;
// 查询 关键字
@TableField(exist = false)
private String reasonKey;
}
......@@ -16,6 +16,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional;
/**
......@@ -44,6 +45,19 @@ public class FailReasonConfigController {
return new R<>(failReasonConfigService.getFailReasonConfigPage(page,failReasonConfig));
}
/**
* @param reasonKey 关键字
* @Description: 查可用的列表,可模糊搜索
* @Author: hgw
* @Date: 2025/9/10 11:00
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.util.List < com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig>>
**/
@Operation(description = "简单分页查询")
@GetMapping("/getFailListByReasonKey")
public R<List<FailReasonConfig>> getFailListByReasonKey(@RequestParam(required = false) String reasonKey) {
return new R<>(failReasonConfigService.getFailListByReasonKey(reasonKey));
}
/**
* 通过id查询失败原因配置
* @param id id
......
......@@ -108,7 +108,7 @@ public class SysHouseHoldInfoController {
@Operation(summary = "新增社保户公积金户数据", description = "新增社保户公积金户数据:hasPermission('demo_syshouseholdinfo_add')")
@SysLog("新增社保户公积金户数据" )
@PostMapping
@PreAuthorize("@pms.hasPermission('demo_syshouseholdinfo_add')" )
//@PreAuthorize("@pms.hasPermission('demo_syshouseholdinfo_add')" )
public R<Boolean> save(@RequestBody SysHouseHoldInfo sysHouseHoldInfo) {
return sysHouseHoldInfoService.saveInfo(sysHouseHoldInfo);
}
......@@ -121,7 +121,7 @@ public class SysHouseHoldInfoController {
@Operation(summary = "修改社保户公积金户数据", description = "修改社保户公积金户数据:hasPermission('demo_syshouseholdinfo_edit')")
@SysLog("修改社保户公积金户数据" )
@PutMapping
@PreAuthorize("@pms.hasPermission('demo_syshouseholdinfo_edit')" )
//@PreAuthorize("@pms.hasPermission('demo_syshouseholdinfo_edit')" )
public R<Boolean> updateById(@RequestBody SysHouseHoldInfo sysHouseHoldInfo) {
return sysHouseHoldInfoService.updateByIdAsso(sysHouseHoldInfo);
}
......
package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes;
import com.yifu.cloud.plus.v1.yifu.social.service.SysHouseHoldInfoFailResService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 户与失败原因配置关联的控制器
*
* @author hgw
* @date 2025-9-10 10:15:00
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/hufailres")
@Tag(name = "户与失败原因配置关联的控制器")
public class SysHouseHoldInfoFailResController {
private final SysHouseHoldInfoFailResService sysHouseHoldInfoFailResService;
/**
* 列表
* @return
*/
@Operation(description = "列表")
@GetMapping("/getListByHuId")
public R<List<SysHouseHoldInfoFailRes>> getListByHuId(@RequestParam String huId) {
return new R<>(sysHouseHoldInfoFailResService.getListByHuId(huId));
}
}
\ No newline at end of file
......@@ -24,6 +24,9 @@ public interface FailReasonConfigMapper extends BaseMapper<FailReasonConfig> {
*/
IPage<FailReasonConfig> getFailReasonConfigPage(Page<FailReasonConfig> page, @Param("failReasonConfig") FailReasonConfig failReasonConfig);
// 查可用的列表
List<FailReasonConfig> getFailListByReasonKey(@Param("reasonKey") String reasonKey);
// 获取list组装map来使用 hgw
List<FailReasonConfig> getFailReasonConfigList();
}
......@@ -20,6 +20,9 @@ package com.yifu.cloud.plus.v1.yifu.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author hgw
......@@ -27,5 +30,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface SysHouseHoldInfoFailResMapper extends BaseMapper<SysHouseHoldInfoFailRes> {
// 根据户,查找失败原因多对多的关联
List<SysHouseHoldInfoFailRes> getListByHuId(@Param("huId") String huId);
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig;
import java.util.List;
import java.util.Map;
/**
......@@ -21,6 +22,9 @@ public interface FailReasonConfigService extends IService<FailReasonConfig> {
*/
IPage<FailReasonConfig> getFailReasonConfigPage(Page<FailReasonConfig> page, FailReasonConfig failReasonConfig);
// 查可用的列表,可模糊搜索
List<FailReasonConfig> getFailListByReasonKey(String reasonKey);
/**
* @Description: 获取list组装map来使用 hgw
* @Author: hgw
......
package com.yifu.cloud.plus.v1.yifu.social.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes;
import java.util.List;
/**
* 失败原因配置
*
* @author huyc
* @date 2024-05-08 10:41:32
*/
public interface SysHouseHoldInfoFailResService extends IService<SysHouseHoldInfoFailRes> {
/**
* @param huId 社保户ID
* @Description: 根据户,查找失败原因多对多的关联
* @Author: hgw
* @Date: 2025/9/10 10:08
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes>
**/
List<SysHouseHoldInfoFailRes> getListByHuId(String huId);
}
\ No newline at end of file
......@@ -32,6 +32,11 @@ public class FailReasonConfigServiceImpl extends ServiceImpl<FailReasonConfigMap
return baseMapper.getFailReasonConfigPage(page,failReasonConfig);
}
@Override
public List<FailReasonConfig> getFailListByReasonKey(String reasonKey) {
return baseMapper.getFailListByReasonKey(reasonKey);
}
/**
* @Description: 获取list组装map来使用 hgw
* @Author: hgw
......
package com.yifu.cloud.plus.v1.yifu.social.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes;
import com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoFailResMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.SysHouseHoldInfoFailResService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 失败原因配置
*
* @author huyc
* @date 2024-05-08 10:41:32
*/
@Log4j2
@Service
public class SysHouseHoldInfoFailResServiceImpl extends ServiceImpl<SysHouseHoldInfoFailResMapper, SysHouseHoldInfoFailRes> implements SysHouseHoldInfoFailResService {
@Override
public List<SysHouseHoldInfoFailRes> getListByHuId(String huId) {
return baseMapper.getListByHuId(huId);
}
}
\ No newline at end of file
......@@ -43,15 +43,10 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.util.BeanCopyUtils;
import com.yifu.cloud.plus.v1.yifu.social.constants.HouseConfigConstants;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAttaInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialfundHouseRes;
import com.yifu.cloud.plus.v1.yifu.social.entity.*;
import com.yifu.cloud.plus.v1.yifu.social.mapper.SysBaseSetInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.SysHouseHoldInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TAttaInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialfundHouseResService;
import com.yifu.cloud.plus.v1.yifu.social.service.*;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdInsertVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdUpdateVo;
......@@ -92,6 +87,10 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
@Autowired
private DaprCheckProperties daprCheckProperties;
@Autowired
private SysHouseHoldInfoFailResService sysHouseHoldInfoFailResService;
@Autowired
private FailReasonConfigService failReasonConfigService;
@Autowired
private UpmsDaprUtils upmsDaprUtils;
......@@ -155,7 +154,20 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
}
}
}
List<SysHouseHoldInfoFailRes> resList = sysHouseHoldInfo.getResList();
// 先判断
if (Common.isNotNull(resList) && !resList.isEmpty()) {
R<Boolean> failed = judgeHuAndResStatus(sysHouseHoldInfo, resList);
if (failed != null) { return failed;}
}
baseMapper.insert(sysHouseHoldInfo);
// 后保存
if (Common.isNotNull(resList) && !resList.isEmpty()) {
for (SysHouseHoldInfoFailRes res : resList) {
res.setId(sysHouseHoldInfo.getId());
}
sysHouseHoldInfoFailResService.saveBatch(resList);
}
//维护附件信息
TAttaInfo attaInfo = null;
if (Common.isNotNull(sysHouseHoldInfo.getAttaId())) {
......@@ -441,6 +453,7 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
if (isEdit && (Common.isEmpty(hold.getAuditUser()) || Common.isEmpty(hold.getHandleUser()))) {
return R.failed("审核人或办理人必填!");
}
if (isEdit) {
// 判断审核人与办理人的权限:
String judgeAuth = this.judgeAuditAndHandleAuth(hold.getType()
, hold.getAuditUser(), hold.getAuditUserName()
......@@ -448,6 +461,7 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
if (Common.isNotNull(judgeAuth)) {
return R.failed(judgeAuth);
}
}
if (CommonConstants.ONE_STRING.equals(hold.getDelFlag())
&& baseSetInfoMapper.selectCount(Wrappers.<SysBaseSetInfo>query().lambda()
.eq(SysBaseSetInfo::getBaseType, holdInfo.getType())
......@@ -469,6 +483,15 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
}
}
}
if (isEdit) {
List<SysHouseHoldInfoFailRes> resList = hold.getResList();
if (Common.isNotNull(resList) && !resList.isEmpty()) {
R<Boolean> failed = judgeHuAndResStatus(hold, resList);
if (failed != null) { return failed;}
sysHouseHoldInfoFailResService.removeById(hold.getId());
sysHouseHoldInfoFailResService.saveBatch(resList);
}
}
int res = baseMapper.updateById(hold);
if (res >= 0){
if (isEdit) {
......@@ -489,6 +512,30 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
}
}
private R<Boolean> judgeHuAndResStatus(SysHouseHoldInfo hold, List<SysHouseHoldInfoFailRes> resList) {
FailReasonConfig s;
String failKey = "";
for (SysHouseHoldInfoFailRes res : resList) {
if (Common.isEmpty(res.getFailId())) {
return R.failed("【失败原因ID】必填!");
}
if (Common.isEmpty(res.getReplay())) {
return R.failed("【处理方式】必填!");
}
res.setId(hold.getId());
s = failReasonConfigService.getById(res.getFailId());
if (s == null || Common.isEmpty(s.getId())) {
return R.failed("【根据失败原因ID,未找到失败原因】!");
} else if (CommonConstants.ONE_STRING.equals(s.getStatus())) {
failKey += s.getReasonKey() + ";";
}
}
if (Common.isNotNull(failKey)) {
return R.failed(failKey + " 已被禁用,请更换!");
}
return null;
}
@Override
public R<List<ErrorMessage>> importListAdd(InputStream inputStream) {
List<ErrorMessage> errorMessageList = new ArrayList<>();
......
......@@ -69,6 +69,20 @@
order by a.CREATE_TIME desc
</select>
<!--查列表-->
<select id="getFailListByReasonKey" resultMap="failReasonConfigMap">
SELECT
a.ID,
a.REASON_KEY,
a.REPLAY
FROM fail_reason_config a
where a.STATUS = '0'
<if test="reasonKey != null and reasonKey.trim() != ''">
AND a.REASON_KEY = #{reasonKey}
</if>
order by a.CREATE_TIME desc
</select>
<!--获取list组装map来使用 hgw-->
<select id="getFailReasonConfigList" resultMap="failReasonConfigMap">
SELECT
......
......@@ -22,4 +22,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoFailResMapper">
<select id="getListByHuId" resultType="com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes">
select
r.FAIL_ID failId,f.REASON_KEY reasonKey,r.REPLAY replay
from sys_house_hold_info_fail_res r
LEFT JOIN fail_reason_config f on r.FAIL_ID=f.id
where r.ID=#{huId}
</select>
</mapper>
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