Merge branch 'XQ-20260314-001'

This commit is contained in:
黎润豪 2026-03-20 15:57:25 +08:00
commit 9fde61ea5f
13 changed files with 1411 additions and 0 deletions

View File

@ -0,0 +1,81 @@
-- 撤销吊销业务表
-- XQ-20260314-001
CREATE TABLE "AICCS"."TS_BIZ_CANCEL_REVOKE"
(
"BIZ_ID" VARCHAR(72) NOT NULL,
"BIZ_SEQ" VARCHAR(100),
"PRIPID" VARCHAR(72),
"UNISCID" VARCHAR(36),
"REGNO" VARCHAR(60),
"ENTNAME" VARCHAR(200),
"REVOKE_REASON" VARCHAR(200),
"REVOKE_DATE" DATE,
"CANCEL_REVOKE_DATE" VARCHAR(20),
"CANCEL_REVOKE_REASON" VARCHAR(200),
"APPROVAL_DOC_NO" VARCHAR(100),
"APPROVAL_DEPT" VARCHAR(200),
"APPROVAL_DEPT_ID" VARCHAR(100),
"STATUS" VARCHAR(1) DEFAULT '1',
"CURRENT_NODE" VARCHAR(1) DEFAULT '1',
"REMARKS" VARCHAR(200),
"HANDLER_ID" VARCHAR(100),
"HANDLER_NAME" VARCHAR(100),
"HANDLER_DATE" DATE,
"CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
"UPDATE_TIME" TIMESTAMP(0),
NOT CLUSTER PRIMARY KEY("BIZ_ID")
) STORAGE(ON "MAIN", CLUSTERBTR);
COMMENT ON TABLE "AICCS"."TS_BIZ_CANCEL_REVOKE" IS '撤销吊销业务表';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."BIZ_ID" IS '业务ID';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."BIZ_SEQ" IS '业务编号';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."PRIPID" IS '主体身份代码';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."UNISCID" IS '统一社会信用代码';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."REGNO" IS '注册号';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."ENTNAME" IS '企业名称';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."REVOKE_REASON" IS '吊销原因';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."REVOKE_DATE" IS '吊销日期';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."CANCEL_REVOKE_DATE" IS '撤销吊销日期';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."CANCEL_REVOKE_REASON" IS '撤销吊销原因';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."APPROVAL_DOC_NO" IS '批准文号';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."APPROVAL_DEPT" IS '批准部门';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."APPROVAL_DEPT_ID" IS '批准部门ID';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."STATUS" IS '状态1-待受理2-受理中3-审核中4-审批中5-已通过6-已拒绝';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."CURRENT_NODE" IS '当前节点1-受理2-审核3-审批';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."REMARKS" IS '备注';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."HANDLER_ID" IS '经办人ID';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."HANDLER_NAME" IS '经办人姓名';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."HANDLER_DATE" IS '经办时间';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."CREATE_TIME" IS '创建时间';
COMMENT ON COLUMN "AICCS"."TS_BIZ_CANCEL_REVOKE"."UPDATE_TIME" IS '更新时间';
-- 撤销吊销审批记录表
CREATE TABLE "AICCS"."TS_CANCEL_REVOKE_APPROVE"
(
"APPROVE_ID" VARCHAR(72) NOT NULL,
"BIZ_ID" VARCHAR(72),
"NODE" VARCHAR(1),
"APPROVER_ID" VARCHAR(100),
"APPROVER_NAME" VARCHAR(100),
"APPROVE_STATUS" VARCHAR(1),
"APPROVE_OPINION" VARCHAR(500),
"APPROVE_TIME" TIMESTAMP(0),
"CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
NOT CLUSTER PRIMARY KEY("APPROVE_ID")
) STORAGE(ON "MAIN", CLUSTERBTR);
COMMENT ON TABLE "AICCS"."TS_CANCEL_REVOKE_APPROVE" IS '撤销吊销审批记录表';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."APPROVE_ID" IS '审批ID';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."BIZ_ID" IS '业务ID';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."NODE" IS '节点1-受理2-审核3-审批';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."APPROVER_ID" IS '审批人ID';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."APPROVER_NAME" IS '审批人姓名';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."APPROVE_STATUS" IS '审批状态1-通过2-拒绝';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."APPROVE_OPINION" IS '审批意见';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."APPROVE_TIME" IS '审批时间';
COMMENT ON COLUMN "AICCS"."TS_CANCEL_REVOKE_APPROVE"."CREATE_TIME" IS '创建时间';
-- 创建索引
CREATE INDEX "IDX_TS_BIZ_CANCEL_REVOKE_STATUS" ON "AICCS"."TS_BIZ_CANCEL_REVOKE"("STATUS");
CREATE INDEX "IDX_TS_BIZ_CANCEL_REVOKE_PRIPID" ON "AICCS"."TS_BIZ_CANCEL_REVOKE"("PRIPID");
CREATE INDEX "IDX_TS_CANCEL_REVOKE_APPROVE_BIZ_ID" ON "AICCS"."TS_CANCEL_REVOKE_APPROVE"("BIZ_ID");

View File

@ -0,0 +1,141 @@
# XQ-20260314-001 开发思路与改动
## 待办信息
- **待办编号**: XQ-20260314-001
- **待办标题**: 内蒙信用监管-撤销吊销功能
## 一、数据库设计
### 1. 业务表结构设计
根据需求,需要新建撤销吊销业务表。参考现有表结构,设计如下:
#### 1.1 撤销吊销业务表 (TS_BIZ_CANCEL_REVOKE)
用于存储撤销吊销业务的核心数据。
| 字段名 | 类型 | 说明 |
|--------|------|------|
| BIZ_ID | VARCHAR(72) | 业务ID主键 |
| BIZ_SEQ | VARCHAR(100) | 业务编号 |
| PRIPID | VARCHAR(72) | 主体身份代码 |
| UNISCID | VARCHAR(36) | 统一社会信用代码 |
| REGNO | VARCHAR(60) | 注册号 |
| ENTNAME | VARCHAR(200) | 企业名称 |
| REVOKE_REASON | VARCHAR(200) | 吊销原因 |
| REVOKE_DATE | DATE | 吊销日期 |
| CANCEL_REVOKE_DATE | VARCHAR(20) | 撤销吊销日期 |
| CANCEL_REVOKE_REASON | VARCHAR(200) | 撤销吊销原因 |
| APPROVAL_DOC_NO | VARCHAR(100) | 批准文号 |
| APPROVAL_DEPT | VARCHAR(200) | 批准部门 |
| APPROVAL_DEPT_ID | VARCHAR(100) | 批准部门ID |
| STATUS | VARCHAR(1) | 状态1-待受理2-受理中3-审核中4-审批中5-已通过6-已拒绝 |
| CURRENT_NODE | VARCHAR(1) | 当前节点1-受理2-审核3-审批 |
| REMARKS | VARCHAR(200) | 备注 |
| HANDLER_ID | VARCHAR(100) | 经办人ID |
| HANDLER_NAME | VARCHAR(100) | 经办人姓名 |
| HANDLER_DATE | DATE | 经办时间 |
| CREATE_TIME | TIMESTAMP | 创建时间 |
| UPDATE_TIME | TIMESTAMP | 更新时间 |
#### 1.2 撤销吊销审批记录表 (TS_CANCEL_REVOKE_APPROVE)
用于存储三级审批的记录。
| 字段名 | 类型 | 说明 |
|--------|------|------|
| APPROVE_ID | VARCHAR(72) | 审批ID主键 |
| BIZ_ID | VARCHAR(72) | 业务ID |
| NODE | VARCHAR(1) | 节点1-受理2-审核3-审批 |
| APPROVER_ID | VARCHAR(100) | 审批人ID |
| APPROVER_NAME | VARCHAR(100) | 审批人姓名 |
| APPROVE_STATUS | VARCHAR(1) | 审批状态1-通过2-拒绝 |
| APPROVE_OPINION | VARCHAR(500) | 审批意见 |
| APPROVE_TIME | TIMESTAMP | 审批时间 |
| CREATE_TIME | TIMESTAMP | 创建时间 |
## 二、代码结构设计
### 2.1 目录结构
`src/main/java/com/chinaweal/aiccs/aiccs/force/` 目录下新增:
```
force/
├── cancel/
│ ├── controller/
│ │ └── CancelRevokeController.java
│ ├── mapper/
│ │ ├── CancelRevokeMapper.java
│ │ └── CancelRevokeApproveMapper.java
│ ├── service/
│ │ ├── ICancelRevokeService.java
│ │ └── impl/
│ │ └── CancelRevokeServiceImpl.java
│ ├── entity/
│ │ ├── CancelRevoke.java
│ │ └── CancelRevokeApprove.java
│ └── entity/vo/
│ └── CancelRevokeVO.java
```
### 2.2 Mapper XML 文件
`src/main/resources/mybatis/mapper/aiccs/force/` 目录下新增:
- `CancelRevokeMapper.xml`
- `CancelRevokeApproveMapper.xml`
## 三、接口设计
### 3.1 查询吊销主体列表接口
- **接口路径**: GET /api/cancelRevoke/revokedList
- **功能**: 查询主体状态为吊销的主体列表
- **参数**: 分页参数、查询条件(企业名称、统一社会信用代码、注册号等)
- **返回**: 吊销主体列表
### 3.2 发起撤销吊销业务接口
- **接口路径**: POST /api/cancelRevoke
- **功能**: 发起撤销吊销业务
- **参数**: 主体ID、企业信息、撤销原因等
- **返回**: 业务ID
### 3.3 审批列表查询接口
- **接口路径**: GET /api/cancelRevoke/approveList
- **功能**: 查询待审批的撤销吊销业务列表
- **参数**: 分页参数、状态筛选
- **返回**: 审批列表
### 3.4 审批详情查询接口
- **接口路径**: GET /api/cancelRevoke/{bizId}
- **功能**: 查询撤销吊销业务详情
- **参数**: 业务ID
- **返回**: 业务详情、审批记录
### 3.5 审批操作接口
- **接口路径**: POST /api/cancelRevoke/approve
- **功能**: 审批通过/拒绝
- **参数**: 业务ID、审批节点、审批状态、审批意见
- **返回**: 审批结果
### 3.6 撤销吊销记录列表接口
- **接口路径**: GET /api/cancelRevoke/records
- **功能**: 查询已完成的撤销吊销记录
- **参数**: 分页参数、查询条件
- **返回**: 撤销吊销记录列表
## 四、审批流程
### 4.1 三级审批流程
1. **受理节点Node 1**: 受理人审核材料,确认受理
2. **审核节点Node 2**: 审核人审核业务,提交审批
3. **审批节点Node 3**: 审批人最终审批
### 4.2 状态流转
- 1待受理→ 2受理中→ 3审核中→ 4审批中→ 5已通过或 6已拒绝
### 4.3 审批结束后的处理
业务审批通过后状态变为5
1. 将主体信息推送到 CANCELREVOKELIST 表
2. 更新 REVOKELIST 表中的状态为"2"(撤销)
3. 调用接口修改主体状态为"开业"
## 五、需要创建的SQL文件
1. `TS_BIZ_CANCEL_REVOKE.sql` - 撤销吊销业务表
2. `TS_CANCEL_REVOKE_APPROVE.sql` - 撤销吊销审批记录表

View File

@ -0,0 +1,51 @@
# XQ-20260314-001 需求清单
## 待办信息
- **待办编号**: XQ-20260314-001
- **待办标题**: 内蒙信用监管-撤销吊销功能
- **需求方**: 周熙尧
- **执行人**: 黎润豪
- **截止日期**: 2026-03-23
## 功能需求
### 1. 撤销吊销功能菜单位置
- 新增在一级菜单"批量吊销"里面
### 2. 撤销吊销功能页面结构
- 两个 Tab 页:撤销吊销待办、撤销吊销记录
- 左上角有个案办理按钮
### 3. 个案办理功能
- 点击个案办理按钮后显示主体状态为吊销的主体列表
- 不需要判断是否在系统做过批吊业务,直接根据吊销状态查询
- 只能选择一家吊销主体发起业务,不能多选
### 4. 业务审批流程
- 三级审批:受理 → 审核 → 审批
### 5. 业务审批结束后的数据处理
- 把主体信息存入 BATCH_REVOKE_PUSH_RECORD 表
- 修改主体状态为开业状态
### 6. 数据表
- 需要新建撤销吊销的业务表
## 后端接口清单(仅后端)
### 1. 撤销吊销业务表相关
- [ ] 创建撤销吊销业务表
### 2. 个案办理相关接口
- [ ] 查询吊销主体列表接口(根据吊销状态查询)
- [ ] 发起撤销吊销业务接口
### 3. 审批流程相关接口
- [ ] 审批列表查询接口
- [ ] 审批详情查询接口
- [ ] 审批通过接口(三级审批:受理、审核、审批)
- [ ] 审批拒绝接口
### 4. 撤销吊销记录相关接口
- [ ] 撤销吊销记录列表查询接口
- [ ] 撤销吊销记录详情接口

View File

@ -0,0 +1,99 @@
package com.chinaweal.aiccs.aiccs.force.cancel.controller;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevoke;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.vo.CancelRevokeVO;
import com.chinaweal.aiccs.aiccs.force.cancel.service.ICancelRevokeService;
import com.chinaweal.aiccs.common.base.controller.BaseController;
import com.chinaweal.youfool.framework.springboot.rest.RestResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 撤销吊销Controller
*/
@RestController
@RequestMapping("/api/cancelRevoke")
public class CancelRevokeController extends BaseController {
@Autowired
private ICancelRevokeService cancelRevokeService;
/**
* 查询吊销主体列表个案办理选择
* GET /api/cancelRevoke/revokedList
*/
@GetMapping("/revokedList")
public RestResult<Map<String, Object>> getRevokedList(@RequestParam Map<String, Object> params) {
Map<String, Object> result = cancelRevokeService.queryRevokedEntList(params);
return RestResult.ok(result);
}
/**
* 发起撤销吊销业务
* POST /api/cancelRevoke
*/
@PostMapping
public RestResult<String> createCancelRevoke(@RequestBody CancelRevoke cancelRevoke) {
String bizId = cancelRevokeService.createCancelRevoke(cancelRevoke);
return RestResult.ok(bizId);
}
/**
* 查询撤销吊销业务详情
* GET /api/cancelRevoke/{bizId}
*/
@GetMapping("/{bizId}")
public RestResult<CancelRevokeVO> getCancelRevokeById(@PathVariable String bizId) {
CancelRevokeVO vo = cancelRevokeService.getCancelRevokeById(bizId);
return RestResult.ok(vo);
}
/**
* 分页查询撤销吊销业务列表撤销吊销记录
* GET /api/cancelRevoke/records
*/
@GetMapping("/records")
public RestResult<Map<String, Object>> getCancelRevokeRecords(@RequestParam Map<String, Object> params) {
Map<String, Object> result = cancelRevokeService.queryCancelRevokeRecords(params);
return RestResult.ok(result);
}
/**
* 分页查询待审批列表
* GET /api/cancelRevoke/approveList
*/
@GetMapping("/approveList")
public RestResult<Map<String, Object>> getApproveList(@RequestParam Map<String, Object> params) {
Map<String, Object> result = cancelRevokeService.queryApproveList(params);
return RestResult.ok(result);
}
/**
* 审批操作
* POST /api/cancelRevoke/approve
*/
@PostMapping("/approve")
public RestResult<Boolean> approve(@RequestBody Map<String, Object> params) {
String bizId = (String) params.get("bizId");
String node = (String) params.get("node");
String approveStatus = (String) params.get("approveStatus");
String approverId = (String) params.get("approverId");
String approverName = (String) params.get("approverName");
String approveOpinion = (String) params.get("approveOpinion");
boolean result = cancelRevokeService.approve(bizId, node, approveStatus, approverId, approverName, approveOpinion);
return RestResult.ok(result);
}
/**
* 撤销吊销待办列表我的待办
* GET /api/cancelRevoke/todoList
*/
@GetMapping("/todoList")
public RestResult<Map<String, Object>> getTodoList(@RequestParam Map<String, Object> params) {
Map<String, Object> result = cancelRevokeService.queryApproveList(params);
return RestResult.ok(result);
}
}

View File

@ -0,0 +1,245 @@
package com.chinaweal.aiccs.aiccs.force.cancel.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 撤销吊销业务实体类
*/
public class CancelRevoke implements Serializable {
private static final long serialVersionUID = 1L;
/** 业务ID */
private String bizId;
/** 业务编号 */
private String bizSeq;
/** 主体身份代码 */
private String pripid;
/** 统一社会信用代码 */
private String uniscid;
/** 注册号 */
private String regno;
/** 企业名称 */
private String entname;
/** 吊销原因 */
private String revokeReason;
/** 吊销日期 */
private Date revokeDate;
/** 撤销吊销日期 */
private String cancelRevokeDate;
/** 撤销吊销原因 */
private String cancelRevokeReason;
/** 批准文号 */
private String approvalDocNo;
/** 批准部门 */
private String approvalDept;
/** 批准部门ID */
private String approvalDeptId;
/** 状态1-待受理2-受理中3-审核中4-审批中5-已通过6-已拒绝 */
private String status;
/** 当前节点1-受理2-审核3-审批 */
private String currentNode;
/** 备注 */
private String remarks;
/** 经办人ID */
private String handlerId;
/** 经办人姓名 */
private String handlerName;
/** 经办时间 */
private Date handlerDate;
/** 创建时间 */
private Date createTime;
/** 更新时间 */
private Date updateTime;
// Getters and Setters
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public String getBizSeq() {
return bizSeq;
}
public void setBizSeq(String bizSeq) {
this.bizSeq = bizSeq;
}
public String getPripid() {
return pripid;
}
public void setPripid(String pripid) {
this.pripid = pripid;
}
public String getUniscid() {
return uniscid;
}
public void setUniscid(String uniscid) {
this.uniscid = uniscid;
}
public String getRegno() {
return regno;
}
public void setRegno(String regno) {
this.regno = regno;
}
public String getEntname() {
return entname;
}
public void setEntname(String entname) {
this.entname = entname;
}
public String getRevokeReason() {
return revokeReason;
}
public void setRevokeReason(String revokeReason) {
this.revokeReason = revokeReason;
}
public Date getRevokeDate() {
return revokeDate;
}
public void setRevokeDate(Date revokeDate) {
this.revokeDate = revokeDate;
}
public String getCancelRevokeDate() {
return cancelRevokeDate;
}
public void setCancelRevokeDate(String cancelRevokeDate) {
this.cancelRevokeDate = cancelRevokeDate;
}
public String getCancelRevokeReason() {
return cancelRevokeReason;
}
public void setCancelRevokeReason(String cancelRevokeReason) {
this.cancelRevokeReason = cancelRevokeReason;
}
public String getApprovalDocNo() {
return approvalDocNo;
}
public void setApprovalDocNo(String approvalDocNo) {
this.approvalDocNo = approvalDocNo;
}
public String getApprovalDept() {
return approvalDept;
}
public void setApprovalDept(String approvalDept) {
this.approvalDept = approvalDept;
}
public String getApprovalDeptId() {
return approvalDeptId;
}
public void setApprovalDeptId(String approvalDeptId) {
this.approvalDeptId = approvalDeptId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCurrentNode() {
return currentNode;
}
public void setCurrentNode(String currentNode) {
this.currentNode = currentNode;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public String getHandlerId() {
return handlerId;
}
public void setHandlerId(String handlerId) {
this.handlerId = handlerId;
}
public String getHandlerName() {
return handlerName;
}
public void setHandlerName(String handlerName) {
this.handlerName = handlerName;
}
public Date getHandlerDate() {
return handlerDate;
}
public void setHandlerDate(Date handlerDate) {
this.handlerDate = handlerDate;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}

View File

@ -0,0 +1,113 @@
package com.chinaweal.aiccs.aiccs.force.cancel.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 撤销吊销审批记录实体类
*/
public class CancelRevokeApprove implements Serializable {
private static final long serialVersionUID = 1L;
/** 审批ID */
private String approveId;
/** 业务ID */
private String bizId;
/** 节点1-受理2-审核3-审批 */
private String node;
/** 审批人ID */
private String approverId;
/** 审批人姓名 */
private String approverName;
/** 审批状态1-通过2-拒绝 */
private String approveStatus;
/** 审批意见 */
private String approveOpinion;
/** 审批时间 */
private Date approveTime;
/** 创建时间 */
private Date createTime;
// Getters and Setters
public String getApproveId() {
return approveId;
}
public void setApproveId(String approveId) {
this.approveId = approveId;
}
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public String getNode() {
return node;
}
public void setNode(String node) {
this.node = node;
}
public String getApproverId() {
return approverId;
}
public void setApproverId(String approverId) {
this.approverId = approverId;
}
public String getApproverName() {
return approverName;
}
public void setApproverName(String approverName) {
this.approverName = approverName;
}
public String getApproveStatus() {
return approveStatus;
}
public void setApproveStatus(String approveStatus) {
this.approveStatus = approveStatus;
}
public String getApproveOpinion() {
return approveOpinion;
}
public void setApproveOpinion(String approveOpinion) {
this.approveOpinion = approveOpinion;
}
public Date getApproveTime() {
return approveTime;
}
public void setApproveTime(Date approveTime) {
this.approveTime = approveTime;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}

View File

@ -0,0 +1,28 @@
package com.chinaweal.aiccs.aiccs.force.cancel.entity.vo;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevoke;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevokeApprove;
import java.io.Serializable;
import java.util.List;
/**
* 撤销吊销业务VO
*/
public class CancelRevokeVO extends CancelRevoke implements Serializable {
private static final long serialVersionUID = 1L;
/** 审批记录列表 */
private List<CancelRevokeApprove> approveList;
// Getters and Setters
public List<CancelRevokeApprove> getApproveList() {
return approveList;
}
public void setApproveList(List<CancelRevokeApprove> approveList) {
this.approveList = approveList;
}
}

View File

@ -0,0 +1,29 @@
package com.chinaweal.aiccs.aiccs.force.cancel.mapper;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevokeApprove;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 撤销吊销审批记录Mapper
*/
@Mapper
public interface CancelRevokeApproveMapper {
/**
* 新增审批记录
*/
int insert(CancelRevokeApprove approve);
/**
* 根据业务ID查询审批记录列表
*/
List<CancelRevokeApprove> selectByBizId(@Param("bizId") String bizId);
/**
* 查询最新审批记录
*/
CancelRevokeApprove selectLatestByBizId(@Param("bizId") String bizId);
}

View File

@ -0,0 +1,65 @@
package com.chinaweal.aiccs.aiccs.force.cancel.mapper;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevoke;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 撤销吊销业务Mapper
*/
@Mapper
public interface CancelRevokeMapper {
/**
* 新增撤销吊销业务
*/
int insert(CancelRevoke cancelRevoke);
/**
* 更新撤销吊销业务
*/
int update(CancelRevoke cancelRevoke);
/**
* 根据ID查询撤销吊销业务
*/
CancelRevoke selectById(@Param("bizId") String bizId);
/**
* 分页查询撤销吊销业务列表
*/
List<CancelRevoke> selectList(Map<String, Object> params);
/**
* 分页查询撤销吊销业务数量
*/
int selectCount(Map<String, Object> params);
/**
* 查询待审批列表
*/
List<CancelRevoke> selectApproveList(Map<String, Object> params);
/**
* 查询待审批数量
*/
int selectApproveCount(Map<String, Object> params);
/**
* 查询吊销主体列表根据吊销状态查询
*/
List<Map<String, Object>> selectRevokedEntList(Map<String, Object> params);
/**
* 查询吊销主体数量
*/
int selectRevokedEntCount(Map<String, Object> params);
/**
* 更新业务状态
*/
int updateStatus(@Param("bizId") String bizId, @Param("status") String status, @Param("currentNode") String currentNode);
}

View File

@ -0,0 +1,66 @@
package com.chinaweal.aiccs.aiccs.force.cancel.service;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevoke;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.vo.CancelRevokeVO;
import java.util.Map;
/**
* 撤销吊销业务Service接口
*/
public interface ICancelRevokeService {
/**
* 发起撤销吊销业务
* @param cancelRevoke 撤销吊销业务信息
* @return 业务ID
*/
String createCancelRevoke(CancelRevoke cancelRevoke);
/**
* 查询撤销吊销业务详情
* @param bizId 业务ID
* @return 业务详情
*/
CancelRevokeVO getCancelRevokeById(String bizId);
/**
* 分页查询撤销吊销业务列表
* @param params 查询参数
* @return 业务列表
*/
Map<String, Object> queryCancelRevokeList(Map<String, Object> params);
/**
* 分页查询待审批列表
* @param params 查询参数
* @return 待审批列表
*/
Map<String, Object> queryApproveList(Map<String, Object> params);
/**
* 审批操作
* @param bizId 业务ID
* @param node 当前节点
* @param approveStatus 审批状态1-通过2-拒绝
* @param approverId 审批人ID
* @param approverName 审批人姓名
* @param approveOpinion 审批意见
* @return 结果
*/
boolean approve(String bizId, String node, String approveStatus, String approverId, String approverName, String approveOpinion);
/**
* 分页查询撤销吊销记录已完成的
* @param params 查询参数
* @return 记录列表
*/
Map<String, Object> queryCancelRevokeRecords(Map<String, Object> params);
/**
* 查询吊销主体列表
* @param params 查询参数
* @return 吊销主体列表
*/
Map<String, Object> queryRevokedEntList(Map<String, Object> params);
}

View File

@ -0,0 +1,229 @@
package com.chinaweal.aiccs.aiccs.force.cancel.service.impl;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevoke;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevokeApprove;
import com.chinaweal.aiccs.aiccs.force.cancel.entity.vo.CancelRevokeVO;
import com.chinaweal.aiccs.aiccs.force.cancel.mapper.CancelRevokeApproveMapper;
import com.chinaweal.aiccs.aiccs.force.cancel.mapper.CancelRevokeMapper;
import com.chinaweal.aiccs.aiccs.force.cancel.service.ICancelRevokeService;
import com.chinaweal.aiccs.aiccs.force.entity.XrForceDeregister;
import com.chinaweal.aiccs.aiccs.force.mapper.XrForceDeregisterMapper;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 撤销吊销业务Service实现类
*/
@Service
public class CancelRevokeServiceImpl implements ICancelRevokeService {
@Autowired
private CancelRevokeMapper cancelRevokeMapper;
@Autowired
private CancelRevokeApproveMapper cancelRevokeApproveMapper;
@Autowired
private XrForceDeregisterMapper xrForceDeregisterMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public String createCancelRevoke(CancelRevoke cancelRevoke) {
// 生成业务ID
String bizId = StringUtils.getUUID();
// 生成业务编号格式CXQX-年月日-序号)
String bizSeq = "CXQX-" + new Date().getTime();
cancelRevoke.setBizId(bizId);
cancelRevoke.setBizSeq(bizSeq);
cancelRevoke.setStatus("1"); // 待受理
cancelRevoke.setCurrentNode("1"); // 受理节点
cancelRevoke.setCreateTime(new Date());
cancelRevokeMapper.insert(cancelRevoke);
return bizId;
}
@Override
public CancelRevokeVO getCancelRevokeById(String bizId) {
CancelRevoke cancelRevoke = cancelRevokeMapper.selectById(bizId);
if (cancelRevoke == null) {
return null;
}
CancelRevokeVO vo = new CancelRevokeVO();
// 复制属性
vo.setBizId(cancelRevoke.getBizId());
vo.setBizSeq(cancelRevoke.getBizSeq());
vo.setPripid(cancelRevoke.getPripid());
vo.setUniscid(cancelRevoke.getUniscid());
vo.setRegno(cancelRevoke.getRegno());
vo.setEntname(cancelRevoke.getEntname());
vo.setRevokeReason(cancelRevoke.getRevokeReason());
vo.setRevokeDate(cancelRevoke.getRevokeDate());
vo.setCancelRevokeDate(cancelRevoke.getCancelRevokeDate());
vo.setCancelRevokeReason(cancelRevoke.getCancelRevokeReason());
vo.setApprovalDocNo(cancelRevoke.getApprovalDocNo());
vo.setApprovalDept(cancelRevoke.getApprovalDept());
vo.setApprovalDeptId(cancelRevoke.getApprovalDeptId());
vo.setStatus(cancelRevoke.getStatus());
vo.setCurrentNode(cancelRevoke.getCurrentNode());
vo.setRemarks(cancelRevoke.getRemarks());
vo.setHandlerId(cancelRevoke.getHandlerId());
vo.setHandlerName(cancelRevoke.getHandlerName());
vo.setHandlerDate(cancelRevoke.getHandlerDate());
vo.setCreateTime(cancelRevoke.getCreateTime());
vo.setUpdateTime(cancelRevoke.getUpdateTime());
// 查询审批记录
List<CancelRevokeApprove> approveList = cancelRevokeApproveMapper.selectByBizId(bizId);
vo.setApproveList(approveList);
return vo;
}
@Override
public Map<String, Object> queryCancelRevokeList(Map<String, Object> params) {
int pageNum = params.get("pageNum") != null ? Integer.parseInt(params.get("pageNum").toString()) : 1;
int pageSize = params.get("pageSize") != null ? Integer.parseInt(params.get("pageSize").toString()) : 10;
PageHelper.startPage(pageNum, pageSize);
List<CancelRevoke> list = cancelRevokeMapper.selectList(params);
PageInfo<CancelRevoke> pageInfo = new PageInfo<>(list);
Map<String, Object> result = new HashMap<>();
result.put("list", pageInfo.getList());
result.put("total", pageInfo.getTotal());
result.put("pageNum", pageNum);
result.put("pageSize", pageSize);
return result;
}
@Override
public Map<String, Object> queryApproveList(Map<String, Object> params) {
int pageNum = params.get("pageNum") != null ? Integer.parseInt(params.get("pageNum").toString()) : 1;
int pageSize = params.get("pageSize") != null ? Integer.parseInt(params.get("pageSize").toString()) : 10;
PageHelper.startPage(pageNum, pageSize);
List<CancelRevoke> list = cancelRevokeMapper.selectApproveList(params);
PageInfo<CancelRevoke> pageInfo = new PageInfo<>(list);
Map<String, Object> result = new HashMap<>();
result.put("list", pageInfo.getList());
result.put("total", pageInfo.getTotal());
result.put("pageNum", pageNum);
result.put("pageSize", pageSize);
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean approve(String bizId, String node, String approveStatus, String approverId, String approverName, String approveOpinion) {
CancelRevoke cancelRevoke = cancelRevokeMapper.selectById(bizId);
if (cancelRevoke == null) {
throw new RuntimeException("业务不存在");
}
// 验证节点是否正确
if (!cancelRevoke.getCurrentNode().equals(node)) {
throw new RuntimeException("当前节点不正确,无法审批");
}
// 创建审批记录
CancelRevokeApprove approve = new CancelRevokeApprove();
approve.setApproveId(StringUtils.getUUID());
approve.setBizId(bizId);
approve.setNode(node);
approve.setApproverId(approverId);
approve.setApproverName(approverName);
approve.setApproveStatus(approveStatus);
approve.setApproveOpinion(approveOpinion);
approve.setApproveTime(new Date());
approve.setCreateTime(new Date());
cancelRevokeApproveMapper.insert(approve);
if ("1".equals(approveStatus)) {
// 通过
if ("1".equals(node)) {
// 受理节点通过,进入审核
cancelRevokeMapper.updateStatus(bizId, "3", "2");
} else if ("2".equals(node)) {
// 审核节点通过,进入审批
cancelRevokeMapper.updateStatus(bizId, "4", "3");
} else if ("3".equals(node)) {
// 审批节点通过,完成
cancelRevokeMapper.updateStatus(bizId, "5", "3");
// TODO: 审批通过后调用接口将主体信息推送到CANCELREVOKELIST表并修改主体状态为开业
handleAfterApproved(cancelRevoke);
}
} else {
// 拒绝
cancelRevokeMapper.updateStatus(bizId, "6", node);
}
return true;
}
/**
* 审批通过后的处理
*/
private void handleAfterApproved(CancelRevoke cancelRevoke) {
// TODO: 实现审批通过后的业务逻辑
// 1. 将主体信息推送到 CANCELREVOKELIST 表
// 2. 更新 REVOKELIST 表中的状态
// 3. 调用接口修改主体状态为开业
}
@Override
public Map<String, Object> queryCancelRevokeRecords(Map<String, Object> params) {
// 查询已完成的状态为5-已通过或已拒绝的状态为6-已拒绝)
params.put("statusIn", "5,6");
int pageNum = params.get("pageNum") != null ? Integer.parseInt(params.get("pageNum").toString()) : 1;
int pageSize = params.get("pageSize") != null ? Integer.parseInt(params.get("pageSize").toString()) : 10;
PageHelper.startPage(pageNum, pageSize);
List<CancelRevoke> list = cancelRevokeMapper.selectList(params);
PageInfo<CancelRevoke> pageInfo = new PageInfo<>(list);
Map<String, Object> result = new HashMap<>();
result.put("list", pageInfo.getList());
result.put("total", pageInfo.getTotal());
result.put("pageNum", pageNum);
result.put("pageSize", pageSize);
return result;
}
@Override
public Map<String, Object> queryRevokedEntList(Map<String, Object> params) {
int pageNum = params.get("pageNum") != null ? Integer.parseInt(params.get("pageNum").toString()) : 1;
int pageSize = params.get("pageSize") != null ? Integer.parseInt(params.get("pageSize").toString()) : 10;
PageHelper.startPage(pageNum, pageSize);
List<Map<String, Object>> list = cancelRevokeMapper.selectRevokedEntList(params);
PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(list);
Map<String, Object> result = new HashMap<>();
result.put("list", pageInfo.getList());
result.put("total", pageInfo.getTotal());
result.put("pageNum", pageNum);
result.put("pageSize", pageSize);
return result;
}
}

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chinaweal.aiccs.aiccs.force.cancel.mapper.CancelRevokeApproveMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevokeApprove">
<id column="APPROVE_ID" property="approveId"/>
<result column="BIZ_ID" property="bizId"/>
<result column="NODE" property="node"/>
<result column="APPROVER_ID" property="approverId"/>
<result column="APPROVER_NAME" property="approverName"/>
<result column="APPROVE_STATUS" property="approveStatus"/>
<result column="APPROVE_OPINION" property="approveOpinion"/>
<result column="APPROVE_TIME" property="approveTime"/>
<result column="CREATE_TIME" property="createTime"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
APPROVE_ID, BIZ_ID, NODE, APPROVER_ID, APPROVER_NAME, APPROVE_STATUS, APPROVE_OPINION, APPROVE_TIME, CREATE_TIME
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevokeApprove">
INSERT INTO AICCS.TS_CANCEL_REVOKE_APPROVE (
APPROVE_ID, BIZ_ID, NODE, APPROVER_ID, APPROVER_NAME, APPROVE_STATUS, APPROVE_OPINION, APPROVE_TIME, CREATE_TIME
) VALUES (
#{approveId}, #{bizId}, #{node}, #{approverId}, #{approverName}, #{approveStatus}, #{approveOpinion}, #{approveTime}, #{createTime}
)
</insert>
<!-- 根据业务ID查询审批记录列表 -->
<select id="selectByBizId" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM AICCS.TS_CANCEL_REVOKE_APPROVE
WHERE BIZ_ID = #{bizId}
ORDER BY CREATE_TIME ASC
</select>
<!-- 查询最新审批记录 -->
<select id="selectLatestByBizId" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM AICCS.TS_CANCEL_REVOKE_APPROVE
WHERE BIZ_ID = #{bizId}
ORDER BY CREATE_TIME DESC
FETCH FIRST 1 ROWS ONLY
</select>
</mapper>

View File

@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chinaweal.aiccs.aiccs.force.cancel.mapper.CancelRevokeMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevoke">
<id column="BIZ_ID" property="bizId"/>
<result column="BIZ_SEQ" property="bizSeq"/>
<result column="PRIPID" property="pripid"/>
<result column="UNISCID" property="uniscid"/>
<result column="REGNO" property="regno"/>
<result column="ENTNAME" property="entname"/>
<result column="REVOKE_REASON" property="revokeReason"/>
<result column="REVOKE_DATE" property="revokeDate"/>
<result column="CANCEL_REVOKE_DATE" property="cancelRevokeDate"/>
<result column="CANCEL_REVOKE_REASON" property="cancelRevokeReason"/>
<result column="APPROVAL_DOC_NO" property="approvalDocNo"/>
<result column="APPROVAL_DEPT" property="approvalDept"/>
<result column="APPROVAL_DEPT_ID" property="approvalDeptId"/>
<result column="STATUS" property="status"/>
<result column="CURRENT_NODE" property="currentNode"/>
<result column="REMARKS" property="remarks"/>
<result column="HANDLER_ID" property="handlerId"/>
<result column="HANDLER_NAME" property="handlerName"/>
<result column="HANDLER_DATE" property="handlerDate"/>
<result column="CREATE_TIME" property="createTime"/>
<result column="UPDATE_TIME" property="updateTime"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
BIZ_ID, BIZ_SEQ, PRIPID, UNISCID, REGNO, ENTNAME, REVOKE_REASON, REVOKE_DATE,
CANCEL_REVOKE_DATE, CANCEL_REVOKE_REASON, APPROVAL_DOC_NO, APPROVAL_DEPT, APPROVAL_DEPT_ID,
STATUS, CURRENT_NODE, REMARKS, HANDLER_ID, HANDLER_NAME, HANDLER_DATE, CREATE_TIME, UPDATE_TIME
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevoke">
INSERT INTO AICCS.TS_BIZ_CANCEL_REVOKE (
BIZ_ID, BIZ_SEQ, PRIPID, UNISCID, REGNO, ENTNAME, REVOKE_REASON, REVOKE_DATE,
CANCEL_REVOKE_DATE, CANCEL_REVOKE_REASON, APPROVAL_DOC_NO, APPROVAL_DEPT, APPROVAL_DEPT_ID,
STATUS, CURRENT_NODE, REMARKS, HANDLER_ID, HANDLER_NAME, HANDLER_DATE, CREATE_TIME, UPDATE_TIME
) VALUES (
#{bizId}, #{bizSeq}, #{pripid}, #{uniscid}, #{regno}, #{entname}, #{revokeReason}, #{revokeDate},
#{cancelRevokeDate}, #{cancelRevokeReason}, #{approvalDocNo}, #{approvalDept}, #{approvalDeptId},
#{status}, #{currentNode}, #{remarks}, #{handlerId}, #{handlerName}, #{handlerDate}, #{createTime}, #{updateTime}
)
</insert>
<!-- 更新 -->
<update id="update" parameterType="com.chinaweal.aiccs.aiccs.force.cancel.entity.CancelRevoke">
UPDATE AICCS.TS_BIZ_CANCEL_REVOKE
<set>
<if test="bizSeq != null and bizSeq != ''">BIZ_SEQ = #{bizSeq},</if>
<if test="pripid != null and pripid != ''">PRIPID = #{pripid},</if>
<if test="uniscid != null and uniscid != ''">UNISCID = #{uniscid},</if>
<if test="regno != null and regno != ''">REGNO = #{regno},</if>
<if test="entname != null and entname != ''">ENTNAME = #{entname},</if>
<if test="revokeReason != null and revokeReason != ''">REVOKE_REASON = #{revokeReason},</if>
<if test="revokeDate != null">REVOKE_DATE = #{revokeDate},</if>
<if test="cancelRevokeDate != null and cancelRevokeDate != ''">CANCEL_REVOKE_DATE = #{cancelRevokeDate},</if>
<if test="cancelRevokeReason != null and cancelRevokeReason != ''">CANCEL_REVOKE_REASON = #{cancelRevokeReason},</if>
<if test="approvalDocNo != null and approvalDocNo != ''">APPROVAL_DOC_NO = #{approvalDocNo},</if>
<if test="approvalDept != null and approvalDept != ''">APPROVAL_DEPT = #{approvalDept},</if>
<if test="approvalDeptId != null and approvalDeptId != ''">APPROVAL_DEPT_ID = #{approvalDeptId},</if>
<if test="status != null and status != ''">STATUS = #{status},</if>
<if test="currentNode != null and currentNode != ''">CURRENT_NODE = #{currentNode},</if>
<if test="remarks != null and remarks != ''">REMARKS = #{remarks},</if>
<if test="handlerId != null and handlerId != ''">HANDLER_ID = #{handlerId},</if>
<if test="handlerName != null and handlerName != ''">HANDLER_NAME = #{handlerName},</if>
<if test="handlerDate != null">HANDLER_DATE = #{handlerDate},</if>
UPDATE_TIME = CURRENT_TIMESTAMP
</set>
WHERE BIZ_ID = #{bizId}
</update>
<!-- 根据ID查询 -->
<select id="selectById" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM AICCS.TS_BIZ_CANCEL_REVOKE
WHERE BIZ_ID = #{bizId}
</select>
<!-- 分页查询列表 -->
<select id="selectList" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM AICCS.TS_BIZ_CANCEL_REVOKE
<where>
<if test="status != null and status != ''">
AND STATUS = #{status}
</if>
<if test="statusIn != null and statusIn != ''">
AND STATUS IN (${statusIn})
</if>
<if test="entname != null and entname != ''">
AND ENTNAME LIKE '%' || #{entname} || '%'
</if>
<if test="uniscid != null and uniscid != ''">
AND UNISCID = #{uniscid}
</if>
<if test="regno != null and regno != ''">
AND REGNO = #{regno}
</if>
<if test="bizSeq != null and bizSeq != ''">
AND BIZ_SEQ = #{bizSeq}
</if>
<if test="handlerId != null and handlerId != ''">
AND HANDLER_ID = #{handlerId}
</if>
</where>
ORDER BY CREATE_TIME DESC
</select>
<!-- 分页查询数量 -->
<select id="selectCount" resultType="int">
SELECT COUNT(1)
FROM AICCS.TS_BIZ_CANCEL_REVOKE
<where>
<if test="status != null and status != ''">
AND STATUS = #{status}
</if>
<if test="statusIn != null and statusIn != ''">
AND STATUS IN (${statusIn})
</if>
<if test="entname != null and entname != ''">
AND ENTNAME LIKE '%' || #{entname} || '%'
</if>
<if test="uniscid != null and uniscid != ''">
AND UNISCID = #{uniscid}
</if>
<if test="regno != null and regno != ''">
AND REGNO = #{regno}
</if>
</where>
</select>
<!-- 查询待审批列表 -->
<select id="selectApproveList" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM AICCS.TS_BIZ_CANCEL_REVOKE
<where>
STATUS IN ('2', '3', '4')
<if test="currentNode != null and currentNode != ''">
AND CURRENT_NODE = #{currentNode}
</if>
<if test="entname != null and entname != ''">
AND ENTNAME LIKE '%' || #{entname} || '%'
</if>
<if test="handlerId != null and handlerId != ''">
AND HANDLER_ID = #{handlerId}
</if>
</where>
ORDER BY CREATE_TIME DESC
</select>
<!-- 查询待审批数量 -->
<select id="selectApproveCount" resultType="int">
SELECT COUNT(1)
FROM AICCS.TS_BIZ_CANCEL_REVOKE
WHERE STATUS IN ('2', '3', '4')
<if test="currentNode != null and currentNode != ''">
AND CURRENT_NODE = #{currentNode}
</if>
</select>
<!-- 查询吊销主体列表(根据吊销状态查询) -->
<select id="selectRevokedEntList" resultType="map">
SELECT
r.REVLISTID AS revListId,
r.PRIPID AS pripid,
r.UNISCID AS uniscid,
r.REGNO AS regno,
r.ENTNAME AS entname,
r.REVOKEDATE AS revokeDate,
r.REVOKEREA AS revokeReason
FROM AICCS.REVOKELIST r
WHERE r.STATE = '1'
<if test="entname != null and entname != ''">
AND r.ENTNAME LIKE '%' || #{entname} || '%'
</if>
<if test="uniscid != null and uniscid != ''">
AND r.UNISCID = #{uniscid}
</if>
<if test="regno != null and regno != ''">
AND r.REGNO = #{regno}
</if>
ORDER BY r.REVOKEDATE DESC
</select>
<!-- 查询吊销主体数量 -->
<select id="selectRevokedEntCount" resultType="int">
SELECT COUNT(1)
FROM AICCS.REVOKELIST r
WHERE r.STATE = '1'
<if test="entname != null and entname != ''">
AND r.ENTNAME LIKE '%' || #{entname} || '%'
</if>
<if test="uniscid != null and uniscid != ''">
AND r.UNISCID = #{uniscid}
</if>
<if test="regno != null and regno != ''">
AND r.REGNO = #{regno}
</if>
</select>
<!-- 更新状态 -->
<update id="updateStatus">
UPDATE AICCS.TS_BIZ_CANCEL_REVOKE
SET STATUS = #{status},
CURRENT_NODE = #{currentNode},
UPDATE_TIME = CURRENT_TIMESTAMP
WHERE BIZ_ID = #{bizId}
</update>
</mapper>