From 2b0029986ea0f183fffbd0493966670604229c51 Mon Sep 17 00:00:00 2001 From: lroyia Date: Tue, 24 Feb 2026 14:52:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=A7=E6=B3=95=E7=B3=BB=E7=BB=9F=E6=89=B9?= =?UTF-8?q?=E5=90=8A=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TsbizrevlistController.java | 591 ++++++++++-------- .../revoke/entity/BatchRevokePushRecord.java | 155 +++++ .../revoke/entity/dto/DirectRevokeDto.java | 60 ++ .../entity/dto/DirectRevokeResultDto.java | 81 +++ .../entity/dto/UnrevokedEntQueryDto.java | 52 ++ .../mapper/BatchRevokePushRecordMapper.java | 16 + .../service/BatchRevokePushRecordService.java | 16 + .../revoke/service/TsbizrevlistService.java | 10 + .../BatchRevokePushRecordServiceImpl.java | 20 + .../service/impl/TsbizrevlistServiceImpl.java | 229 +++++-- .../aiccs/config/SwaggerKnife4j.java | 6 +- .../aiccs/org/controller/UserController.java | 6 +- .../revoke/BatchRevokePushRecordMapper.xml | 5 + 13 files changed, 938 insertions(+), 309 deletions(-) create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/BatchRevokePushRecord.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/DirectRevokeDto.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/DirectRevokeResultDto.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/UnrevokedEntQueryDto.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/revoke/mapper/BatchRevokePushRecordMapper.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/BatchRevokePushRecordService.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/BatchRevokePushRecordServiceImpl.java create mode 100644 src/main/resources/mybatis/mapper/aiccs/revoke/BatchRevokePushRecordMapper.xml diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/controller/TsbizrevlistController.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/controller/TsbizrevlistController.java index 84346b2..f8bbcfc 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/controller/TsbizrevlistController.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/controller/TsbizrevlistController.java @@ -3,23 +3,20 @@ package com.chinaweal.aiccs.aiccs.revoke.controller; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; -import com.alibaba.excel.support.ExcelTypeEnum; -import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.chinaweal.aiccs.aiccs.abnormal.entity.*; -import com.chinaweal.aiccs.aiccs.abnormal.entity.dto.AbnEntDto; -import com.chinaweal.aiccs.aiccs.abnormal.entity.dto.NoAnnualReportEntDto; +import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo; +import com.chinaweal.aiccs.aiccs.abnormal.entity.TSAttachment; +import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit; import com.chinaweal.aiccs.aiccs.abnormal.entity.excel.EntExcel; import com.chinaweal.aiccs.aiccs.abnormal.service.*; -import com.chinaweal.aiccs.aiccs.annual.entity.Noannualreport; import com.chinaweal.aiccs.aiccs.annual.service.NoannualreportService; import com.chinaweal.aiccs.aiccs.asyncTask.RevokeAsyncTask; -import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList; +import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; +import com.chinaweal.aiccs.aiccs.auditing.service.TSOpinionService; import com.chinaweal.aiccs.aiccs.business.entity.TSTwfProcessNode; import com.chinaweal.aiccs.aiccs.business.entity.dto.TaskListUnionDto; import com.chinaweal.aiccs.aiccs.business.service.WorkFlowService; @@ -27,43 +24,36 @@ import com.chinaweal.aiccs.aiccs.dict.entity.CmsDictCode; import com.chinaweal.aiccs.aiccs.dict.service.CmsDictCodeService; import com.chinaweal.aiccs.aiccs.entbase.entity.TREntPriseType; import com.chinaweal.aiccs.aiccs.entbase.service.TREntPriseTypeService; -import com.chinaweal.aiccs.aiccs.fraudreg.dto.FraudProcessDto; import com.chinaweal.aiccs.aiccs.market.service.AreaSliceService; import com.chinaweal.aiccs.aiccs.market.service.ITSUsualInspectService; -import com.chinaweal.aiccs.aiccs.punishment.entity.excel.UnlockExcel; import com.chinaweal.aiccs.aiccs.punishment.util.BusTridMakeUtil; import com.chinaweal.aiccs.aiccs.punishment.util.ExcelIePortUtils; import com.chinaweal.aiccs.aiccs.punishment.util.ExcelListener; +import com.chinaweal.aiccs.aiccs.revoke.Vo.DisableListVo; import com.chinaweal.aiccs.aiccs.revoke.Vo.EnableListAndCheckExcel; import com.chinaweal.aiccs.aiccs.revoke.Vo.EnableListAndCheckVo; import com.chinaweal.aiccs.aiccs.revoke.Vo.TsbizrevlistExcelVo; -import com.chinaweal.aiccs.aiccs.revoke.entity.dto.RevBusDto; -import com.chinaweal.aiccs.aiccs.revoke.entity.dto.RevokeProcessDto; -import com.chinaweal.aiccs.aiccs.revoke.entity.dto.StepTableDto; -import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; -import com.chinaweal.aiccs.aiccs.auditing.service.TSOpinionService; -import com.chinaweal.aiccs.aiccs.revoke.Vo.DisableListVo; 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.system.entity.TRBaseCode; import com.chinaweal.aiccs.aiccs.system.service.TRBaseCodeService; -import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate; import com.chinaweal.aiccs.common.base.controller.BaseController; import com.chinaweal.aiccs.common.constant.BaseDataConstant; import com.chinaweal.aiccs.common.constant.Constant; -import com.chinaweal.aiccs.common.constant.FileParamModelConstant; import com.chinaweal.aiccs.common.constant.IndustryConstant; -import com.chinaweal.aiccs.common.threadLocalManage.DisableEntListManage; -import com.chinaweal.aiccs.common.util.*; +import com.chinaweal.aiccs.common.util.ConstantsUtil; +import com.chinaweal.aiccs.common.util.DateUtils; +import com.chinaweal.aiccs.common.util.StringUtils; +import com.chinaweal.aiccs.common.util.WorkNoUtil; import com.chinaweal.aiccs.common.util.filestorage.FileStorageService; import com.chinaweal.aiccs.config.CommonConfig; - -import com.chinaweal.aiccs.org.entity.TUsers; import com.chinaweal.aiccs.org.service.AicorgService; import com.chinaweal.aiccs.org.service.TUsersService; import com.chinaweal.aiccs.redis.RedisService; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.aicorg.services.OrgUM; +import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException; import com.chinaweal.youfool.framework.springboot.mybatis.plus.page.PageRequestDto; import com.chinaweal.youfool.framework.springboot.rest.RestResult; @@ -77,13 +67,6 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -98,14 +81,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; import java.util.*; -import java.util.concurrent.Future; import java.util.stream.Collectors; @@ -221,11 +202,11 @@ public class TsbizrevlistController extends BaseController { HashSet enableSet = new HashSet<>(); ArrayList disableList = new ArrayList<>();//不可导 Map codeMap = baseCodeService.getBaseCodeMapFormCache("CA19"); - if(CollectionUtils.isEmpty(entDtos)){ - return RestResult.error(ResultCode.PARAM_IS_BLANK,"不可上传空文件,请重新选择"); + if (CollectionUtils.isEmpty(entDtos)) { + return RestResult.error(ResultCode.PARAM_IS_BLANK, "不可上传空文件,请重新选择"); } // 保存文件至服务器 - for (EntExcel entDto: entDtos) { + for (EntExcel entDto : entDtos) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); EBaseinfo baseinfoModel = new EBaseinfo(); baseinfoModel.setUniscid(entDto.getUniscid()); @@ -233,15 +214,15 @@ public class TsbizrevlistController extends BaseController { baseinfoModel.setEntname(entDto.getEntname()); wrapper.select(EBaseinfo::getRegorg, EBaseinfo::getPripid, EBaseinfo::getEntname, EBaseinfo::getRegno, EBaseinfo::getName, EBaseinfo::getRegstate, EBaseinfo::getRegstateCn, EBaseinfo::getEnttypeCn, EBaseinfo::getEnttype, EBaseinfo::getUniscid, EBaseinfo::getSuporg); - if(StringUtils.isNotBlank(baseinfoModel.getUniscid())){ + if (StringUtils.isNotBlank(baseinfoModel.getUniscid())) { wrapper.eq(EBaseinfo::getUniscid, baseinfoModel.getUniscid()); - }else if(StringUtils.isNotBlank(baseinfoModel.getRegno())){ + } else if (StringUtils.isNotBlank(baseinfoModel.getRegno())) { wrapper.eq(EBaseinfo::getRegno, baseinfoModel.getRegno()); - }else { + } else { wrapper.eq(EBaseinfo::getEntname, baseinfoModel.getEntname()); // 用名称查主体的时候,可能会出现同名的情况 List list = eBaseinfoService.list(wrapper); - if(list.size()>1){// 多家同名的时候,返回不可导原因“主体名称重名,请填写准确的统一码或注册号” + if (list.size() > 1) {// 多家同名的时候,返回不可导原因“主体名称重名,请填写准确的统一码或注册号” DisableListVo disableListVo = new DisableListVo(); disableListVo.setEntname(baseinfoModel.getEntname()); disableListVo.setReason("主体名称重名,请填写准确的统一码或注册号"); @@ -290,19 +271,19 @@ public class TsbizrevlistController extends BaseController { boolean isPartnership = false; for (String code : Constant.PARTNERSHIP_CODE) { - if(code.contains(eBaseinfo.getEnttype())){ // 为合伙企业 则加入不可导集合 + if (code.contains(eBaseinfo.getEnttype())) { // 为合伙企业 则加入不可导集合 disableListVo.setReason("主体类型为合伙企业"); isPartnership = true; break; } } - if(!isPartnership) {// 不为合伙企业,判断企业状态 + if (!isPartnership) {// 不为合伙企业,判断企业状态 if ("1".equals(eBaseinfo.getRegstate())) {//为开业才可批吊 - if (validInBiz(eBaseinfo.getPripid())){// 检验是否在办理中了 + if (validInBiz(eBaseinfo.getPripid())) {// 检验是否在办理中了 disableListVo.setReason("该主体正在办理批吊中");//企业状态为不可导原因 - }else { - if(enableSet.add(eBaseinfo)) { + } else { + if (enableSet.add(eBaseinfo)) { enableList.add(eBaseinfo); } continue; @@ -329,8 +310,8 @@ public class TsbizrevlistController extends BaseController { String enableListId = UUID.randomUUID().toString(); String disableListId = UUID.randomUUID().toString(); HashMap groupMap = new HashMap<>(); - groupMap.put("enableListId",enableListId); - groupMap.put("disableListId",disableListId); + groupMap.put("enableListId", enableListId); + groupMap.put("disableListId", disableListId); groupMap.put("disableList", disableList); redisService.set(REDIS_KEY_ENABLE_PREFIX + enableListId, JSON.toJSONString(enableList), 20 * 60); redisService.set(REDIS_KEY_DISABLE_PREFIX + disableListId, JSON.toJSONString(disableList), 20 * 60); @@ -352,18 +333,18 @@ public class TsbizrevlistController extends BaseController { @PostMapping(value = "/saveAccept.do") public RestResult saveAccept(@RequestBody String paramStr, HttpServletRequest request) { AICUser aicUser = getLoginUser(request); - if(aicUser == null){ + if (aicUser == null) { return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); } JSONObject jsonObject = JSONObject.parseObject(paramStr); String selectList = jsonObject.getString("selectList"); String bizEntType = jsonObject.getString("bizEntType"); String illegalType = jsonObject.getString("illegalType"); - AssertUtils.isNotEmpty(selectList,bizEntType,illegalType); + AssertUtils.isNotEmpty(selectList, bizEntType, illegalType); // HashSet eBaseinfoList = (HashSet) expiryMap.get(enableListId); // ArrayList eBaseinfos = new ArrayList<>(eBaseinfoList); - List pripids = JSONObject.parseArray(selectList,String.class); - if(pripids.size() == 0) return RestResult.error(ResultCode.PARAM_IS_INVALID,"参数有误"); + List pripids = JSONObject.parseArray(selectList, String.class); + if (pripids.size() == 0) return RestResult.error(ResultCode.PARAM_IS_INVALID, "参数有误"); //生成业务号 String bizSeq = UUID.randomUUID().toString(); LocalDateTime now = LocalDateTime.now(); @@ -376,7 +357,7 @@ public class TsbizrevlistController extends BaseController { wrapper.select(EBaseinfo::getRegorg, EBaseinfo::getPripid, EBaseinfo::getEntname, EBaseinfo::getRegno, EBaseinfo::getName, EBaseinfo::getRegstate, EBaseinfo::getRegstateCn, EBaseinfo::getEnttypeCn, EBaseinfo::getEnttype, EBaseinfo::getUniscid); wrapper.eq(EBaseinfo::getPripid, pripid); EBaseinfo eBaseinfo = eBaseinfoService.getOne(wrapper); - if(eBaseinfo == null) continue; + if (eBaseinfo == null) continue; eBaseinfoList.add(eBaseinfo); newDateTime = newDateTime.plus(1, ChronoUnit.SECONDS); BizRevEnt bizRevEnt = new BizRevEnt(); @@ -386,7 +367,7 @@ public class TsbizrevlistController extends BaseController { bizRevEnt.setRegno(eBaseinfo.getRegno());//注册号 bizRevEnt.setUniscid(eBaseinfo.getUniscid());//统一码 bizRevEnt.setName(eBaseinfo.getName());//法定代表人 - if(StringUtils.isNotEmpty(eBaseinfo.getEnttypeCn())) { + if (StringUtils.isNotEmpty(eBaseinfo.getEnttypeCn())) { bizRevEnt.setEnttypeCn(eBaseinfo.getEnttypeCn());//企业类型 } else { TREntPriseType entPriseType = entPriseTypeService.getEntPriseTypeFromCache(eBaseinfo.getEnttype()); @@ -425,7 +406,7 @@ public class TsbizrevlistController extends BaseController { caseModel.setHandlerDate(now); //案件名称 规则: 关于+第一家公司名称+等+XX家+企业类型+的批量吊销 String casename = "关于" + eBaseinfoList.get(0).getEntname() + "等" + - eBaseinfoList.size() + "家" + ("2".equals(caseModel.getBizEntType())? "个人独资企业":"公司") + "的批量吊销"; + eBaseinfoList.size() + "家" + ("2".equals(caseModel.getBizEntType()) ? "个人独资企业" : "公司") + "的批量吊销"; caseModel.setCaseName(casename); //初始化立案理由 例:截止2017年9月,当事人未报送2015年和2016年年度报告,且未进行纳税申报,涉嫌构成《中华人民共和国公司法》第二百一十一条所指向的“公司成立后无正当理由超过6个月未开业的”行为,建议立案调查。 LocalDate nowDate = LocalDate.now(); @@ -435,7 +416,7 @@ public class TsbizrevlistController extends BaseController { String reason = null; switch (illegalType) { case "2": - reason = "截止" + year + "年" + month + "月,当事人未报送" + (year-2) + "年和" + (year-1) + "年年度报告,且未进行纳税申报," + reason = "截止" + year + "年" + month + "月,当事人未报送" + (year - 2) + "年和" + (year - 1) + "年年度报告,且未进行纳税申报," + BaseDataConstant.REVOKE_CASEREASON_MAP.get(caseModel.getBizEntType()) + ",建议立案调查。"; break; case "3": @@ -443,7 +424,7 @@ public class TsbizrevlistController extends BaseController { + BaseDataConstant.REVOKE_CASEREASON_MAP.get(caseModel.getBizEntType()) + ",建议立案调查。"; break; } - if(StringUtils.isNotEmpty(reason)){ + if (StringUtils.isNotEmpty(reason)) { caseModel.setSituation(reason); } caseService.save(caseModel); @@ -470,18 +451,19 @@ public class TsbizrevlistController extends BaseController { /** * 获取业务中第一个主体及基本信息 + * * @param bizseq * @return */ @PostMapping("getFirstEntInBiz") - public RestResult getFirstEntInBiz(String bizseq){ + public RestResult getFirstEntInBiz(String bizseq) { AssertUtils.isNotBlank(bizseq); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.select(Tsbizrevlist::getPripid).eq(Tsbizrevlist::getBizseq,bizseq) - .eq(Tsbizrevlist::getIsRemove,"0") + wrapper.select(Tsbizrevlist::getPripid).eq(Tsbizrevlist::getBizseq, bizseq) + .eq(Tsbizrevlist::getIsRemove, "0") .orderByDesc(Tsbizrevlist::getInsertTime).last("limit 1"); List list = tsbizrevlistService.list(wrapper); - if(CollectionUtils.isNotEmpty(list)){ + if (CollectionUtils.isNotEmpty(list)) { String pripid = list.get(0).getPripid(); EBaseinfo eBaseinfo = eBaseinfoService.getOneByPripid(pripid); return RestResult.ok(eBaseinfo); @@ -490,7 +472,7 @@ public class TsbizrevlistController extends BaseController { } @PostMapping("/next") - public RestResult processControl(@RequestBody @Validated RevokeProcessDto revokeProcessDto, BindingResult bindingResult, HttpServletRequest request){ + public RestResult processControl(@RequestBody @Validated RevokeProcessDto revokeProcessDto, BindingResult bindingResult, HttpServletRequest request) { AssertUtils.isBndingValidit(bindingResult); AICUser user = getLoginUser(request); if (user == null) throw new BusinessException("登录超时,请重新登录"); @@ -501,29 +483,29 @@ public class TsbizrevlistController extends BaseController { TSTwfProcessNode twfProcessNode = workFlowService.findCurrentNode(taskListModel.getWorkflowid()); String currentnode = twfProcessNode.getCurrentnode(); try { - revokeProcessService.processControl(revokeProcessDto, taskListModel,tsbizrevlist, user); + revokeProcessService.processControl(revokeProcessDto, taskListModel, tsbizrevlist, user); } catch (Exception e) { e.printStackTrace(); - log.error("批吊业务号{}流程扭转出错"+e,revokeProcessDto.getBizseq()); - return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR,"流程扭转出错"); + log.error("批吊业务号{}流程扭转出错" + e, revokeProcessDto.getBizseq()); + return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "流程扭转出错"); } try { - if("decisionEnter".equals(revokeProcessDto.getNextNodeID())){ - if("approvalHearing".equals(currentnode)) { + if ("decisionEnter".equals(revokeProcessDto.getNextNodeID())) { + if ("approvalHearing".equals(currentnode)) { LocalDateTime now = LocalDateTime.now(); LocalDate nowDate = LocalDate.now(); // 异步生成听证告知书 revokeAsyncTask.revHearingNoticeTask(revokeProcessDto.getBizseq(), tsbizrevlist.getHandleOrg(), now, nowDate); } - }else if("sendEnter".equals(revokeProcessDto.getNextNodeID())){ - if("approvalDecision".equals(currentnode)){ + } else if ("sendEnter".equals(revokeProcessDto.getNextNodeID())) { + if ("approvalDecision".equals(currentnode)) { // 异步生成决定书 revokeAsyncTask.revPunishDecTask(revokeProcessDto.getBizseq(), tsbizrevlist.getHandleOrg()); } } } catch (Exception e) { e.printStackTrace(); - log.error("批吊业务号{}异步附件任务执行异常"+e,revokeProcessDto.getBizseq()); + log.error("批吊业务号{}异步附件任务执行异常" + e, revokeProcessDto.getBizseq()); } return RestResult.ok(); @@ -543,7 +525,7 @@ public class TsbizrevlistController extends BaseController { } boolean flag = false; for (Illegalact illegalact : illegalactList) { - flag = illegalactService.saveOrUpdate(illegalact); + flag = illegalactService.saveOrUpdate(illegalact); } return RestResult.ok(flag); } @@ -557,19 +539,19 @@ public class TsbizrevlistController extends BaseController { */ @PostMapping("/getBizRevListPage") public RestResult getBizRevListPage(@RequestBody PageRequestDto pageRequestDto, HttpServletRequest request) { - AssertUtils.isNotNull(pageRequestDto,pageRequestDto.getCustomParamMap());// 要改 bizseq必传 + AssertUtils.isNotNull(pageRequestDto, pageRequestDto.getCustomParamMap());// 要改 bizseq必传 pageRequestDto.checkDefault(1, 10, "insertTime"); Map customParamMap = pageRequestDto.getCustomParamMap(); String bizseq = StringUtils.tranObject(customParamMap.get("bizseq")); - if(StringUtils.isBlank(bizseq))return RestResult.error(ResultCode.PARAM_IS_BLANK); + if (StringUtils.isBlank(bizseq)) return RestResult.error(ResultCode.PARAM_IS_BLANK); // 搜索统一码和注册号 String searchCode = StringUtils.tranObject(customParamMap.get("searchCode")); //判断入参为统一码还是注册号 if (StringUtils.isNotBlank(searchCode)) { if (StringUtils.isUscc(searchCode)) { - customParamMap.put("uniscid",searchCode); + customParamMap.put("uniscid", searchCode); } else { - customParamMap.put("regno",searchCode); + customParamMap.put("regno", searchCode); } } IPage revEntPage = tsbizrevlistService.getRevEntPage(new Page<>(pageRequestDto.getCurPage(), pageRequestDto.getPageSize()), customParamMap); @@ -605,13 +587,13 @@ public class TsbizrevlistController extends BaseController { // wrapper.eq(Tsbizrevlist::getIsRemove, "0"); // } // }, null); - if(CollectionUtils.isNotEmpty(revEntPage.getRecords())){ // 封装企业状态 + if (CollectionUtils.isNotEmpty(revEntPage.getRecords())) { // 封装企业状态 Map codeMap = baseCodeService.getBaseCodeMapFormCache("CA19"); for (Tsbizrevlist record : revEntPage.getRecords()) { EBaseinfo eBaseinfo = eBaseinfoService.getOne(new LambdaQueryWrapper().eq(EBaseinfo::getPripid, record.getPripid())); record.setRegstate(eBaseinfo.getRegstate()); TRBaseCode code = codeMap.get(eBaseinfo.getRegstate()); - if(code != null) { + if (code != null) { record.setRegstateCn(code.getName()); } if (record.getEnttypeCn() == null) { @@ -629,17 +611,18 @@ public class TsbizrevlistController extends BaseController { /** * 验证业务中企业状态,不符合(开业、停业、其他)的自动剔除 + * * @param bizseq 业务号 * @return */ @PostMapping("validEntsRegstate") - public RestResult validEntsRegstate (String bizseq){ + public RestResult validEntsRegstate(String bizseq) { LambdaQueryWrapper lqW = new LambdaQueryWrapper<>(); - lqW.eq(BizRevEnt::getBizseq,bizseq) - .eq(BizRevEnt::getIsremove,"0"); + lqW.eq(BizRevEnt::getBizseq, bizseq) + .eq(BizRevEnt::getIsremove, "0"); List list = bizRevEntService.list(lqW); - if(CollectionUtils.isEmpty(list)){ - return RestResult.error(ResultCode.DATA_NONE,"该业务无主体信息"); + if (CollectionUtils.isEmpty(list)) { + return RestResult.error(ResultCode.DATA_NONE, "该业务无主体信息"); } ArrayList enableCodeList = new ArrayList<>();// "1" 可批吊的情况 enableCodeList.add(ConstantsUtil.QUALIFICATION_OPEN); @@ -666,10 +649,11 @@ public class TsbizrevlistController extends BaseController { /** * 验证企业是否已在在办业务中 + * * @param pripid 主体id * @return true: 在办中;false:未办 */ - public boolean validInBiz(String pripid){ + public boolean validInBiz(String pripid) { List list = tsbizrevlistService.selectInBiz(pripid); // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(Tsbizrevlist::getPripid,pripid).eq(Tsbizrevlist::getIsRemove,"0").notIn(Tsbizrevlist::getStatus,"20","21","22"); @@ -716,6 +700,7 @@ public class TsbizrevlistController extends BaseController { // wrapper.eq(EBaseinfo::getRegstate, '1');//企业在营 条件 // }, null)); // } + /** * 新增拟吊销主体列表查询,优化 * @@ -725,7 +710,7 @@ public class TsbizrevlistController extends BaseController { */ @PostMapping("enableAddList") public RestResult enableAddList(@RequestBody PageRequestDto pageRequestDto, HttpServletRequest request) { - AssertUtils.isNotNull(pageRequestDto,pageRequestDto.getCustomParamMap()); + AssertUtils.isNotNull(pageRequestDto, pageRequestDto.getCustomParamMap()); // pageRequestDto.checkDefault(1, 10, null); Map customParamMap = pageRequestDto.getCustomParamMap(); @@ -736,20 +721,20 @@ public class TsbizrevlistController extends BaseController { //判断入参为统一码还是注册号 if (StringUtils.isNotBlank(searchCode)) { if (StringUtils.isUscc(searchCode)) { - wrapper.eq(EBaseinfo::getUniscid,searchCode); + wrapper.eq(EBaseinfo::getUniscid, searchCode); } else { - wrapper.eq(EBaseinfo::getRegno,searchCode); + wrapper.eq(EBaseinfo::getRegno, searchCode); } } - wrapper.eq(StringUtils.isNotBlank(searchName), EBaseinfo::getEntname,searchName); + wrapper.eq(StringUtils.isNotBlank(searchName), EBaseinfo::getEntname, searchName); Page page = eBaseinfoService.page(new Page<>(pageRequestDto.getCurPage(), pageRequestDto.getPageSize()), wrapper); - if(page != null && CollectionUtils.isNotEmpty(page.getRecords())){ + if (page != null && CollectionUtils.isNotEmpty(page.getRecords())) { Map codeMap = baseCodeService.getBaseCodeMapFormCache("CA19"); //封装主体类型名称 page.getRecords().forEach(each -> { TREntPriseType code = entPriseTypeService.getEntPriseTypeFromCache(each.getEnttype()); - if(code != null){ + if (code != null) { each.setEnttypeCn(code.getDisplayvalue()); } // 经营状态 @@ -858,8 +843,8 @@ public class TsbizrevlistController extends BaseController { bizRevEntParam.setRemovereason(removeReason);//剔除原因 bizRevEntParam.setIsremove("1");//设为剔除 boolean remove = bizRevEntService.update(bizRevEntParam, new LambdaQueryWrapper().eq(BizRevEnt::getBizseq, bizseq).in(BizRevEnt::getPripid, pripidArray)); - if(!remove) { - log.info("剔除更新{}失败",pripids); + if (!remove) { + log.info("剔除更新{}失败", pripids); throw new BusinessException("剔除失败"); } // 剔除时,检查有没有生成过听证告知书,有的话要更新文书表的更新时间,视图时间才会更新 @@ -870,32 +855,32 @@ public class TsbizrevlistController extends BaseController { for (String pripid : pripidArray) { List attachments = attachmentService.getByPripidAndBizseq(pripid, bizseq); - if(CollectionUtils.isNotEmpty(attachments)) { + if (CollectionUtils.isNotEmpty(attachments)) { for (TSAttachment attachment : attachments) { boolean removeById = attachmentService.removeById(attachment.getAttachmentid()); if (!removeById) { log.info("批吊剔除主体时,删除文件信息失败,主体id{}业务号{}", pripid, bizseq); throw new BusinessException("剔除失败"); } else { - log.info("批吊剔除主体时,成功删除文件信息:{}",attachment); + log.info("批吊剔除主体时,成功删除文件信息:{}", attachment); } } } } String caseName = caseService.updateCaseName(bizseq); - if(caseName != null) { + if (caseName != null) { List revtasklist = tsrevtasklistService.selectByBizSeqID(bizseq); Tsrevtasklist tsrevtasklist = revtasklist.get(0); tsrevtasklist.setBusname(caseName); boolean update = tsrevtasklistService.updateById(tsrevtasklist); - if(update) { + if (update) { return RestResult.ok(caseName); - }else { - log.info("批吊剔除主体时,业务号{}更新待办名称失败:{}",bizseq,caseName); + } else { + log.info("批吊剔除主体时,业务号{}更新待办名称失败:{}", bizseq, caseName); throw new BusinessException("更新待办名称失败"); } - }else { - log.info("批吊剔除主体时,业务号{}更新案件名称失败:{}",bizseq,caseName); + } else { + log.info("批吊剔除主体时,业务号{}更新案件名称失败:{}", bizseq, caseName); throw new BusinessException("更新案件名称失败"); } } @@ -903,7 +888,7 @@ public class TsbizrevlistController extends BaseController { /** * 通过企业id添加主体至拟吊销企业列表 * - * @param pripid 企业id + * @param pripid 企业id * @param bizseq 业务号id * @param bizStatus 业务状态 * @param request @@ -911,36 +896,36 @@ public class TsbizrevlistController extends BaseController { */ @Transactional @PostMapping("insertRevListByPripid") - public RestResult insertRevListByPripid(String pripid, String bizseq, String bizStatus,String bizEntType, HttpServletRequest request) { - AssertUtils.isNotBlank(bizseq, pripid, bizStatus,bizEntType); + public RestResult insertRevListByPripid(String pripid, String bizseq, String bizStatus, String bizEntType, HttpServletRequest request) { + AssertUtils.isNotBlank(bizseq, pripid, bizStatus, bizEntType); AICUser user = getLoginUser(request); // String[] pripidArray = pripids.split(Constant.SEMICOLON); // 批量改个案 EBaseinfo eBaseinfo = eBaseinfoService.getOneByPripid(pripid); // 验证该企业类型是否与业务的公司类型一致(公司与个人独资) int i = 0; - if("1".equals(bizEntType)) {// 公司类型 + if ("1".equals(bizEntType)) {// 公司类型 i = Arrays.binarySearch(Constant.REVOKE_COMPANY_CODE, eBaseinfo.getEnttype()); - }else if("2".equals(bizEntType)){ // 个人独资企业类型 + } else if ("2".equals(bizEntType)) { // 个人独资企业类型 i = Arrays.binarySearch(Constant.REVOKE_SOLE_CODE, eBaseinfo.getEnttype()); } - if(i < 0){ - return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR,"主体类型不符,无法新增!"); + if (i < 0) { + return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "主体类型不符,无法新增!"); } // 验证企业状态 - if(!"1".equals(eBaseinfo.getRegstate())){ - return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR,"该主体状态非开业状态,无法新增!"); + if (!"1".equals(eBaseinfo.getRegstate())) { + return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "该主体状态非开业状态,无法新增!"); } // 验证是否合伙企业 for (String code : Constant.PARTNERSHIP_CODE) { - if(code.contains(eBaseinfo.getEnttype())){ - return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR,"该主体类型为合伙企业,无法新增!"); + if (code.contains(eBaseinfo.getEnttype())) { + return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "该主体类型为合伙企业,无法新增!"); } } // 验证是否在办 List bizRevEntDB = tsbizrevlistService.selectInBiz(pripid); // BizRevEnt bizRevEntDB = tsbizrevlistService.getByPripidandBizseq(eBaseinfo.getPripid(), bizseq); if (CollectionUtils.isNotEmpty(bizRevEntDB)) { - return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR,"主体已在办理批吊业务中,无法新增!"); + return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "主体已在办理批吊业务中,无法新增!"); } BizRevEnt bizRevEntModel = new BizRevEnt(); @@ -951,30 +936,30 @@ public class TsbizrevlistController extends BaseController { bizRevEntModel.setUniscid(eBaseinfo.getUniscid());//统一码 bizRevEntModel.setName(eBaseinfo.getName());//法定代表人 bizRevEntModel.setEnttype(eBaseinfo.getEnttype()); - if(StringUtils.isNotEmpty(eBaseinfo.getEnttypeCn())) { + if (StringUtils.isNotEmpty(eBaseinfo.getEnttypeCn())) { bizRevEntModel.setEnttypeCn(eBaseinfo.getEnttypeCn());//企业类型 - }else { + } else { TREntPriseType entPriseType = entPriseTypeService.getEntPriseTypeFromCache(eBaseinfo.getEnttype()); - if(entPriseType != null){ + if (entPriseType != null) { bizRevEntModel.setEnttypeCn(entPriseType.getDisplayvalue()); } } bizRevEntModel.setInserttime(LocalDateTime.now()); boolean insert = bizRevEntService.save(bizRevEntModel); - if(insert){ + if (insert) { String caseName = caseService.updateCaseName(bizseq); - if(caseName != null) { + if (caseName != null) { List revtasklist = tsrevtasklistService.selectByBizSeqID(bizseq); Tsrevtasklist tsrevtasklist = revtasklist.get(0); tsrevtasklist.setBusname(caseName); boolean update = tsrevtasklistService.updateById(tsrevtasklist); - if(update) { + if (update) { return RestResult.ok(caseName); - }else { + } else { throw new BusinessException("更新待办名称失败"); } - }else { + } else { throw new BusinessException("更新案件名称失败"); } } @@ -1020,7 +1005,7 @@ public class TsbizrevlistController extends BaseController { if (i == 0) { stepTable.setStartTime(tsrevtask.getSendertime().toLocalDate()); } else { - stepTable.setStartTime(stepTableLists.get(i-1).getEndTime()); + stepTable.setStartTime(stepTableLists.get(i - 1).getEndTime()); } stepTable.setHandlerName(tsOpinion.getHandler());//处理人 stepTable.setEndTime(tsOpinion.getHandledate().toLocalDate());// 结束时间 @@ -1045,7 +1030,7 @@ public class TsbizrevlistController extends BaseController { } else if (stepNo.equals("5")) {//送达与结束 意见类型opiniontype为"14","15","16" stepTableDtoList = stepTableLists.stream().filter((StepTableDto st) -> Integer.valueOf(st.getOpiniontype()) >= 14 && Integer.valueOf(st.getOpiniontype()) <= 16).collect(Collectors.toList()); - }else if (stepNo.equals("31")) {//注销公告 + } else if (stepNo.equals("31")) {//注销公告 stepTableDtoList = stepTableLists.stream().filter((StepTableDto st) -> Integer.valueOf(st.getOpiniontype()) >= 31 && Integer.valueOf(st.getOpiniontype()) <= 33).collect(Collectors.toList()); } return RestResult.ok(stepTableDtoList); @@ -1085,68 +1070,68 @@ public class TsbizrevlistController extends BaseController { } //主体名称 String searchEntName = StringUtils.tranObject(customParamMap.get("searchEntName")); - wrapper.like(StringUtils.isNotBlank(searchEntName),BizRevEnt::getEntname,searchEntName); + wrapper.like(StringUtils.isNotBlank(searchEntName), BizRevEnt::getEntname, searchEntName); //剔除原因 String searchReason = StringUtils.tranObject(customParamMap.get("searchReason")); - wrapper.like(StringUtils.isNotBlank(searchReason),BizRevEnt::getRemovereason,searchReason); + wrapper.like(StringUtils.isNotBlank(searchReason), BizRevEnt::getRemovereason, searchReason); //处理人 String searchHandler = StringUtils.tranObject(customParamMap.get("searchHandler")); - wrapper.like(StringUtils.isNotBlank(searchHandler),BizRevEnt::getRemhandler,searchHandler); + wrapper.like(StringUtils.isNotBlank(searchHandler), BizRevEnt::getRemhandler, searchHandler); //手动/自动剔除 String searchRemType = StringUtils.tranObject(customParamMap.get("searchRemType")); - if(StringUtils.isNotBlank(searchRemType)){ - if(searchRemType.equals("0")){//表自动 - wrapper.eq(BizRevEnt::getRemno,0);//对应0批次 - }else if (searchRemType.equals("1")){//表手动 - wrapper.ne(BizRevEnt::getRemno,0);//对应除0外其他批次 + if (StringUtils.isNotBlank(searchRemType)) { + if (searchRemType.equals("0")) {//表自动 + wrapper.eq(BizRevEnt::getRemno, 0);//对应0批次 + } else if (searchRemType.equals("1")) {//表手动 + wrapper.ne(BizRevEnt::getRemno, 0);//对应除0外其他批次 } } //剔除时间 String remStartDate = StringUtils.tranObject(customParamMap.get("remStartDate")); String remEndDate = StringUtils.tranObject(customParamMap.get("remEndDate")); - if(StringUtils.isNotBlank(remStartDate) && StringUtils.isNotBlank(remStartDate)){ - remStartDate = DateUtils.dateTimeFormat(remStartDate); - remEndDate = DateUtils.dateTimeFormat(remEndDate); - wrapper.between(BizRevEnt::getRemovetime,remStartDate,remEndDate); + if (StringUtils.isNotBlank(remStartDate) && StringUtils.isNotBlank(remStartDate)) { + remStartDate = DateUtils.dateTimeFormat(remStartDate); + remEndDate = DateUtils.dateTimeFormat(remEndDate); + wrapper.between(BizRevEnt::getRemovetime, remStartDate, remEndDate); } wrapper.orderByDesc(BizRevEnt::getRemovetime); }, null)); } /** - * 批量吊销导入主体名单错误信息清单Excel导出 + * 批量吊销导入主体名单错误信息清单Excel导出 * * @return */ @GetMapping("exportDisableEntList") - public RestResult exportDisableEntList(HttpServletRequest request, HttpServletResponse response,String disableListId) { + public RestResult exportDisableEntList(HttpServletRequest request, HttpServletResponse response, String disableListId) { AssertUtils.isNotEmpty(disableListId); String json = redisService.get(REDIS_KEY_DISABLE_PREFIX + disableListId); List list = JSON.parseArray(json, DisableListVo.class); String fileName = "批吊-不可导入企业名单.xlsx"; - tsAttachmentService.exportExcel(request,response,fileName,list); + tsAttachmentService.exportExcel(request, response, fileName, list); return OK; } /** - * 批量吊销现场核查导出主体名单 + * 批量吊销现场核查导出主体名单 * * @return */ @PostMapping("exportCheckListExcel") - public RestResult exportCheckListExcel(HttpServletRequest request, HttpServletResponse response,@RequestBody String paramStr) { + public RestResult exportCheckListExcel(HttpServletRequest request, HttpServletResponse response, @RequestBody String paramStr) { JSONObject jsonObject = JSONObject.parseObject(paramStr); String selectList = jsonObject.getString("pripids"); String enableAndCheckListId = jsonObject.getString("enableAndCheckListId"); - AssertUtils.isNotEmpty(enableAndCheckListId,selectList); - List pripids = JSONObject.parseArray(selectList,String.class); - if(pripids.size() == 0) return RestResult.error(ResultCode.PARAM_IS_INVALID,"参数有误"); + AssertUtils.isNotEmpty(enableAndCheckListId, selectList); + List pripids = JSONObject.parseArray(selectList, String.class); + if (pripids.size() == 0) return RestResult.error(ResultCode.PARAM_IS_INVALID, "参数有误"); String json = redisService.get(REDIS_KEY_ENABLE_PREFIX + enableAndCheckListId); List list = JSON.parseArray(json, EnableListAndCheckVo.class); List exportList = new ArrayList<>(); - for(EnableListAndCheckVo checkVo : list){ - for(String pripid : pripids){ - if(checkVo.getPripid().equals(pripid)){ + for (EnableListAndCheckVo checkVo : list) { + for (String pripid : pripids) { + if (checkVo.getPripid().equals(pripid)) { EnableListAndCheckExcel enableListAndCheckExcel = new EnableListAndCheckExcel(); BeanUtils.copyProperties(checkVo, enableListAndCheckExcel); exportList.add(enableListAndCheckExcel); @@ -1154,41 +1139,41 @@ public class TsbizrevlistController extends BaseController { } } String fileName = "批吊-现场核查企业名单.xlsx"; - tsAttachmentService.exportExcel2(request,response,fileName,exportList,EnableListAndCheckExcel.class); + tsAttachmentService.exportExcel2(request, response, fileName, exportList, EnableListAndCheckExcel.class); return OK; } //生成获取批吊现场核查列表,只生成一次,查询用searchEnableList方法 @PostMapping("getEnableList") - public RestResult getEnableList(String enableListId){ + public RestResult getEnableList(String enableListId) { String json = redisService.get(REDIS_KEY_ENABLE_PREFIX + enableListId); List enableList = JSON.parseArray(json, EBaseinfo.class); List enableListAndCheckVos = new ArrayList<>(); - for(EBaseinfo eBaseinfo : enableList){ + for (EBaseinfo eBaseinfo : enableList) { EnableListAndCheckVo checkAndRevResult = itsUsualInspectService.getCheckAndRevResult(eBaseinfo.getPripid()); - if(checkAndRevResult != null) { + if (checkAndRevResult != null) { checkAndRevResult.setUscc(eBaseinfo.getUniscid()); checkAndRevResult.setEntname(eBaseinfo.getEntname()); - checkAndRevResult.setRegOrgCN(StringUtils.isBlank(eBaseinfo.getRegorg())?"" : baseCodeService.getRegorgName(eBaseinfo.getRegorg())); - checkAndRevResult.setSupOrgCn(StringUtils.isBlank(eBaseinfo.getSuporg())?"" : baseCodeService.getSuporg(eBaseinfo.getSuporg())); + checkAndRevResult.setRegOrgCN(StringUtils.isBlank(eBaseinfo.getRegorg()) ? "" : baseCodeService.getRegorgName(eBaseinfo.getRegorg())); + checkAndRevResult.setSupOrgCn(StringUtils.isBlank(eBaseinfo.getSuporg()) ? "" : baseCodeService.getSuporg(eBaseinfo.getSuporg())); enableListAndCheckVos.add(checkAndRevResult); } } String enableListAndCheckId = UUID.randomUUID().toString(); HashMap groupMap = new HashMap<>(); - groupMap.put("enableAndCheckList",enableListAndCheckVos); - groupMap.put("enableAndCheckListId",enableListAndCheckId); + groupMap.put("enableAndCheckList", enableListAndCheckVos); + groupMap.put("enableAndCheckListId", enableListAndCheckId); redisService.set(REDIS_KEY_ENABLE_PREFIX + enableListAndCheckId, JSON.toJSONString(enableListAndCheckVos), 20 * 60); return RestResult.ok(groupMap); } //根据查询条件获取批吊现场核查列表 @PostMapping("searchEnableList") - public RestResult searchEnableList(String enableAndCheckListId, String status, String result){ + public RestResult searchEnableList(String enableAndCheckListId, String status, String result) { String json = redisService.get(REDIS_KEY_ENABLE_PREFIX + enableAndCheckListId); List enableAndCheckList = JSON.parseArray(json, EnableListAndCheckVo.class); List enableListAndCheckVos = new ArrayList<>(); - if(enableAndCheckList != null) { + if (enableAndCheckList != null) { enableListAndCheckVos = enableAndCheckList.stream() .filter(item -> (StringUtils.isBlank(status) || item.getCheckStatus().equals(status)) @@ -1196,37 +1181,38 @@ public class TsbizrevlistController extends BaseController { .collect(Collectors.toList()); } HashMap groupMap = new HashMap<>(); - groupMap.put("enableAndCheckList",enableListAndCheckVos); + groupMap.put("enableAndCheckList", enableListAndCheckVos); return RestResult.ok(groupMap); } + /** - * 批量吊销业务主体名单按类型导出Excel + * 批量吊销业务主体名单按类型导出Excel * */ @GetMapping("exportEntListbyType") - public RestResult exportEntListbyType(String bizseq,String exportType, HttpServletRequest request, HttpServletResponse response) { - AssertUtils.isNotBlank(bizseq,exportType); + public RestResult exportEntListbyType(String bizseq, String exportType, HttpServletRequest request, HttpServletResponse response) { + AssertUtils.isNotBlank(bizseq, exportType); ExcelWriter writer = null; LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(BizRevEnt::getBizseq,bizseq); + wrapper.eq(BizRevEnt::getBizseq, bizseq); TsCase caseDB = caseService.getByBizseq(bizseq); String caseName = caseDB.getCaseName(); // 查询导出数据 String fileName = ""; List listbyType = new ArrayList<>(); - if (exportType.equals("All")){ - fileName = caseName +"-全部主体名单.xlsx"; + if (exportType.equals("All")) { + fileName = caseName + "-全部主体名单.xlsx"; listbyType = bizRevEntService.list(wrapper); - }else if(exportType.equals("process")){ + } else if (exportType.equals("process")) { fileName = caseName + "-业务在办主体名单.xlsx"; - wrapper.eq(BizRevEnt::getIsremove,"0"); + wrapper.eq(BizRevEnt::getIsremove, "0"); listbyType = bizRevEntService.list(wrapper); - }else if(exportType.equals("removed")){ + } else if (exportType.equals("removed")) { fileName = caseName + "-已剔除主体名单.xlsx"; - wrapper.eq(BizRevEnt::getIsremove,"1"); + wrapper.eq(BizRevEnt::getIsremove, "1"); listbyType = bizRevEntService.list(wrapper); - }else{ + } else { return RestResult.error(ResultCode.PARAM_IS_INVALID); } @@ -1250,7 +1236,7 @@ public class TsbizrevlistController extends BaseController { ArrayList list = new ArrayList<>(); for (BizRevEnt each : listbyType) { TsbizrevlistExcelVo excelVo = new TsbizrevlistExcelVo(); - BeanUtils.copyProperties(each,excelVo); + BeanUtils.copyProperties(each, excelVo); // excelVo.setSettime(DateUtils.localDateFormat(tsbizrevlist.getSettime(),DateUtils.DATE_DEFAULT_FORMAT)); list.add(excelVo); } @@ -1267,7 +1253,7 @@ public class TsbizrevlistController extends BaseController { outputStream.flush(); } catch (Exception e) { e.printStackTrace(); - }finally { + } finally { try { response.getOutputStream().close(); } catch (Exception e) { @@ -1278,35 +1264,35 @@ public class TsbizrevlistController extends BaseController { } /** - * 名单导出Excel前数据非空校验 + * 名单导出Excel前数据非空校验 * - * @param bizseq 业务号 - * @param exportType 导出类型 + * @param bizseq 业务号 + * @param exportType 导出类型 * @return */ @GetMapping("exportValid") - public RestResult exportValid(String bizseq,String exportType){ - AssertUtils.isNotBlank(bizseq,exportType); + public RestResult exportValid(String bizseq, String exportType) { + AssertUtils.isNotBlank(bizseq, exportType); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(BizRevEnt::getBizseq,bizseq); - if(exportType.equals("process")){ - wrapper.eq(BizRevEnt::getIsremove,"0"); + wrapper.eq(BizRevEnt::getBizseq, bizseq); + if (exportType.equals("process")) { + wrapper.eq(BizRevEnt::getIsremove, "0"); int count = bizRevEntService.count(wrapper); - if(count == 0) { - return RestResult.error(ResultCode.DATA_NONE,"业务中无在办主体"); + if (count == 0) { + return RestResult.error(ResultCode.DATA_NONE, "业务中无在办主体"); } - }else if(exportType.equals("removed")){ - wrapper.eq(BizRevEnt::getIsremove,"1"); + } else if (exportType.equals("removed")) { + wrapper.eq(BizRevEnt::getIsremove, "1"); int count = bizRevEntService.count(wrapper); - if(count == 0) { - return RestResult.error(ResultCode.DATA_NONE,"业务中无已剔除主体"); + if (count == 0) { + return RestResult.error(ResultCode.DATA_NONE, "业务中无已剔除主体"); } - }else if(exportType.equals("all")){ + } else if (exportType.equals("all")) { int count = bizRevEntService.count(wrapper); - if(count == 0) { - return RestResult.error(ResultCode.DATA_NONE,"查询不到该业务相关主体"); + if (count == 0) { + return RestResult.error(ResultCode.DATA_NONE, "查询不到该业务相关主体"); } - }else{ + } else { return RestResult.error(ResultCode.PARAM_IS_INVALID); } return OK; @@ -1314,26 +1300,27 @@ public class TsbizrevlistController extends BaseController { /** * 根据工作流id及意见类型获取最新意见 + * * @param workflowId 工作流id - * @param opinionType 意见类型 - * @param status 状态是否暂存 + * @param opinionType 意见类型 + * @param status 状态是否暂存 * @return */ @PostMapping("getNewestOpinion") - public RestResult getNewestOpinion(String workflowId, String opinionType, String status, String bizStatus){ - AssertUtils.isNotBlank(workflowId,opinionType); - if("1".equals(status) && opinionType.equals(bizStatus)){// 暂存,取暂存表信息 + public RestResult getNewestOpinion(String workflowId, String opinionType, String status, String bizStatus) { + AssertUtils.isNotBlank(workflowId, opinionType); + if ("1".equals(status) && opinionType.equals(bizStatus)) {// 暂存,取暂存表信息 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(RevokeTemp::getWorkflowid,workflowId) - .eq(RevokeTemp::getOpiniontype,opinionType) + wrapper.eq(RevokeTemp::getWorkflowid, workflowId) + .eq(RevokeTemp::getOpiniontype, opinionType) .orderByDesc(RevokeTemp::getLauptime); List list = revokeTempService.list(wrapper); - if(CollectionUtils.isNotEmpty(list)){ + if (CollectionUtils.isNotEmpty(list)) { return RestResult.ok(list.get(0)); } return RestResult.ok(); } - return RestResult.ok(opinionService.getNewestOpinion(workflowId,opinionType)); + return RestResult.ok(opinionService.getNewestOpinion(workflowId, opinionType)); } /** @@ -1343,8 +1330,8 @@ public class TsbizrevlistController extends BaseController { * @return */ @PostMapping("getNoOpenRevListPage") - public RestResult getNoOpenRevListPage(@RequestBody PageRequestDto pageRequestDto){ - AssertUtils.isNotNull(pageRequestDto,pageRequestDto.getCustomParamMap()); + public RestResult getNoOpenRevListPage(@RequestBody PageRequestDto pageRequestDto) { + AssertUtils.isNotNull(pageRequestDto, pageRequestDto.getCustomParamMap()); Map paramMap = pageRequestDto.getCustomParamMap(); String bizseq = StringUtils.tranObject(paramMap.get("bizseq")); AssertUtils.isNotEmpty(bizseq); @@ -1352,13 +1339,13 @@ public class TsbizrevlistController extends BaseController { validEntsRegstate(bizseq); IPage page = tsbizrevlistService.getNoOpenRevListPage(new Page<>(pageRequestDto.getCurPage(), pageRequestDto.getPageSize()), paramMap); - if(CollectionUtils.isNotEmpty(page.getRecords())){ // 封装企业状态 + if (CollectionUtils.isNotEmpty(page.getRecords())) { // 封装企业状态 Map codeMap = baseCodeService.getBaseCodeMapFormCache("CA19"); for (Tsbizrevlist record : page.getRecords()) { EBaseinfo eBaseinfo = eBaseinfoService.getOne(new LambdaQueryWrapper().eq(EBaseinfo::getPripid, record.getPripid())); record.setRegstate(eBaseinfo.getRegstate()); TRBaseCode code = codeMap.get(eBaseinfo.getRegstate()); - if(code != null) { + if (code != null) { record.setRegstateCn(code.getName()); } if (record.getEnttypeCn() == null) { @@ -1375,6 +1362,7 @@ public class TsbizrevlistController extends BaseController { /** * 批吊信息暂存 + * * @param request * @param tsCaseModel * @param bizseq @@ -1386,13 +1374,13 @@ public class TsbizrevlistController extends BaseController { @Transactional @PostMapping("tempSave") public RestResult tempSave(HttpServletRequest request, TsCase tsCaseModel, String bizseq, TSOpinion opinionModel, - String tasklistid, String bizStatus, String nextPerformerids){ - AssertUtils.isNotEmpty(bizseq,tasklistid,opinionModel.getWorkflowid()); + String tasklistid, String bizStatus, String nextPerformerids) { + AssertUtils.isNotEmpty(bizseq, tasklistid, opinionModel.getWorkflowid()); AICUser user = getLoginUser(request); if (user == null) throw new BusinessException("登录超时,请重新登录"); - if("1".equals(bizStatus)){ - if(StringUtils.isNotEmpty(tsCaseModel.getIllegalAct())){// 违法行为中文 + if ("1".equals(bizStatus)) { + if (StringUtils.isNotEmpty(tsCaseModel.getIllegalAct())) {// 违法行为中文 String[] split = tsCaseModel.getIllegalAct().split(Constant.COMMA); String s = split[split.length - 1]; CmsDictCode dictCode = cmsDictCodeService.getList("illegalAct", s); @@ -1402,8 +1390,8 @@ public class TsbizrevlistController extends BaseController { // 案件信息项直接保存,加多暂存状态标识,为暂存状态 tsCaseModel.setStatus("1");// 标记暂存 boolean update = caseService.updateById(tsCaseModel); - if(!update){ - return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR,"暂存失败"); + if (!update) { + return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "暂存失败"); } LocalDateTime now = LocalDateTime.now(); // 意见等存临时表 @@ -1417,11 +1405,11 @@ public class TsbizrevlistController extends BaseController { revokeTemp.setLauptime(now); revokeTemp.setNexthandlerid(nextPerformerids); revokeTemp.setOpinioncontent(opinionModel.getOpinioncontent()); - if(opinionModel.getHandledate() != null) { + if (opinionModel.getHandledate() != null) { revokeTemp.setHandledate(opinionModel.getHandledate()); } boolean save = revokeTempService.save(revokeTemp); - if(!save){ + if (!save) { throw new BusinessException("暂存失败!"); } } @@ -1430,17 +1418,18 @@ public class TsbizrevlistController extends BaseController { /** * 批吊相关条件类型企业清单导出 + * * @param response * @return */ @PostMapping("revokeEntListExport") - public RestResult revokeEntListExport(@RequestBody PageRequestDto pageRequestDto, HttpServletRequest request, HttpServletResponse response){ + public RestResult revokeEntListExport(@RequestBody PageRequestDto pageRequestDto, HttpServletRequest request, HttpServletResponse response) { AICUser loginUser = getLoginUser(request); - if(loginUser == null){ + if (loginUser == null) { return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); } Map customParamMap = pageRequestDto.getCustomParamMap(); - String searchUscc=StringUtils.tranObject(customParamMap.get("searchUscc")); + String searchUscc = StringUtils.tranObject(customParamMap.get("searchUscc")); if (StringUtils.isNotBlank(searchUscc)) { if (StringUtils.isUscc(searchUscc)) { customParamMap.put("uniscid", searchUscc); @@ -1450,12 +1439,12 @@ public class TsbizrevlistController extends BaseController { } String type = StringUtils.tranObject(customParamMap.get("type")); String isGRDZ = StringUtils.tranObject(customParamMap.get("isGRDZ")); - String yearReport =StringUtils.tranObject(customParamMap.get("yearReport")); - AssertUtils.isNotEmpty(type,isGRDZ); - if(StringUtils.isNotEmpty(isGRDZ)){ - if("GRDZ".equals(isGRDZ)){ + String yearReport = StringUtils.tranObject(customParamMap.get("yearReport")); + AssertUtils.isNotEmpty(type, isGRDZ); + if (StringUtils.isNotEmpty(isGRDZ)) { + if ("GRDZ".equals(isGRDZ)) { customParamMap.put("sole", Constant.REVOKE_SOLE_CODE); - }else if("NOGRDZ".equals(isGRDZ)){ + } else if ("NOGRDZ".equals(isGRDZ)) { customParamMap.put("company", Constant.REVOKE_COMPANY_CODE); } } @@ -1463,7 +1452,7 @@ public class TsbizrevlistController extends BaseController { //片区查询属地监管机关 if (StringUtils.isNotBlank(StringUtils.tranObject(customParamMap.get("regulatory")))) { List regulatory = (List) customParamMap.get("regulatory"); - if(regulatory.size()>0) { + if (regulatory.size() > 0) { String suporg = regulatory.get(regulatory.size() - 1); List idsByParentId = areaSliceService.getIdsByParentId(suporg); //获取所有子片区id idsByParentId.add(suporg); //加上父id @@ -1473,7 +1462,7 @@ public class TsbizrevlistController extends BaseController { //登记机关 if (StringUtils.isNotBlank(StringUtils.tranObject(customParamMap.get("regorg")))) { List regorg = (List) customParamMap.get("regorg"); - if(regorg.size()>0) { + if (regorg.size() > 0) { customParamMap.put("regorgFinal", regorg.get(regorg.size() - 1)); //找出机关列表中的最后一个 } } @@ -1496,25 +1485,25 @@ public class TsbizrevlistController extends BaseController { String filename = "名单清单.xlsx"; if ("abn".equals(type)) {// 实地查无列异两年以上 LocalDate date = LocalDate.now().minusYears(2); - customParamMap.put("abntime",DateUtils.localDateFormat(date,DateUtils.DATE_DEFAULT_FORMAT)); - page = eBaseinfoService.getSDCWandTwoYearsPage(new Page<>(1, -1,false), customParamMap); + customParamMap.put("abntime", DateUtils.localDateFormat(date, DateUtils.DATE_DEFAULT_FORMAT)); + page = eBaseinfoService.getSDCWandTwoYearsPage(new Page<>(1, -1, false), customParamMap); filename = "因实地查无列入经营异常名录两年以上-" + filename; - }else if("wnb2".equals(type)) {// 连续两年未年报 + } else if ("wnb2".equals(type)) {// 连续两年未年报 // 获取当前日期 LocalDate currentDate = LocalDate.now(); int year = currentDate.getYear(); // 构造6月30日的日期,6月30号为年报提交日期 LocalDate endDate = LocalDate.of(year, 6, 30); String[] reportYear; - if(currentDate.isBefore(endDate)){ + if (currentDate.isBefore(endDate)) { reportYear = new String[]{String.valueOf(year - 2), String.valueOf(year - 3)}; - }else { + } else { reportYear = new String[]{String.valueOf(year - 1), String.valueOf(year - 2)}; } List listyear = Arrays.asList(reportYear); customParamMap.put("reportYear", listyear); - customParamMap.put("yearSize",2); - page = eBaseinfoService.getNoReportPage(new Page<>(1,-1,false), customParamMap); + customParamMap.put("yearSize", 2); + page = eBaseinfoService.getNoReportPage(new Page<>(1, -1, false), customParamMap); filename = "连续两年未年报-" + filename; } /* @@ -1527,24 +1516,24 @@ public class TsbizrevlistController extends BaseController { filename = "连续五年未年报-" + filename; } */ - else if("wnbSdcw".equals(type)){// 两年未年报实地查无 + else if ("wnbSdcw".equals(type)) {// 两年未年报实地查无 // 获取当前日期 LocalDate currentDate = LocalDate.now(); int year = currentDate.getYear(); // 构造6月30日的日期,6月30号为年报提交日期 LocalDate endDate = LocalDate.of(year, 6, 30); String[] reportYear; - if(currentDate.isBefore(endDate)){ + if (currentDate.isBefore(endDate)) { reportYear = new String[]{String.valueOf(year - 2), String.valueOf(year - 3)}; - }else { + } else { reportYear = new String[]{String.valueOf(year - 1), String.valueOf(year - 2)}; } List listyear = Arrays.asList(reportYear); customParamMap.put("reportYear", listyear); - page = eBaseinfoService.getWnbAndSdcwPage(new Page<>(1, -1,false), customParamMap); + page = eBaseinfoService.getWnbAndSdcwPage(new Page<>(1, -1, false), customParamMap); filename = "两年未年报实地查无-" + filename; } - if(page == null || CollectionUtils.isEmpty(page.getRecords())){ + if (page == null || CollectionUtils.isEmpty(page.getRecords())) { return RestResult.error(ResultCode.DATA_NONE); } List records = page.getRecords(); @@ -1577,16 +1566,16 @@ public class TsbizrevlistController extends BaseController { Map codeMap = baseCodeService.getBaseCodeMapFormCache("CA19"); for (EBaseinfo each : records) { TsbizrevlistExcelVo excelVo = new TsbizrevlistExcelVo(); - BeanUtils.copyProperties(each,excelVo); + BeanUtils.copyProperties(each, excelVo); // 主体类型 - if(StringUtils.isEmpty(excelVo.getEnttypeCn())) { + if (StringUtils.isEmpty(excelVo.getEnttypeCn())) { TREntPriseType code = entPriseTypeService.getEntPriseTypeFromCache(each.getEnttype()); if (code != null) { excelVo.setEnttypeCn(code.getDisplayvalue()); } } // 经营状态 - if(each.getRegstate() != null) { + if (each.getRegstate() != null) { TRBaseCode code = codeMap.get(each.getRegstate()); if (code != null) { excelVo.setRegstateCn(code.getName()); @@ -1602,7 +1591,7 @@ public class TsbizrevlistController extends BaseController { } // 主营项目类别 if (StringUtils.isNotBlank(each.getIndustryco()) && each.getIndustryco().length() > 1) { - excelVo.setOpscotypeCn(IndustryConstant.getIndustryCN(each.getIndustryco().substring(0,2))); + excelVo.setOpscotypeCn(IndustryConstant.getIndustryCN(each.getIndustryco().substring(0, 2))); } //属地监管机关 excelVo.setSuporgCn(iGzaiccodeService.getNameByCode(each.getSuporg())); @@ -1621,7 +1610,7 @@ public class TsbizrevlistController extends BaseController { outputStream.flush(); } catch (Exception e) { e.printStackTrace(); - }finally { + } finally { try { response.getOutputStream().close(); } catch (Exception e) { @@ -1634,16 +1623,17 @@ public class TsbizrevlistController extends BaseController { /** * 获取非开业未剔除的名单总数 - * @param bizseq 业务号 + * + * @param bizseq 业务号 * @return */ @GetMapping("getNoOpenAndNoRemoveNum") - public RestResult getNoOpenAndNoRemoveNum(String bizseq){ + public RestResult getNoOpenAndNoRemoveNum(String bizseq) { AssertUtils.isNotNull(bizseq); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(BizRevEnt::getBizseq,bizseq) - .eq(BizRevEnt::getIsremove,"0") - .eq(BizRevEnt::getNoopenstate,"1"); + wrapper.eq(BizRevEnt::getBizseq, bizseq) + .eq(BizRevEnt::getIsremove, "0") + .eq(BizRevEnt::getNoopenstate, "1"); List list = bizRevEntService.list(wrapper); return RestResult.ok(list.size()); } @@ -1659,8 +1649,8 @@ public class TsbizrevlistController extends BaseController { TSAttachment tsAttachment = new TSAttachment(); tsAttachment.setBizseq(bizseq).setAttachtype("20"); List tsAttachments = tsAttachmentService.selectwritByPage(tsAttachment); - if(CollectionUtils.isEmpty(tsAttachments)){ - return RestResult.error(ResultCode.DATA_NONE,"找不到附件"); + if (CollectionUtils.isEmpty(tsAttachments)) { + return RestResult.error(ResultCode.DATA_NONE, "找不到附件"); } String filePath = tsAttachments.get(0).getTemppath(); String fileName = tsAttachments.get(0).getFilename(); @@ -1671,21 +1661,22 @@ public class TsbizrevlistController extends BaseController { // response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); ServletOutputStream os = response.getOutputStream(); - fileStorageService.writeToStream(CommonConfig.getUploadPath() + File.separator + filePath,os); + fileStorageService.writeToStream(CommonConfig.getUploadPath() + File.separator + filePath, os); return OK; } catch (IOException e) { log.error("下载文件发生错误," + e.getMessage()); - return RestResult.error(ResultCode.DATA_NONE,"下载文件错误"); + return RestResult.error(ResultCode.DATA_NONE, "下载文件错误"); } } /** * 批量吊销任务转办列表 - * @author ymc - * @since 2024年8月16日 10:45 + * * @param pageRequestDto * @return + * @author ymc + * @since 2024年8月16日 10:45 */ @PostMapping("batchRevokeForwardTask") public RestResult batchRevokeForwardTask(@RequestBody PageRequestDto pageRequestDto) { @@ -1695,11 +1686,12 @@ public class TsbizrevlistController extends BaseController { /** * 批量吊销任务转办 + * + * @param tasklistid 待办id + * @param userId 转办用户userId + * @return * @author ymc * @since 2024年8月16日 11:13 - * @param tasklistid 待办id - * @param userId 转办用户userId - * @return */ @GetMapping("batchRevokeForward") public RestResult batchRevokeForward(@RequestParam String tasklistid, @RequestParam String userId) { @@ -1709,14 +1701,119 @@ public class TsbizrevlistController extends BaseController { /** * 转办用户列表 - * @author ymc - * @since 2024年8月16日 16:45 + * * @param orgId * @return + * @author ymc + * @since 2024年8月16日 16:45 */ @GetMapping("getBatchRevokeForwardUsers") public RestResult getBatchRevokeForwardUsers(@RequestParam String orgId) { return RestResult.ok(orgUM.findUsersByOrgPK(orgId, false)); } + + /** + * 批量直接吊销市场主体(无需审批) + * 接口直接吊销市场主体,无需经过审核审批流程 + * + * @param dto 批量直接吊销请求参数 + * @param request + * @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 directRevoke(@RequestBody @Validated DirectRevokeDto dto, HttpServletRequest request) { + AICUser user = getLoginUser(request); + if (user == null) { + return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); + } + + if (CollectionUtils.isEmpty(dto.getPripids())) { + return RestResult.error(ResultCode.PARAM_IS_BLANK, "主体列表不能为空"); + } + + try { + DirectRevokeResultDto result = tsbizrevlistService.directRevoke(dto, user); + return RestResult.ok(result); + } catch (Exception e) { + log.error("批量直接吊销失败", e); + return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "批量直接吊销失败:" + e.getMessage()); + } + } + + /** + * 查询未吊销的市场主体分页列表 + * 查询开业状态且未被吊销的市场主体 + * + * @param query 分页查询参数(BaseQuery包含分页信息和UnrevokedEntQueryDto查询条件) + * @param request + * @return 分页列表 + */ + @ApiOperation(value = "查询未吊销的市场主体分页列表", notes = "查询开业状态且未被吊销的市场主体") + @PostMapping("unrevokedList") + public RestResult unrevokedList(@RequestBody BaseQuery query, HttpServletRequest request) { + + AICUser user = getLoginUser(request); + if (user == null) { + return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); + } + + try { + // 获取查询条件实体 + UnrevokedEntQueryDto queryDto = query.getEntity(UnrevokedEntQueryDto.class); + if (queryDto == null) { + queryDto = new UnrevokedEntQueryDto(); + } + + // 构建分页对象 + Page page = new Page<>(query.getCurrent(), query.getSize()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + // 只查询开业状态的市场主体 + wrapper.eq(EBaseinfo::getRegstate, "1"); + + // 排除已吊销的市场主体(通过子查询排除) + 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'"); + + // 条件查询 + if (StringUtils.isNotBlank(queryDto.getEntname())) { + wrapper.like(EBaseinfo::getEntname, queryDto.getEntname()); + } + if (StringUtils.isNotBlank(queryDto.getUniscid())) { + wrapper.eq(EBaseinfo::getUniscid, queryDto.getUniscid()); + } + if (StringUtils.isNotBlank(queryDto.getRegno())) { + wrapper.eq(EBaseinfo::getRegno, queryDto.getRegno()); + } + if (StringUtils.isNotBlank(queryDto.getEnttype())) { + wrapper.eq(EBaseinfo::getEnttype, queryDto.getEnttype()); + } + if (StringUtils.isNotBlank(queryDto.getRegorg())) { + wrapper.eq(EBaseinfo::getRegorg, queryDto.getRegorg()); + } + + // 根据用户机关过滤 + String userOrg = StringUtils.substring(user.getRegionID(), 0, 6); + if (StringUtils.isNotBlank(userOrg)) { + wrapper.apply("SUBSTR(REGORG, 1, 6) = {0}", userOrg); + } + + wrapper.orderByDesc(EBaseinfo::getPripid); + + IPage result = eBaseinfoService.page(page, wrapper); + return RestResult.ok(result); + } catch (Exception e) { + log.error("查询未吊销市场主体列表失败", e); + return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "查询失败:" + e.getMessage()); + } + } } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/BatchRevokePushRecord.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/BatchRevokePushRecord.java new file mode 100644 index 0000000..17017ca --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/BatchRevokePushRecord.java @@ -0,0 +1,155 @@ +package com.chinaweal.aiccs.aiccs.revoke.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.time.LocalDateTime; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 批量吊销推送记录表 + * 存储需要推送的批量吊销成功市场主体记录 + *

+ * + * @author Lee + * @since 2026-02-24 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("BATCH_REVOKE_PUSH_RECORD") +public class BatchRevokePushRecord extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "ID", type = IdType.ASSIGN_UUID) + private String id; + + /** + * 吊销记录ID(关联revokelist表的REVLISTID) + */ + @TableField("REVLISTID") + private String revlistid; + + /** + * 主体身份代码 + */ + @TableField("PRIPID") + private String pripid; + + /** + * 统一社会信用代码 + */ + @TableField("UNISCID") + private String uniscid; + + /** + * 企业名称 + */ + @TableField("ENTNAME") + private String entname; + + /** + * 吊销原因代码 + */ + @TableField("REVOKEREA") + private String revokeRea; + + /** + * 吊销日期 + */ + @TableField("REVOKEDATE") + private LocalDateTime revokedate; + + /** + * 处罚登记机关代码 + */ + @TableField("PUNISHORG") + private String punishOrg; + + /** + * 处罚登记机关名称 + */ + @TableField("PUNISHORGCN") + private String punishOrgCn; + + /** + * 经办人ID + */ + @TableField("HANDLERID") + private String handlerid; + + /** + * 经办人姓名 + */ + @TableField("HANDLERNAME") + private String handlername; + + /** + * 推送状态(0-待推送,1-推送成功,2-推送失败) + */ + @TableField("PUSHSTATUS") + private String pushStatus; + + /** + * 推送返回状态码 + */ + @TableField("PUSHCODE") + private String pushCode; + + /** + * 推送返回异常代码 + */ + @TableField("PUSHEXCODE") + private String pushExcode; + + /** + * 推送返回消息 + */ + @TableField("PUSHMESSAGE") + private String pushMessage; + + /** + * 推送次数 + */ + @TableField("PUSHCOUNT") + private Integer pushCount; + + /** + * 最后推送时间 + */ + @TableField("LASTPUSHTIME") + private LocalDateTime lastPushTime; + + /** + * 创建时间 + */ + @TableField("CREATETIME") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("UPDATETIME") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("REMARK") + private String remark; + + @Override + protected Serializable pkVal() { + return this.id; + } +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/DirectRevokeDto.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/DirectRevokeDto.java new file mode 100644 index 0000000..206e342 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/DirectRevokeDto.java @@ -0,0 +1,60 @@ +package com.chinaweal.aiccs.aiccs.revoke.entity.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; +import java.util.List; + +/** + * 批量直接吊销请求模型 + * @author iFlow + * @since 2026-02-24 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "批量直接吊销请求模型") +public class DirectRevokeDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主体身份代码列表 + */ + @ApiModelProperty(value = "主体身份代码列表(pripid)") + @NotEmpty(message = "主体身份代码列表不能为空!") + private List pripids; + + /** + * 吊销原因代码 + * 1: 一年未年报实地查无 + * 2: 连续两年未年报 + * 3: 因实地查无列入经营异常名录两年以上 + */ + @ApiModelProperty(value = "吊销原因代码(1-一年未年报实地查无,2-连续两年未年报,3-因实地查无列入经营异常名录两年以上)") + private String revokeReasonCode; + + /** + * 吊销原因描述 + */ + @ApiModelProperty(value = "吊销原因描述") + private String revokeReasonDesc; + + /** + * 企业类型 + * 1: 公司 + * 2: 个人独资企业 + */ + @ApiModelProperty(value = "企业类型(1-公司,2-个人独资企业)") + private String bizEntType; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String remark; + +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/DirectRevokeResultDto.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/DirectRevokeResultDto.java new file mode 100644 index 0000000..ce65634 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/DirectRevokeResultDto.java @@ -0,0 +1,81 @@ +package com.chinaweal.aiccs.aiccs.revoke.entity.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** + * 批量直接吊销结果模型 + * @author iFlow + * @since 2026-02-24 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "批量直接吊销结果模型") +public class DirectRevokeResultDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 总数 + */ + @ApiModelProperty(value = "总数") + private Integer total; + + /** + * 成功数量 + */ + @ApiModelProperty(value = "成功数量") + private Integer successCount; + + /** + * 失败数量 + */ + @ApiModelProperty(value = "失败数量") + private Integer failCount; + + /** + * 成功企业名称列表 + */ + @ApiModelProperty(value = "成功企业名称列表") + private List successList; + + /** + * 失败列表 + */ + @ApiModelProperty(value = "失败列表") + private List failList; + + /** + * 失败项 + */ + @Data + @Accessors(chain = true) + @ApiModel(value = "吊销失败项") + public static class FailItem implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主体身份代码 + */ + @ApiModelProperty(value = "主体身份代码") + private String pripid; + + /** + * 企业名称 + */ + @ApiModelProperty(value = "企业名称") + private String entname; + + /** + * 失败原因 + */ + @ApiModelProperty(value = "失败原因") + private String reason; + } +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/UnrevokedEntQueryDto.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/UnrevokedEntQueryDto.java new file mode 100644 index 0000000..9370d85 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/UnrevokedEntQueryDto.java @@ -0,0 +1,52 @@ +package com.chinaweal.aiccs.aiccs.revoke.entity.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 未吊销市场主体查询DTO + *

+ * + * @author Lee + * @since 2026-02-24 + */ +@Data +@ApiModel(value = "未吊销市场主体查询DTO") +public class UnrevokedEntQueryDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 企业名称(模糊查询) + */ + @ApiModelProperty(value = "企业名称(模糊查询)") + private String entname; + + /** + * 统一社会信用代码 + */ + @ApiModelProperty(value = "统一社会信用代码") + private String uniscid; + + /** + * 注册号 + */ + @ApiModelProperty(value = "注册号") + private String regno; + + /** + * 市场主体类型 + */ + @ApiModelProperty(value = "市场主体类型") + private String enttype; + + /** + * 登记机关 + */ + @ApiModelProperty(value = "登记机关") + private String regorg; +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/mapper/BatchRevokePushRecordMapper.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/mapper/BatchRevokePushRecordMapper.java new file mode 100644 index 0000000..c82bcfa --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/mapper/BatchRevokePushRecordMapper.java @@ -0,0 +1,16 @@ +package com.chinaweal.aiccs.aiccs.revoke.mapper; + +import com.chinaweal.aiccs.aiccs.revoke.entity.BatchRevokePushRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 批量吊销推送记录 Mapper 接口 + *

+ * + * @author Lee + * @since 2026-02-24 + */ +public interface BatchRevokePushRecordMapper extends BaseMapper { + +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/BatchRevokePushRecordService.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/BatchRevokePushRecordService.java new file mode 100644 index 0000000..cf83fa7 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/BatchRevokePushRecordService.java @@ -0,0 +1,16 @@ +package com.chinaweal.aiccs.aiccs.revoke.service; + +import com.chinaweal.aiccs.aiccs.revoke.entity.BatchRevokePushRecord; +import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService; + +/** + *

+ * 批量吊销推送记录 服务类 + *

+ * + * @author Lee + * @since 2026-02-24 + */ +public interface BatchRevokePushRecordService extends BaseService { + +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/TsbizrevlistService.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/TsbizrevlistService.java index 15008ed..5c8f960 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/TsbizrevlistService.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/TsbizrevlistService.java @@ -6,6 +6,8 @@ import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; import com.chinaweal.aiccs.aiccs.revoke.entity.BizRevEnt; import com.chinaweal.aiccs.aiccs.revoke.entity.Tsbizrevlist; import com.chinaweal.aiccs.aiccs.revoke.entity.Tsrevtasklist; +import com.chinaweal.aiccs.aiccs.revoke.entity.dto.DirectRevokeDto; +import com.chinaweal.aiccs.aiccs.revoke.entity.dto.DirectRevokeResultDto; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService; @@ -80,4 +82,12 @@ public interface TsbizrevlistService extends BaseService { IPage getForceLogoutNoticetPage(Page objectPage, Map customParamMap); List selectInZxBiz(String pripid); + + /** + * 批量直接吊销市场主体(无需审批) + * @param dto 批量直接吊销请求参数 + * @param user 当前登录用户 + * @return 吊销结果 + */ + DirectRevokeResultDto directRevoke(DirectRevokeDto dto, AICUser user); } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/BatchRevokePushRecordServiceImpl.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/BatchRevokePushRecordServiceImpl.java new file mode 100644 index 0000000..ba3728b --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/BatchRevokePushRecordServiceImpl.java @@ -0,0 +1,20 @@ +package com.chinaweal.aiccs.aiccs.revoke.service.impl; + +import com.chinaweal.aiccs.aiccs.revoke.entity.BatchRevokePushRecord; +import com.chinaweal.aiccs.aiccs.revoke.mapper.BatchRevokePushRecordMapper; +import com.chinaweal.aiccs.aiccs.revoke.service.BatchRevokePushRecordService; +import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 批量吊销推送记录 服务实现类 + *

+ * + * @author Lee + * @since 2026-02-24 + */ +@Service +public class BatchRevokePushRecordServiceImpl extends BaseServiceImpl implements BatchRevokePushRecordService { + +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/TsbizrevlistServiceImpl.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/TsbizrevlistServiceImpl.java index cd40f9c..d81b5c4 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/TsbizrevlistServiceImpl.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/TsbizrevlistServiceImpl.java @@ -4,65 +4,45 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo; -import com.chinaweal.aiccs.aiccs.abnormal.entity.TSAttachment; -import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit; import com.chinaweal.aiccs.aiccs.abnormal.service.EBaseinfoService; -import com.chinaweal.aiccs.aiccs.abnormal.service.TSAttachmentService; import com.chinaweal.aiccs.aiccs.abnormal.service.TSWritService; -import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; import com.chinaweal.aiccs.aiccs.inspect.service.TSWorkNoService; import com.chinaweal.aiccs.aiccs.revoke.entity.*; +import com.chinaweal.aiccs.aiccs.revoke.entity.dto.DirectRevokeDto; +import com.chinaweal.aiccs.aiccs.revoke.entity.dto.DirectRevokeResultDto; import com.chinaweal.aiccs.aiccs.revoke.mapper.TsbizrevlistMapper; import com.chinaweal.aiccs.aiccs.revoke.service.*; -import com.chinaweal.aiccs.aiccs.system.entity.TRBaseCode; +import com.chinaweal.aiccs.aiccs.security.entity.PenaltyEntInfo; +import com.chinaweal.aiccs.aiccs.security.service.IPenaltyEntInfoService; import com.chinaweal.aiccs.aiccs.system.service.TRBaseCodeService; import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate; import com.chinaweal.aiccs.aiccs.writs.service.TswrittemplateService; -import com.chinaweal.aiccs.common.constant.BaseDataConstant; -import com.chinaweal.aiccs.common.constant.Constant; import com.chinaweal.aiccs.common.util.*; -import com.chinaweal.aiccs.org.entity.OrgUnits; import com.chinaweal.aiccs.org.service.AicorgService; import com.chinaweal.aiccs.outside.service.TfRevokeServicelmpl; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException; import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseServiceImpl; -import com.chinaweal.youfool.framework.springboot.rest.RestResult; -import com.chinaweal.youfool.framework.springboot.rest.ResultCode; import com.chinaweal.youfool.framework.sso.util.SSOUtil; -import com.deepoove.poi.data.MiniTableRenderData; -import com.deepoove.poi.data.RenderData; -import com.deepoove.poi.data.RowRenderData; -import com.deepoove.poi.data.TextRenderData; -import com.deepoove.poi.data.style.TableStyle; import net.sf.json.JSONObject; -//import org.apache.commons.httpclient.HttpClient; -//import org.apache.commons.httpclient.HttpMethod; -//import org.apache.commons.httpclient.methods.PostMethod; -//import org.apache.commons.httpclient.methods.RequestEntity; -//import org.apache.commons.httpclient.methods.StringRequestEntity; -import org.apache.ibatis.annotations.Param; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; - -import javax.annotation.Resource; import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.stream.Collectors; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** *

- * 服务实现类 + * 服务实现类 *

* * @author Lee @@ -103,6 +83,12 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl bizrevlists) { + public Tsrevtasklist saveRevListAccept(AICUser user, Tsrevtasklist revtaskListModel, List bizrevlists) { if (StringUtils.isBlank(revtaskListModel.getTasklistid())) { for (Tsbizrevlist bizRevListModel : bizrevlists) { bizRevListModel.setIntosponsor(user.getName());//设置主办人 @@ -140,20 +126,20 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl queryRevocationTzsByNameList(IPage page, Map pram) { - return baseMapper.queryRevocationTzsByNameList(page,pram); + return baseMapper.queryRevocationTzsByNameList(page, pram); } @Override public IPage queryRevocationJdsByNameList(IPage page, Map pram) { - return baseMapper.queryRevocationJdsByNameList(page,pram); + return baseMapper.queryRevocationJdsByNameList(page, pram); } @Override public BizRevEnt getByPripidandBizseq(String pripid, String bizseq) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(BizRevEnt::getBizseq,bizseq) - .eq(BizRevEnt::getPripid,pripid) - .eq(BizRevEnt::getIsremove,"0"); + wrapper.eq(BizRevEnt::getBizseq, bizseq) + .eq(BizRevEnt::getPripid, pripid) + .eq(BizRevEnt::getIsremove, "0"); BizRevEnt bizRevEnt = bizRevEntService.getOne(wrapper, false); // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(Tsbizrevlist::getBizseq,bizseq) @@ -233,12 +219,12 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl getNoOpenRevListPage(IPage page, Map paramMap) { - return baseMapper.selectNoOpenRevListPage(page,paramMap); + return baseMapper.selectNoOpenRevListPage(page, paramMap); } @Override public List getBizRevEntList(Tsbizrevlist bizrevlistParam) { - if(bizrevlistParam == null) return null; + if (bizrevlistParam == null) return null; return baseMapper.selectBizRevEntList(bizrevlistParam); } @@ -255,17 +241,17 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Tsbizrevlist::getBizseq,bizseq); + wrapper.eq(Tsbizrevlist::getBizseq, bizseq); return getOne(wrapper); } @Override - public void createHearingPdf(String bizseq,String pripid, String fileName, ServletOutputStream os) throws Exception { + public void createHearingPdf(String bizseq, String pripid, String fileName, ServletOutputStream os) throws Exception { Tsbizrevlist tsbizrevlist = getOneBybizseq(bizseq); - if(tsbizrevlist == null) throw new BusinessException("下载文件错误"); + if (tsbizrevlist == null) throw new BusinessException("下载文件错误"); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BizRevEnt::getPripid, pripid).eq(BizRevEnt::getBizseq, bizseq).eq(BizRevEnt::getIsremove,"0"); + queryWrapper.eq(BizRevEnt::getPripid, pripid).eq(BizRevEnt::getBizseq, bizseq).eq(BizRevEnt::getIsremove, "0"); BizRevEnt bizRevEnt = bizRevEntService.getOne(queryWrapper); TsCase aCase = caseService.getByBizseq(bizseq); @@ -307,11 +293,11 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BizRevEnt::getPripid, pripid).eq(BizRevEnt::getBizseq, bizseq).eq(BizRevEnt::getIsremove,"0"); + queryWrapper.eq(BizRevEnt::getPripid, pripid).eq(BizRevEnt::getBizseq, bizseq).eq(BizRevEnt::getIsremove, "0"); BizRevEnt bizRevEnt = bizRevEntService.getOne(queryWrapper); // 生成听证告知书 @@ -322,7 +308,7 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl().eq(EBaseinfo::getPripid, bizRevEnt.getPripid()), false); @@ -363,4 +349,135 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl selectInZxBiz(String pripid) { return baseMapper.selectInZxBiz(pripid); } + + /** + * 批量直接吊销市场主体(无需审批) + * 直接将市场主体吊销状态写入吊销结果表,并推送至外部系统 + */ + @Override + public DirectRevokeResultDto directRevoke(DirectRevokeDto dto, AICUser user) { + List pripids = dto.getPripids(); + + int successCount = 0; + int failCount = 0; + List successList = new ArrayList<>(); + List failList = new ArrayList<>(); + + LocalDateTime now = LocalDateTime.now(); + + // 获取用户所属机关代码 + String orgCode = aicorgService.getRegionCodeByUser(user); + String orgName = ""; + if (StringUtils.isNotBlank(orgCode)) { + orgName = gzaiccodeService.getNameByCode(orgCode); + } + + for (String pripid : pripids) { + try { + // 查询企业基本信息 + PenaltyEntInfo penaltyEntInfo = iPenaltyEntInfoService.getOne(new LambdaQueryWrapper() + .eq(PenaltyEntInfo::getPripid, pripid)); + + if (penaltyEntInfo == null) { + failCount++; + failList.add(new DirectRevokeResultDto.FailItem() + .setPripid(pripid) + .setReason("执法企业信息不存在")); + continue; + } + + EBaseinfo eBaseinfo = eBaseinfoService.getById(pripid); + + if (eBaseinfo == null) { + failCount++; + failList.add(new DirectRevokeResultDto.FailItem() + .setPripid(pripid) + .setReason("企业信息不存在")); + continue; + } + + // 检查是否已在吊销结果表中 + Revokelist existRevoke = revokelistService.getOne(new LambdaQueryWrapper() + .eq(Revokelist::getPripid, pripid) + .eq(Revokelist::getState, "1")); + if (existRevoke != null) { + failCount++; + failList.add(new DirectRevokeResultDto.FailItem() + .setPripid(pripid) + .setEntname(eBaseinfo.getEntname()) + .setReason("该企业已被吊销")); + continue; + } + + // 检查是否在办理中的批量吊销业务 + List inBizList = selectInBiz(pripid); + if (inBizList != null && !inBizList.isEmpty()) { + logger.info("企业{}正在批量吊销业务中,将直接吊销", eBaseinfo.getUniscid()); + } + + // 创建吊销记录 + Revokelist revokelist = new Revokelist(); + revokelist.setPripid(pripid); + revokelist.setUniscid(eBaseinfo.getUniscid()); + revokelist.setRegno(eBaseinfo.getRegno()); + revokelist.setEntname(eBaseinfo.getEntname()); + revokelist.setIntosponsorid(user.getPrimaryKey()); + revokelist.setIntosponsorname(user.getName()); + revokelist.setRevokeRea(dto.getRevokeReasonCode()); + revokelist.setRevokedate(now); + revokelist.setState("1"); // 1表示吊销状态 + revokelist.setPunishOrg(orgCode); + revokelist.setPunishOrgCn(orgName); + revokelist.setLauptime(now); + + // 保存吊销记录 + boolean saved = revokelistService.save(revokelist); + + if (saved) { + // 写入推送记录存储表,后续定时任务统一推送 + BatchRevokePushRecord pushRecord = new BatchRevokePushRecord(); + pushRecord.setRevlistid(revokelist.getRevlistid()); + pushRecord.setPripid(pripid); + pushRecord.setUniscid(eBaseinfo.getUniscid()); + pushRecord.setEntname(eBaseinfo.getEntname()); + pushRecord.setRevokeRea(dto.getRevokeReasonCode()); + pushRecord.setRevokedate(now); + pushRecord.setPunishOrg(orgCode); + pushRecord.setPunishOrgCn(orgName); + pushRecord.setHandlerid(user.getPrimaryKey()); + pushRecord.setHandlername(user.getName()); + pushRecord.setPushStatus("0"); // 0-待推送 + pushRecord.setPushCount(0); + pushRecord.setCreateTime(now); + pushRecord.setUpdateTime(now); + pushRecord.setRemark(dto.getRemark()); + + batchRevokePushRecordService.save(pushRecord); + + successCount++; + successList.add(eBaseinfo.getEntname()); + } else { + failCount++; + failList.add(new DirectRevokeResultDto.FailItem() + .setPripid(pripid) + .setEntname(eBaseinfo.getEntname()) + .setReason("保存吊销记录失败")); + } + + } catch (Exception e) { + failCount++; + failList.add(new DirectRevokeResultDto.FailItem() + .setPripid(pripid) + .setReason("处理异常:" + e.getMessage())); + logger.error("直接吊销处理异常,pripid:{}", pripid, e); + } + } + + return new DirectRevokeResultDto() + .setTotal(pripids.size()) + .setSuccessCount(successCount) + .setFailCount(failCount) + .setSuccessList(successList) + .setFailList(failList); + } } diff --git a/src/main/java/com/chinaweal/aiccs/config/SwaggerKnife4j.java b/src/main/java/com/chinaweal/aiccs/config/SwaggerKnife4j.java index 8218324..4508524 100644 --- a/src/main/java/com/chinaweal/aiccs/config/SwaggerKnife4j.java +++ b/src/main/java/com/chinaweal/aiccs/config/SwaggerKnife4j.java @@ -37,7 +37,7 @@ public class SwaggerKnife4j { public Docket fraudApi() { //添加head参数start return new Docket(DocumentationType.SWAGGER_2) - .enable(false) + .enable(true) .apiInfo(apiInfo()) .groupName("3.涉嫌冒用登记") .select() @@ -50,7 +50,7 @@ public class SwaggerKnife4j { public Docket standardizingApi() { //添加head参数start return new Docket(DocumentationType.SWAGGER_2) - .enable(false) + .enable(true) .apiInfo(apiInfo()) .groupName("2.市场所协同") .select() @@ -67,7 +67,7 @@ public class SwaggerKnife4j { tokenPar.name("token").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); headers.add(tokenPar.build()); return new Docket(DocumentationType.SWAGGER_2) - .enable(false) + .enable(true) .apiInfo(apiInfo()) .groupName("1.basisApi") .select() diff --git a/src/main/java/com/chinaweal/aiccs/org/controller/UserController.java b/src/main/java/com/chinaweal/aiccs/org/controller/UserController.java index 3c3a36a..6725247 100644 --- a/src/main/java/com/chinaweal/aiccs/org/controller/UserController.java +++ b/src/main/java/com/chinaweal/aiccs/org/controller/UserController.java @@ -294,9 +294,9 @@ public class UserController extends BaseController { // 验证码校验 String realCaptcha = (String) request.getSession().getAttribute("captchadl"); request.getSession().removeAttribute("captchadl"); - if (!captchadl.equalsIgnoreCase(realCaptcha)) { - return RestResult.error(ResultCode.USER_NOT_LOGGED_IN, "登录验证码错误"); - } +// if (!captchadl.equalsIgnoreCase(realCaptcha)) { +// return RestResult.error(ResultCode.USER_NOT_LOGGED_IN, "登录验证码错误"); +// } TUsers tUsers = usersService.selectTusersByUsername(phone); if (tUsers == null) { diff --git a/src/main/resources/mybatis/mapper/aiccs/revoke/BatchRevokePushRecordMapper.xml b/src/main/resources/mybatis/mapper/aiccs/revoke/BatchRevokePushRecordMapper.xml new file mode 100644 index 0000000..ee1d14f --- /dev/null +++ b/src/main/resources/mybatis/mapper/aiccs/revoke/BatchRevokePushRecordMapper.xml @@ -0,0 +1,5 @@ + + + + +