将省局自然人列严功能强行合到这里(自然人列严列入,未测试)
This commit is contained in:
parent
aefe63fd01
commit
62f13f88da
|
|
@ -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 = "";
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* 是否超过工作时限’1‘是’0‘否
|
||||
*/
|
||||
@ApiModelProperty(value = "是否超过工作时限’1‘是’0‘否")
|
||||
@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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 接口
|
||||
|
|
@ -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 接口
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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";//待接收
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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,
|
||||
|
|
@ -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,
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue