21 changed files with 1458 additions and 26 deletions
@ -0,0 +1,26 @@ |
|||||
|
|
||||
|
DROP TABLE IF EXISTS `todo_item`; |
||||
|
CREATE TABLE `todo_item` ( |
||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', |
||||
|
`client_type` varchar(16) NOT NULL COMMENT '客户端类型:enterprise-企业端, law-执法端, supervise-监督端', |
||||
|
`type` varchar(16) DEFAULT NULL COMMENT '类型:PFFW|普法服务,ZFPJ-执法评价,ZFYG-预告,RW-任务,YY-预约', |
||||
|
`source_id` bigint DEFAULT NULL COMMENT '记录来源ID(关联业务表主键)', |
||||
|
`enterprise_id` varchar(50) DEFAULT NULL COMMENT '被执法企业ID', |
||||
|
`enterprise_number` varchar(32) DEFAULT NULL COMMENT '企业统一社会信用代码', |
||||
|
`agent_user_id` varchar(50) DEFAULT NULL COMMENT '代办人员ID', |
||||
|
`read_status` tinyint DEFAULT 0 COMMENT '阅读状态:0未读 1已读', |
||||
|
`is_delete` int(4) DEFAULT 0 COMMENT '是否删除 0 否 1是', |
||||
|
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门', |
||||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建者', |
||||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新者', |
||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||
|
UNIQUE KEY `uk_client_type_source` (`client_type`,`type`,`source_id`) USING BTREE COMMENT '客户端+类型+来源ID 唯一索引', |
||||
|
KEY `idx_credit_code` (`credit_code`) USING BTREE COMMENT '企业信用代码索引', |
||||
|
KEY `idx_agent_user_id` (`agent_user_id`) USING BTREE COMMENT '代办人员ID索引', |
||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='待办事项表'; |
||||
|
|
||||
|
ALTER TABLE `enforcement_registration` |
||||
|
ADD COLUMN `has_evaluate` tinyint(1) DEFAULT 0 COMMENT '是否评价:0-未评价 1-已评价' AFTER `is_real_union`; |
||||
|
-- 已评价需要初始化数据 |
||||
@ -1,4 +1,4 @@ |
|||||
package com.zdxt.enforcementcode.domain.commonenum; |
package com.zdxt.enforcementcode.common.commonenum; |
||||
|
|
||||
public enum AppEnterpriseComplaintEnums { |
public enum AppEnterpriseComplaintEnums { |
||||
|
|
||||
@ -1,4 +1,4 @@ |
|||||
package com.zdxt.enforcementcode.domain.commonenum; |
package com.zdxt.enforcementcode.common.commonenum; |
||||
|
|
||||
/** |
/** |
||||
* 更新状态类型枚举定义 |
* 更新状态类型枚举定义 |
||||
@ -0,0 +1,51 @@ |
|||||
|
package com.zdxt.enforcementcode.common.commonenum; |
||||
|
|
||||
|
/** |
||||
|
* 任务来源 |
||||
|
* @author liaoz |
||||
|
*/ |
||||
|
public enum LawTaskSourceEnum { |
||||
|
|
||||
|
DAILY_CHECK("01", "日常检查"), |
||||
|
COMPLAINT_REPORT("02", "投诉举报"), |
||||
|
DEPT_TRANSFER("03", "部门移送"), |
||||
|
SUPERIOR_ASSIGN("04", "上级交办"), |
||||
|
KEY_AREA_GOVERN("05", "重点领域治理部署"), |
||||
|
SPECIAL_ACTION("06", "专项行动"), |
||||
|
OTHER("09", "其它"); |
||||
|
|
||||
|
private String key; |
||||
|
private String value; |
||||
|
|
||||
|
LawTaskSourceEnum(String key, String value) { |
||||
|
this.value = value; |
||||
|
this.key = key; |
||||
|
} |
||||
|
|
||||
|
public String getValue() { |
||||
|
return value; |
||||
|
} |
||||
|
|
||||
|
public String getKey() { |
||||
|
return key; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 根据value获取description |
||||
|
* @description |
||||
|
* |
||||
|
* @createDate 2017年11月28日 |
||||
|
* @param key |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String getValueByKey(String key) { |
||||
|
LawTaskSourceEnum[] enums = LawTaskSourceEnum.values(); |
||||
|
for (int i = 0; i < enums.length; i++) { |
||||
|
if (enums[i].getKey().equals(key)) { |
||||
|
return enums[i].getValue(); |
||||
|
} |
||||
|
} |
||||
|
return ""; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
package com.zdxt.enforcementcode.common.commonenum; |
||||
|
|
||||
|
/** |
||||
|
* 执法类型 |
||||
|
* @author liaoz |
||||
|
*/ |
||||
|
public enum LawTypeEnum { |
||||
|
|
||||
|
ADMIN_CHECK(1, "行政检查"), |
||||
|
ADMIN_PUNISH(2, "行政处罚"), |
||||
|
ADMIN_LICENSE(3, "行政许可"), |
||||
|
ADMIN_FORCE(4, "行政强制"), |
||||
|
ADMIN_LEVY(5, "行政征收"), |
||||
|
ADMIN_PAY(6, "行政给付"), |
||||
|
ADMIN_CONFIRM(7, "行政确认"), |
||||
|
ADMIN_REGISTER(8, "行政登记"), |
||||
|
ADMIN_ARBITRATE(9, "行政裁决"), |
||||
|
DOC_SEND(10, "文书送达"); |
||||
|
|
||||
|
|
||||
|
private Integer key; |
||||
|
private String value; |
||||
|
|
||||
|
LawTypeEnum(Integer key, String value) { |
||||
|
this.value = value; |
||||
|
this.key = key; |
||||
|
} |
||||
|
|
||||
|
public String getValue() { |
||||
|
return value; |
||||
|
} |
||||
|
|
||||
|
public Integer getKey() { |
||||
|
return key; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 根据value获取description |
||||
|
* @description |
||||
|
* |
||||
|
* @createDate 2017年11月28日 |
||||
|
* @param key |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String getValueByKey(String key) { |
||||
|
LawTypeEnum[] enums = LawTypeEnum.values(); |
||||
|
for (int i = 0; i < enums.length; i++) { |
||||
|
if (enums[i].getKey().equals(key)) { |
||||
|
return enums[i].getValue(); |
||||
|
} |
||||
|
} |
||||
|
return ""; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,38 @@ |
|||||
|
package com.zdxt.enforcementcode.common.util; |
||||
|
|
||||
|
|
||||
|
public class CommonUtil { |
||||
|
|
||||
|
private static String KEY="VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0"; |
||||
|
|
||||
|
/** |
||||
|
* 手机号****加密 |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String encryptPhone(String num){ |
||||
|
if(StringUtils.isEmpty(num))return num; |
||||
|
|
||||
|
if(!num.matches("^\\d+$")){ |
||||
|
num=IdCardCryptoUtil.symmetricDecryptIdCard(KEY,num); |
||||
|
} |
||||
|
String regex = "^1\\d{10}$"; |
||||
|
if(num.matches(regex)){ |
||||
|
return num.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); |
||||
|
} |
||||
|
return num; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 两个字名字空格 |
||||
|
* @param name |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String getNameSpace(String name){ |
||||
|
if(StringUtils.isEmpty(name))return name; |
||||
|
String res=name; |
||||
|
if(name.length()==2){ |
||||
|
res=name.substring(0,1)+"\u3000"+name.substring(1,2); |
||||
|
} |
||||
|
return res; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,165 @@ |
|||||
|
package com.zdxt.enforcementcode.common.util; |
||||
|
|
||||
|
import cn.hutool.core.codec.Base64; |
||||
|
import cn.hutool.core.util.IdUtil; |
||||
|
import cn.hutool.core.util.StrUtil; |
||||
|
import cn.hutool.crypto.SecureUtil; |
||||
|
import cn.hutool.crypto.asymmetric.KeyType; |
||||
|
import cn.hutool.crypto.asymmetric.RSA; |
||||
|
import cn.hutool.http.HttpRequest; |
||||
|
import com.alibaba.fastjson.JSONObject; |
||||
|
|
||||
|
import java.nio.charset.StandardCharsets; |
||||
|
|
||||
|
/** |
||||
|
* 证件号加密工具 |
||||
|
* |
||||
|
* @author joelzzhang |
||||
|
*/ |
||||
|
public class IdCardCryptoUtil { |
||||
|
|
||||
|
/** |
||||
|
* 以下字符串为密钥,可以通过配置来传递 |
||||
|
*/ |
||||
|
public static final String OUTER_AES_KEY = "u3BPiZWALItH27e34oO6bw=="; |
||||
|
public static final String INNER_AES_KEY = "ol1hV81iCruo+thxtZGnCg=="; |
||||
|
public static final String PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDADIVdRXNyT5pmGxSUfwEup2Y1YCz7VfibMyyQhkpVP3ByKsoFDjZ30yW5gv70sQbqn/MCthTFqwh3/I/YLfthM3vU7TdlmNfnlKcQ6prxYofLkX8akrhgQVFerb/4DhcbAk5xvx12Dkeh/nzDf5Qw2K3CymRPnr4zN6ZjAL79HwIDAQAB"; |
||||
|
public static final String PRIVATE_KEY = "MIICdAIBADANBgkqhkiG9w0BAQEFAASCAl4wggJaAgEAAoGBAMAMhV1Fc3JPmmYbFJR/AS6nZjVgLPtV+JszLJCGSlU/cHIqygUONnfTJbmC/vSxBuqf8wK2FMWrCHf8j9gt+2Eze9TtN2WY1+eUpxDqmvFih8uRfxqSuGBBUV6tv/gOFxsCTnG/HXYOR6H+fMN/lDDYrcLKZE+evjM3pmMAvv0fAgMBAAECf2rTWPVVrHuC/ywzFz+CmSXAxLNSZbMCH0doYvs0hIrmvtjCjgN1F6P1z2yUpHBEbsetZEwdyQnEf74+WCuBaFIYjmQm/05grIxam/QrGibnV5qNiA0VeCkj6bUy+z5mt3/ithgzjmOiYIgMenjf6ut6RmgRDodgJiFbvSvfskECQQDoqGMNaUV+Y/O9h+l9eOCkSUOjOsL9WDRL34ei/jf7VFFYBZLs2GMzLunDkDz1dHvufDiMPeHUTTN8zIEEpNMVAkEA01Ehf9Np2zUqFQp3SW/fHVsaGM97JsbsTQrsDdUWwZLJTSQ7Yf+yg21GkNa8Mmlsp1OLyS607HV7lPlKO0LsYwJBAN1LTOv0taUCbVRZcj1mPEYHac5Ylh9jRlrkwp7GL3lfOf//TUD6kWCdvrvE9jaCFV9ByIecVLEavV53JkDEhgECQHgR40z0XXOWs8Cc38a0cDwH5b4vNjSEVwQ3roT1jSaUNxlD+xHl7hLLZosp2Gl0ia5RxF2d0mOBJaUyOMGPdy0CQCLBU3995JMoUyLgt2+Riw0PFbdxFEnKGyshAt5Q957/hC6L/V5tQNnh/AM9q23DIUQGb1whhxdIzV12qFSSS34="; |
||||
|
|
||||
|
public static void main(String[] args) { |
||||
|
String key = "VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0"; |
||||
|
System.out.println("====================== 示例 ======================"); |
||||
|
// 加密
|
||||
|
String source_dec = "13823290422"; |
||||
|
String enc = IdCardCryptoUtil.symmetricEncryptIdCard(key, source_dec); |
||||
|
System.out.println(source_dec+" 加密后 : "+enc); |
||||
|
// 解密
|
||||
|
String source_enc = "wDLyWcBO/fIH2rJpSGN98A=="; |
||||
|
String dec = IdCardCryptoUtil.symmetricDecryptIdCard(key, source_enc); |
||||
|
System.out.println(source_enc+" 解密后 : "+dec); |
||||
|
|
||||
|
// String userIdCode = IdCardCryptoUtil.symmetricEncryptIdCard("VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0", "18361639869");
|
||||
|
// String userNameCode = IdCardCryptoUtil.symmetricEncryptIdCard("eWIzY3BMRVNEQXhvUUlXMA==", "汪鑫");
|
||||
|
// System.out.println(userIdCode);
|
||||
|
// String phone = IdCardCryptoUtil.symmetricDecryptIdCard("VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0", "0d17ehr8XLbrj2kbgeEiDg==");
|
||||
|
// String sfz = IdCardCryptoUtil.symmetricDecryptIdCard("VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0", "9vtFzYM8BZMXg2wlaegdMdXaLufwHP8WOhqKl4Ld3IM=");
|
||||
|
// System.out.println(phone);
|
||||
|
// System.out.println(sfz);
|
||||
|
|
||||
|
|
||||
|
System.out.println("====================== 实用 ======================"); |
||||
|
String[] strings={ |
||||
|
"13360957126", |
||||
|
"16688211945", |
||||
|
"17339838670", |
||||
|
"18460319603", |
||||
|
"15626498490", |
||||
|
"18080147218", |
||||
|
}; |
||||
|
|
||||
|
// 刘义 13410900924 19020722074
|
||||
|
// 杜海荣 15019258592 19020722059
|
||||
|
// 张志兴 13760735454 19020722087
|
||||
|
// 陈翠莉 13192669039 19020722072
|
||||
|
// 李大航 17799857610 19020722079
|
||||
|
|
||||
|
// String string="";
|
||||
|
for(String s:strings){ |
||||
|
String phoneJM=IdCardCryptoUtil.symmetricEncryptIdCard(key, s); |
||||
|
System.out.println(s+" 加密后: "+phoneJM); |
||||
|
// string=string+"'"+phoneJM+"',";
|
||||
|
} |
||||
|
// System.out.println(string);
|
||||
|
|
||||
|
/* String[] strings={ |
||||
|
"i4BpGrKBbN0LtUemOvlhd+coz3KcCkFyFLe2lqbwlog=","bNW1LELHjqRD1LhoqcVlppnQv2Q0Ob3r+Gc9DXX/I30=","ohDLgX+wBEXZcsI1GFhc29OgyhRw2fpn9cK5YItWBFA=","oi5Rqny8mo7ar+GOhZTmH9f65xsKpYaNWRWCdsBWyhM=","ZbhCWrGlvSkbC5xkMH8/DNK2D7TAjbMtaI4S8rK5prc=","wqTtpWcQtEnNlzUGEyqNTK2gs88ReMSCUVhfg29V7sU=" |
||||
|
}; |
||||
|
String string=""; |
||||
|
for(String s:strings){ |
||||
|
String sfzjm = IdCardCryptoUtil.symmetricDecryptIdCard("VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0", s); |
||||
|
System.out.println(s+":"+sfzjm); |
||||
|
string=string+"'"+sfzjm+"',"; |
||||
|
} |
||||
|
System.out.println(string);*/ |
||||
|
|
||||
|
// System.out.println(userNameCode);
|
||||
|
//// System.out.println(secret);
|
||||
|
// Map<String,Object> heardMap = new HashMap<>();
|
||||
|
// heardMap.put("x-auth-channel", IdUtil.simpleUUID());
|
||||
|
// heardMap.put("x-auth-app-code","zfjdm");
|
||||
|
// String s = IdCardCryptoUtil.httpSendPost("http://egbpub.siqhz.com/egb/api/thirdauth/pub/auth/token",userIdCode,userNameCode,"zfjdm");
|
||||
|
// System.out.println(s);
|
||||
|
//
|
||||
|
//
|
||||
|
// String secret = IdCardCryptoUtil.symmetricEncryptIdCard("eWIzY3BMRVNEQXhvUUlXMA==", "df00fe17-dd15-4def-b1ff-8128ffe068ec");
|
||||
|
// Map<String,Object> params = new HashMap<>();
|
||||
|
// params.put("accessKeySign",secret);
|
||||
|
// params.put("appCode","zfjdm");
|
||||
|
// String data = HttpUtil.httpSendPost("http://egbpub.siqhz.com/egb/api/thirdauth/pub/auth/getUserInfo",
|
||||
|
// JSONObject.toJSONString(params),new HashMap<>());
|
||||
|
// System.out.println(data);
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 证件号通过RSA的公钥加密 |
||||
|
* |
||||
|
* @param publicKey 公钥Base64 |
||||
|
* @param privateKey 私钥Base64 |
||||
|
* @param content 被加密的字符串 |
||||
|
* @return 加密后的字符串 |
||||
|
*/ |
||||
|
public static String asymmetricEncryptIdCard(String publicKey, String privateKey, String content) { |
||||
|
RSA rsa = SecureUtil.rsa(privateKey, publicKey); |
||||
|
byte[] encrypt = rsa.encrypt(content, StandardCharsets.UTF_8, KeyType.PublicKey); |
||||
|
return Base64.encode(encrypt); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 证件号通过RSA的私钥解密 |
||||
|
* |
||||
|
* @param publicKey 公钥Base64 |
||||
|
* @param privateKey 私钥Base64 |
||||
|
* @param content 被解密的字符串 |
||||
|
* @return 解密后的字符串 |
||||
|
*/ |
||||
|
public static String asymmetricDecryptIdCard(String publicKey, String privateKey, String content) { |
||||
|
RSA rsa = SecureUtil.rsa(privateKey, publicKey); |
||||
|
byte[] decrypt = rsa.decrypt(content, KeyType.PrivateKey); |
||||
|
return StrUtil.str(decrypt, StandardCharsets.UTF_8); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 证件号对称加密后入库 |
||||
|
* |
||||
|
* @param key 密钥Base64 |
||||
|
* @param content 被加密的字符串 |
||||
|
* @return 加密后的字符串 |
||||
|
*/ |
||||
|
public static String symmetricEncryptIdCard(String key, String content) { |
||||
|
return SecureUtil.aes(SecureUtil.decode(key)).encryptBase64(content); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 证件号对称解密 |
||||
|
* |
||||
|
* @param key 密钥Base64 |
||||
|
* @param content 被解密的字符串Base64 |
||||
|
* @return 解密后的字符串 |
||||
|
*/ |
||||
|
public static String symmetricDecryptIdCard(String key, String content) { |
||||
|
return SecureUtil.aes(SecureUtil.decode(key)).decryptStr(content); |
||||
|
} |
||||
|
|
||||
|
public static String httpSendPost(String url,String userId,String userName,String appCode){ |
||||
|
HttpRequest request = HttpRequest.post(url) |
||||
|
.header("x-auth-channel",IdUtil.simpleUUID()) |
||||
|
.header("x-auth-app-code",appCode) |
||||
|
.form("userId", userId) |
||||
|
.form("userName", userName); |
||||
|
request.contentType("application/x-www-form-urlencoded"); |
||||
|
JSONObject jsonObject = JSONObject.parseObject(request.execute().body()); |
||||
|
String data = jsonObject.getString("data"); |
||||
|
return data; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,413 @@ |
|||||
|
package com.zdxt.enforcementcode.common.util; |
||||
|
|
||||
|
import cn.hutool.core.text.StrFormatter; |
||||
|
|
||||
|
import java.util.Collection; |
||||
|
import java.util.Map; |
||||
|
import java.util.UUID; |
||||
|
|
||||
|
/** |
||||
|
* 字符串工具类 |
||||
|
* |
||||
|
* @author ruoyi |
||||
|
*/ |
||||
|
public class StringUtils extends org.apache.commons.lang3.StringUtils |
||||
|
{ |
||||
|
/** 空字符串 */ |
||||
|
private static final String NULLSTR = ""; |
||||
|
|
||||
|
/** 下划线 */ |
||||
|
private static final char SEPARATOR = '_'; |
||||
|
|
||||
|
/** |
||||
|
* 获取参数不为空值 |
||||
|
* |
||||
|
* @param value defaultValue 要判断的value |
||||
|
* @return value 返回值 |
||||
|
*/ |
||||
|
public static <T> T nvl(T value, T defaultValue) |
||||
|
{ |
||||
|
return value != null ? value : defaultValue; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个Collection是否为空, 包含List,Set,Queue |
||||
|
* |
||||
|
* @param coll 要判断的Collection |
||||
|
* @return true:为空 false:非空 |
||||
|
*/ |
||||
|
public static boolean isEmpty(Collection<?> coll) |
||||
|
{ |
||||
|
return isNull(coll) || coll.isEmpty(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个Collection是否非空,包含List,Set,Queue |
||||
|
* |
||||
|
* @param coll 要判断的Collection |
||||
|
* @return true:非空 false:空 |
||||
|
*/ |
||||
|
public static boolean isNotEmpty(Collection<?> coll) |
||||
|
{ |
||||
|
return !isEmpty(coll); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个对象数组是否为空 |
||||
|
* |
||||
|
* @param objects 要判断的对象数组 |
||||
|
** @return true:为空 false:非空 |
||||
|
*/ |
||||
|
public static boolean isEmpty(Object[] objects) |
||||
|
{ |
||||
|
return isNull(objects) || (objects.length == 0); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个对象数组是否非空 |
||||
|
* |
||||
|
* @param objects 要判断的对象数组 |
||||
|
* @return true:非空 false:空 |
||||
|
*/ |
||||
|
public static boolean isNotEmpty(Object[] objects) |
||||
|
{ |
||||
|
return !isEmpty(objects); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个Map是否为空 |
||||
|
* |
||||
|
* @param map 要判断的Map |
||||
|
* @return true:为空 false:非空 |
||||
|
*/ |
||||
|
public static boolean isEmpty(Map<?, ?> map) |
||||
|
{ |
||||
|
return isNull(map) || map.isEmpty(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个Map是否为空 |
||||
|
* |
||||
|
* @param map 要判断的Map |
||||
|
* @return true:非空 false:空 |
||||
|
*/ |
||||
|
public static boolean isNotEmpty(Map<?, ?> map) |
||||
|
{ |
||||
|
return !isEmpty(map); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个字符串是否为空串 |
||||
|
* |
||||
|
* @param str String |
||||
|
* @return true:为空 false:非空 |
||||
|
*/ |
||||
|
public static boolean isEmpty(String str) |
||||
|
{ |
||||
|
return isNull(str) || NULLSTR.equals(str.trim()); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个字符串是否为非空串 |
||||
|
* |
||||
|
* @param str String |
||||
|
* @return true:非空串 false:空串 |
||||
|
*/ |
||||
|
public static boolean isNotEmpty(String str) |
||||
|
{ |
||||
|
return !isEmpty(str); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个对象是否为空 |
||||
|
* |
||||
|
* @param object Object |
||||
|
* @return true:为空 false:非空 |
||||
|
*/ |
||||
|
public static boolean isNull(Object object) |
||||
|
{ |
||||
|
return object == null; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个对象是否非空 |
||||
|
* |
||||
|
* @param object Object |
||||
|
* @return true:非空 false:空 |
||||
|
*/ |
||||
|
public static boolean isNotNull(Object object) |
||||
|
{ |
||||
|
return !isNull(object); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* * 判断一个对象是否是数组类型(Java基本型别的数组) |
||||
|
* |
||||
|
* @param object 对象 |
||||
|
* @return true:是数组 false:不是数组 |
||||
|
*/ |
||||
|
public static boolean isArray(Object object) |
||||
|
{ |
||||
|
return isNotNull(object) && object.getClass().isArray(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 去空格 |
||||
|
*/ |
||||
|
public static String trim(String str) |
||||
|
{ |
||||
|
return (str == null ? "" : str.trim()); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 截取字符串 |
||||
|
* |
||||
|
* @param str 字符串 |
||||
|
* @param start 开始 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public static String substring(final String str, int start) |
||||
|
{ |
||||
|
if (str == null) |
||||
|
{ |
||||
|
return NULLSTR; |
||||
|
} |
||||
|
|
||||
|
if (start < 0) |
||||
|
{ |
||||
|
start = str.length() + start; |
||||
|
} |
||||
|
|
||||
|
if (start < 0) |
||||
|
{ |
||||
|
start = 0; |
||||
|
} |
||||
|
if (start > str.length()) |
||||
|
{ |
||||
|
return NULLSTR; |
||||
|
} |
||||
|
|
||||
|
return str.substring(start); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 截取字符串 |
||||
|
* |
||||
|
* @param str 字符串 |
||||
|
* @param start 开始 |
||||
|
* @param end 结束 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public static String substring(final String str, int start, int end) |
||||
|
{ |
||||
|
if (str == null) |
||||
|
{ |
||||
|
return NULLSTR; |
||||
|
} |
||||
|
|
||||
|
if (end < 0) |
||||
|
{ |
||||
|
end = str.length() + end; |
||||
|
} |
||||
|
if (start < 0) |
||||
|
{ |
||||
|
start = str.length() + start; |
||||
|
} |
||||
|
|
||||
|
if (end > str.length()) |
||||
|
{ |
||||
|
end = str.length(); |
||||
|
} |
||||
|
|
||||
|
if (start > end) |
||||
|
{ |
||||
|
return NULLSTR; |
||||
|
} |
||||
|
|
||||
|
if (start < 0) |
||||
|
{ |
||||
|
start = 0; |
||||
|
} |
||||
|
if (end < 0) |
||||
|
{ |
||||
|
end = 0; |
||||
|
} |
||||
|
|
||||
|
return str.substring(start, end); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 格式化文本, {} 表示占位符<br> |
||||
|
* 此方法只是简单将占位符 {} 按照顺序替换为参数<br> |
||||
|
* 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br> |
||||
|
* 例:<br> |
||||
|
* 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br> |
||||
|
* 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br> |
||||
|
* 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br> |
||||
|
* |
||||
|
* @param template 文本模板,被替换的部分用 {} 表示 |
||||
|
* @param params 参数值 |
||||
|
* @return 格式化后的文本 |
||||
|
*/ |
||||
|
public static String format(String template, Object... params) |
||||
|
{ |
||||
|
if (isEmpty(params) || isEmpty(template)) |
||||
|
{ |
||||
|
return template; |
||||
|
} |
||||
|
return StrFormatter.format(template, params); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 下划线转驼峰命名 |
||||
|
*/ |
||||
|
public static String toUnderScoreCase(String str) |
||||
|
{ |
||||
|
if (str == null) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
StringBuilder sb = new StringBuilder(); |
||||
|
// 前置字符是否大写
|
||||
|
boolean preCharIsUpperCase = true; |
||||
|
// 当前字符是否大写
|
||||
|
boolean curreCharIsUpperCase = true; |
||||
|
// 下一字符是否大写
|
||||
|
boolean nexteCharIsUpperCase = true; |
||||
|
for (int i = 0; i < str.length(); i++) |
||||
|
{ |
||||
|
char c = str.charAt(i); |
||||
|
if (i > 0) |
||||
|
{ |
||||
|
preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1)); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
preCharIsUpperCase = false; |
||||
|
} |
||||
|
|
||||
|
curreCharIsUpperCase = Character.isUpperCase(c); |
||||
|
|
||||
|
if (i < (str.length() - 1)) |
||||
|
{ |
||||
|
nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1)); |
||||
|
} |
||||
|
|
||||
|
if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase) |
||||
|
{ |
||||
|
sb.append(SEPARATOR); |
||||
|
} |
||||
|
else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase) |
||||
|
{ |
||||
|
sb.append(SEPARATOR); |
||||
|
} |
||||
|
sb.append(Character.toLowerCase(c)); |
||||
|
} |
||||
|
return sb.toString(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 是否包含字符串 |
||||
|
* |
||||
|
* @param str 验证字符串 |
||||
|
* @param strs 字符串组 |
||||
|
* @return 包含返回true |
||||
|
*/ |
||||
|
public static boolean inStringIgnoreCase(String str, String... strs) |
||||
|
{ |
||||
|
if (str != null && strs != null) |
||||
|
{ |
||||
|
for (String s : strs) |
||||
|
{ |
||||
|
if (str.equalsIgnoreCase(trim(s))) |
||||
|
{ |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld |
||||
|
* |
||||
|
* @param name 转换前的下划线大写方式命名的字符串 |
||||
|
* @return 转换后的驼峰式命名的字符串 |
||||
|
*/ |
||||
|
public static String convertToCamelCase(String name) |
||||
|
{ |
||||
|
StringBuilder result = new StringBuilder(); |
||||
|
// 快速检查
|
||||
|
if (name == null || name.isEmpty()) |
||||
|
{ |
||||
|
// 没必要转换
|
||||
|
return ""; |
||||
|
} |
||||
|
else if (!name.contains("_")) |
||||
|
{ |
||||
|
// 不含下划线,仅将首字母大写
|
||||
|
return name.substring(0, 1).toUpperCase() + name.substring(1); |
||||
|
} |
||||
|
// 用下划线将原始字符串分割
|
||||
|
String[] camels = name.split("_"); |
||||
|
for (String camel : camels) |
||||
|
{ |
||||
|
// 跳过原始字符串中开头、结尾的下换线或双重下划线
|
||||
|
if (camel.isEmpty()) |
||||
|
{ |
||||
|
continue; |
||||
|
} |
||||
|
// 首字母大写
|
||||
|
result.append(camel.substring(0, 1).toUpperCase()); |
||||
|
result.append(camel.substring(1).toLowerCase()); |
||||
|
} |
||||
|
return result.toString(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 驼峰式命名法 |
||||
|
* 例如:user_name->userName |
||||
|
*/ |
||||
|
public static String toCamelCase(String s) |
||||
|
{ |
||||
|
if (s == null) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
s = s.toLowerCase(); |
||||
|
StringBuilder sb = new StringBuilder(s.length()); |
||||
|
boolean upperCase = false; |
||||
|
for (int i = 0; i < s.length(); i++) |
||||
|
{ |
||||
|
char c = s.charAt(i); |
||||
|
|
||||
|
if (c == SEPARATOR) |
||||
|
{ |
||||
|
upperCase = true; |
||||
|
} |
||||
|
else if (upperCase) |
||||
|
{ |
||||
|
sb.append(Character.toUpperCase(c)); |
||||
|
upperCase = false; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
sb.append(c); |
||||
|
} |
||||
|
} |
||||
|
return sb.toString(); |
||||
|
} |
||||
|
public static String getUUID(){ |
||||
|
String str = UUID.randomUUID().toString(); |
||||
|
return str.replace("-", ""); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public static boolean isLinux() { |
||||
|
return System.getProperty("os.name").toLowerCase().contains("linux"); |
||||
|
} |
||||
|
|
||||
|
public static boolean isWindows() { |
||||
|
return System.getProperty("os.name").toLowerCase().contains("windows"); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,44 @@ |
|||||
|
package com.zdxt.enforcementcode.domain.vo.enterprise; |
||||
|
|
||||
|
import cn.idev.excel.annotation.ExcelIgnoreUnannotated; |
||||
|
import com.zdxt.enforcementcode.domain.EnforcementRegistration; |
||||
|
import io.github.linpeilie.annotations.AutoMapper; |
||||
|
import lombok.Data; |
||||
|
import org.dromara.common.core.utils.DateUtils; |
||||
|
import org.dromara.common.sensitive.annotation.Sensitive; |
||||
|
import org.dromara.common.sensitive.core.SensitiveStrategy; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.Date; |
||||
|
import java.util.concurrent.TimeUnit; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 企业端-执法人员 |
||||
|
* |
||||
|
* @author Lion Li |
||||
|
* @date 2026-04-17 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class EnforcementLawUserVo implements Serializable { |
||||
|
|
||||
|
/** |
||||
|
* 用户ID |
||||
|
*/ |
||||
|
private Long userId; |
||||
|
|
||||
|
/** |
||||
|
* 用户账号 |
||||
|
*/ |
||||
|
private String userName; |
||||
|
|
||||
|
/** |
||||
|
* 用户昵称 |
||||
|
*/ |
||||
|
private String nickName; |
||||
|
|
||||
|
/** |
||||
|
* 手机号码 |
||||
|
*/ |
||||
|
private String phonenumber; |
||||
|
} |
||||
@ -0,0 +1,25 @@ |
|||||
|
package com.zdxt.enforcementcode.domain.vo.enterprise; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* 企业端-执法登记记录对象 enforcement_registration |
||||
|
* |
||||
|
* @author Lion Li |
||||
|
* @date 2026-04-17 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class EnforcementRegistrationDetailVo { |
||||
|
|
||||
|
/** |
||||
|
* 执法登记信息 |
||||
|
*/ |
||||
|
EnforcementRegistrationInfoVo enforcementRegistrationVo; |
||||
|
|
||||
|
/** |
||||
|
* 执法评价信息 |
||||
|
*/ |
||||
|
EnterpriseEvaluateInfoVo enterpriseEvaluateInfoVo; |
||||
|
} |
||||
|
|
||||
|
|
||||
@ -0,0 +1,319 @@ |
|||||
|
package com.zdxt.enforcementcode.domain.vo.enterprise; |
||||
|
|
||||
|
import com.zdxt.enforcementcode.common.commonenum.LawTaskSourceEnum; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serial; |
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* 企业端-执法登记记录对象 enforcement_registration |
||||
|
* |
||||
|
* @author Lion Li |
||||
|
* @date 2026-04-17 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class EnforcementRegistrationInfoVo { |
||||
|
|
||||
|
@Serial |
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 主键ID |
||||
|
*/ |
||||
|
private String id; |
||||
|
|
||||
|
/** |
||||
|
* 执法部门 |
||||
|
*/ |
||||
|
private String lawEnforcement; |
||||
|
|
||||
|
/** |
||||
|
* 执法部门ID |
||||
|
*/ |
||||
|
private String lawEnforcementId; |
||||
|
|
||||
|
/** |
||||
|
* 被执法企业ID |
||||
|
*/ |
||||
|
private String enterpriseId; |
||||
|
|
||||
|
/** |
||||
|
* 被执法企业 |
||||
|
*/ |
||||
|
private String enterpriseName; |
||||
|
|
||||
|
/** |
||||
|
* 被执法企业税号 |
||||
|
*/ |
||||
|
private String enterpriseNumber; |
||||
|
|
||||
|
/** |
||||
|
* 执法时间 |
||||
|
*/ |
||||
|
private Date enforcementTime; |
||||
|
|
||||
|
/** |
||||
|
* 执法人员姓名 |
||||
|
*/ |
||||
|
private String lawEnforcer; |
||||
|
|
||||
|
/** |
||||
|
* 执法人员ID |
||||
|
*/ |
||||
|
private String lawEnforcerId; |
||||
|
|
||||
|
/** |
||||
|
* 执法人员联系方式 |
||||
|
*/ |
||||
|
private String lawEnforcerTel; |
||||
|
|
||||
|
/** |
||||
|
* 其他执法人员 |
||||
|
*/ |
||||
|
private String lawEnforcerTwo; |
||||
|
|
||||
|
/** |
||||
|
* 其他执法人员ID |
||||
|
*/ |
||||
|
private String lawEnforcerIdTwo; |
||||
|
|
||||
|
/** |
||||
|
* 执法人员联系方式 |
||||
|
*/ |
||||
|
private String lawEnforcerTelTwo; |
||||
|
|
||||
|
/** |
||||
|
* 辅助人员姓名 |
||||
|
*/ |
||||
|
private String subsidiaryer; |
||||
|
|
||||
|
/** |
||||
|
* 辅助人员id |
||||
|
*/ |
||||
|
private String subsidiaryerId; |
||||
|
|
||||
|
/** |
||||
|
* 辅助人员联系方式 |
||||
|
*/ |
||||
|
private String subsidiaryerTel; |
||||
|
|
||||
|
/** |
||||
|
* 执法事项 |
||||
|
*/ |
||||
|
private String lawEnforcementItem; |
||||
|
|
||||
|
/** |
||||
|
* 执法依据 |
||||
|
*/ |
||||
|
private String lawEnforcementBasis; |
||||
|
|
||||
|
/** |
||||
|
* 备注 |
||||
|
*/ |
||||
|
private String remark; |
||||
|
|
||||
|
/** |
||||
|
* 执法结果 0 合格 1 不合格 |
||||
|
*/ |
||||
|
private Long reslut; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String userId; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String deptId; |
||||
|
|
||||
|
/** |
||||
|
* 是否删除 0 否 1 是 |
||||
|
*/ |
||||
|
private Long isDelete; |
||||
|
|
||||
|
/** |
||||
|
* 数据状态 0 正常 1 取消 |
||||
|
*/ |
||||
|
private Long status; |
||||
|
|
||||
|
/** |
||||
|
* 登记编号 |
||||
|
*/ |
||||
|
private String lawEnforcementCode; |
||||
|
|
||||
|
/** |
||||
|
* 是否投诉 0 否 1 是 |
||||
|
*/ |
||||
|
private Long isComplaint; |
||||
|
|
||||
|
/** |
||||
|
* 数据保存或提交 0 保存 1提交 |
||||
|
*/ |
||||
|
private Long isSubmit; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String enforce; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String uniteCheck; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String lawEnforcementItemText; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String lawField; |
||||
|
|
||||
|
/** |
||||
|
* 任务来源 |
||||
|
*/ |
||||
|
private String checkCategory; |
||||
|
|
||||
|
/** |
||||
|
* 任务来源-中文描述 |
||||
|
*/ |
||||
|
private String checkCategoryDesc; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String checkCss; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String enforceReason; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String bureauDeptId; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String bureauDeptName; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String lawEnforcementBasisText; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private Long isEvaluate; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String lawId; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String lawText; |
||||
|
|
||||
|
/** |
||||
|
* 是否是联合检查 需要=1 and union_no不为空才是联合检查 |
||||
|
*/ |
||||
|
private Long hasUnion; |
||||
|
|
||||
|
/** |
||||
|
* 是否委托执法 |
||||
|
*/ |
||||
|
private Long hasAuto; |
||||
|
|
||||
|
/** |
||||
|
* 联合执法的分组编号 |
||||
|
*/ |
||||
|
private String unionNo; |
||||
|
|
||||
|
/** |
||||
|
* 执法类别(新) |
||||
|
*/ |
||||
|
private String lawEnforceCategory; |
||||
|
|
||||
|
/** |
||||
|
* 执法类别-中文描述 |
||||
|
*/ |
||||
|
private String lawEnforceCategoryDesc; |
||||
|
|
||||
|
/** |
||||
|
* 委托执法部门id |
||||
|
*/ |
||||
|
private String entrustDeptId; |
||||
|
|
||||
|
/** |
||||
|
* 委托执法部门名称 |
||||
|
*/ |
||||
|
private String entrustDeptName; |
||||
|
|
||||
|
/** |
||||
|
* 企业注册地址 |
||||
|
*/ |
||||
|
private String enterpriseAddress; |
||||
|
|
||||
|
/** |
||||
|
* 企业注册区 |
||||
|
*/ |
||||
|
private String district; |
||||
|
|
||||
|
/** |
||||
|
* 企业注册街道 |
||||
|
*/ |
||||
|
private String street; |
||||
|
|
||||
|
/** |
||||
|
* 1:市直登记, 3:区直登记 |
||||
|
*/ |
||||
|
private Long zone; |
||||
|
|
||||
|
/** |
||||
|
* 是否真联合执法(0:未联合; 1:已经联合) |
||||
|
*/ |
||||
|
private Long isRealUnion; |
||||
|
|
||||
|
/** |
||||
|
* 创建部门 |
||||
|
*/ |
||||
|
private String createDept; |
||||
|
|
||||
|
/** |
||||
|
* 创建者 |
||||
|
*/ |
||||
|
|
||||
|
private String createBy; |
||||
|
|
||||
|
/** |
||||
|
* 创建时间 |
||||
|
*/ |
||||
|
|
||||
|
private Date createTime; |
||||
|
/** |
||||
|
* 更新者 |
||||
|
*/ |
||||
|
private String updateBy; |
||||
|
/** |
||||
|
* 更新时间 |
||||
|
*/ |
||||
|
private Date updateTime; |
||||
|
|
||||
|
|
||||
|
public String getCheckCategoryDesc() { |
||||
|
return LawTaskSourceEnum.getValueByKey(checkCategory); |
||||
|
} |
||||
|
|
||||
|
public String getLawEnforceCategoryDesc() { |
||||
|
return LawTaskSourceEnum.getValueByKey(lawEnforceCategory); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,134 @@ |
|||||
|
package com.zdxt.enforcementcode.domain.vo.enterprise; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
import lombok.Data; |
||||
|
import lombok.EqualsAndHashCode; |
||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity; |
||||
|
|
||||
|
import java.io.Serial; |
||||
|
|
||||
|
/** |
||||
|
* 企业端-执法评价对象 enterprise_evaluate |
||||
|
* |
||||
|
* @author Lion Li |
||||
|
* @date 2026-04-13 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class EnterpriseEvaluateInfoVo extends BaseEntity { |
||||
|
|
||||
|
@Serial |
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 主键ID |
||||
|
*/ |
||||
|
private String id; |
||||
|
|
||||
|
/** |
||||
|
* 案件名称 |
||||
|
*/ |
||||
|
private String enforcementName; |
||||
|
|
||||
|
/** |
||||
|
* 案件ID |
||||
|
*/ |
||||
|
private String enforcementId; |
||||
|
|
||||
|
/** |
||||
|
* 评价|意见建议 |
||||
|
*/ |
||||
|
private String evaluateDescription; |
||||
|
|
||||
|
/** |
||||
|
* 联系人 |
||||
|
*/ |
||||
|
private String linkman; |
||||
|
|
||||
|
/** |
||||
|
* 联系电话 |
||||
|
*/ |
||||
|
private String linkmanTel; |
||||
|
|
||||
|
/** |
||||
|
* 是否授权 0 否 1是 |
||||
|
*/ |
||||
|
private Long authorization; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private Long inspectionEfficiency; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private Long checkEffect; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private Long serviceExperience; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private Long checkQuality; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String batchId; |
||||
|
|
||||
|
/** |
||||
|
* 检查效果(启用) |
||||
|
*/ |
||||
|
private Long checkEffectiveness; |
||||
|
|
||||
|
/** |
||||
|
* 执法态度(启用) |
||||
|
*/ |
||||
|
private Long checkAttitude; |
||||
|
|
||||
|
/** |
||||
|
* 程序合法(启用) |
||||
|
*/ |
||||
|
private Long proceduralLegality; |
||||
|
|
||||
|
/** |
||||
|
* 满意程度:不满意:1,较满意:2,非常满意:3 |
||||
|
*/ |
||||
|
private Long satisfactionLevel; |
||||
|
|
||||
|
/** |
||||
|
* 其他问题开关:打开:1;关闭:2 |
||||
|
*/ |
||||
|
private Long otherProblemSwitch; |
||||
|
|
||||
|
/** |
||||
|
* 1是0否存在逐利检查,接受被检查企业的馈赠、报酬、福利等; |
||||
|
*/ |
||||
|
private Long problem1; |
||||
|
|
||||
|
/** |
||||
|
* 1是0否存在要求被检查企业提供宴请、娱乐、旅游等活动; |
||||
|
*/ |
||||
|
private Long problem2; |
||||
|
|
||||
|
/** |
||||
|
* 是否存在干扰企业正常生产经营,刻意要求法定代表人到场行为; |
||||
|
*/ |
||||
|
private Long problem3; |
||||
|
|
||||
|
/** |
||||
|
* 是否存在任性处罚企业,乱查封、乱扣押、乱冻结、动辄责令停产停业的行为; |
||||
|
*/ |
||||
|
private Long problem4; |
||||
|
|
||||
|
/** |
||||
|
* 是否存在变相检查,以观摩、督导、考察等名义行检查之实. |
||||
|
*/ |
||||
|
private Long problem5; |
||||
|
|
||||
|
|
||||
|
} |
||||
Loading…
Reference in new issue