将省局自然人列严功能强行合到这里(自然人列严列入,未测试)

This commit is contained in:
zhouxy 2026-01-02 09:47:39 +08:00
parent aefe63fd01
commit 62f13f88da
58 changed files with 2682 additions and 89 deletions

View File

@ -1041,13 +1041,8 @@ public class TSBizSpeListServiceImpl extends ServiceImpl<TSBizSpeListMapper, TSB
} else {
xw = "列入经营异常名录";
}
if (decorg.equals("440122")) { // 从化特殊处理
secondPra = String.format("如对被%s有异议的可自公示之日起30日内向作出决定的从化区市场监督管理局提出书面申请并提交相关证明材料" +
"从化区市场监督管理局依法作出处理。(地址:%s电话%s", xw, addr, phone);
} else {
secondPra = String.format("如对被%s有异议的可自公示之日起30日内向作出决定的市场监督管理部门提出书面申请并提交相关证明材料" +
"市场监督管理部门依法作出处理。(地址:%s电话%s", xw, addr, phone);
}
secondPra = String.format("如对被%s有异议的可自公示之日起30日内向作出决定的市场监督管理部门提出书面申请并提交相关证明材料" +
"市场监督管理部门依法作出处理。", xw);
String firstPra = "";
// 企业
String specauseStr = "";

View File

@ -0,0 +1,150 @@
package com.chinaweal.aiccs.aiccs.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author quebh
* @since 2023-05-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xr_activity")
@ApiModel(value = "XrActivity对象", description = "")
public class XrActivity extends SuperEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 流程记录 activity_id
*/
@ApiModelProperty(value = "流程记录 activity_id")
@TableId(value = "activity_id", type = IdType.ASSIGN_UUID)
private String activityId;
/**
* 业务待办主键 task_ID
*/
@ApiModelProperty(value = "业务待办主键 task_ID")
@TableField("task_id")
private String taskId;
/**
* 环节类型link_Type
* handle:经办
* examine:审核
* approve:审批
* end:正常结束流程
* nullify:经办结束流程
* examineFinish:审核不同意结束流程
* approveFinish:审批不同意结束流程
* clueReturn: 回退流程
*/
@ApiModelProperty(value = "环节类型link_Type")
@TableField("link_type")
private String linkType;
/**
* 环节名称
*/
@ApiModelProperty(value = "环节名称")
@TableField("link_name")
private String linkName;
/**
* 环节状态 link_Status 0-环节完成1-环节正在进行
*/
@ApiModelProperty(value = "环节状态 link_Status 0-环节完成1-环节正在进行")
@TableField("link_status")
private String linkStatus;
/**
* 环节状态名称 0环节完成1环节正在进行 link_Status_name
*/
@ApiModelProperty(value = "环节状态名称 ”0“环节完成”1“环节正在进行 link_Status_name")
@TableField("link_status_name")
private String linkStatusName;
/**
* 用户id user_id
*/
@ApiModelProperty(value = "用户id user_id")
@TableField("user_id")
private String userId;
/**
* 部门id
*/
@ApiModelProperty(value = "部门id ")
@TableField("dep_id")
private String depId;
/**
* 待办条件 格式1.部门code:权限标识例如440100:taskAuth 2.userId
*/
@ApiModelProperty(value = "待办条件 格式1.部门code:权限标识例如440100:taskAuth 2.userId")
@TableField("ident")
private String ident;
/**
* 逻辑删除 0 正常 1已删除
*/
@ApiModelProperty(value = "逻辑删除 ”0“ 正常 ”1“已删除")
@TableField("status")
private String status;
/**
* 开始时间 begin_time
*/
@ApiModelProperty(value = "开始时间 begin_time")
@JsonSerialize(using = LocalDateTimeStringSerializer.class)
@TableField("begin_time")
private LocalDateTime beginTime;
/**
* 结束时间 end_time
*/
@ApiModelProperty(value = "结束时间 end_time")
@JsonSerialize(using = LocalDateTimeStringSerializer.class)
@TableField("end_time")
private LocalDateTime endTime;
/**
* 操作人 open_Name
*/
@ApiModelProperty(value = "操作人 open_Name")
@TableField("open_name")
private String openName;
/**
* 是否可操作0不可操作
*/
@ApiModelProperty(value = "是否可操作0不可操作")
@TableField("is_sign")
private String isSign;
/**
* 操作人id open_id
*/
@ApiModelProperty(value = "操作人 open_id")
@TableField("open_id")
private String openId;
}

View File

@ -0,0 +1,121 @@
package com.chinaweal.aiccs.aiccs.business.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDate;
/**
* <p>
* 监管共用审批意见表
* </p>
*
* @author quebh
* @since 2023-05-06
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xr_opinion")
@ApiModel(value = "XrOpinion对象", description = "监管共用审批意见表")
public class XrOpinion extends SuperEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 意见编号
*/
@ApiModelProperty(value = "意见编号")
@TableId
@TableField("opinion_id")
private String opinionId;
/**
* 流程记录id
*/
@ApiModelProperty(value = "流程记录id")
@TableField("activity_id")
private String activityId;
/**
* 待办id
*/
@ApiModelProperty(value = "待办id")
@TableField("task_list_id")
private String taskListId;
/**
* 意见类型(审批部门)
*/
@ApiModelProperty(value = "意见类型(审批部门) handle 经办、examine审核、approve审批、end通过")
@TableField("opinion_type")
private String opinionType;
/**
* 承办人
*/
@ApiModelProperty(value = "承办人")
@TableField("handler")
private String handler;
/**
* 承办人ID
*/
@ApiModelProperty(value = "承办人ID")
@TableField("handler_id")
private String handlerId;
/**
* 审批意见
*/
@ApiModelProperty(value = "审批意见")
@TableField("opinion_content")
private String opinionContent;
/**
* 承办时间
*/
@ApiModelProperty(value = "承办时间")
@JsonSerialize(using = LocalDateTimeStringSerializer.class)
@TableField("handel_date")
private LocalDate handelDate;
/**
* 送审(退卷)日期
*/
@ApiModelProperty(value = "送审(退卷)日期")
@JsonSerialize(using = LocalDateTimeStringSerializer.class)
@TableField("trial_date")
private LocalDate trialDate;
/**
* 是否同意 "0"不同意"1"同意"2"回退"3"转办
*/
@ApiModelProperty(value = "是否同意")
@TableField("agree")
private String agree;
/**
* 地区代码
*/
@ApiModelProperty(value = "地区代码")
@TableField("area_code")
private String areaCode;
@ApiModelProperty(value = "行政处罚列入需要字段上级是否已审批0不是,1是")
@TableField("approve")
private String approve;
}

View File

@ -0,0 +1,87 @@
package com.chinaweal.aiccs.aiccs.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
* 待办附录表
* </p>
*
* @author qbh
* @since 2024-03-08
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xr_task_annex")
@ApiModel(value="XrTaskAnnex对象", description="待办附录表")
public class XrTaskAnnex extends SuperEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty(value = "主键Id")
@TableId(value = "task_annex_id", type = IdType.ASSIGN_UUID)
private String taskAnnexId;
/**
* 待办主键
*/
@ApiModelProperty(value = "待办主键")
private String taskLikeId;
/**
* 主体ID
*/
@ApiModelProperty(value = "主体ID")
private String pripId;
/**
* 主体名称
*/
@ApiModelProperty(value = "主体名称")
private String entName;
/**
* 注册号
*/
@ApiModelProperty(value = "注册号")
private String regNo;
/**
* 统一社会信用代码
*/
@ApiModelProperty(value = "统一社会信用代码")
private String uniscid;
/**
* 姓名
*/
@ApiModelProperty(value = "姓名")
private String inv;
/**
* 证件类型
*/
@ApiModelProperty(value = "证件类型")
private String cerType;
/**
* 证件号码
*/
@ApiModelProperty(value = "证件号码")
private String cerNo;
}

View File

@ -0,0 +1,207 @@
package com.chinaweal.aiccs.aiccs.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaweal.aiccs.common.constant.BaseDataConstant;
import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 待办列表
* </p>
*
* @author quebh
* @since 2023-05-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xr_task_list")
@ApiModel(value = "XrTaskList对象", description = "待办列表")
public class XrTaskList extends SuperEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 待办主键
*/
@ApiModelProperty(value = "待办主键")
@TableId(value = "task_like_id", type = IdType.ASSIGN_UUID)
private String taskLikeId;
/**
* 流程主键
*/
@ApiModelProperty(value = "流程主键")
@TableField("work_flow_id")
private String workFlowId;
/**
* 业务主键
*/
@ApiModelProperty(value = "业务主键")
@TableField("biz_seq_no")
private String bizSeqNo;
/**
* 签收者ID
*/
@ApiModelProperty(value = "签收者ID")
@TableField("sign_user_id")
private String signUserId;
/**
* 发送机构ID
*/
@ApiModelProperty(value = "发送机构ID")
@TableField("sender_org_id")
private String senderOrgId;
/**
* 下一步签收用户ID
*/
@ApiModelProperty(value = "下一步签收用户ID")
@TableField("sender_user_id")
private String senderUserId;
/**
* 下一步签收用户机构ID
*/
@ApiModelProperty(value = "下一步签收用户机构ID")
@TableField("send_to_org_id")
private String sendToOrgId;
/**
* 受理号
*/
@ApiModelProperty(value = "受理号")
@TableField("accept_no")
private String acceptNo;
/**
* 业务名称
*/
@ApiModelProperty(value = "业务名称")
@TableField("bus_name")
private String busName;
/**
* 签收/受理时间
*/
@ApiModelProperty(value = "签收/受理时间")
@JsonSerialize(using = LocalDateTimeStringSerializer.class)
@TableField("sign_time")
private LocalDateTime signTime;
/**
* 业务类型
* @see BaseDataConstant
*/
@ApiModelProperty(value = "业务类型")
@TableField("bus_type")
private String busType;
/**
* 业务状态
* @see BaseDataConstant#BUSINESS_STATUS_TRANSACT 等等
*/
@ApiModelProperty(value = "业务状态")
@TableField("bus_status")
private String busStatus;
/**
* 环节名称
*/
@ApiModelProperty(value = "环节名称")
@TableField("link_name")
private String linkName;
/**
* 是否签收
*/
@ApiModelProperty(value = "是否签收")
@TableField("is_signon")
private String isSignon;
/**
* 发送时间
*/
@ApiModelProperty(value = "发送时间")
@JsonSerialize(using = LocalDateTimeStringSerializer.class)
@TableField("sender_time")
private LocalDateTime senderTime;
/**
* 发起机构代码
*/
@ApiModelProperty(value = "发起机构代码")
@TableField("apply_org_id")
private String applyOrgId;
/**
* 地区代码
*/
@ApiModelProperty(value = "地区代码")
@TableField("area_code")
private String areaCode;
/**
* 是否超过工作时限10
*/
@ApiModelProperty(value = "是否超过工作时限10否")
@TableField("is_deadline")
private String isDeadline;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
@TableField("remarks")
private String remarks;
/**
* 来源
* @see BaseDataConstant#SOURCE_PC 等等
*/
@ApiModelProperty(value = "来源")
@TableField("source")
private String source;
/**
* 主体类型 company企业individual个体户farmer农专
*/
@ApiModelProperty(value = "主体类型")
@TableField(exist = false)
private String type;
@ApiModelProperty(value = "转办机关")
@TableField(exist = false)
private String nextOrgId;
/**
* 数据来源0或null系统生成的数据1年报系统2佛山年报3免申即享
*/
@ApiModelProperty(value = "数据来源")
@TableField("origin")
private String origin;
/**
* 年报信用修复传输标记nA传输到内网nB传输去外网
*/
@ApiModelProperty(value = "年报信用修复传输标记")
@TableField("SynFlag")
private String SynFlag;
}

View File

@ -0,0 +1,61 @@
package com.chinaweal.aiccs.aiccs.business.entity.dto;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@Data
@ApiModel(value = "审批表数据")
public class ApprovalFormDto {
@ApiModelProperty(value = "名称")
private String areaName;
@ApiModelProperty(value = "企业名称")
private String entName;
@ApiModelProperty(value = "统一社会信用代码")
private String uniscId;
@ApiModelProperty(value = "注册号")
private String regNo;
@ApiModelProperty(value = "列异原因")
private String speCause;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "列异时间")
private LocalDate abnTime;
@ApiModelProperty(value = "列入严重违法理由")
private String lostCreditExplain;
@ApiModelProperty(value = "审批信息")
private List<XrOpinion> opinion;
@ApiModelProperty(value = "信誉是否修复数据")
private Map<String, Object> repairMap;
@ApiModelProperty(value = "列入决定书")
private Map<String, Object> incAbnDecisionMap;
@ApiModelProperty(value = "移出决定书")
private Map<String, Object> remAbnDecisionMap;
@ApiModelProperty(value = "姓名")
private String inv;
@ApiModelProperty(value = "证件类型")
private String cerType;
@ApiModelProperty(value = "证件号码")
private String cerNo;
}

View File

@ -0,0 +1,66 @@
package com.chinaweal.aiccs.aiccs.business.entity.dto;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 待办列表DTO
* @author ymc
* @since 2024年03月22日 16:17
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "待办列表DTO")
public class XrTaskListDto extends XrTaskList {
/**
* 统一社会信用代码
*/
@ApiModelProperty(value = "统一社会信用代码")
private String searchUscc;
/**
* 查询企业名称(主体名称)
*/
@ApiModelProperty("查询企业名称(主体名称)")
private String entName;
/**
* 待办开始时间
*/
@ApiModelProperty(value = "待办开始时间")
private String createTimeStart;
/**
* 待办结束时间
*/
@ApiModelProperty(value = "待办结束时间")
private String createTimeEnd;
/**
* 受理编号
*/
@ApiModelProperty(value = "受理编号")
private String acceptNo;
/**
* 业务名称
*/
@ApiModelProperty(value = "业务名称")
private String busName;
/**
* 业务类型
*/
@ApiModelProperty(value = "业务类型")
private String busType;
/**
* 业务状态
*/
@ApiModelProperty(value = "业务状态")
private String busStatus;
}

View File

@ -0,0 +1,35 @@
package com.chinaweal.aiccs.aiccs.business.entity.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("启动待办返回结果")
@Data
public class XrTaskListVo {
@ApiModelProperty(value = "待办id")
private String taskListId;
@ApiModelProperty(value = "业务编号")
private String bizSeqId;
@ApiModelProperty(value = "流程id")
private String workflowId;
@ApiModelProperty(value = "主体身份代码")
private String pripId;
public XrTaskListVo(String taskListId, String bizSeqId, String workflowId, String pripId) {
this.taskListId = taskListId;
this.bizSeqId = bizSeqId;
this.workflowId = workflowId;
this.pripId = pripId;
}
public XrTaskListVo(String taskListId, String bizSeqId, String workflowId) {
this.taskListId = taskListId;
this.bizSeqId = bizSeqId;
this.workflowId = workflowId;
}
}

View File

@ -0,0 +1,16 @@
package com.chinaweal.aiccs.aiccs.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinaweal.aiccs.aiccs.business.entity.XrActivity;
/**
* <p>
* Mapper 接口
* </p>
*
* @author quebh
* @since 2023-05-04
*/
public interface XrActivityMapper extends BaseMapper<XrActivity> {
}

View File

@ -0,0 +1,16 @@
package com.chinaweal.aiccs.aiccs.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
/**
* <p>
* 监管共用审批意见表 Mapper 接口
* </p>
*
* @author quebh
* @since 2023-05-06
*/
public interface XrOpinionMapper extends BaseMapper<XrOpinion> {
}

View File

@ -0,0 +1,16 @@
package com.chinaweal.aiccs.aiccs.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskAnnex;
/**
* <p>
* 待办附录表 Mapper 接口
* </p>
*
* @author qbh
* @since 2024-03-08
*/
public interface XrTaskAnnexMapper extends BaseMapper<XrTaskAnnex> {
}

View File

@ -0,0 +1,18 @@
package com.chinaweal.aiccs.aiccs.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList;
import java.util.List;
/**
* <p>
* 待办列表 Mapper 接口
* </p>
*
* @author quebh
* @since 2023-05-04
*/
public interface XrTaskListMapper extends BaseMapper<XrTaskList> {
}

View File

@ -0,0 +1,59 @@
package com.chinaweal.aiccs.aiccs.business.rules.init;
import com.chinaweal.aiccs.common.constant.CommonConstants;
import java.util.HashMap;
import java.util.Map;
/**
* 流程常量
* Created by xiaot on 2017/4/25.
*/
public abstract class FlowUtil {
private static final Map<String, String> LINK_TYPE_MAP = new HashMap<>();
//流程模板
public static final String COMMON_WORK_FLOW = "commonWorkFlow"; //通用流程模板
public static final String SUCCESSFUL_FLOW_ONE = "seriousWorkFlowOne"; //二级审批严重违法
public static final String SUCCESSFUL_FLOW_TWO = "seriousWorkFlowTwo"; //一级严重违法
public static final String SERIOUS_REM_WORK_FLOW = "seriousRemWorkFlow"; //严重违法移出流程模板
public static final String ABNORMAL_INCLUSION_WORK_FLOW = "abnormalInclusionWorkFlow"; //经营异常列入和异议流程模板
public static final String ABNORMAL_REM_WORK_FLOW = "abnormalRemWorkFlow"; //经营异常移出流程模板
public static final String ABNORMAL_DISSENT_WORK_FLOW = "abnormalDissentWorkFlow"; //经营异常名录异议流程模板
public static final String PUNISH_REM_WORK_FLOW = "punishRemWorkFlow"; // 行政处罚提前停止公示流程模板
public static final String REVOKE_REM_WORK_FLOW = "revokeRemWorkFlow"; // 行政处罚依法变更撤销流程模板
public static final String UNLICENSED_OPERATE_WORK_FLOW = "unlicensedOperateWorkFlow"; // 无照经营管理流程模板
public static final String FORCE_DEREGISTER_WORK_FLOW = "forceDeregisterWorkFlow"; // 拟强制注销管理流程模板
//统一环节节点
private static final String LINK_START = "0"; //启动中
private static final String LINK_ACCEPT = "1"; //受理中
private static final String LINK_CHECK = "2"; //审查中
private static final String LINK_APPROVE = "3"; //审批中
private static final String LINK_END = "9"; //办结
/**
* 加载流程模板中的节点-名称映射
* @author ymc
* @since 2024年3月7日 10:29
* @return
*/
public static void initLinkMap() {
InitRules.getRuleModels().forEach((ruleKey, ruleModel) -> ruleModel.getNodeModelMap().forEach((nodeKey, nodeModel) -> LINK_TYPE_MAP.put(ruleKey + CommonConstants.UNDERLINE + nodeKey, nodeModel.getDescription())));
}
/**
* 获取流程模板环节中文名称
* @author ymc
* @since 2024年3月7日 10:46
* @param definedName
* @param linkType
* @return
*/
public static String getLinkTypeName(String definedName, String linkType) {
return LINK_TYPE_MAP.get(definedName + CommonConstants.UNDERLINE + linkType);
}
}

View File

@ -0,0 +1,107 @@
package com.chinaweal.aiccs.aiccs.business.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaweal.aiccs.aiccs.business.entity.XrActivity;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList;
import com.chinaweal.aiccs.aiccs.business.rules.model.NodeModel;
import com.chinaweal.aiccs.aiccs.business.rules.model.SequenceFlowModel;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.aicorg.pojo.AICPermission;
import java.util.List;
import java.util.Map;
/**
* <p>
* 服务类
* </p>
*
* @author quebh
* @since 2023-05-04
*/
public interface IXrActivityService extends IService<XrActivity> {
/**
* 开启待办
*
* @param taskListModel
* @param user
* @param definitionName
* @return
*/
@Deprecated
String startWorkFlow(XrTaskList taskListModel, AICUser user, String definitionName);
/**
* 处理待办
*
* @param taskLikeId
* @param nextNodeID
* @param nextPerformerIds
* @param user
* @return
*/
@Deprecated
String processWork(String taskLikeId, String nextNodeID, String[] nextPerformerIds, AICUser user);
/**
* 通过流程模板开启待办
*
* @param xrTaskList
* @param userList
* @param ident
* @return
* @author ymc
* @since 2024年3月7日 11:11
*/
String startWorkFlowByTemplate(XrTaskList xrTaskList, List<AICUser> userList, String ident);
/**
* 通过流程模板推进流程
*
* @param taskListModel 待办信息
* @param userList 下一环节用户列表
* @param nextNodeID 下一环节节点
* @param opinion 环节意见
* @param ident
* @return 环节名称
* @author ymc
* @since 2024年3月7日 11:11
*/
String processWorkByTemplate(XrTaskList taskListModel, List<AICUser> userList, String nextNodeID, XrOpinion opinion, String ident);
/**
* 查找当前节点的下一步路线
*
* @param taskId 待办主键
* @return
* @author ymc
* @since 2024年3月6日 19:44
*/
List<SequenceFlowModel> findNextSequenceFlowList(String taskId);
/**
* 获取当前节点
*
* @param taskId
* @return 环节信息
* @author ymc
* @since 2024年3月7日 13:41
*/
NodeModel findCurrentNode(String taskId);
/**
* 查找经办人环节
*
* @param taskId
* @param linkType
* @return
* @author ymc
* @since 2024年3月8日 14:54
*/
XrActivity findOperator(String taskId, String linkType);
boolean checkPermissionsAndNodeID(Map<String, AICPermission> aicPermissions,String currentNodeID,String nextNodeID,String inWorkFlow);
}

View File

@ -0,0 +1,29 @@
package com.chinaweal.aiccs.aiccs.business.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
/**
* <p>
* 监管共用审批意见表 服务类
* </p>
*
* @author quebh
* @since 2023-05-06
*/
public interface IXrOpinionService extends IService<XrOpinion> {
/**
* 新增监管共用审批意见表
*/
XrOpinion saveXrOpinion(XrOpinion xrOpinion);
/**
* 分页查询监管共用审批意见表
*/
IPage<XrOpinion> listXrOpinion(BaseQuery<XrOpinion> query);
}

View File

@ -0,0 +1,60 @@
package com.chinaweal.aiccs.aiccs.business.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskAnnex;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
import java.util.List;
/**
* <p>
* 待办附录表 服务类
* </p>
*
* @author qbh
* @since 2024-03-08
*/
public interface IXrTaskAnnexService extends IService<XrTaskAnnex> {
/**
* 新增待办附录表
*/
XrTaskAnnex saveXrTaskAnnex(XrTaskAnnex xrTaskAnnex);
/**
* 分页查询待办附录表
*/
IPage<XrTaskAnnex> listXrTaskAnnex(BaseQuery<XrTaskAnnex> query);
/**
* 通过主键ID集合和任务ID批量新增待办附录表
*
* @param pripIdList
* @param taskId
*/
void saveTaskAnnexByPripIdListOnTaskId(List<String> pripIdList, String taskId);
/**
* 通过主体信息和任务ID批量新增待办附录表
*
* @param eBaseinfo
* @param taskId
*/
void saveTaskAnnexByeBaseInfoOnTaskId(EBaseinfo eBaseinfo, String taskId);
/**
* 通过主体Id和任务ID批量新增待办附录表
* @param pripId
* @param taskId
*/
void saveTaskAnnexByPripIdOnTaskId(String pripId, String taskId);
/**
* 通过主键ID集合和任务ID批量新增待办附录表自然人列严
*/
void saveTaskAnnexByPersonListOnTaskId(List<PersonSpeSaveIvdDto> personList, String taskId);
}

View File

@ -0,0 +1,48 @@
package com.chinaweal.aiccs.aiccs.business.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto;
import com.chinaweal.aicorg.model.AICUser;
import java.util.List;
/**
* <p>
* 待办列表 服务类
* </p>
*
* @author quebh
* @since 2023-05-04
*/
public interface IXrTaskListService extends IService<XrTaskList> {
/**
* 通用流程控制
*
* @param opinion 处理意见
* @param xrTaskList 当前业务
* @param nextNodeID 下一步流程
* @param nextPerformerIds 下一步操办人
* @param permission 权限标识
*/
void updateWorkFlow(XrOpinion opinion, XrTaskList xrTaskList, String nextNodeID, String[] nextPerformerIds, String permission);
/**
* 通用流程控制
*
* @param opinion 处理意见
* @param xrTaskList 当前业务
* @param nextNodeID 下一步流程
* @param userList 下一步操办人
* @param permission 权限标识
*/
void updateWorkFlow(XrOpinion opinion, XrTaskList xrTaskList, String nextNodeID, List<AICUser> userList, String permission);
/**
* 自然人列严流程启动
*/
void startWorkFlowPerson(XrTaskList xrTaskList, String[] nextPerformerIds, String permission, List<PersonSpeSaveIvdDto> personList);
}

View File

@ -0,0 +1,400 @@
package com.chinaweal.aiccs.aiccs.business.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaweal.aiccs.aiccs.business.entity.XrActivity;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList;
import com.chinaweal.aiccs.aiccs.business.mapper.XrActivityMapper;
import com.chinaweal.aiccs.aiccs.business.rules.init.FlowUtil;
import com.chinaweal.aiccs.aiccs.business.rules.init.InitRules;
import com.chinaweal.aiccs.aiccs.business.rules.model.NodeModel;
import com.chinaweal.aiccs.aiccs.business.rules.model.RuleModel;
import com.chinaweal.aiccs.aiccs.business.rules.model.SequenceFlowModel;
import com.chinaweal.aiccs.aiccs.business.service.IXrActivityService;
import com.chinaweal.aiccs.aiccs.business.service.IXrOpinionService;
import com.chinaweal.aiccs.aiccs.business.service.IXrTaskListService;
import com.chinaweal.aiccs.common.constant.FlowConstant;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.aicorg.pojo.AICPermission;
import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException;
import com.chinaweal.youfool.framework.sso.util.SSOUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* <p>
* 服务实现类
* </p>
*
* @author quebh
* @since 2023-05-04
*/
@Service
@Slf4j
public class XrActivityServiceImpl extends ServiceImpl<XrActivityMapper, XrActivity> implements IXrActivityService {
@Resource
@Lazy
private IXrTaskListService iXrTaskListService;
@Resource
private IXrOpinionService iXrOpinionService;
/**
* 流程规则校验
*
* @param definedName
* @param fromNodeID
* @param nextNodeID
* @return
* @author ymc
* @since 2024年3月7日 11:42
*/
private static void checkXMLRule(String definedName, String fromNodeID, String nextNodeID) {
if (fromNodeID == null) {
throw new BusinessException("开始节点为空,请检查。");
}
if (nextNodeID == null) {
throw new BusinessException("下一节点为空,请检查。");
}
RuleModel ruleModel = InitRules.getRuleModels().get(definedName);
if (ruleModel == null) {
throw new BusinessException("找不到规则定义" + definedName + ",请检查。");
}
Map<String, NodeModel> nodeModelMap = ruleModel.getNodeModelMap();
NodeModel fromNode = nodeModelMap.get(fromNodeID);
if (fromNode == null) {
throw new BusinessException("开始节点" + fromNodeID + "不存在,请检查。");
}
NodeModel toNode = nodeModelMap.get(nextNodeID);
if (toNode == null) {
throw new BusinessException("下一节点" + nextNodeID + "不存在,请检查。");
}
Map<String, SequenceFlowModel> sequenceFlowModelMap = ruleModel.getSequenceFlowModelMap();
if (sequenceFlowModelMap.get(fromNodeID + "_" + nextNodeID) == null) {
throw new BusinessException(fromNodeID + "_" + nextNodeID + "流程线不存在,请检查。");
}
}
@Override
public String startWorkFlow(XrTaskList taskListModel, AICUser user, String definitionName) {
//工作流规则
RuleModel ruleModel = InitRules.getRuleModels().get(definitionName);
if (ruleModel == null) {
throw new BusinessException(definitionName + "不存在于流程模版中,请检查!");
}
// linkName
String linkType = ruleModel.getStartnodeid();
// taskListModel.setAcceptNo(user.getRegionID().substring(0, 6) + uuidUtil.getCurAcceptNo());
//因xr_id_maker容易被锁临时用新的生成规则生成受理编号
LocalDateTime now = LocalDateTime.now(); // 获取当前日期和时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); // 定义格式化模式
String formattedDate = now.format(formatter); // 将日期格式化为字符串
taskListModel.setAcceptNo("7"+ formattedDate + UUID.randomUUID().toString().replaceAll("-", "").substring(0, 8));
XrActivity xrActivity = new XrActivity();
xrActivity.setActivityId(UUID.randomUUID().toString());
xrActivity.setTaskId(taskListModel.getTaskLikeId());
xrActivity.setLinkStatus(FlowConstant.LINK_STATUS_ONE);
xrActivity.setLinkType(ruleModel.getStartnodeid());
xrActivity.setLinkName(null);
xrActivity.setUserId(user.getPrimaryKey());
xrActivity.setDepId(user.getRegionID());
xrActivity.setStatus("0");
xrActivity.setOpenName(user.getName());
xrActivity.setOpenId(user.getPrimaryKey());
save(xrActivity);
taskListModel.setWorkFlowId(xrActivity.getActivityId());
taskListModel.setLinkName(null);
iXrTaskListService.updateById(taskListModel);
return xrActivity.getActivityId();
}
@Override
public String processWork(String taskLikeId, String nextNodeID, String[] nextPerformerIds, AICUser user) {
LambdaQueryWrapper<XrActivity> xrActivityQueryWrapper = new LambdaQueryWrapper<>();
xrActivityQueryWrapper.eq(XrActivity::getTaskId, taskLikeId)
.eq(XrActivity::getLinkStatus, "1");
List<XrActivity> list = list(xrActivityQueryWrapper);
for (XrActivity xrActivity : list) {
xrActivity.setLinkStatus("0");
xrActivity.setOpenName(user.getName());
xrActivity.setOpenId(user.getPrimaryKey());
updateById(xrActivity);
}
if ("clueReturn".equals(nextNodeID)) {
XrActivity xrActivity1 = list.get(0);
XrActivity xrActivity = new XrActivity();
xrActivity.setActivityId(UUID.randomUUID().toString());
xrActivity.setTaskId(taskLikeId);
if (StringUtils.equals(FlowConstant.LINK_TYPE_EXAMINE, xrActivity1.getLinkType())) {
// xrActivity.setLinkName(FlowConstant.LINK_TYPE_MAP.get(FlowConstant.LINK_TYPE_HANDLE));
xrActivity.setLinkType(FlowConstant.LINK_TYPE_HANDLE);
nextNodeID = FlowConstant.LINK_TYPE_HANDLE;
} else if (StringUtils.equals(FlowConstant.LINK_TYPE_APPROVE, xrActivity1.getLinkType())) {
// xrActivity.setLinkName(FlowConstant.LINK_TYPE_MAP.get(FlowConstant.LINK_TYPE_EXAMINE));
xrActivity.setLinkType(FlowConstant.LINK_TYPE_EXAMINE);
nextNodeID = FlowConstant.LINK_TYPE_EXAMINE;
}
xrActivity.setLinkType(nextNodeID);
xrActivity.setLinkStatus("1");
// xrActivity.setLinkName(FlowConstant.LINK_TYPE_MAP.get(nextNodeID));
xrActivity.setUserId(list.get(0).getOpenId());
xrActivity.setDepId(user.getRegionID());
xrActivity.setStatus("0");
xrActivity.setOpenName(user.getName());
xrActivity.setOpenId(user.getPrimaryKey());
save(xrActivity);
if (nextPerformerIds.length != 0) {
nextPerformerIds[0] = list.get(0).getOpenId();
}
} else {
if (nextPerformerIds == null) {
XrActivity xrActivity = new XrActivity();
xrActivity.setActivityId(UUID.randomUUID().toString());
xrActivity.setTaskId(taskLikeId);
xrActivity.setLinkType(nextNodeID);
xrActivity.setLinkStatus("1");
// xrActivity.setLinkName(FlowConstant.LINK_TYPE_MAP.get(nextNodeID));
xrActivity.setUserId(user.getPrimaryKey());
xrActivity.setDepId(user.getRegionID());
xrActivity.setStatus("0");
xrActivity.setOpenName(user.getName());
xrActivity.setOpenId(user.getPrimaryKey());
save(xrActivity);
} else {
for (String nextPerformerId : nextPerformerIds) {
XrActivity xrActivity = new XrActivity();
xrActivity.setActivityId(UUID.randomUUID().toString());
xrActivity.setTaskId(taskLikeId);
xrActivity.setLinkType(nextNodeID);
xrActivity.setLinkStatus("1");
// xrActivity.setLinkName(FlowConstant.LINK_TYPE_MAP.get(nextNodeID));
xrActivity.setUserId(nextPerformerId);
xrActivity.setDepId(user.getRegionID());
xrActivity.setStatus("0");
xrActivity.setOpenName(user.getName());
xrActivity.setOpenId(user.getPrimaryKey());
save(xrActivity);
}
}
}
return nextNodeID;
}
@Override
public String startWorkFlowByTemplate(XrTaskList taskListModel, List<AICUser> userList, String ident) {
//工作流规则
String definitionName = taskListModel.getWorkFlowId();
RuleModel ruleModel = InitRules.getRuleModels().get(definitionName);
if (ruleModel == null) {
throw new BusinessException(definitionName + "不存在于流程模版中,请检查!");
}
log.info("开启{}-{}流程", ruleModel.getDefinedname(), ruleModel.getDescription());
String linkType = ruleModel.getStartnodeid();
if (StringUtils.isNotBlank(ident)) {
XrActivity xrActivity = new XrActivity();
xrActivity.setDepId(taskListModel.getApplyOrgId())
.setTaskId(taskListModel.getTaskLikeId())
.setLinkType(linkType)
.setLinkStatus("1")
.setLinkName(FlowUtil.getLinkTypeName(definitionName, linkType))
.setStatus("0")
.setIdent(ident);
save(xrActivity);
} else {
for (AICUser nextUser : userList) {
XrActivity xrActivity = new XrActivity();
xrActivity.setUserId(nextUser.getPrimaryKey())
.setDepId(nextUser.getRegionID())
.setTaskId(taskListModel.getTaskLikeId())
.setLinkType(linkType)
.setLinkStatus("1")
.setLinkName(FlowUtil.getLinkTypeName(definitionName, linkType))
.setStatus("0")
.setIdent(nextUser.getPrimaryKey());
save(xrActivity);
}
}
taskListModel.setLinkName(FlowUtil.getLinkTypeName(definitionName, linkType));
return FlowUtil.getLinkTypeName(definitionName, linkType);
}
@Override
public String processWorkByTemplate(XrTaskList taskListModel, List<AICUser> userList, String nextNodeID, XrOpinion opinion, String ident) {
AICUser user = SSOUtil.getUser();
String activityId = null;
// 流程规则校验
NodeModel currentNodeModel = findCurrentNode(taskListModel.getTaskLikeId());
checkXMLRule(taskListModel.getWorkFlowId(), currentNodeModel.getId(), nextNodeID);
// 获取当前环节信息
List<XrActivity> activityList = list( new LambdaQueryWrapper<XrActivity>().eq(XrActivity::getTaskId, taskListModel.getTaskLikeId())
.eq(XrActivity::getLinkStatus, "1"));
if (CollUtil.isEmpty(activityList))
throw new BusinessException("流程节点为空taskId" + taskListModel.getTaskLikeId());
// 处理当前环节信息
if (activityList.size() == 1) {
XrActivity xrActivity = activityList.get(0);
activityId = xrActivity.getActivityId();
xrActivity.setLinkStatus("0");
xrActivity.setOpenName(user.getName());
xrActivity.setOpenId(user.getPrimaryKey());
updateById(xrActivity);
} else {
Set<String> delIds = new HashSet<>();
for (XrActivity xrActivity : activityList) {
if (user.getPrimaryKey().equals(xrActivity.getUserId())) {
activityId = xrActivity.getActivityId();
xrActivity.setLinkStatus("0");
xrActivity.setOpenName(user.getName());
xrActivity.setOpenId(user.getPrimaryKey());
updateById(xrActivity);
} else {
delIds.add(xrActivity.getActivityId());
}
if (!delIds.isEmpty()) this.removeByIds(delIds);
}
}
// 添加下一环节信息
RuleModel ruleModel = InitRules.getRuleModels().get(taskListModel.getWorkFlowId());
NodeModel nodeModel = ruleModel.getNodeModelMap().get(nextNodeID);
if (nodeModel.isEnd()) {
XrActivity nextActivity = new XrActivity();
nextActivity.setUserId(user.getPrimaryKey())
.setDepId(user.getRegionID())
.setOpenName(user.getName())
.setOpenId(user.getPrimaryKey())
.setTaskId(taskListModel.getTaskLikeId())
.setLinkType(nodeModel.getId())
.setLinkStatus("1")
.setLinkName(nodeModel.getDescription())
.setStatus("0")
.setIdent(user.getPrimaryKey());
save(nextActivity);
} else {
if (StringUtils.isNotBlank(ident)) {
XrActivity nextActivity = new XrActivity();
nextActivity.setDepId(taskListModel.getApplyOrgId())
.setTaskId(taskListModel.getTaskLikeId())
.setLinkType(nodeModel.getId())
.setLinkStatus("1")
.setLinkName(nodeModel.getDescription())
.setStatus("0")
.setIdent(ident);
save(nextActivity);
} else {
for (AICUser nextUser : userList) {
XrActivity nextActivity = new XrActivity();
nextActivity.setUserId(nextUser.getPrimaryKey())
.setDepId(nextUser.getRegionID())
.setTaskId(taskListModel.getTaskLikeId())
.setLinkType(nodeModel.getId())
.setLinkStatus("1")
.setLinkName(nodeModel.getDescription())
.setStatus("0")
.setIdent(nextUser.getPrimaryKey());
save(nextActivity);
}
}
}
if (opinion != null) iXrOpinionService.save(opinion.setActivityId(activityId));
return nodeModel.getDescription();
}
@Override
public List<SequenceFlowModel> findNextSequenceFlowList(String taskId) {
XrTaskList xrTaskList = iXrTaskListService.getById(taskId);
LambdaQueryWrapper<XrActivity> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(XrActivity::getTaskId, taskId)
.eq(XrActivity::getLinkStatus, "1");
XrActivity xrActivity = getOne(queryWrapper, false);
String linkType = xrActivity.getLinkType();
List<SequenceFlowModel> nextSequenceFlowList = null;
RuleModel ruleModel = InitRules.getRuleModels().get(xrTaskList.getWorkFlowId());
if (!ruleModel.getEndnodeids().contains(linkType)) {
nextSequenceFlowList = new ArrayList<>();
NodeModel nodeModel = ruleModel.getNodeModelMap().get(linkType);
for (SequenceFlowModel sequenceFlowModel : ruleModel.getSequenceFlowModelMap().values()) {
String[] ids = StringUtils.split(sequenceFlowModel.getId(), "_");
if (StringUtils.equals(ids[0], nodeModel.getId())) {
nextSequenceFlowList.add(sequenceFlowModel);
}
}
}
return nextSequenceFlowList;
}
@Override
public NodeModel findCurrentNode(String taskId) {
XrTaskList taskListModel = iXrTaskListService.getById(taskId);
LambdaQueryWrapper<XrActivity> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(XrActivity::getTaskId, taskId)
.eq(XrActivity::getLinkStatus, "1");
XrActivity xrActivity = getOne(queryWrapper, false);
String linkType = xrActivity.getLinkType();
RuleModel ruleModel = InitRules.getRuleModels().get(taskListModel.getWorkFlowId());
return ruleModel.getNodeModelMap().get(linkType);
}
@Override
public XrActivity findOperator(String taskId, String linkType) {
LambdaQueryWrapper<XrActivity> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(XrActivity::getTaskId, taskId)
.eq(XrActivity::getLinkStatus, "0")
.eq(XrActivity::getLinkType, linkType)
.orderByAsc(XrActivity::getCreateTime);
return getOne(queryWrapper, false);
}
@Override
public boolean checkPermissionsAndNodeID(Map<String, AICPermission> aicPermissions, String currentNodeID,String nextNodeID,String inWorkFlow) {
//需要排除判断的环节
Set<String> nextNodeIDs = new HashSet<>();
nextNodeIDs.add("nullify"); //作废
nextNodeIDs.add("replenish"); //补正材料
nextNodeIDs.add("transfer"); //转办
if(StringUtils.equals(inWorkFlow,"abnormal")){
nextNodeIDs.add("examine"); //审核
} else if(StringUtils.equals(inWorkFlow,"seriousillegal")){
nextNodeIDs.add("law"); //执法
}
//根据下一环节判断需要排除判断的环节
if (nextNodeIDs.contains(nextNodeID)) {
//若需要排除判断的环节直接返回true
return true;
}
//针对当前环节是回退的,进行特殊处理
if (currentNodeID.contains("Return")) {
currentNodeID = currentNodeID.replace("Return", "");
}
// 将首字母改为大写
currentNodeID = currentNodeID.substring(0, 1).toUpperCase() + currentNodeID.substring(1);
//将节点改为权限名
currentNodeID = "xr" + currentNodeID;
//判断当前环节是否有权限
return aicPermissions.containsKey(currentNodeID);
}
}

View File

@ -0,0 +1,41 @@
package com.chinaweal.aiccs.aiccs.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.aiccs.aiccs.business.mapper.XrOpinionMapper;
import com.chinaweal.aiccs.aiccs.business.service.IXrOpinionService;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
import org.springframework.stereotype.Service;
/**
* <p>
* 监管共用审批意见表 服务实现类
* </p>
*
* @author quebh
* @since 2023-05-06
*/
@Service
public class XrOpinionServiceImpl extends ServiceImpl<XrOpinionMapper, XrOpinion> implements IXrOpinionService {
@Override
public XrOpinion saveXrOpinion(XrOpinion xrOpinion) {
save(xrOpinion);
return xrOpinion;
}
@Override
public IPage<XrOpinion> listXrOpinion(BaseQuery<XrOpinion> query) {
XrOpinion entity = query.getEntity(XrOpinion.class);
Page<XrOpinion> page = query.getPage();
LambdaQueryWrapper<XrOpinion> lambdaQueryWrapper = Wrappers.lambdaQuery();
return page(page, lambdaQueryWrapper);
}
}

View File

@ -0,0 +1,112 @@
package com.chinaweal.aiccs.aiccs.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo;
import com.chinaweal.aiccs.aiccs.abnormal.service.EBaseinfoService;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskAnnex;
import com.chinaweal.aiccs.aiccs.business.mapper.XrTaskAnnexMapper;
import com.chinaweal.aiccs.aiccs.business.service.IXrTaskAnnexService;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException;
import com.google.common.collect.Lists;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 待办附录表 服务实现类
* </p>
*
* @author qbh
* @since 2024-03-08
*/
@Service
public class XrTaskAnnexServiceImpl extends ServiceImpl<XrTaskAnnexMapper, XrTaskAnnex> implements IXrTaskAnnexService {
@Resource
private EBaseinfoService ieBaseinfoService;
@Override
public XrTaskAnnex saveXrTaskAnnex(XrTaskAnnex xrTaskAnnex) {
save(xrTaskAnnex);
return xrTaskAnnex;
}
@Override
public IPage<XrTaskAnnex> listXrTaskAnnex(BaseQuery<XrTaskAnnex> query) {
XrTaskAnnex entity = query.getEntity(XrTaskAnnex.class);
Page<XrTaskAnnex> page = query.getPage();
LambdaQueryWrapper<XrTaskAnnex> lambdaQueryWrapper = Wrappers.lambdaQuery();
return page(page, lambdaQueryWrapper);
}
@Override
public void saveTaskAnnexByPripIdListOnTaskId(List<String> pripIdList, String taskId) {
if (pripIdList == null || pripIdList.size() == 0){
throw new RuntimeException("主体id为空");
}
// List<EBaseinfo> list = ieBaseinfoService.list(new LambdaQueryWrapper<EBaseinfo>().in(EBaseinfo::getPripId, pripIdList));
List<List<String>> newPripIdList = Lists.partition(pripIdList,400);
List<EBaseinfo> list = new ArrayList<>();
for (List pripids : newPripIdList) {
list.addAll(ieBaseinfoService.listByIds(pripids));
}
// if (list.size() != pripIdList.size()){
if (list.size() == 0){
throw new BusinessException("未查询到数据!");
}
list.forEach(item -> {
XrTaskAnnex entity = new XrTaskAnnex();
entity.setPripId(item.getPripid());
entity.setTaskLikeId(taskId);
entity.setEntName(item.getEntname());
entity.setRegNo(item.getRegno());
entity.setUniscid(item.getUniscid());
saveXrTaskAnnex(entity);
});
}
@Override
public void saveTaskAnnexByeBaseInfoOnTaskId(EBaseinfo eBaseinfo, String taskId) {
XrTaskAnnex entity = new XrTaskAnnex();
entity.setPripId(eBaseinfo.getPripid());
entity.setTaskLikeId(taskId);
entity.setEntName(eBaseinfo.getEntname());
entity.setRegNo(eBaseinfo.getRegno());
entity.setUniscid(eBaseinfo.getUniscid());
saveXrTaskAnnex(entity);
}
@Override
public void saveTaskAnnexByPripIdOnTaskId(String pripId, String taskId) {
EBaseinfo baseinfo = ieBaseinfoService.getById(pripId);
if (baseinfo == null){
throw new RuntimeException("未查询到数据!");
}
saveTaskAnnexByeBaseInfoOnTaskId(baseinfo, taskId);
}
@Override
public void saveTaskAnnexByPersonListOnTaskId(List<PersonSpeSaveIvdDto> personList, String taskId) {
if (personList == null || personList.size() == 0){
throw new RuntimeException("自然人信息为空!");
}
personList.forEach(item -> {
XrTaskAnnex entity = new XrTaskAnnex();
entity.setTaskLikeId(taskId);
entity.setInv(item.getInv());
entity.setCerType(item.getCerType());
entity.setCerNo(item.getCerNo());
saveXrTaskAnnex(entity);
});
}
}

View File

@ -0,0 +1,137 @@
package com.chinaweal.aiccs.aiccs.business.service.impl;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaweal.aiccs.aiccs.business.entity.XrActivity;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList;
import com.chinaweal.aiccs.aiccs.business.mapper.XrTaskListMapper;
import com.chinaweal.aiccs.aiccs.business.rules.model.NodeModel;
import com.chinaweal.aiccs.aiccs.business.service.IXrActivityService;
import com.chinaweal.aiccs.aiccs.business.service.IXrTaskAnnexService;
import com.chinaweal.aiccs.aiccs.business.service.IXrTaskListService;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto;
import com.chinaweal.aiccs.common.constant.BaseDataConstant;
import com.chinaweal.aiccs.common.constant.FlowConstant;
import com.chinaweal.aiccs.common.util.HandleWorkFlowUtil;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.aiccs.org.entity.TUsers;
import com.chinaweal.aiccs.org.service.TUsersService;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException;
import com.chinaweal.youfool.framework.sso.util.SSOUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* <p>
* 待办列表 服务实现类
* </p>
*
* @author quebh
* @since 2023-05-04
*/
@Service
public class XrTaskListServiceImpl extends ServiceImpl<XrTaskListMapper, XrTaskList> implements IXrTaskListService {
@Resource
private IXrActivityService iXrActivityService;
@Resource
private TUsersService itUsersService;
@Resource
private IXrTaskAnnexService iXrTaskAnnexService;
@Override
public void updateWorkFlow(XrOpinion opinion, XrTaskList xrTaskList, String nextNodeID, String[] nextPerformerIds, String permission) {
List<AICUser> userList = new ArrayList<>();
if (nextPerformerIds.length > 0) {
List<TUsers> tUsersList = itUsersService.listByUserIds(nextPerformerIds);
tUsersList.forEach(user -> userList.add(itUsersService.toAICUser(user)));
}
updateWorkFlow(opinion, xrTaskList, nextNodeID, userList, permission);
}
@Override
public void updateWorkFlow(XrOpinion opinion, XrTaskList xrTaskList, String nextNodeID, List<AICUser> userList, String permission) {
AICUser user = SSOUtil.getUser();
// 添加意见 TODO后续交由opinionService处理
if (opinion != null) {
opinion.setHandlerId(user.getPrimaryKey());
opinion.setHandler(user.getName());
opinion.setTaskListId(xrTaskList.getTaskLikeId());
opinion.setOpinionType(xrTaskList.getLinkName() == null ? "经办" : xrTaskList.getLinkName());
opinion.setOpinionId(UUID.randomUUID().toString());
if (opinion.getHandelDate() == null) {
opinion.setHandelDate(LocalDate.now());
}
if (StringUtils.endsWith(nextNodeID, FlowConstant.LINK_TYPE_RETURN)) { //回退
opinion.setAgree("2");
} else if (nextNodeID.equals(FlowConstant.LINK_TYPE_EXAMINE) || nextNodeID.equals(FlowConstant.LINK_TYPE_APPROVE) || nextNodeID.equals(FlowConstant.LINK_TYPE_END)) { //通过
opinion.setAgree("0");
} else if (nextNodeID.equals(FlowConstant.LINK_TYPE_EXAMINE_FINISH) || nextNodeID.equals(FlowConstant.LINK_TYPE_APPROVE_FINISH) || nextNodeID.equals(FlowConstant.LINK_TYPE_NULLIFY)) { //不通过
opinion.setAgree("1");
}
}
// 回退查找人员
if (StringUtils.endsWith(nextNodeID, FlowConstant.LINK_TYPE_RETURN)){
XrActivity operator = iXrActivityService.findOperator(xrTaskList.getTaskLikeId(), nextNodeID.substring(0, nextNodeID.indexOf(FlowConstant.LINK_TYPE_RETURN)));
userList = ListUtil.toList((itUsersService.getUserById(operator.getOpenId())));
}
String ident = StringUtils.isNotBlank(permission) ? (StringUtils.isNotBlank(xrTaskList.getNextOrgId()) ? xrTaskList.getNextOrgId() : xrTaskList.getAreaCode()) + ":" + permission : null;
String linkName = iXrActivityService.processWorkByTemplate(xrTaskList, userList, nextNodeID, opinion, ident);
xrTaskList.setLinkName(linkName);
if (StringUtils.isNotEmpty(ident)) {
if(userList.size()>0){
AICUser signUser = userList.get(0);
xrTaskList.setSenderUserId(signUser.getPrimaryKey());
xrTaskList.setSendToOrgId(signUser.getOrgID());
}
}
xrTaskList.setSignUserId(user.getPrimaryKey());
xrTaskList.setSenderOrgId(user.getOrgID());
xrTaskList.setSignTime(LocalDateTime.now());
NodeModel nodeModel = iXrActivityService.findCurrentNode(xrTaskList.getTaskLikeId());
if (nodeModel != null && nodeModel.isEnd()) {
xrTaskList.setBusStatus(BaseDataConstant.BUSINESS_STATUS_END);
}
updateById(xrTaskList);
}
@Override
public void startWorkFlowPerson(XrTaskList xrTaskList, String[] nextPerformerIds, String permission, List<PersonSpeSaveIvdDto> personList) {
List<AICUser> userList = new ArrayList<>();
if (nextPerformerIds.length > 0) {
List<TUsers> tUsersList = itUsersService.listByUserIds(nextPerformerIds);
tUsersList.forEach(user -> userList.add(itUsersService.toAICUser(user)));
}
if (StringUtils.isBlank(xrTaskList.getApplyOrgId())) {
throw new BusinessException("业务逻辑错误,发起机构为空");
}
String ident = StringUtils.isNotBlank(permission) ? xrTaskList.getApplyOrgId() + ":" + permission : null;
HandleWorkFlowUtil.createXrTaskList(xrTaskList, SSOUtil.getUser());
xrTaskList.setTaskLikeId(IdUtil.randomUUID());
String linkName = iXrActivityService.startWorkFlowByTemplate(xrTaskList, userList, ident);
//因xr_id_maker容易被锁临时用新的生成规则生成受理编号
LocalDateTime now = LocalDateTime.now(); // 获取当前日期和时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); // 定义格式化模式
String formattedDate = now.format(formatter); // 将日期格式化为字符串
xrTaskList.setAcceptNo("7"+ formattedDate + UUID.randomUUID().toString().replaceAll("-", "").substring(0, 8));
xrTaskList.setLinkName(linkName);
save(xrTaskList);
iXrTaskAnnexService.saveTaskAnnexByPersonListOnTaskId(personList, xrTaskList.getTaskLikeId());
}
}

View File

@ -1,29 +0,0 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonSpeList;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.PersonSpeSaveIvdDto;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.SeriousIllegalProcessDto;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.SeriousIllegalSpeQueryDto;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
/**
* 列入严重违法失信自然人名单 服务类
*
* @author zhouxy
* @since 2025-07-24
*/
public interface IXrSeriousillegalPersonSpeListService extends IService<XrSeriousIllegalPersonSpeList> {
IPage<XrSeriousIllegalPersonSpeList> listXrSeriousIllegalPersonSpeList(BaseQuery<SeriousIllegalSpeQueryDto> query, AICUser user);
// XrTaskListVo saveIvdAcceptList(PersonSpeSaveIvdDto speSaveIvdDto, AICUser user);
// void processControl(SeriousIllegalProcessDto seriousIllegalProcessDto, AICUser user);
// ApprovalFormDto getApprovalFormByBizSeqNo(String bizSeqNo, String cerNo, String illegalListId);
}

View File

@ -895,19 +895,17 @@ public class TSBizSerIllegalServiceImpl extends BaseServiceImpl<TSBizSerIllegall
*/
private String includeDocumentLastText(TSSerIllegalList tsSerIllegalList) {
LocalDate term = tsSerIllegalList.getAbntime().plusYears(3);
String government = "广州市人民政府";
if (!tsSerIllegalList.getDecorg().equals("440101")) {
LambdaQueryWrapper<Gzaiccode> lqw = Wrappers.lambdaQuery();
lqw.eq(Gzaiccode::getScountrycode, tsSerIllegalList.getDecorg());
Gzaiccode gzaiccode = iGzaiccodeService.getOne(lqw);
government = "广州市" + gzaiccode.getShortname() + "人民政府";
}
LambdaQueryWrapper<Gzaiccode> lqw = Wrappers.lambdaQuery();
//查地市的
lqw.eq(Gzaiccode::getScountrycode, tsSerIllegalList.getDecorg().substring(0, 4) + "00");
Gzaiccode gzaiccode = iGzaiccodeService.getOne(lqw);
String government = gzaiccode.getScountryextcode() + "人民政府";
String court = gzaiccode.getScountryextcode() + "人民法院";
String text = ",现决定将你(单位)列入严重违法失信名单,通过国家企业信用信息公示系统向社会公示,并实施相应管理措施。列入期限自即日起至"
+ term.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")) +
"。期满一年后,你(单位)可依据《市场监督管理严重违法失信名单管理办法》第十六条、第十七条规定向我局申请提前移出严重违法失信名单,停止公示相关信息并解除相应管理措施。" +
"\n你单位如不服本决定可以自收到本决定书之日起六十日内向"
+ government +
"申请行政复议;也可以在六个月内向广州铁路运输人民法院提起行政诉讼。";
"\n你单位如不服本决定可以自收到本决定书之日起六十日内向" + government +
"申请行政复议;也可以在六个月内向" + court + "提起行政诉讼。";
return text;
}

View File

@ -0,0 +1,25 @@
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.common.emnu;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum AuthEnum {
XR_HANDLE("xrHandle", "经办人"),
XR_EXAMINE("xrExamine", "审核人"),
XR_APPROVE("xrApprove", "审批人"),
XR_LAW("xrLaw", "执法人"),
;
/**
* 编码
*/
private final String code;
/**
* 描述
*/
private final String desc;
}

View File

@ -0,0 +1,128 @@
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaweal.aiccs.aiccs.business.entity.dto.ApprovalFormDto;
import com.chinaweal.aiccs.aiccs.business.entity.vo.XrTaskListVo;
import com.chinaweal.aiccs.aiccs.business.service.IXrActivityService;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalProcessDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousillegalPersonSpeListService;
import com.chinaweal.aiccs.common.base.controller.BaseController;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.aicorg.pojo.AICPermission;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException;
import com.chinaweal.youfool.framework.springboot.rest.RestResult;
import com.chinaweal.youfool.framework.springboot.rest.ResultCode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* 列入严重违法失信自然人名单 控制器
*
* @author zhouxy
* @since 2025-07-24
*/
@Api(tags = "列入严重违法失信自然人名单")
@RestController
@RequestMapping("/xrSeriousIllegalPersonSpeList")
@Slf4j
public class XrSeriousIllegalPersonSpeListController extends BaseController {
@Resource
private IXrSeriousillegalPersonSpeListService iXrSeriousillegalPersonSpeListService;
@Resource
private IXrActivityService iXrActivityService;
@ApiOperation(value = "1.分页查询列入严重违法失信自然人名单", position = 1)
@PostMapping("/list")
public RestResult<IPage<XrSeriousIllegalPersonSpeList>> listXrSeriousIllegalPersonSpeList(@RequestBody BaseQuery<SeriousIllegalSpeQueryDto> query, HttpServletRequest request) {
AICUser user = getLoginUser(request);
if (user == null) {
throw new BusinessException(ResultCode.USER_NOT_LOGGED_IN);
}
IPage<XrSeriousIllegalPersonSpeList> data = iXrSeriousillegalPersonSpeListService.listXrSeriousIllegalPersonSpeList(query, user);
return RestResult.ok(data);
}
@ApiOperation(value = "2.启动自然人列严待办", position = 2)
@PostMapping("/saveIvdAcceptList")
public RestResult<XrTaskListVo> saveIvdAcceptList(@RequestBody PersonSpeSaveIvdDto speSaveIvdDto, HttpServletRequest request) {
AICUser user = getLoginUser(request);
if (user == null) {
return RestResult.error(ResultCode.USER_NOT_LOGGED_IN);
}
String cerNo = speSaveIvdDto.getCerNo();
if (StringUtils.isEmpty(speSaveIvdDto.getInv()) ||
StringUtils.isEmpty(speSaveIvdDto.getCerType()) ||
StringUtils.isEmpty(cerNo)) {
return RestResult.error(ResultCode.PARAM_IS_BLANK);
}
//若证件类型是身份证则校验
if(StringUtils.equals("10",speSaveIvdDto.getCerType())){
boolean isMatch = false;
if (cerNo.length() == 18) { // 18位身份证号码验证
isMatch = cerNo.matches("^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$");
} else if (cerNo.length() == 15) { // 15位身份证号码验证
isMatch = cerNo.matches("^[1-9]\\d{5}\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}$");
}
if(!isMatch)
return RestResult.error(ResultCode.PARAM_IS_INVALID, "身份证号码格式不正确");
}
XrTaskListVo xrTaskListVo = iXrSeriousillegalPersonSpeListService.saveIvdAcceptList(speSaveIvdDto, user);
return RestResult.ok(xrTaskListVo);
}
@ApiOperation(value = "3.业务号查询列入严重违法失信自然人表", position = 3)
@GetMapping("/listByBizSeqNo")
public RestResult<XrSeriousIllegalPersonSpeList> listByBizSeqNo(@RequestParam @ApiParam("id") String bizSeqNo) {
LambdaQueryWrapper<XrSeriousIllegalPersonSpeList> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(XrSeriousIllegalPersonSpeList::getBizSeqNo, bizSeqNo);
List<XrSeriousIllegalPersonSpeList> xrSeriousIllegalPersonSpeLists = iXrSeriousillegalPersonSpeListService.list(queryWrapper);
//目前暂时只取第一条业务数据
XrSeriousIllegalPersonSpeList personSpeList = xrSeriousIllegalPersonSpeLists.get(0);
return RestResult.ok(personSpeList);
}
@ApiOperation(value = "4.流程控制", position = 4)
@PostMapping("/processControl")
public RestResult<?> processControl(@RequestBody @Validated SeriousIllegalProcessDto seriousIllegalProcessDto, HttpServletRequest request) {
AICUser user = getLoginUser(request);
if (user == null) {
return RestResult.error(ResultCode.USER_NOT_LOGGED_IN);
}
if (StringUtils.isEmpty(seriousIllegalProcessDto.getNextNodeID()) || StringUtils.isEmpty(seriousIllegalProcessDto.getBizSeqNo())) {
return RestResult.error(ResultCode.PARAM_IS_BLANK);
}
Map<String, AICPermission> aicPermissions = user.getAicPermissions();
//根据当前流程节点判断权限
if (!iXrActivityService.checkPermissionsAndNodeID(aicPermissions, seriousIllegalProcessDto.getCurrentNodeID(), seriousIllegalProcessDto.getNextNodeID(),"seriousillegal")) {
return RestResult.error(ResultCode.INTERFACE_FORBID_VISIT, "无权操作");
}
iXrSeriousillegalPersonSpeListService.processControl(seriousIllegalProcessDto, user);
return RestResult.ok();
}
@ApiOperation(value = "5.业务号获取审批表", position = 5)
@GetMapping("/getApprovalFormByBizSeqNo")
public RestResult<ApprovalFormDto> getApprovalFormByBizSeqNo(@RequestParam @ApiParam("id") String bizSeqNo, String cerNo, String illegalListId) {
ApprovalFormDto approvalDto = iXrSeriousillegalPersonSpeListService.getApprovalFormByBizSeqNo(bizSeqNo, cerNo,illegalListId);
return RestResult.ok(approvalDto);
}
}

View File

@ -1,4 +1,4 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.entity;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;

View File

@ -1,4 +1,4 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.entity;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@ -1,4 +1,4 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.entity;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@ -1,4 +1,4 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto;
import com.chinaweal.aiccs.aiccs.business.entity.dto.BaseParamDto;
import com.fasterxml.jackson.annotation.JsonFormat;

View File

@ -1,11 +1,11 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonSpeList;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
@Data
@ -34,9 +34,8 @@ public class SeriousIllegalProcessDto {
/**
* 意见
*/
// @ApiModelProperty(value = "意见")
// @Valid
// private XrOpinion opinion;
@ApiModelProperty(value = "意见")
private XrOpinion opinion;
/**
* 下一步处理人id

View File

@ -1,4 +1,4 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;

View File

@ -1,4 +1,4 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto;
import com.chinaweal.aiccs.aiccs.business.entity.dto.BaseParamDto;
import com.fasterxml.jackson.annotation.JsonFormat;

View File

@ -1,7 +1,7 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.mapper;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonList;
/**
* 严重违法失信自然人名单表 Mapper 接口

View File

@ -1,10 +1,10 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.mapper;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonRemList;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.SeriousIllegalSpeQueryDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto;
/**
* 移出严重违法失信自然人名单业务表 Mapper 接口

View File

@ -1,9 +1,9 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.mapper;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonSpeList;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.SeriousIllegalSpeQueryDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto;
import org.apache.ibatis.annotations.Param;
/**

View File

@ -1,9 +1,9 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.service;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonList;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.SeriousIllegalListQueryDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalListQueryDto;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;

View File

@ -0,0 +1,31 @@
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaweal.aiccs.aiccs.business.entity.dto.ApprovalFormDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalProcessDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto;
import com.chinaweal.aiccs.aiccs.business.entity.vo.XrTaskListVo;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
/**
* 列入严重违法失信自然人名单 服务类
*
* @author zhouxy
* @since 2025-07-24
*/
public interface IXrSeriousillegalPersonSpeListService extends IService<XrSeriousIllegalPersonSpeList> {
IPage<XrSeriousIllegalPersonSpeList> listXrSeriousIllegalPersonSpeList(BaseQuery<SeriousIllegalSpeQueryDto> query, AICUser user);
XrTaskListVo saveIvdAcceptList(PersonSpeSaveIvdDto speSaveIvdDto, AICUser user);
void processControl(SeriousIllegalProcessDto seriousIllegalProcessDto, AICUser user);
ApprovalFormDto getApprovalFormByBizSeqNo(String bizSeqNo, String cerNo, String illegalListId);
}

View File

@ -1,13 +1,13 @@
package com.chinaweal.aiccs.aiccs.seriousillegal.service.impl;
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.impl;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonList;
import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.SeriousIllegalListQueryDto;
import com.chinaweal.aiccs.aiccs.seriousillegal.mapper.XrSeriousIllegalPersonListMapper;
import com.chinaweal.aiccs.aiccs.seriousillegal.service.IXrSeriousIllegalPersonListService;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalListQueryDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.mapper.XrSeriousIllegalPersonListMapper;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousIllegalPersonListService;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.aiccs.org.entity.OrgUnits;
import com.chinaweal.aiccs.org.service.AicorgService;

View File

@ -0,0 +1,361 @@
package com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.impl;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaweal.aiccs.aiccs.abnormal.entity.Gzaiccode;
import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit;
import com.chinaweal.aiccs.aiccs.abnormal.service.IGzaiccodeService;
import com.chinaweal.aiccs.aiccs.abnormal.service.TSWritService;
import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.dto.ApprovalFormDto;
import com.chinaweal.aiccs.aiccs.business.rules.init.FlowUtil;
import com.chinaweal.aiccs.aiccs.business.service.IXrOpinionService;
import com.chinaweal.aiccs.aiccs.business.service.IXrTaskListService;
import com.chinaweal.aiccs.aiccs.inspect.service.TSWorkNoService;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.common.emnu.AuthEnum;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalProcessDto;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto;
import com.chinaweal.aiccs.aiccs.business.entity.vo.XrTaskListVo;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.mapper.XrSeriousIllegalPersonSpeListMapper;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousIllegalPersonListService;
import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousillegalPersonSpeListService;
import com.chinaweal.aiccs.aiccs.system.entity.TRBaseCode;
import com.chinaweal.aiccs.aiccs.system.service.TRBaseCodeService;
import com.chinaweal.aiccs.common.constant.FlowConstant;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.aiccs.common.util.WorkNoUtil;
import com.chinaweal.aiccs.org.entity.OrgUnits;
import com.chinaweal.aiccs.org.service.AicorgService;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.aicorg.pojo.AICPermission;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException;
import com.chinaweal.youfool.framework.sso.util.SSOUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* 列入严重违法失信自然人名单 服务实现类
*
* @author zhouxy
* @since 2025-07-24
*/
@Service
public class XrSeriousIllegalPersonSpeListServiceImpl extends ServiceImpl<XrSeriousIllegalPersonSpeListMapper, XrSeriousIllegalPersonSpeList> implements IXrSeriousillegalPersonSpeListService {
@Autowired
private AicorgService aicorgService;
@Autowired
private IXrTaskListService iXrTaskListService;
@Autowired
private TRBaseCodeService trBaseCodeService;
@Autowired
private IXrSeriousIllegalPersonListService iXrSeriousIllegalPersonListService;
@Autowired
private TSWorkNoService tsWorkNoService;
@Autowired
private TSWritService tsWritService;
@Resource
@Lazy
private IGzaiccodeService iGzaiccodeService;
@Autowired
private IXrOpinionService iXrOpinionService;
@Override
public IPage<XrSeriousIllegalPersonSpeList> listXrSeriousIllegalPersonSpeList(BaseQuery<SeriousIllegalSpeQueryDto> query, AICUser user) {
Map<String, AICPermission> aicPermissions = user.getAicPermissions();
// 权限
List<String> authList = new ArrayList<>();
authList.add(user.getPrimaryKey());
if (aicPermissions.containsKey(AuthEnum.XR_HANDLE.getCode())) {
authList.add(user.getRegionID() + ":" +AuthEnum.XR_HANDLE.getCode());
}
SeriousIllegalSpeQueryDto entity = query.getEntity(SeriousIllegalSpeQueryDto.class);
entity.setAuthList(authList);
IPage<XrSeriousIllegalPersonSpeList> xrSeriousIllegalPersonSpeListIPage;
Page<XrSeriousIllegalPersonSpeList> page = new Page<>(query.getCurrent(), query.getSize());
if (Objects.equals(entity.getBusType(), "todo")) { //待办
entity.setBusStatus("0");
xrSeriousIllegalPersonSpeListIPage = baseMapper.selectXrSeriousIllegalPersonSpeListTodo(page, entity);
} else if (Objects.equals(entity.getBusType(), "history")) { //记录
String areaCode = aicorgService.getOrgnumberByUserLevel(user,false);
entity.setAreaCode(areaCode);
xrSeriousIllegalPersonSpeListIPage = baseMapper.selectXrSeriousIllegalPersonSpeListHistory(page, entity);
} else {
throw new BusinessException("查询列表类型错误,请联系管理员处理");
}
return xrSeriousIllegalPersonSpeListIPage;
}
@Override
public XrTaskListVo saveIvdAcceptList(PersonSpeSaveIvdDto speSaveIvdDto, AICUser user) {
XrSeriousIllegalPersonSpeList xrSeriousIllegalPersonSpeList = new XrSeriousIllegalPersonSpeList();
xrSeriousIllegalPersonSpeList.setIllegalListId(UUID.randomUUID().toString())
.setBizSeqNo(UUID.randomUUID().toString())
.setInv(speSaveIvdDto.getInv())
.setCerType(speSaveIvdDto.getCerType())
.setCerNo(speSaveIvdDto.getCerNo())
.setAreaCode(user.getRegionID().substring(0, 6))
.setLaupTime(LocalDateTime.now())
.setIntoSponsorIllegal(user.getPrimaryKey())
.setAddDepId(user.getOrgID())
.setAddDepName(user.getOrgName())
.setStatus("0")
.setFinished("0")
.setApprove("0")
.setBusType("penalty")
.setDisplayed("1");
XrTaskList xrTaskList = new XrTaskList();
xrTaskList.setTaskLikeId(UUID.randomUUID().toString());
xrTaskList.setBizSeqNo(xrSeriousIllegalPersonSpeList.getBizSeqNo());
xrTaskList.setAreaCode(user.getRegionID().substring(0, 6));
xrTaskList.setBusName(xrSeriousIllegalPersonSpeList.getInv());
xrTaskList.setApplyOrgId(user.getOrgID());
xrTaskList.setWorkFlowId(FlowUtil.SUCCESSFUL_FLOW_TWO);
save(xrSeriousIllegalPersonSpeList);
// 保存待办信息
iXrTaskListService.startWorkFlowPerson(xrTaskList, new String[]{user.getPrimaryKey()}, null, Arrays.asList(speSaveIvdDto));
return new XrTaskListVo(xrTaskList.getTaskLikeId(), xrSeriousIllegalPersonSpeList.getBizSeqNo(), "");
}
@Override
public void processControl(SeriousIllegalProcessDto seriousIllegalProcessDto, AICUser user) {
XrTaskList xrTaskList = iXrTaskListService.getOne(new LambdaQueryWrapper<XrTaskList>().eq(XrTaskList::getBizSeqNo, seriousIllegalProcessDto.getBizSeqNo()));
LambdaQueryWrapper<XrSeriousIllegalPersonSpeList> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(XrSeriousIllegalPersonSpeList::getBizSeqNo, seriousIllegalProcessDto.getBizSeqNo());
List<XrSeriousIllegalPersonSpeList> xrSeriousIllegalPersonSpeLists = list(queryWrapper);
if (xrSeriousIllegalPersonSpeLists.isEmpty()) {
throw new BusinessException("暂无数据");
}
LocalDateTime localDateTime = LocalDateTime.now();
TRBaseCode trbasecode;
for (XrSeriousIllegalPersonSpeList xrSeriousIllegalPersonSpeList : xrSeriousIllegalPersonSpeLists) {
XrSeriousIllegalPersonSpeList personSpeList = seriousIllegalProcessDto.getPersonSpeList();
switch (seriousIllegalProcessDto.getNextNodeID()) {
case FlowConstant.LINK_TYPE_EXAMINE:
personSpeList.setIllegalListId(xrSeriousIllegalPersonSpeList.getIllegalListId());
// 保存值
xrSeriousIllegalPersonSpeList = personSpeList;
QueryWrapper<TRBaseCode> queryBaWrapper = new QueryWrapper<>();
queryBaWrapper.lambda().eq(TRBaseCode::getCode, personSpeList.getSerillRea())
.eq(TRBaseCode::getCodeid, "CD73");
trbasecode = trBaseCodeService.getOne(queryBaWrapper);
xrSeriousIllegalPersonSpeList.setSerillReaString(trbasecode.getName());
xrSeriousIllegalPersonSpeList.setAbnTime(personSpeList.getAbnTime() == null ?
LocalDate.now() : personSpeList.getAbnTime());
xrSeriousIllegalPersonSpeList.setSerillRea(personSpeList.getSerillRea());
xrSeriousIllegalPersonSpeList.setLostCreditExplain(personSpeList.getLostCreditExplain());
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_ONE); // 审批流程中把状态设置成 "审核中"
break;
case FlowConstant.LINK_TYPE_LAW:
personSpeList.setIllegalListId(xrSeriousIllegalPersonSpeList.getIllegalListId());
// 保存值
xrSeriousIllegalPersonSpeList = personSpeList;
trbasecode = trBaseCodeService.getOne(new LambdaQueryWrapper<TRBaseCode>()
.eq(TRBaseCode::getCode, personSpeList.getSerillRea())
.eq(TRBaseCode::getCodeid, "CD73"));
xrSeriousIllegalPersonSpeList.setSerillReaString(trbasecode.getName())
.setAbnTime(personSpeList.getAbnTime() == null ?
LocalDate.now() : personSpeList.getAbnTime());
xrSeriousIllegalPersonSpeList.setSerillRea(personSpeList.getSerillRea());
xrSeriousIllegalPersonSpeList.setLostCreditExplain(personSpeList.getLostCreditExplain());
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_SEVEN);
break;
case FlowConstant.LINK_TYPE_APPROVE:
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_TWO); // 审批流程中把状态设置成 "审批"
break;
case FlowConstant.LINK_TYPE_UP_EXAMINE:
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_ONE); // 行政处罚需要上级审批
break;
case FlowConstant.LINK_TYPE_END:
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_THREE); // 审批流程中把状态设置成 "通过"
xrSeriousIllegalPersonSpeList.setDisplayed("1");
xrSeriousIllegalPersonSpeList.setFinished("1");
toEndSeriouslyList(xrSeriousIllegalPersonSpeList, user);
break;
case FlowConstant.LINK_TYPE_NULLIFY:
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_FIVE); // 审批流程中把状态设置成 "不通过"
xrSeriousIllegalPersonSpeList.setFinished("1");
if (seriousIllegalProcessDto.getOpinion() != null) {
xrSeriousIllegalPersonSpeList.setEndReason(seriousIllegalProcessDto.getOpinion().getOpinionContent());
}
xrSeriousIllegalPersonSpeList.setEndApply("2");
break;
case FlowConstant.LINK_TYPE_EXAMINE_FINISH:
case FlowConstant.LINK_TYPE_APPROVE_FINISH:
case FlowConstant.LINK_TYPE_LAW_FINISH:
case FlowConstant.LINK_TYPE_UP_EXAMINE_FINISH:
case FlowConstant.LINK_TYPE_UP_APPROVE_FINISH:
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_FOUR); // 审批流程中把状态设置成 "作废"
xrSeriousIllegalPersonSpeList.setEndReason(seriousIllegalProcessDto.getOpinion().getOpinionContent());
xrSeriousIllegalPersonSpeList.setFinished("1");
break;
case FlowConstant.LINK_TYPE_EXAMINE_RETURN:
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_ONE);
break;
case FlowConstant.LINK_TYPE_HANDLE_RETURN:
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_ZERO);
break;
case FlowConstant.LINK_TYPE_LAW_RETURN:
xrSeriousIllegalPersonSpeList.setStatus(FlowConstant.LINK_STATUS_SEVEN);
break;
default:
break;
}
xrSeriousIllegalPersonSpeList.setLaupTime(localDateTime);
xrSeriousIllegalPersonSpeList.setIntoSponsorIllegal(user.getPrimaryKey());
saveOrUpdate(xrSeriousIllegalPersonSpeList);
}
iXrTaskListService.updateWorkFlow(seriousIllegalProcessDto.getOpinion(), xrTaskList,
seriousIllegalProcessDto.getNextNodeID(), seriousIllegalProcessDto.getNextPerformerIds(), null);
}
/**
* 文书生成
*/
private void toEndSeriouslyList(XrSeriousIllegalPersonSpeList xrSeriousIllegalPersonSpeList, AICUser user) {
XrSeriousIllegalPersonList xrSeriousIllegalPersonList = new XrSeriousIllegalPersonList();
xrSeriousIllegalPersonList.setIllegalListId(UUID.randomUUID().toString())
.setBizSeq(xrSeriousIllegalPersonSpeList.getBizSeqNo())
.setInv(xrSeriousIllegalPersonSpeList.getInv())
.setCerType(xrSeriousIllegalPersonSpeList.getCerType())
.setCerNo(xrSeriousIllegalPersonSpeList.getCerNo())
.setSerIllRea(xrSeriousIllegalPersonSpeList.getSerillRea())
.setSerIllReaCn(xrSeriousIllegalPersonSpeList.getSerillReaString())
.setAbnTime(LocalDate.now());
//判断列入机关,若是所一级,则改为其上级单位,即区县一级
xrSeriousIllegalPersonList = iXrSeriousIllegalPersonListService.checkDecOrg(xrSeriousIllegalPersonList,user.getOrgID(),0);
xrSeriousIllegalPersonList.setAreaCode(user.getRegionID().substring(0, 6))
.setLostCreditExplain(xrSeriousIllegalPersonSpeList.getLostCreditExplain())
.setIntoSponsorIllegal(user.getName())
.setIntoSponsorIllegalId(user.getPrimaryKey())
.setRemSponsorIllegal(xrSeriousIllegalPersonSpeList.getIntoSponsorIllegal())
.setOperationStatus("0")
.setIsHea(xrSeriousIllegalPersonSpeList.getIsHea())
.setHeaOp(xrSeriousIllegalPersonSpeList.getHeaOp())
.setJudDocNo(xrSeriousIllegalPersonSpeList.getJudDocNo())
.setJudDocTitle(xrSeriousIllegalPersonSpeList.getJudDocTitle())
.setDisplayed("1")//列入记录公示1是 0
.setIsHandling("0");
//4.生成文书号
TSWrit tsWritModel = new TSWrit();
String tswritId = UUID.randomUUID().toString();
tsWritModel.setWritsid(tswritId);
String workNoType = WorkNoUtil.WORKNOTYPE_21;//列入严重违法失信名单 决定书文号
tsWritModel.setWritsno(tsWorkNoService.generateSeriousIncludeDocNo(xrSeriousIllegalPersonSpeList.getAreaCode()));
tsWritModel.setWritsname(WorkNoUtil.getWorkNoTypeName(workNoType));
tsWritModel.setContent("当事人:"+xrSeriousIllegalPersonSpeList.getInv() +
"\n证件号码" + xrSeriousIllegalPersonSpeList.getCerNo() +
"\n" + xrSeriousIllegalPersonSpeList.getLostCreditExplain()
+ includeDocumentLastText(xrSeriousIllegalPersonSpeList));
tsWritModel.setBizseq(xrSeriousIllegalPersonSpeList.getBizSeqNo());
tsWritModel.setWritstype(workNoType);
tsWritModel.setCreatetime(LocalDateTime.now());
tsWritModel.setAreaCode(xrSeriousIllegalPersonSpeList.getAreaCode());
tsWritService.save(tsWritModel);
xrSeriousIllegalPersonSpeList.setWritsNo(tsWritModel.getWritsno())
.setDecOrg(xrSeriousIllegalPersonList.getDecOrg())
.setDecOrgCn(xrSeriousIllegalPersonList.getDecOrgCn());
saveOrUpdate(xrSeriousIllegalPersonSpeList);
xrSeriousIllegalPersonList.setIntoWritId(tswritId);//严重违法表里保存列入文书id
iXrSeriousIllegalPersonListService.save(xrSeriousIllegalPersonList);
}
/**
* 列入决定文书最后内容
*/
private String includeDocumentLastText(XrSeriousIllegalPersonSpeList xrSeriousIllegalPersonSpeList) {
LocalDate term = xrSeriousIllegalPersonSpeList.getAbnTime().plusYears(3);
//查出区划和地市用于拼接复议诉讼机关
String decOrgCity = StringUtils.substring(xrSeriousIllegalPersonSpeList.getAreaCode(), 0, 4) + "00";
Gzaiccode basecodeCity = iGzaiccodeService.getOne(new LambdaQueryWrapper<Gzaiccode>()
.eq(Gzaiccode::getScountrycode, decOrgCity));
//行政复议机关
String reconsiderationOrg = StringUtils.isEmpty(xrSeriousIllegalPersonSpeList.getReconsiderationOrg()) ? basecodeCity.getScountryextcode()+"人民政府" : xrSeriousIllegalPersonSpeList.getReconsiderationOrg();
//诉讼机关
String litiOrg = StringUtils.isEmpty(xrSeriousIllegalPersonSpeList.getLitiOrg()) ? basecodeCity.getScountryextcode()+"人民法院" : xrSeriousIllegalPersonSpeList.getLitiOrg();
String text = ",现决定将你(单位)列入严重违法失信名单,通过国家企业信用信息公示系统向社会公示,并实施相应管理措施。列入期限自即日起至"
+ term.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")) +
"。期满一年后,你(单位)可依据《市场监督管理严重违法失信名单管理办法》第十六条、第十七条规定向我局申请提前移出严重违法失信名单,停止公示相关信息并解除相应管理措施。" +
"\n你单位如不服本决定可以自收到本决定书之日起六十日内向" +
reconsiderationOrg + "申请行政复议;也可以在六个月内向" +
litiOrg + "提起行政诉讼。";
return text;
}
@Override
public ApprovalFormDto getApprovalFormByBizSeqNo(String bizSeqNo, String cerNo, String illegalListId) {
ApprovalFormDto approvalFormDto = new ApprovalFormDto();
LambdaQueryWrapper<XrSeriousIllegalPersonSpeList> queryWrapper = new LambdaQueryWrapper<>();
if(StringUtils.isNotBlank(illegalListId)){
queryWrapper.eq(XrSeriousIllegalPersonSpeList::getIllegalListId,illegalListId);
} else {
queryWrapper.eq(XrSeriousIllegalPersonSpeList::getBizSeqNo, bizSeqNo)
.eq(XrSeriousIllegalPersonSpeList::getCerNo, cerNo).last("limit 1");
}
XrSeriousIllegalPersonSpeList seriousIllegalPersonSpeList = getOne(queryWrapper);
XrTaskList xrTaskList = iXrTaskListService.getOne(new QueryWrapper<XrTaskList>().lambda().eq(XrTaskList::getBizSeqNo, bizSeqNo));
List<XrOpinion> data = this.iXrOpinionService.list(new LambdaQueryWrapper<XrOpinion>()
.eq(XrOpinion::getTaskListId,xrTaskList.getTaskLikeId())
.orderByDesc(XrOpinion::getUpdateTime));
BeanUtils.copyProperties(seriousIllegalPersonSpeList, approvalFormDto);
AICUser user = SSOUtil.getUser();
approvalFormDto.setAreaName(user.getOrgName());
approvalFormDto.setOpinion(data);
String lostCreditExplain = "";
TRBaseCode trBaseCode = trBaseCodeService.getOne(new LambdaQueryWrapper<TRBaseCode>()
.eq(TRBaseCode::getCode, seriousIllegalPersonSpeList.getSerillRea())
.eq(TRBaseCode::getCodeid, "CD73"));
if(trBaseCode != null){
lostCreditExplain = trBaseCode.getName();
} else {
lostCreditExplain = seriousIllegalPersonSpeList.getSerillReaString();
}
//用该字段存移出原因
approvalFormDto.setLostCreditExplain(lostCreditExplain);
//列入决定书
TSWrit writ = tsWritService.getOne(new LambdaQueryWrapper<TSWrit>()
.eq(TSWrit::getWritstype, WorkNoUtil.WORKNOTYPE_21)
.eq(TSWrit::getBizseq, seriousIllegalPersonSpeList.getBizSeqNo()));
HashMap<String, Object> incAbnDecision = new HashMap<>();
approvalFormDto.setIncAbnDecisionMap(incAbnDecision);
if (writ != null) {
incAbnDecision.put("writsNo", writ.getWritsno());
incAbnDecision.put("abnTime", writ.getCreatetime());
incAbnDecision.put("content", writ.getContent());
String areaName = user.getOrgName();
if (areaName.contains("市场监督管理局")) {
areaName = areaName.substring(0,areaName.indexOf("市场监督管理局"));
}
incAbnDecision.put("areaName", areaName);
incAbnDecision.put("WritsType", writ.getWritstype());
incAbnDecision.put("inv", seriousIllegalPersonSpeList.getInv());
incAbnDecision.put("cerNo", seriousIllegalPersonSpeList.getCerNo());
approvalFormDto.setIncAbnDecisionMap(incAbnDecision);
}
return approvalFormDto;
}
}

View File

@ -0,0 +1,28 @@
package com.chinaweal.aiccs.common.constant;
/**
* 通用常量
*
* @author lroyia
* @since 2022/7/5 17:27
**/
public interface CommonConstants {
String TRUE_1 = "1";
String FALSE_0 = "0";
String DOT = ".";
String COMMA = ",";
String LINE = "-";
String UNDERLINE = "_";
String SYSTEM = "system";
String COLON = ":";
/**
* 默认数据创建者system
**/
String DEFAULT_CREATOR = SYSTEM;
String UNDER_LINE = "_";
/**
* 默认SQL结果分片大小
**/
Integer DEFAULT_RESULT_FETCH_SIZE = 10000;
}

View File

@ -0,0 +1,47 @@
package com.chinaweal.aiccs.common.constant;
public abstract class FlowConstant {
public static final String LINK_TYPE_REASSIGNMENT = "transfer";// 流程经办 - 转办
public static final String LINK_TYPE_HANDLE = "handle";// 流程经办
public static final String LINK_TYPE_EXAMINE = "examine";//流程审核
public static final String LINK_TYPE_UP_EXAMINE = "upExamine";//流程审核
public static final String LINK_TYPE_APPROVE = "approve";//流程审批
public static final String LINK_TYPE_LAW = "law";//检查执法
public static final String LINK_TYPE_END = "end";//流程结束
public static final String LINK_TYPE_NULLIFY = "nullify";//流程作废
public static final String LINK_TYPE_EXAMINE_FINISH = "examineFinish";//流程审核不通过
public static final String LINK_TYPE_APPROVE_FINISH = "approveFinish";//流程审批不通过
public static final String LINK_TYPE_LAW_FINISH = "lawFinish";//流程审批不通过
public static final String LINK_TYPE_CLUE_RETURN = "clueReturn";//流程返回
public static final String LINK_TYPE_HANDLE_RETURN = "handleReturn";//流程返回
public static final String LINK_TYPE_LAW_RETURN = "lawReturn";//流程返回
public static final String LINK_TYPE_EXAMINE_RETURN = "examineReturn";//流程返回
public static final String LINK_TYPE_RETURN = "Return";//流程返回
public static final String LINK_TYPE_REPLENISH = "replenish";//材料补正
public static final String LINK_TYPE_UP_EXAMINE_FINISH = "upExamineFinish";//上级审核不通过
public static final String LINK_TYPE_UP_APPROVE_FINISH = "upApproveFinish";//上级审批不通过
public static final String BUS_TYPE_INCLUSION = "inclusion"; //经营异常列入
public static final String BUS_TYPE_REMOVE = "remove";//经营异常移出
public static final String BUS_TYPE_OBJECTION = "objection";// 经营异常异议
public static final String BUS_TYPE_PENALTY = "penalty";// 严重违法行政处罚
public static final String BUS_TYPE_IMITATE = "imitate";// 严重违法(经营异常满三年)拟列入
public static final String BUS_TYPE_ENTER = "enter";// 严重违法(经营异常满三年)列入
public static final String OBJ_TYPE_INDIVIDUAL = "individual";// 个体户
public static final String OBJ_TYPE_FARMER = "farmer";// 农社经营
public static final String OBJ_TYPE_COMPANY = "company";// 企业类型
public static final String LINK_STATUS_ZERO = "0";//办理状态
public static final String LINK_STATUS_ONE = "1";//审核状态
public static final String LINK_STATUS_TWO = "2";//审批状态
public static final String LINK_STATUS_THREE = "3";//通过状态
public static final String LINK_STATUS_FOUR = "4";//不通过状态
public static final String LINK_STATUS_FIVE = "5";//作废状态
public static final String LINK_STATUS_SIX = "6";//转办状态
public static final String LINK_STATUS_SEVEN = "7";//检查执法
public static final String LINK_STATUS_NINE = "9";//待接收
}

View File

@ -2,8 +2,10 @@ package com.chinaweal.aiccs.common.util;
import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList;
import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList;
import com.chinaweal.aiccs.aiccs.revoke.entity.Tsrevtasklist;
import com.chinaweal.aiccs.common.constant.BaseDataConstant;
import com.chinaweal.aiccs.common.constant.CommonConstants;
import com.chinaweal.aicorg.model.AICUser;
import java.time.LocalDate;
@ -174,4 +176,40 @@ public class HandleWorkFlowUtil {
taskListModel.setSendertime(now);
return taskListModel;
}
public static XrTaskList createXrTaskList(XrTaskList taskListModel, AICUser user) {
LocalDateTime now = LocalDateTime.now();
//设置待办业务状态为 "0"在办 还有: "-1"待签收 "1"挂起 "2"结束 "3"强制结束
taskListModel.setBusStatus(BaseDataConstant.BUSINESS_STATUS_TRANSACT);
if (!StringUtils.isNotBlank(taskListModel.getWorkFlowId())) {
// taskListModel.setWorkFlowId(FlowUtil.COMMON_WORK_FLOW);
taskListModel.setWorkFlowId("commonWorkFlow");
}
//设置是否签收: 是
taskListModel.setIsSignon(CommonConstants.TRUE_1);
//签收者id
taskListModel.setSignUserId(user.getPrimaryKey());
//签收/受理时间
taskListModel.setSignTime(now);
//发送机构ID
taskListModel.setSenderOrgId(user.getOrgID());
//下一步签收用户ID
taskListModel.setSenderUserId(user.getPrimaryKey());
//下一步签收用户机构ID
taskListModel.setSendToOrgId(user.getOrgID());
//发送时间
if (taskListModel.getSenderTime() == null) {
taskListModel.setSenderTime(now);
}
// 发起机构代码
if (!StringUtils.isNotBlank(taskListModel.getApplyOrgId())) {
taskListModel.setApplyOrgId(user.getOrgID());
}
// 发起机构代码
if (!StringUtils.isNotBlank(taskListModel.getSource())) {
// taskListModel.setSource(BaseDataConstant.SOURCE_PC);
taskListModel.setSource("pc");
}
return taskListModel;
}
}

View File

@ -76,4 +76,7 @@ public interface AicorgMapper extends BaseMapper<OrgUnits> {
com.chinaweal.aicorg.model.AICUser queryUserByUserName(@Param("username") String username);
void updateByUserName(String realname);
OrgUnits selectTOrgunitsById(String orgUnitID);
}

View File

@ -41,4 +41,14 @@ public interface TUsersMapper extends BaseMapper<TUsers> {
String queryOrgByUserid(@Param("userid")String userid);
String queryOrgNumByUserid(@Param("userid")String userid);
/**
* 根据用户Id查询用户信息
*
* @param userId 用户id
* @return 用户信息
* @author lroyia
* @since 2023年4月26日 10:38:43
*/
AICUser selectUserById(@Param("userId") String userId);
}

View File

@ -62,4 +62,15 @@ public interface AicorgService extends IService<OrgUnits> {
* @since 2025年2月25日19:25:22
*/
AICUser queryUserByUserName(String username);
/**
* 根据用户等级获取机关编号前数位
*
* @param user
* @return
*/
String getOrgnumberByUserLevel(AICUser user,boolean sjCheck);
OrgUnits getTOrgunitsById(String orgUnitID);
}

View File

@ -75,4 +75,33 @@ public interface TUsersService extends BaseService<TUsers> {
*/
TUsers saveDoorUser(TUserportal tUserportal);
/**
* 获取用户集合
* @author ymc
* @since 2024年3月13日 11:29
* @param userIds
* @return
*/
List<TUsers> listByUserIds(String[] userIds);
/**
* 转换为AICUser
*
* @param user 用户信息
* @return 转换结果
* @author lroyia
* @since 2023年4月26日 10:08:21
*/
AICUser toAICUser(TUsers user);
/**
* 根据用户id获取用户信息
*
* @param userId 用户id
* @return 用户信息
* @author lroyia
* @since 2023年4月26日 10:42:16
*/
AICUser getUserById(String userId);
}

View File

@ -1,5 +1,6 @@
package com.chinaweal.aiccs.org.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaweal.aiccs.common.base.entity.dto.login.LoginMessage;
import com.chinaweal.aiccs.common.util.StringUtils;
@ -225,4 +226,29 @@ public class AicorgServiceImpl extends ServiceImpl<AicorgMapper, OrgUnits> imple
public com.chinaweal.aicorg.model.AICUser queryUserByUserName(String username) {
return aicorgMapper.queryUserByUserName(username);
}
@Override
public String getOrgnumberByUserLevel(com.chinaweal.aicorg.model.AICUser user, boolean sjCheck) {
String orgnumber = "";
LambdaQueryWrapper<OrgUnits> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OrgUnits::getOrgUnitId, user.getOrgID());
OrgUnits orgunits = getOne(queryWrapper);
if(orgunits.getOrgLevel() == 2){ //省级直接查省局自己的业务
if(sjCheck){
orgnumber = StringUtils.substring(orgunits.getOrgNumber(),0,2)+"%";
} else {
orgnumber = "150000";
}
} else if(orgunits.getOrgLevel() == 3){ //地市
orgnumber = StringUtils.substring(orgunits.getOrgNumber(),0,4)+"%";
} else if(orgunits.getOrgLevel() >= 4){ //区级
orgnumber = StringUtils.substring(orgunits.getOrgNumber(),0,6)+"%";
}
return orgnumber;
}
@Override
public OrgUnits getTOrgunitsById(String orgUnitID) {
return baseMapper.selectTOrgunitsById(orgUnitID);
}
}

View File

@ -4,23 +4,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.chinaweal.aiccs.aiccs.abnormal.entity.Gzaiccode;
import com.chinaweal.aiccs.aiccs.abnormal.service.IGzaiccodeService;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.aiccs.door.entity.TUserportal;
import com.chinaweal.aiccs.org.entity.OrgUnits;
import com.chinaweal.aiccs.org.entity.TUsers;
import com.chinaweal.aiccs.org.mapper.TUsersMapper;
import com.chinaweal.aiccs.org.service.AicorgService;
import com.chinaweal.aiccs.org.service.TUsersService;
import com.chinaweal.aicorg.model.AICOrg;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.aicorg.services.OrgUM;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseServiceImpl;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
import java.util.*;
/**
* <p>
@ -40,6 +40,8 @@ public class TUsersServiceImpl extends BaseServiceImpl<TUsersMapper, TUsers> imp
@Resource
@Lazy
private IGzaiccodeService iGzaiccodeService;
@Resource
private AicorgService aicorgService;
@Override
public void updateTusers(TUsers tUsers) {
@ -218,4 +220,50 @@ public class TUsersServiceImpl extends BaseServiceImpl<TUsersMapper, TUsers> imp
return newUser;
}
@Override
public List<TUsers> listByUserIds(String[] userIds) {
return this.lambdaQuery().in(TUsers::getUserid, userIds).list();
}
@Override
public AICUser toAICUser(TUsers user) {
if (user == null) {
return null;
}
AICUser result = new AICUser();
result.setUserProp(user.getUserprop());
result.setOrgID(user.getOrgunitid());
result.setUnitID(user.getOrgdeptid());
result.setName(user.getRealname());
result.setEname(user.getUsername());
result.setPassword(user.getPassword());
result.setPrimaryKey(user.getUserid());
Set<String> idList = new HashSet<>();
if (StringUtils.isNotBlank(user.getOrgunitid())) {
idList.add(user.getOrgunitid());
}
if (StringUtils.isNotBlank(user.getOrgdeptid())) {
idList.add(user.getOrgdeptid());
}
if (CollectionUtils.isNotEmpty(idList)) {
List<OrgUnits> tOrgUnits = aicorgService.listByIds(idList);
for (OrgUnits each : tOrgUnits) {
if (each.getOrgUnitId().equals(result.getOrgID())) {
result.setOrgName(each.getOrgUnitName());
result.setRegionID(each.getOrgNumber());
}
if (each.getOrgUnitId().equals(result.getUnitID())) {
result.setUnitName(each.getOrgUnitName());
}
}
}
return result;
}
@Override
public AICUser getUserById(String userId) {
return baseMapper.selectUserById(userId);
}
}

View File

@ -1,5 +1,5 @@
<?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.seriousillegal.mapper.XrSeriousIllegalPersonListMapper">
<mapper namespace="com.chinaweal.aiccs.aiccs.business.mapper.XrActivityMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?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.business.mapper.XrOpinionMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?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.business.mapper.XrTaskAnnexMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?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.business.mapper.XrTaskListMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?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.seriousillegalPerson.mapper.XrSeriousIllegalPersonListMapper">
</mapper>

View File

@ -1,9 +1,9 @@
<?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.seriousillegal.mapper.XrSeriousIllegalPersonRemListMapper">
<mapper namespace="com.chinaweal.aiccs.aiccs.seriousillegalPerson.mapper.XrSeriousIllegalPersonRemListMapper">
<select id="listTodoByOrg"
resultType="com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonRemList">
resultType="com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList">
SELECT distinct
task.accept_no as acceptNo,
biz.biz_seq_no as bizSeqNo,
@ -60,7 +60,7 @@
</select>
<select id="listRecordByOrg"
resultType="com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonRemList">
resultType="com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList">
SELECT
biz.biz_ser_rem_id as bizSerRemId,
biz.biz_seq_no as bizSeqNo,

View File

@ -1,7 +1,7 @@
<?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.seriousillegal.mapper.XrSeriousIllegalPersonSpeListMapper">
<resultMap id="BaseResultMap" type="com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonSpeList">
<mapper namespace="com.chinaweal.aiccs.aiccs.seriousillegalPerson.mapper.XrSeriousIllegalPersonSpeListMapper">
<resultMap id="BaseResultMap" type="com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList">
<result column="illegal_list_id" property="illegalListId"/>
<result column="biz_seq_no" property="bizSeqNo"/>
<result column="inv" property="inv"/>
@ -60,7 +60,7 @@
<result column="source_type" property="sourceType"/>
</resultMap>
<select id="selectXrSeriousIllegalPersonSpeListTodo" resultType="com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonSpeList">
<select id="selectXrSeriousIllegalPersonSpeListTodo" resultType="com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList">
select distinct
task.biz_seq_no as bizSeqNo,
biz.serill_rea as serillRea,
@ -112,7 +112,7 @@
order by biz.update_time desc
</select>
<select id="selectXrSeriousIllegalPersonSpeListHistory" resultType="com.chinaweal.aiccs.aiccs.seriousillegal.entity.XrSeriousIllegalPersonSpeList">
<select id="selectXrSeriousIllegalPersonSpeListHistory" resultType="com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList">
select
biz.illegal_list_id as illegalListId,
biz.biz_seq_no as bizSeqNo,

View File

@ -130,4 +130,20 @@
JOIN CXAICORG.t_users ON CXAICORG.t_users.realname=CXAICORG.T_USERPORTAL.realname OR CXAICORG.t_users.USERNAME =CXAICORG.T_USERPORTAL.phone
SET LOCALUSERID=userid WHERE cxaicorg.T_USERPORTAL.realname = #{realname}
</update>
<select id="selectTOrgunitsById" resultType="com.chinaweal.aiccs.org.entity.OrgUnits">
select orgUnitID,
orgUnitName,
deleted,
orgNumber,
parentID,
unitType,
orgLevel,
code,
createDate,
orgUnitparentId,
updateDate
from t_orgUnits
where orgUnitID = #{orgUnitID}
</select>
</mapper>

View File

@ -21,6 +21,21 @@
<result column="lasterrortime" property="lasterrortime"/>
</resultMap>
<resultMap id="AICUserMap" type="com.chinaweal.aicorg.model.AICUser">
<id column="primaryKey" property="primaryKey"/>
<result column="name" property="name"/>
<result column="ename" property="ename"/>
<result column="empId" property="empID"/>
<result column="unitId" property="unitID"/>
<result column="unitName" property="unitName"/>
<result column="orgId" property="orgID"/>
<result column="orgName" property="orgName"/>
<result column="regionId" property="regionID"/>
<result column="password" property="password"/>
<result column="status" property="status"/>
<result column="userProp" property="userProp"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
userid
@ -147,15 +162,23 @@
and c.orgUnitID != #{orgDeptID}
</select>
<select id="queryOrgByUserid" resultType="String">
<select id="queryOrgByUserid" resultType="java.lang.String">
select tg.orgunitname from cxaicorg.t_users tu
left join cxaicorg.t_orgunits tg on tu.orgunitid = tg.orgunitid
where userid = #{userid}
</select>
<select id="queryOrgNumByUserid" resultType="String">
<select id="queryOrgNumByUserid" resultType="java.lang.String">
select tg.orgNumber from cxaicorg.t_users tu
left join cxaicorg.t_orgunits tg on tu.orgunitid = tg.orgunitid
where userid = #{userid}
</select>
<select id="selectUserById" resultMap="AICUserMap">
select a.userID as "primaryKey", a.userName as "ename", a.password as password, a.realName as "name", b.orgUnitId as "orgId",
b.orgUnitName as "orgName", c.orgUnitID as "unitId", c.orgUnitName as "unitName", b.orgNumber as "regionId", a.userProp as "userProp"
from t_users a, t_orgUnits b, t_orgUnits c
where a.orgUnitID=b.orgUnitID and a.orgDeptID=c.orgUnitID and a.deleted='0' and
a.locked='0' and a.userID = #{userId}
</select>
</mapper>