Merge remote-tracking branch 'origin/master'

This commit is contained in:
zhouxy 2026-02-25 15:47:02 +08:00
commit a14ad08b66
6 changed files with 167 additions and 10 deletions

View File

@ -26,6 +26,8 @@ import com.chinaweal.aiccs.aiccs.force.service.IXrForceDeregisterService;
import com.chinaweal.aiccs.aiccs.force.service.IXrForceDeregisterSpeService;
import com.chinaweal.aiccs.aiccs.force.service.IXrForceNoticeService;
import com.chinaweal.aiccs.aiccs.inspect.service.TSWorkNoService;
import com.chinaweal.aiccs.aiccs.revoke.entity.BatchRevokePushRecord;
import com.chinaweal.aiccs.aiccs.revoke.service.BatchRevokePushRecordService;
import com.chinaweal.aiccs.aiccs.revoke.service.CreateFileService;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.common.emnu.AuthEnum;
import com.chinaweal.aiccs.aiccs.system.entity.TRBaseCode;
@ -87,6 +89,8 @@ public class XrForceDeregisterSpeServiceImpl extends ServiceImpl<XrForceDeregist
private CreateFileService createFileService;
@Autowired
private IGzaiccodeService gzaiccodeService;
@Resource
private BatchRevokePushRecordService batchRevokePushRecordService;
private static final ExpiryMap<String, Collection<?>> EXPIRY_MAP = new ExpiryMap<>(15 * 60);
@ -608,6 +612,28 @@ public class XrForceDeregisterSpeServiceImpl extends ServiceImpl<XrForceDeregist
// 2026年2月4日 生成pdf文书
createFileService.createPdfCommon(xrForceSpe.getBizSeqNo(), "决定书送达公告", "强制注销决定送达公告",
"force", ".pdf", "/static/template/commonWritTemplate.docx", data);
// 写入推送记录存储表,后续定时任务统一推送
EBaseinfo eBaseinfo = iEBaseinfoService.getById(xrForceSpe.getPripId());
LocalDateTime nowTime = LocalDateTime.now();
BatchRevokePushRecord pushRecord = new BatchRevokePushRecord();
pushRecord.setRevlistid(xrForceSpe.getForceSpeId());
pushRecord.setPripid(xrForceSpe.getPripId());
pushRecord.setUniscid(eBaseinfo != null ? eBaseinfo.getUniscid() : xrForceSpe.getUniscId());
pushRecord.setEntname(eBaseinfo != null ? eBaseinfo.getEntname() : xrForceSpe.getEntName());
pushRecord.setRevokeRea(xrForceSpe.getForceRra());
pushRecord.setRevokedate(nowTime);
pushRecord.setPunishOrg(xrForceSpe.getRegOrg());
pushRecord.setPunishOrgCn(xrForceSpe.getRegOrgCn());
pushRecord.setHandlerid(user.getPrimaryKey());
pushRecord.setHandlername(user.getName());
pushRecord.setPushStatus("0"); // 0-待推送
pushRecord.setPushCount(0);
pushRecord.setCreateTime(nowTime);
pushRecord.setUpdateTime(nowTime);
pushRecord.setBiztype("1"); // 强制注销类型
batchRevokePushRecordService.save(pushRecord);
return xrForceSpe;
}

View File

@ -36,6 +36,8 @@ import com.chinaweal.aiccs.aiccs.revoke.Vo.TsbizrevlistExcelVo;
import com.chinaweal.aiccs.aiccs.revoke.entity.*;
import com.chinaweal.aiccs.aiccs.revoke.entity.dto.*;
import com.chinaweal.aiccs.aiccs.revoke.service.*;
import com.chinaweal.aiccs.aiccs.security.dto.PenaltyCaseInfoQueryDTO;
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyCaseInfo;
import com.chinaweal.aiccs.aiccs.system.entity.TRBaseCode;
import com.chinaweal.aiccs.aiccs.system.service.TRBaseCodeService;
import com.chinaweal.aiccs.common.base.controller.BaseController;
@ -163,6 +165,8 @@ public class TsbizrevlistController extends BaseController {
private OrgUM orgUM;
@Autowired
private RedisService redisService;
@Autowired
private com.chinaweal.aiccs.aiccs.security.service.IPenaltyCaseInfoService penaltyCaseInfoService;
private static final String REDIS_KEY_ENABLE_PREFIX = "revoke:batch:enable:";
private static final String REDIS_KEY_DISABLE_PREFIX = "revoke:batch:disable:";
@ -1721,13 +1725,6 @@ public class TsbizrevlistController extends BaseController {
* @return 吊销结果成功数量失败数量失败列表
*/
@ApiOperation(value = "批量直接吊销市场主体(执法系统)", notes = "直接吊销市场主体,无需审核审批流程(执法系统)")
@ApiImplicitParams({
@ApiImplicitParam(name = "pripids", value = "主体身份代码列表", required = true),
@ApiImplicitParam(name = "revokeReasonCode", value = "吊销原因代码(1-一年未年报实地查无2-连续两年未年报3-因实地查无列入经营异常名录两年以上)"),
@ApiImplicitParam(name = "revokeReasonDesc", value = "吊销原因描述"),
@ApiImplicitParam(name = "bizEntType", value = "企业类型(1-公司2-个人独资企业)"),
@ApiImplicitParam(name = "remark", value = "备注")
})
@PostMapping("directRevoke")
public RestResult<DirectRevokeResultDto> directRevoke(@RequestBody @Validated DirectRevokeDto dto, HttpServletRequest request) {
AICUser user = getLoginUser(request);
@ -1771,6 +1768,7 @@ public class TsbizrevlistController extends BaseController {
if (queryDto == null) {
queryDto = new UnrevokedEntQueryDto();
}
AssertUtils.isNotBlank(queryDto.getCaseid());
// 构建分页对象
Page<EBaseinfo> page = new Page<>(query.getCurrent(), query.getSize());
@ -1781,7 +1779,8 @@ public class TsbizrevlistController extends BaseController {
// 排除已吊销的市场主体(通过子查询排除)
wrapper.notExists("SELECT 1 FROM revokelist r WHERE r.PRIPID = e_baseinfo.PRIPID AND r.STATE = '1'");
wrapper.exists("SELECT 1 FROM PENALTY_ENT_INFO p WHERE p.PRIPID = e_baseinfo.PRIPID AND p.FLG_DELETED != '1'");
wrapper.exists(String.format("SELECT 1 FROM PENALTY_ENT_INFO p WHERE p.PRIPID = e_baseinfo.PRIPID" +
" AND p.FLG_DELETED != '1' and p.CASEID = '%s'", queryDto.getCaseid()));
// 条件查询
if (StringUtils.isNotBlank(queryDto.getEntname())) {
@ -1815,5 +1814,64 @@ public class TsbizrevlistController extends BaseController {
return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "查询失败:" + e.getMessage());
}
}
/**
* 案件信息分页查询
*
* @param baseQuery 分页和筛选参数
* @return
*/
@ApiOperation("案件信息分页查询")
@PostMapping("/getPenaltyCaseInfoPage")
public RestResult<IPage<PenaltyCaseInfo>> getPenaltyCaseInfoPage(@RequestBody BaseQuery<PenaltyCaseInfoQueryDTO> baseQuery) {
try {
AssertUtils.isNotNull(baseQuery);
PenaltyCaseInfoQueryDTO queryDTO = baseQuery.getEntity(PenaltyCaseInfoQueryDTO.class);
LambdaQueryWrapper<PenaltyCaseInfo> wrapper = new LambdaQueryWrapper<>();
if (queryDTO != null) {
// 案件名称
if (StringUtils.isNotBlank(queryDTO.getCasename())) {
wrapper.like(PenaltyCaseInfo::getCasename, queryDTO.getCasename());
}
// 案由
if (StringUtils.isNotBlank(queryDTO.getCaseintroduction())) {
wrapper.like(PenaltyCaseInfo::getCaseintroduction, queryDTO.getCaseintroduction());
}
// 违法行为
if (StringUtils.isNotBlank(queryDTO.getIllegality())) {
wrapper.like(PenaltyCaseInfo::getIllegality, queryDTO.getIllegality());
}
// 处罚决定机关
if (StringUtils.isNotBlank(queryDTO.getPenaltyorg())) {
wrapper.like(PenaltyCaseInfo::getPenaltyorg, queryDTO.getPenaltyorg());
}
// 处罚决定日期范围
if (queryDTO.getPenaltydateStart() != null) {
wrapper.ge(PenaltyCaseInfo::getPenaltydate, queryDTO.getPenaltydateStart());
}
if (queryDTO.getPenaltydateEnd() != null) {
wrapper.le(PenaltyCaseInfo::getPenaltydate, queryDTO.getPenaltydateEnd());
}
}
// 默认查询未删除的记录
wrapper.eq(PenaltyCaseInfo::getFlgDeleted, "0");
// 按创建时间倒序
wrapper.orderByDesc(PenaltyCaseInfo::getCreateTime);
return RestResult.ok(penaltyCaseInfoService.page(new Page<>(baseQuery.getCurrent(), baseQuery.getSize()), wrapper));
} catch (Exception e) {
log.error("查询案件信息列表失败", e);
return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "查询失败:" + e.getMessage());
}
}
}

View File

@ -13,11 +13,11 @@ import lombok.experimental.Accessors;
/**
* <p>
* 批量吊销推送记录表
* 批量吊销/注销推送记录表
* 存储需要推送的批量吊销成功市场主体记录
* </p>
*
* @author Lee
* @author lroyia
* @since 2026-02-24
*/
@Data
@ -148,6 +148,12 @@ public class BatchRevokePushRecord extends Model<BatchRevokePushRecord> {
@TableField("REMARK")
private String remark;
/**
* 业务类型0批量吊销1强制注销
*/
@TableField("BIZTYPE")
private String biztype;
@Override
protected Serializable pkVal() {
return this.id;

View File

@ -49,4 +49,10 @@ public class UnrevokedEntQueryDto implements Serializable {
*/
@ApiModelProperty(value = "登记机关")
private String regorg;
/**
* 案件id
*/
@ApiModelProperty(value = "案件id", required = true)
private String caseid;
}

View File

@ -450,6 +450,7 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
pushRecord.setPushCount(0);
pushRecord.setCreateTime(now);
pushRecord.setUpdateTime(now);
pushRecord.setBiztype("0");
pushRecord.setRemark(dto.getRemark());
batchRevokePushRecordService.save(pushRecord);

View File

@ -0,0 +1,60 @@
package com.chinaweal.aiccs.aiccs.security.dto;
import com.chinaweal.aiccs.common.util.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
* 案件信息查询DTO
* @author lroyia
* @since 2026/2/25
**/
@Data
@ApiModel("案件信息查询DTO")
public class PenaltyCaseInfoQueryDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 案件名称
*/
@ApiModelProperty("案件名称")
private String casename;
/**
* 案由
*/
@ApiModelProperty("案由")
private String caseintroduction;
/**
* 违法行为
*/
@ApiModelProperty("违法行为")
private String illegality;
/**
* 处罚决定机关
*/
@ApiModelProperty("处罚决定机关")
private String penaltyorg;
/**
* 处罚决定日期-开始
*/
@JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
@ApiModelProperty("处罚决定日期-开始")
private LocalDate penaltydateStart;
/**
* 处罚决定日期-结束
*/
@JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
@ApiModelProperty("处罚决定日期-结束")
private LocalDate penaltydateEnd;
}