Commit 029a6a7b authored by 廖鑫's avatar 廖鑫

厅局办件推送一体化,一阶段开发完成

parent c76be06d
...@@ -16,12 +16,14 @@ ...@@ -16,12 +16,14 @@
<groupId>com.mortals.xhx</groupId> <groupId>com.mortals.xhx</groupId>
<artifactId>xhx-base</artifactId> <artifactId>xhx-base</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.mortals.framework</groupId> <groupId>com.mortals.framework</groupId>
<artifactId>mortals-framework-springcloud</artifactId> <artifactId>mortals-framework-springcloud</artifactId>
</dependency> </dependency>
......
...@@ -59,6 +59,17 @@ ...@@ -59,6 +59,17 @@
<version>2.0.5</version> <version>2.0.5</version>
</dependency> </dependency>
<!--处理身份证格式-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.6.2</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
package com.mortals.xhx.common.code;
/**
* @Title:
* @Package: com.atm.affair
* @Description: (用一句话描述该文件做什么)
* @Author: tinker
* @Date: 4/9/21
* @Version: V1.0
*/
public enum ApplicantTypeEnums {
/*
* "申请人属性 1.法人 2.自然人"
* */
LEGAL("1", "法人"),
PERSON("2", "自然人");
private String code;
private String value;
ApplicantTypeEnums(String code, String value) {
this.value = value;
this.code = code;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
package com.mortals.xhx.common.code;
import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.common.IBaseEnum;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 区域级别
*
* @author yiqimin
* @create 2018/09/26
*/
public enum NodeTypeEnum {
受理("BusiType_1","11"),
审查("BusiType_13","21"),
决定("BusiType_8","41"),
办结("end","81");
private String code;
private String desc;
NodeTypeEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setValue(String desc) {
this.desc = desc;
}
}
package com.mortals.xhx.common.code;
import org.springframework.beans.factory.annotation.Value;
/**
* @author: coder wxy
* @date: 2020-12-21
* @description: 系统常量
*/
public class SystemConstant {
public static final String SUCCESS_CODE = "0";
//这里为动态,根据接口和编码来指定
/**
* 比如:成都申请了统一平台:编码未1111
* 接口为3个:http://59,http://59,http://59
* 可用5101 -》1111 和三个接口
*/
@Value("#{interface.sysInterface.openCode}")
public static final String SYS_CODE = "XXXXX";
public static final int DAYS = 10; //天数
public static boolean BEOR = true; //是否前后,true 只往前 false 前后days天
}
package com.mortals.xhx.common.excel.annotation;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface ExcelAttribute {
/**
* 导出到Excel中的名字.
*/
String name();
/**
* 配置列的名称,对应A,B,C,D....
*/
String column();
/**
* 提示信息
*/
String prompt() default "";
/**
* 列宽
*/
String colWidth() default "4000";
/**
* 设置只能选择不能输入的列内容.
*/
String[] combo() default {};
/**
* 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写.
*/
boolean isExport() default true;
}
\ No newline at end of file
package com.mortals.xhx.common.excel.annotation;
import java.lang.annotation.*;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface ExcelElement {
/**
*
* 默认属性
* @return String 返回类型
* @throws
*/
String value() default "";
}
package com.mortals.xhx.common.excel.annotation;
import java.lang.annotation.*;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface ExcelID {
/**
*
* 默认属性
* @return String 返回类型
* @throws
*/
String value() default "";
}
package com.mortals.xhx.common.excel.config;
/**
* @描述
* @创建人 zxfei
* @创建时间 2021/3/4
* @修改人和其它信息
*/
public enum ElementTypePath {
SET("java.util.Set"),MAP("java.util.Map"),LIST("java.util.List");
private String path;
private ElementTypePath(String path){
this.path = path;
}
/**
*
* 获取元素
* @param path
* @return ElementTypePath 返回类型
* @throws
*/
public static ElementTypePath getElementTypePath(String path){
for(ElementTypePath elementTypePath:ElementTypePath.values()){
if(elementTypePath.path.equals(path)){
return elementTypePath;
}
}
return null;
}
@SuppressWarnings("static-access")
@Override
public String toString() {
return this.valueOf(path).getPath();
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
}
package com.mortals.xhx.common.excel.core;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import java.util.List;
import java.util.Map;
/**
*
* 定义需要重写的细节
* @author 神盾局
* @date 2016年8月9日 下午3:26:55
*
* @param <T>
*/
public abstract class AbstractExcelUtil<T> implements IExcelUtil<T>{
public abstract void createHeader(HSSFWorkbook wb, HSSFSheet sheet, Map<String, String> configFieldMap);
public abstract void createHeaderFlat(HSSFWorkbook wb, HSSFSheet sheet, Map<String, String> configFieldMap);
public abstract void createRow(HSSFWorkbook wb,Object t,HSSFSheet sheet);
/**
* 填充定制化数据
* @param wb
* @param t
* @param sheet
*/
public abstract void createRowFlat(HSSFWorkbook wb,Object t,HSSFSheet sheet);
public abstract int mergedRegio(Object t,HSSFSheet sheet,int rowStart);
public abstract List<T> dispatch(Sheet sheet);
}
package com.mortals.xhx.common.excel.core;
import lombok.SneakyThrows;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @描述
* @创建人 zxfei
* @创建时间 2021/3/4
* @修改人和其它信息
*/
public abstract class AbstractExcelUtils<T> extends AbstractExcelUtil<T> {
@SneakyThrows
@Override
public List<T> importExcel(String sheetName, String fileName, InputStream input) {
List<T> list = null;
try {
Workbook workbook = WorkbookFactory.create(input);
Sheet sheet = workbook.getSheetAt(0);
list = dispatch(sheet);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
@SuppressWarnings("unchecked")
@Override
public boolean exportExcel(List<T> list, String sheetName, OutputStream output, Map<String, String> configFieldMap) {
//此处 对类型进行转换
List<T> ilist = new ArrayList<>();
for (T t : list) {
ilist.add(t);
}
List<T>[] lists = new ArrayList[1];
lists[0] = ilist;
String[] sheetNames = new String[1];
sheetNames[0] = sheetName;
return exportExcel(lists, sheetNames, output, configFieldMap);
}
@Override
public boolean exportExcel(List<T>[] lists, String[] sheetNames, OutputStream output, Map<String, String> configFieldMap) {
if (lists.length != sheetNames.length) {
System.out.println("数组长度不一致");
return false;
}
// 创建excel工作簿
HSSFWorkbook wb = ExcelTool.createWorkbook();
// 创建第一个sheet(页),命名为 new sheet
for (int i = 0; i < lists.length; i++) {
List<T> list = lists[i];
ExcelTool.setNum(0);
// 产生工作表对象
HSSFSheet sheet = ExcelTool.createSheet(i, sheetNames[i]);
// 创建表头
createHeader(wb, sheet, configFieldMap);
// 写入数据
int rowStart = 1;
for (T t : list) {
createRow(wb, t, sheet);
ExcelTool.setNum(ExcelTool.getNum() + 1);
// rowStart = mergedRegio(t, sheet, rowStart);
}
}
try {
output.flush();
wb.write(output);
output.close();
return true;
} catch (IOException e) {
e.printStackTrace();
System.out.println("Output is closed ");
return false;
}
}
@SuppressWarnings("unchecked")
@Override
public boolean exportExcelFlat(List<T> list, String sheetName, OutputStream output, Map<String, String> configFieldMap) {
//此处 对类型进行转换
List<T> ilist = new ArrayList<>();
for (T t : list) {
ilist.add(t);
}
List<T>[] lists = new ArrayList[1];
lists[0] = ilist;
String[] sheetNames = new String[1];
sheetNames[0] = sheetName;
return exportExcelFlat(lists, sheetNames, output, configFieldMap);
}
@Override
public boolean exportExcelFlat(List<T>[] lists, String[] sheetNames, OutputStream output, Map<String, String> configFieldMap) {
if (lists.length != sheetNames.length) {
System.out.println("数组长度不一致");
return false;
}
//这里创建工作簿和sheet 构建初始化的模板
// 创建excel工作簿
HSSFWorkbook wb = ExcelTool.createWorkbook();
List<T> list = lists[0];
// 产生工作表对象及其表名
HSSFSheet sheet = ExcelTool.createSheet(0, sheetNames[0]);
ExcelTool.setNum(0);
// 创建第一行与第二行相关模板数据
createHeaderFlat(wb, sheet, configFieldMap);
//创建第三行表调数据
ExcelTool.setNum(2);
// 创建表头
createHeader(wb, sheet, configFieldMap);
// 填充写入数据
for (T t : list) {
//填充第一行与第二行数据
createRowFlat(wb, t, sheet);
//填充第三行以后数据
createRow(wb, t, sheet);
ExcelTool.setNum(ExcelTool.getNum() + 1);
}
//
// // 创建excel工作簿
// HSSFWorkbook wb = ExcelTool.createWorkbook();
// // 创建第一个sheet(页),命名为 new sheet
// for (int i = 0; i < lists.length; i++) {
// List<T> list = lists[i];
// ExcelTool.setNum(2);
// // 产生工作表对象
// HSSFSheet sheet = ExcelTool.createSheet(i, sheetNames[i]);
// // 创建表头
// createHeader(wb, sheet, configFieldMap);
// // 写入数据
// for (T t : list) {
// createRow(wb, t, sheet);
// ExcelTool.setNum(ExcelTool.getNum() + 1);
//
// }
//
// }
try {
output.flush();
wb.write(output);
output.close();
return true;
} catch (IOException e) {
e.printStackTrace();
System.out.println("Output is closed ");
return false;
}
}
}
package com.mortals.xhx.common.excel.core;
import com.mortals.xhx.common.excel.annotation.ExcelAttribute;
import com.mortals.xhx.common.excel.annotation.ExcelElement;
import com.mortals.xhx.common.excel.config.ElementTypePath;
import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.util.CellRangeAddressList;
import java.lang.reflect.*;
import java.util.ArrayList;
import java.util.List;
/**
* @描述
* @创建人 zxfei
* @创建时间 2021/3/4
* @修改人和其它信息
*/
public abstract class AbstractExcelUtilss<T> extends AbstractExcelUtils<T> {
/**
*
* 获取所有字段
* @param clazz
* @param listField
* @return List<Field> 返回类型
* @throws
*/
protected List<Field> getAllField(Class<?> clazz, List<Field> listField) {
if (listField == null) {
listField = new ArrayList<>();
}
// 获取所有属性
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
Type fieldType = field.getType();
if (field.isAnnotationPresent(ExcelAttribute.class)) {
listField.add(field);
// 类名,属性名
} else if (field.isAnnotationPresent(ExcelElement.class)) {
switch (ElementTypePath.getElementTypePath(fieldType.getTypeName())) {
case SET:
case LIST:
Type genericFieldType = field.getGenericType();
getAllField(getClass(genericFieldType, 0), listField);
break;
case MAP:
listField.add(field);
break;
default:
getAllField(field.getClass(), null);
break;
}
}
}
return listField;
}
/**
*
* 得到泛型类对象 @param type @param i @return Class 返回类型 @throws
*/
@SuppressWarnings("rawtypes")
protected static Class getClass(Type type, int i) {
if (type instanceof ParameterizedType) { // 处理泛型类型
return getGenericClass((ParameterizedType) type, i);
} else if (type instanceof TypeVariable) {
return (Class) getClass(((TypeVariable) type).getBounds()[0], 0); // 处理泛型擦拭对象
} else {// class本身也是type,强制转型
return (Class) type;
}
}
@SuppressWarnings("rawtypes")
private static Class getGenericClass(ParameterizedType parameterizedType, int i) {
Object genericClass = parameterizedType.getActualTypeArguments()[i];
if (genericClass instanceof ParameterizedType) { // 处理多级泛型
return (Class) ((ParameterizedType) genericClass).getRawType();
} else if (genericClass instanceof GenericArrayType) { // 处理数组泛型
return (Class) ((GenericArrayType) genericClass).getGenericComponentType();
} else if (genericClass instanceof TypeVariable) { // 处理泛型擦拭对象
return (Class) getClass(((TypeVariable) genericClass).getBounds()[0], 0);
} else {
return (Class) genericClass;
}
}
/**
* 将EXCEL中A,B,C,D,E列映射成0,1,2,3
*
* @param col
*/
protected static int getExcelCol(String col) {
col = col.toUpperCase();
// 从-1开始计算,字母重1开始运算。这种总数下来算数正好相同。
int count = -1;
char[] cs = col.toCharArray();
for (int i = 0; i < cs.length; i++) {
count += (cs[i] - 64) * Math.pow(26, cs.length - 1 - i);
}
return count;
}
/**
* 设置单元格上提示
*
* @param sheet
* 要设置的sheet.
* @param promptTitle
* 标题
* @param promptContent
* 内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
protected static HSSFSheet setHSSFPrompt(HSSFSheet sheet, String promptTitle, String promptContent, int firstRow,
int endRow, int firstCol, int endCol) {
// 构造constraint对象
DVConstraint constraint = DVConstraint.createCustomFormulaConstraint("DD1");
// 四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_view = new HSSFDataValidation(regions, constraint);
data_validation_view.createPromptBox(promptTitle, promptContent);
sheet.addValidationData(data_validation_view);
return sheet;
}
/**
* 设置某些列的值只能输入预制的数据,显示下拉框.
*
* @param sheet
* 要设置的sheet.
* @param textlist
* 下拉框显示的内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
protected static HSSFSheet setHSSFValidation(HSSFSheet sheet, String[] textlist, int firstRow, int endRow,
int firstCol, int endCol) {
// 加载下拉列表内容
DVConstraint constraint = DVConstraint.createExplicitListConstraint(textlist);
// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_list = new HSSFDataValidation(regions, constraint);
sheet.addValidationData(data_validation_list);
return sheet;
}
}
package com.mortals.xhx.common.excel.core;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
/**
* @描述
* @创建人 zxfei
* @创建时间 2021/3/4
* @修改人和其它信息
*/
public class ExcelTool {
//当前行数
private static int num = 0;
private static HSSFWorkbook wb;
private static HSSFCell cell;
private static HSSFRow row;
public static HSSFWorkbook createWorkbook() {
wb = new HSSFWorkbook();
return wb;
}
/**
* 创建一个sheet
*
* @param sheetname
* @return HSSFSheet 返回类型
* @throws
*/
public static HSSFSheet createSheet(int ii, String sheetname) {
// 创建excel工作簿
HSSFSheet sheet = wb.createSheet();
wb.setSheetName(ii, sheetname);
return sheet;
}
/**
* 创建一行
*
* @param sheet
* @return HSSFRow 返回类型
* @throws
*/
public static HSSFRow createRow(HSSFSheet sheet) {
row = sheet.createRow(num);
num++;
return row;
}
/**
* 创建一格
*
* @param row
* @param col
* @return HSSFCell 返回类型
* @throws
*/
public static HSSFCell createCell(HSSFRow row, int col) {
cell = row.createCell(col);// 创建cell
return cell;
}
/**
* 获取合并单元格的值
*
* @param sheet
* @param row
* @param column
* @return
*/
public static String getMergedRegionValue(Sheet sheet, int row, int column) {
int sheetMergeCount = sheet.getNumMergedRegions();
for (int i = 0; i < sheetMergeCount; i++) {
CellRangeAddress ca = sheet.getMergedRegion(i);
int firstColumn = ca.getFirstColumn();
int lastColumn = ca.getLastColumn();
int firstRow = ca.getFirstRow();
int lastRow = ca.getLastRow();
if (row >= firstRow && row <= lastRow) {
if (column >= firstColumn && column <= lastColumn) {
Row fRow = sheet.getRow(firstRow);
Cell fCell = fRow.getCell(firstColumn);
return getCellValue(fCell);
}
}
}
return null;
}
/**
* 判断指定的单元格是否是合并单元格
*
* @param sheet
* @param row
* @param column
* @return
*/
public static boolean isMergedRegion(Sheet sheet, int row, int column) {
int sheetMergeCount = sheet.getNumMergedRegions();
for (int i = 0; i < sheetMergeCount; i++) {
CellRangeAddress ca = sheet.getMergedRegion(i);
int firstColumn = ca.getFirstColumn();
int lastColumn = ca.getLastColumn();
int firstRow = ca.getFirstRow();
int lastRow = ca.getLastRow();
if (row >= firstRow && row <= lastRow) {
if (column >= firstColumn && column <= lastColumn) {
return true;
}
}
}
return false;
}
/**
* 获取单元格的值
*
* @param cell
* @return
*/
public static String getCellValue(Cell cell) {
if (cell == null)
return "";
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
return cell.getStringCellValue();
} else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
return String.valueOf(cell.getBooleanCellValue());
} else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
return cell.getCellFormula();
} else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
return String.valueOf(cell.getNumericCellValue());
}
return "";
}
public static int getNum() {
return num;
}
public static void setNum(int num) {
ExcelTool.num = num;
}
public static HSSFWorkbook getWb() {
return wb;
}
public static void setWb(HSSFWorkbook wb) {
ExcelTool.wb = wb;
}
public static HSSFCell getCell() {
return cell;
}
public static void setCell(HSSFCell cell) {
ExcelTool.cell = cell;
}
public static HSSFRow getRow() {
return row;
}
public static void setRow(HSSFRow row) {
ExcelTool.row = row;
}
}
package com.mortals.xhx.common.excel.core;
import com.mortals.xhx.common.excel.annotation.ExcelAttribute;
import com.mortals.xhx.common.excel.annotation.ExcelElement;
import com.mortals.xhx.common.excel.annotation.ExcelID;
import com.mortals.xhx.common.excel.config.ElementTypePath;
import lombok.SneakyThrows;
import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.*;
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
import java.util.*;
/**
* @描述
* @创建人 zxfei
* @创建时间 2021/3/4
* @修改人和其它信息
*/
public class ExcelUtils<T> extends AbstractExcelUtilss<T> {
public static String[] strs = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"
, "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "AA", "AB", "AC", "AD", "AE", "AF", "AG"};
private Logger logger = LoggerFactory.getLogger(ExcelUtils.class);
private Class<T> clazz;
private HSSFRow row;
private boolean flag;
{
flag = true;
}
@Override
public IExcelUtil<T> build(Class<T> clazz) {
this.clazz = clazz;
return this;
}
@SneakyThrows
@Override
public void createHeader(HSSFWorkbook wb, HSSFSheet sheet, Map<String, String> configFieldMap) {
// 产生一行
HSSFRow row = ExcelTool.createRow(sheet);
HSSFCellStyle style = wb.createCellStyle();
HSSFPalette customPalette = wb.getCustomPalette();
customPalette.setColorAtIndex(IndexedColors.LIGHT_BLUE.getIndex(), (byte) 80,
(byte) 120, (byte) 203);
style.setFillForegroundColor(HSSFColor.LIGHT_BLUE.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setBottomBorderColor(IndexedColors.GREEN.getIndex());
style.setLeftBorderColor(IndexedColors.GREEN.getIndex());
style.setRightBorderColor(IndexedColors.GREEN.getIndex());
style.setTopBorderColor(IndexedColors.GREEN.getIndex());
style.setAlignment(CellStyle.ALIGN_CENTER);
style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
style.setWrapText(true);
//设置字体
HSSFFont font = wb.createFont();
font.setFontHeightInPoints((short) 14); // 字体高度
font.setFontName(" 微软雅黑 "); // 字体
font.setColor(HSSFColor.WHITE.index);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
style.setFont(font);
// 得到所有的字段
List<Field> fields = getAllField(clazz, null);
int col = 0;
HSSFCell cell;// 产生单元格
for (Field field : fields) {
ExcelAttribute attr = field.getAnnotation(ExcelAttribute.class);
//int col = getExcelCol(attr.column());// 获得列号
String colName = attr.name();
if (configFieldMap.containsKey(colName)) {
logger.info("colName before:" + colName);
colName = configFieldMap.get(colName);
logger.info("colName after:" + colName);
//反射修改注解isExport值
InvocationHandler h = Proxy.getInvocationHandler(attr);
Field hField = h.getClass().getDeclaredField("memberValues");
hField.setAccessible(true);
// 获取 memberValues
Map memberValues = (Map) hField.get(h);
// 修改 value 属性值
memberValues.put("isExport", true);
//设置col值
memberValues.put("column", strs[col]);
}
if (colName.startsWith("field") && attr.isExport()) {
InvocationHandler h = Proxy.getInvocationHandler(attr);
Field hField = h.getClass().getDeclaredField("memberValues");
hField.setAccessible(true);
// 获取 memberValues
Map memberValues = (Map) hField.get(h);
// 修改 value 属性值
memberValues.put("isExport", false);
}
if (attr.isExport()) {
logger.info("createcolName :" + colName);
row.getSheet().setColumnWidth(col, Integer.parseInt(attr.colWidth()));
cell = row.createCell(col);// 创建列
cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 设置列中写入内容为String类型
cell.setCellValue(colName);// 写入列名
// 如果设置了提示信息则鼠标 放上去提示.
if (!attr.prompt().trim().equals("")) {
setHSSFPrompt(sheet, "", attr.prompt(), 1, 100, col, col);// 这里默认设了2-101列提示.
}
// 如果设置了combo属性则本列只能选择不能输入
if (attr.combo().length > 0) {
setHSSFValidation(sheet, attr.combo(), 1, 100, col, col);// 这里默认设了2-101列只能选择不能输入.
}
cell.setCellStyle(style);
col++;
}
}
}
@Override
public void createHeaderFlat(HSSFWorkbook wb, HSSFSheet sheet, Map<String, String> configFieldMap) {
// 产生第一行
HSSFRow row = sheet.createRow(0);
HSSFCellStyle style = wb.createCellStyle();
HSSFPalette customPalette = wb.getCustomPalette();
customPalette.setColorAtIndex(IndexedColors.YELLOW.getIndex(), (byte) 70,
(byte) 112, (byte) 200);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setBottomBorderColor(IndexedColors.GREEN.getIndex());
style.setLeftBorderColor(IndexedColors.GREEN.getIndex());
style.setRightBorderColor(IndexedColors.GREEN.getIndex());
style.setTopBorderColor(IndexedColors.GREEN.getIndex());
style.setFillForegroundColor(HSSFColor.YELLOW.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setAlignment(CellStyle.ALIGN_CENTER);
style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
style.setWrapText(true);
//设置字体
HSSFFont font = wb.createFont();
font.setFontHeightInPoints((short) 12); // 字体高度
font.setFontName("微软雅黑"); // 字体
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setColor(HSSFColor.WHITE.index);
style.setFont(font);
// 得到所有的字段
List<Field> fields = getAllField(clazz, null);
int col = 0;
HSSFCell cell;// 产生单元格
for (Field field : fields) {
ExcelAttribute attr = field.getAnnotation(ExcelAttribute.class);
if ("BOM名称".equals(attr.name())) {
row.getSheet().setColumnWidth(col, Integer.parseInt(attr.colWidth()));
cell = row.createCell(getExcelCol(attr.column()));// 创建列
cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 设置列中写入内容为String类型
cell.setCellValue(attr.name());// 写入列名
cell.setCellStyle(style);
logger.info("createcolName :" + attr.name());
break;
}
}
// 产生第二行
row = sheet.createRow(1);
for (Field field : fields) {
ExcelAttribute attr = field.getAnnotation(ExcelAttribute.class);
if ("创建日期".equals(attr.name())) {
row.getSheet().setColumnWidth(col, Integer.parseInt(attr.colWidth()));
cell = row.createCell(getExcelCol(attr.column()));// 创建列
cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 设置列中写入内容为String类型
cell.setCellValue(attr.name());// 写入列名
cell.setCellStyle(style);
logger.info("createcolName :" + attr.name());
continue;
}
if ("创建人".equals(attr.name())) {
row.getSheet().setColumnWidth(col, Integer.parseInt(attr.colWidth()));
cell = row.createCell(getExcelCol(attr.column()));// 创建列
cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 设置列中写入内容为String类型
cell.setCellValue(attr.name());// 写入列名
cell.setCellStyle(style);
logger.info("createcolName :" + attr.name());
continue;
}
if ("BOM类型".equals(attr.name())) {
row.getSheet().setColumnWidth(col, Integer.parseInt(attr.colWidth()));
cell = row.createCell(getExcelCol(attr.column()));// 创建列
cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 设置列中写入内容为String类型
cell.setCellValue(attr.name());// 写入列名
cell.setCellStyle(style);
logger.info("createcolName :" + attr.name());
continue;
}
}
}
@Override
public void createRow(HSSFWorkbook wb, Object t, HSSFSheet sheet) {
Drawing drawing = sheet.createDrawingPatriarch();
HSSFCell cell;// 产生单元格
if (flag) {
row = ExcelTool.createRow(sheet);
}
row.setHeight((short) 2000);
HSSFCellStyle style = wb.createCellStyle();
style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
style.setFillBackgroundColor(HSSFColor.GREY_40_PERCENT.index);
style.setAlignment(CellStyle.ALIGN_GENERAL);
style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
style.setWrapText(true);
Field[] fields = t.getClass().getDeclaredFields();
try {
for (Field field : fields) {
if (!field.isAccessible()) {
// 设置私有属性为可访问
field.setAccessible(true);
}
if (field.isAnnotationPresent(ExcelAttribute.class) && field.isAnnotationPresent(ExcelElement.class)) {
flag = false;
// logger.debug("泛型:=====>" + getClass(field.getGenericType(), 0));
switch (ElementTypePath.getElementTypePath(field.getType().getTypeName())) {
case MAP:
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
Map<?, ?> map = (Map<?, ?>) field.get(t);
if (map != null) {
StringBuffer strB = new StringBuffer();
for (Map.Entry<?, ?> entry : map.entrySet()) {
strB.append(entry.getKey() + " : " + entry.getValue() + " , ");
}
if (strB.length() > 0) {
strB.deleteCharAt(strB.length() - 1);
strB.deleteCharAt(strB.length() - 1);
}
try {
// 根据ExcelVOAttribute中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列.
if (ea.isExport()) {
cell = row.createCell(getExcelCol(ea.column()));// 创建cell
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(strB == null ? "" : strB.toString());// 如果数据存在就填入,不存在填入空格.
cell.setCellStyle(style);
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
}
break;
default:
break;
}
}
}
for (Field field : fields) {
if (!field.isAccessible()) {
// 设置私有属性为可访问
field.setAccessible(true);
}
if (field.isAnnotationPresent(ExcelAttribute.class) && !field.isAnnotationPresent(ExcelElement.class)) {
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
// logger.debug("当前行:"+ea.column() + "====>value:" + field.get(t));
flag = true;
try {
//判断图片列,插入图片
if (ea.name().equals("图片")) {
//生成插入图片
String picUrl = field.get(t) == null ? "" : String.valueOf(field.get(t));
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
BufferedImage bufferImg = null;
try {
bufferImg = ImageIO.read(new File(picUrl));
int width = bufferImg.getWidth();
int height = bufferImg.getHeight();
double a = width / height;
ImageIO.write(bufferImg, "jpg", byteArrayOut);
int pictureIdx = wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG);
CreationHelper helper = sheet.getWorkbook().getCreationHelper();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setCol1(getExcelCol(ea.column()));
anchor.setRow1(row.getRowNum());
// 获取单元格宽度和高度,单位都是像素
// int cellWidth = cell.getSheet().getColumnWidth(cell.getColumnIndex());
// short height1 = cell.getRow().getHeight();
// double cellWidth = sheet.getColumnWidthInPixels(cell.getColumnIndex());
cell = row.createCell(getExcelCol(ea.column()));
double cellHeight = cell.getRow().getHeightInPoints() / 72 * 96;// getHeightInPoints()方法获取的是点(磅),就是excel设置的行高,1英寸有72磅,一般显示屏一英寸是96个像素
double v = cellHeight/height;
// HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 255,(short) getExcelCol(ea.column()), row.getRowNum(), (short)getExcelCol(ea.column()), row.getRowNum());
//注意:这个方法在新版本的POI中参数类型改成了(AnchorType anchorType) 
anchor.setAnchorType(3);
Picture picture = drawing.createPicture(anchor, pictureIdx);
picture.resize(v);
field.set(t, "");
} catch (IOException e) {
e.printStackTrace();
}
}
// 根据ExcelVOAttribute中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列.
if (ea.isExport()) {
cell = row.createCell(getExcelCol(ea.column()));// 创建cell
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(field.get(t) == null ? "" : String.valueOf(field.get(t)));// 如果数据存在就填入,不存在填入空格.
cell.setCellStyle(style);
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} else if (field.isAnnotationPresent(ExcelElement.class)) {
flag = false;
// logger.debug("泛型:=====>" + getClass(field.getGenericType(), 0));
switch (ElementTypePath.getElementTypePath(field.getType().getTypeName())) {
case SET:
Set<?> set = (Set<?>) field.get(t);
if (set != null) {
for (Object object : set) {
createRow(wb, object, sheet);
}
}
break;
case LIST:
List<?> list = (List<?>) field.get(t);
if (list != null) {
for (Object object : list) {
createRow(wb, object, sheet);
}
}
break;
case MAP:
break;
default:
createRow(wb, field.get(t), sheet);
break;
}
}
}
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
flag = true;
}
@Override
public void createRowFlat(HSSFWorkbook wb, Object t, HSSFSheet sheet) {
HSSFCell cell;// 产生单元格
HSSFCellStyle style = wb.createCellStyle();
style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
style.setFillBackgroundColor(HSSFColor.GREY_40_PERCENT.index);
style.setAlignment(CellStyle.ALIGN_GENERAL);
style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
style.setWrapText(true);
Field[] fields = t.getClass().getDeclaredFields();
try {
for (Field field : fields) {
if (!field.isAccessible()) {
// 设置私有属性为可访问
field.setAccessible(true);
}
if (field.isAnnotationPresent(ExcelAttribute.class) && !field.isAnnotationPresent(ExcelElement.class)) {
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
// logger.debug("当前行:"+ea.column() + "====>value:" + field.get(t));
flag = true;
try {
if (ea.name().equals("BOM名称")) {
//填充第一行 第二列单元格数据[0,1]
cell = sheet.getRow(0).createCell(1);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(field.get(t) == null ? "" : String.valueOf(field.get(t)));// 如果数据存在就填入,不存在填入空格.
cell.setCellStyle(style);
}
if (ea.name().equals("创建日期")) {
//填充第一行 第二列单元格数据[1,1]
cell = sheet.getRow(1).createCell(1);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(field.get(t) == null ? "" : String.valueOf(field.get(t)));// 如果数据存在就填入,不存在填入空格.
cell.setCellStyle(style);
}
if (ea.name().equals("创建人")) {
//填充第一行 第二列单元格数据[1,1]
cell = sheet.getRow(1).createCell(3);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(field.get(t) == null ? "" : String.valueOf(field.get(t)));// 如果数据存在就填入,不存在填入空格.
cell.setCellStyle(style);
}
if (ea.name().equals("BOM类型")) {
//填充第一行 第二列单元格数据[1,1]
cell = sheet.getRow(1).createCell(5);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(field.get(t) == null ? "" : String.valueOf(field.get(t)));// 如果数据存在就填入,不存在填入空格.
cell.setCellStyle(style);
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public List<T> dispatch(Sheet sheet) {
Map<String, PictureData> pictures = null;
if (sheet instanceof HSSFSheet) {
pictures = ExcelUtils.getPictures((HSSFSheet) sheet);
} else if (sheet instanceof XSSFSheet) {
pictures = ExcelUtils.getPictures((XSSFSheet) sheet);
}
int rows = sheet.getPhysicalNumberOfRows();
List<Integer> idCols = getIdCols(clazz, null);
List<Class<?>> clazzs = getAllClass(clazz, null);
Map<String, String> tuples = getTuple(sheet, rows);
if (idCols.size() != clazzs.size()) {
logger.error("class 数目不一致");
return null;
}
Map<String, Map<String, Object>> instanceMap = null;
int size = idCols.size();
for (int i = size - 1; i > -1; i--) {
//默认起始行为1
for (int j = 1; j < rows; j++) {
int row = j;
int childIdCol = -1;
int idCol = idCols.get(i);
int parentIdCol = -1;
if (i > 0) {
parentIdCol = idCols.get(i - 1);
}
if (i < size - 1) {
childIdCol = idCols.get(i + 1);
}
//logger.debug(clazzs.get(i) + "===" + row + "====" + idCol + "======" + parentIdCol);
instanceMap = createInstance(clazzs.get(i), row, idCol, parentIdCol, childIdCol, tuples, instanceMap, pictures);
}
}
List<T> list = new ArrayList<T>();
Map<String, Object> map = instanceMap.get(idCols.get(0) + "");
for (Map.Entry<String, Object> entry : map.entrySet()) {
list.add((T) entry.getValue());
}
return list;
}
/**
* 合并数据
*/
public int mergedRegio(Object t, HSSFSheet sheet, int rowStart) {
//获取子节点的数目
Field[] fields = t.getClass().getDeclaredFields();
int rowEnd = rowStart + childNodes(t, 0) - 1;
for (Field field : fields) {
if (field.isAnnotationPresent(ExcelAttribute.class)) {
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
CellRangeAddress cellRangeAddress = new CellRangeAddress(rowStart, rowEnd, getExcelCol(ea.column()), getExcelCol(ea.column()));
sheet.addMergedRegion(cellRangeAddress);
} else if (field.isAnnotationPresent(ExcelElement.class) && !field.isAnnotationPresent(ExcelAttribute.class)) {
if (!field.isAccessible()) {
field.setAccessible(true);
}
int childRowStart = rowStart;
try {
switch (ElementTypePath.getElementTypePath(field.getType().getName())) {
case SET:
Set<?> set = (Set<?>) field.get(t);
if (set != null) {
for (Object object : set) {
childRowStart = mergedRegio(object, sheet, childRowStart);
}
}
break;
case LIST:
List<?> list = (List<?>) field.get(t);
if (list != null) {
for (Object object : list) {
childRowStart = mergedRegio(object, sheet, childRowStart);
}
}
break;
case MAP:
break;
default:
childRowStart = mergedRegio(field.get(t), sheet, childRowStart);
break;
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return rowEnd + 1;
}
/**
* 统计子节点的叶子数目
*
* @param t
* @param childNodeNum
* @return int 子节点的数目
* @throws
* @Description: TODO(一个类只支持包含一个集合)
*/
private int childNodes(Object t, int childNodeNum) {
Field[] fields = t.getClass().getDeclaredFields();
boolean childNodeFlag = true;
for (Field field : fields) {
if (field.isAnnotationPresent(ExcelElement.class) && !field.isAnnotationPresent(ExcelAttribute.class)) {
if (!field.isAccessible()) {
field.setAccessible(true);
}
childNodeFlag = false;
try {
switch (ElementTypePath.getElementTypePath(field.getType().getName())) {
case SET:
Set<?> set = (Set<?>) field.get(t);
if (set != null) {
if (set.size() == 0) {
childNodeFlag = true;
} else {
for (Object object : set) {
childNodeNum = childNodes(object, childNodeNum);
}
}
} else {
childNodeFlag = true;
}
break;
case LIST:
List<?> list = (List<?>) field.get(t);
if (list != null) {
if (list.size() == 0) {
childNodeFlag = true;
} else {
for (Object object : list) {
childNodeNum = childNodes(object, childNodeNum);
}
}
} else {
childNodeFlag = true;
}
break;
case MAP:
break;
default:
childNodeNum = childNodes(field.get(t), childNodeNum);
break;
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
if (childNodeFlag) {
childNodeNum++;
}
return childNodeNum;
}
/**
* 创建实例对象 并装配关系
*
* @param clazz 当前实例对象的类
* @param row 当前实例对象的行
* @param idCol 当前实例对象的id列
* @param parentIdCol 父实例对象的id列
* @param tuples 存放所有的值
* @param instanceMap 装配后的对象
* @throws
*/
@SuppressWarnings("unchecked")
private Map<String, Map<String, Object>> createInstance(Class<?> clazz, int row, int idCol, int parentIdCol, int childIdCol, Map<String, String> tuples, Map<String, Map<String, Object>> instanceMap, Map<String, PictureData> pictures) {
// TODO判断 是否存在该实例
if (instanceMap == null) {
instanceMap = new HashMap<>();
}
if (!tuples.containsKey(row + "," + idCol)) {
return instanceMap;
}
Object entity = null;
try {
entity = clazz.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
//同一类对象的map 以 id_parentId作为键
Map<String, Object> colMap;
if (instanceMap.containsKey(idCol + "")) {
colMap = instanceMap.get(idCol + "");
} else {
colMap = new HashMap<>();
instanceMap.put(idCol + "", colMap);
}
//判断是否有父级对象
String id = tuples.get(row + "," + idCol);
;
if (parentIdCol > -1) {
String parentId = tuples.get(row + "," + parentIdCol);
colMap.put(parentId + "_" + id, entity);
} else {
colMap.put(id, entity);
}
// logger.debug("colMap===========>"+colMap.size());
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
if (!field.isAccessible()) {
field.setAccessible(true);
}
//判断属性是否有rowNum 如果有 则设值
if (field.getName().equals("rowNum")) {
try {
field.set(entity, row);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
//判断图片列是否为空,如果有图片列,强制赋值
if (pictures.size() > 0 && field.getName().equals("picObj")) {
PictureData hssfPictureData = pictures.entrySet().stream().map(item -> {
String pickey = item.getKey().split("-")[0];
if (pickey.equals(String.valueOf(row))) {
return item.getValue();
}
return null;
}).filter(f -> f != null).findFirst().orElseGet(() -> null);
try {
field.set(entity, hssfPictureData);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
//对普通属性进行设值
if (field.isAnnotationPresent(ExcelAttribute.class) && !field.isAnnotationPresent(ExcelElement.class)) {
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
String value = tuples.get(row + "," + getExcelCol(ea.column()));
Class<?> fieldType = field.getType();
try {
if (String.class == fieldType) {
field.set(entity, String.valueOf(value));
} else if ((Integer.TYPE == fieldType) || (Integer.class == fieldType)) {
field.set(entity, Integer.parseInt(value));
} else if ((Long.TYPE == fieldType) || (Long.class == fieldType)) {
field.set(entity, Long.valueOf(value));
} else if ((Float.TYPE == fieldType) || (Float.class == fieldType)) {
field.set(entity, Float.valueOf(value));
} else if ((Short.TYPE == fieldType) || (Short.class == fieldType)) {
field.set(entity, Short.valueOf(value));
} else if ((Double.TYPE == fieldType) || (Double.class == fieldType)) {
field.set(entity, Double.valueOf(value));
} else if (Character.TYPE == fieldType) {
if ((value != null) && (value.length() > 0)) {
field.set(entity, Character.valueOf(value.charAt(0)));
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if (field.isAnnotationPresent(ExcelElement.class)) {
Map<String, Object> map = instanceMap.get(childIdCol + "");
List<Object> entitys = new ArrayList<>();
if (map != null) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
if (key.indexOf("_") > -1) {
String[] str = key.split("_");
String childParentId = str[0];
if (childParentId.equals(id)) {
entitys.add(entry.getValue());
}
}
}
}
String typeName = field.getType().getName();
try {
switch (ElementTypePath.getElementTypePath(typeName)) {
case SET:
Set<Object> set = (Set<Object>) field.get(entity);
if (set == null) {
set = new HashSet<>();
field.set(entity, set);
}
for (Object object : entitys) {
set.add(object);
}
break;
case LIST:
List<Object> list = (List<Object>) field.get(entity);
if (list == null) {
list = entitys;
field.set(entity, list);
} else {
for (Object object : entitys) {
list.add(object);
}
}
break;
case MAP:
if (field.isAnnotationPresent(ExcelAttribute.class)) {
if (getClass(field.getGenericType(), 0).getName().equals("java.lang.String")) {
Map<String, String> imap = (Map<String, String>) field.get(entity);
if (imap == null) {
imap = new HashMap<>();
field.set(entity, imap);
}
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
String value = tuples.get(row + "," + getExcelCol(ea.column()));
if (value.indexOf(",") > -1) {
String[] str = value.split(",");
for (String string : str) {
if (string.indexOf(":") > -1) {
String[] keyAndVlaue = string.split(":");
if (keyAndVlaue.length == 2) {
imap.put(keyAndVlaue[0].trim(), keyAndVlaue[1].trim());
}
}
}
}
}
}
break;
default:
if (entitys.size() == 1) {
field.set(entity, entitys.get(0));
}
break;
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return instanceMap;
}
/**
* 获取所有标识列(用来获取父级id)
*
* @param clazz
* @param idCols
* @return List<Integer> 返回类型
* @throws
*/
private List<Integer> getIdCols(Class<?> clazz, List<Integer> idCols) {
if (idCols == null) {
idCols = new ArrayList<>();
}
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
if (field.isAnnotationPresent(ExcelID.class) && field.isAnnotationPresent(ExcelAttribute.class)) {
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
idCols.add(getExcelCol(ea.column()));
}
}
for (Field field : fields) {
//TODO 此处集合需要做判断
if (field.isAnnotationPresent(ExcelElement.class)) {
clazz = getClass(field.getGenericType(), 0);
// logger.debug(clazz);
getIdCols(clazz, idCols);
}
}
return idCols;
}
private List<Class<?>> getAllClass(Class<?> clazz, List<Class<?>> clazzs) {
if (clazzs == null) {
clazzs = new ArrayList<>();
}
clazzs.add(clazz);
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
//TODO 此处集合需要做判断
if (field.isAnnotationPresent(ExcelElement.class) && !field.isAnnotationPresent(ExcelAttribute.class)) {
clazz = getClass(field.getGenericType(), 0);
getAllClass(clazz, clazzs);
}
}
return clazzs;
}
/**
* 获取 excel中的数据 元组
*
* @param sheet
* @return List<List < String>> excel元组
* @throws
*/
private Map<String, String> getTuple(Sheet sheet, int rows) {
Map<String, String> tuples = new HashMap<>();
//获取列
List<Field> fields = getAllField(clazz, null);
// 从第2行开始取数据,默认第一行是表头.
for (int i = 1; i < rows; i++) {
for (Field field : fields) {
if (field.isAnnotationPresent(ExcelAttribute.class)) {
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
int col = getExcelCol(ea.column());
String key = i + "," + col;
// logger.info("key:"+key);
if (ExcelTool.isMergedRegion(sheet, i, col)) {
// 以(行,列)作为一个元组
String value = ExcelTool.getMergedRegionValue(sheet, i, col);
tuples.put(key, value);
} else {
Row fRow = sheet.getRow(i);
Cell fCell = fRow.getCell(col);
String value = ExcelTool.getCellValue(fCell).trim();
tuples.put(key, value);
}
}
}
}
return tuples;
}
/**
* 获取图片和位置 (xls)
*
* @param sheet
* @return
* @throws IOException
*/
public static Map<String, PictureData> getPictures(HSSFSheet sheet) {
Map<String, PictureData> map = new HashMap<>();
List<HSSFShape> list = sheet.getDrawingPatriarch().getChildren();
for (HSSFShape shape : list) {
if (shape instanceof HSSFPicture) {
HSSFPicture picture = (HSSFPicture) shape;
HSSFClientAnchor cAnchor = (HSSFClientAnchor) picture.getAnchor();
HSSFPictureData pdata = picture.getPictureData();
String key = cAnchor.getRow1() + "-" + cAnchor.getCol1(); // 行号-列号
map.put(key, pdata);
}
}
return map;
}
/**
* 获取图片和位置 (xlsx)
*
* @param sheet
* @return
* @throws IOException
*/
public static Map<String, PictureData> getPictures(XSSFSheet sheet) {
Map<String, PictureData> map = new HashMap<>();
List<POIXMLDocumentPart> list = sheet.getRelations();
for (POIXMLDocumentPart part : list) {
if (part instanceof XSSFDrawing) {
XSSFDrawing drawing = (XSSFDrawing) part;
List<XSSFShape> shapes = drawing.getShapes();
for (XSSFShape shape : shapes) {
XSSFPicture picture = (XSSFPicture) shape;
XSSFClientAnchor anchor = picture.getPreferredSize();
CTMarker marker = anchor.getFrom();
String key = marker.getRow() + "-" + marker.getCol();
map.put(key, picture.getPictureData());
}
}
}
return map;
}
}
package com.mortals.xhx.common.excel.core;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
/**
* @描述
* @创建人 zxfei
* @创建时间 2021/3/4
* @修改人和其它信息
*/
public interface IExcelUtil<T> {
/**
*
* 构建一个导入导出工具
* @param clazz 一个类类型
* @return IExcelUtil<T> 返回类型
*/
IExcelUtil<T> build(Class<T> clazz);
/**
*
* 数据导出
* @param sheetName
* @param input
* @return List<T> 导出数据
*/
List<T> importExcel(String sheetName,String fileName, InputStream input);
/**
*
* 导出到一个 sheet中
* @param list
* @param sheetName
* @param output
* @return boolean
*/
boolean exportExcel(List<T> list, String sheetName, OutputStream output, Map<String, String> configFieldMap);
/**
*
* 导出到多个 sheet中
* @param lists
* @param sheetNames
* @param output
* @return boolean
*/
boolean exportExcel(List<T> lists[], String sheetNames[], OutputStream output,Map<String, String> configFieldMap);
/**
*
* 导出到一个 sheet中
* @param list
* @param sheetName
* @param output
* @return boolean
*/
boolean exportExcelFlat(List<T> list, String sheetName, OutputStream output, Map<String, String> configFieldMap);
/**
*
* 导出到多个 sheet中
* @param lists
* @param sheetNames
* @param output
* @return boolean
*/
boolean exportExcelFlat(List<T> lists[], String sheetNames[], OutputStream output,Map<String, String> configFieldMap);
}
package com.mortals.xhx.common.excel.util;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
/**
* @描述
* @创建人 zxfei
* @创建时间 2021/3/4
* @修改人和其它信息
*/
@Deprecated
public class ExceMergedRegion {
/**
* 获取合并单元格的值
*
* @param sheet
* @param row
* @param column
* @return
*/
public String getMergedRegionValue(Sheet sheet, int row, int column) {
int sheetMergeCount = sheet.getNumMergedRegions();
for (int i = 0; i < sheetMergeCount; i++) {
CellRangeAddress ca = sheet.getMergedRegion(i);
int firstColumn = ca.getFirstColumn();
int lastColumn = ca.getLastColumn();
int firstRow = ca.getFirstRow();
int lastRow = ca.getLastRow();
if (row >= firstRow && row <= lastRow) {
if (column >= firstColumn && column <= lastColumn) {
Row fRow = sheet.getRow(firstRow);
Cell fCell = fRow.getCell(firstColumn);
return getCellValue(fCell);
}
}
}
return null;
}
/**
* 判断指定的单元格是否是合并单元格
*
* @param sheet
* @param row
* @param column
* @return
*/
public boolean isMergedRegion(Sheet sheet, int row, int column) {
int sheetMergeCount = sheet.getNumMergedRegions();
for (int i = 0; i < sheetMergeCount; i++) {
CellRangeAddress ca = sheet.getMergedRegion(i);
int firstColumn = ca.getFirstColumn();
int lastColumn = ca.getLastColumn();
int firstRow = ca.getFirstRow();
int lastRow = ca.getLastRow();
if (row >= firstRow && row <= lastRow) {
if (column >= firstColumn && column <= lastColumn) {
return true;
}
}
}
return false;
}
/**
* 获取单元格的值
*
* @param cell
* @return
*/
public String getCellValue(Cell cell) {
if (cell == null)
return "";
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
return cell.getStringCellValue();
} else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
return String.valueOf(cell.getBooleanCellValue());
} else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
return cell.getCellFormula();
} else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
return String.valueOf(cell.getNumericCellValue());
}
return "";
}
}
package com.mortals.xhx.common.excel.util;
import com.mortals.xhx.common.excel.annotation.ExcelAttribute;
import com.mortals.xhx.common.excel.annotation.ExcelElement;
import com.mortals.xhx.common.excel.annotation.ExcelID;
import com.mortals.xhx.common.excel.config.ElementTypePath;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellRangeAddressList;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.*;
import java.util.*;
/**
* @描述导入出工具
* @创建人 zxfei
* @创建时间 2021/3/4
* @修改人和其它信息
*/
@Deprecated
public class ExcelUtil<T> {
private static Logger logger = Logger.getLogger(ExcelUtil.class);
private Class<T> clazz;
//行数
private int rowNum = 0;
private boolean flag = true;
// 行需要 判断确定(因此会共享)
private HSSFRow row;
private ExceMergedRegion exceMergedRegion = new ExceMergedRegion();
public ExcelUtil(Class<T> clazz){
this.clazz = clazz;
}
/**
*
* @Title: importExcel
* @Description: TODO(暂时不需要此功能)
* @param sheetName
* @param input
* @return List<T> 返回类型
* @throws
*/
public List<T> importExcel(String sheetName, InputStream input) {
List<T> list = null;
try {
HSSFWorkbook workbook = new HSSFWorkbook(input);
HSSFSheet sheet = workbook.getSheet(sheetName);
if (!sheetName.trim().equals("")) {
sheet = workbook.getSheet(sheetName);// 如果指定sheet名,则取指定sheet中的内容.
}
if (sheet == null) {
sheet = workbook.getSheetAt(0); // 如果传入的sheet名不存在则默认指向第1个sheet.
}
// HSSFRow title = sheet.getRow(0);
//获取数据
list = dispatch(sheet);
// for (Map.Entry<String, String> entry : tuples.entrySet()) {
// logger.debug(entry.getKey()+"=====>"+entry.getValue());
// }
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
/**
* 对list数据源将其里面的数据导入到excel表单
* @param lists
* @param sheetName 工作表的名称
* @param output java输出流
*/
public boolean exportExcel(List<T> lists[], String sheetNames[], OutputStream output) {
if (lists.length != sheetNames.length) {
System.out.println("数组长度不一致");
return false;
}
// 创建excel工作簿
HSSFWorkbook wb = new HSSFWorkbook();
// 创建第一个sheet(页),命名为 new sheet
for (int ii = 0; ii < lists.length; ii++) {
List<T> list = lists[ii];
// 产生工作表对象
HSSFSheet sheet = wb.createSheet();
wb.setSheetName(ii, sheetNames[ii]);
// 创建表头
createHeader(wb, sheet);
// 写入数据
int rowStart = 1;
for (T t : list) {
logger.debug(statisticsNode(t, 0));
createRow(t,sheet);
rowStart = mergedRegio(t,sheet,rowStart);
}
}
try {
output.flush();
wb.write(output);
output.close();
return true;
} catch (IOException e) {
e.printStackTrace();
System.out.println("Output is closed ");
return false;
}
}
/**
* 对list数据源将其里面的数据导入到excel表单
*
* @param sheetName 工作表的名称
* @param sheetSize 每个sheet中数据的行数,此数值必须小于65536
* @param output java输出流
*/
@SuppressWarnings("unchecked")
public boolean exportExcel(List<T> list, String sheetName,
OutputStream output) {
//此处 对类型进行转换
List<T> ilist = new ArrayList<>();
for (T t : list) {
ilist.add(t);
}
List<T>[] lists = new ArrayList[1];
lists[0] = ilist;
String[] sheetNames = new String[1];
sheetNames[0] = sheetName;
return exportExcel(lists, sheetNames, output);
}
/**
*
* 设置表头
* @param listField
* @throws
*/
private void createHeader(HSSFWorkbook wb, HSSFSheet sheet){
// 产生一行
HSSFRow row = sheet.createRow(0);
HSSFCellStyle style = wb.createCellStyle();
style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
style.setFillBackgroundColor(HSSFColor.GREY_40_PERCENT.index);
//得到所有的字段
List<Field> fields = getAllField(clazz, null);
HSSFCell cell;// 产生单元格
for (Field field : fields) {
ExcelAttribute attr = field
.getAnnotation(ExcelAttribute.class);
int col = getExcelCol(attr.column());// 获得列号
cell = row.createCell(col);// 创建列
cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 设置列中写入内容为String类型
cell.setCellValue(attr.name());// 写入列名
// 如果设置了提示信息则鼠标放上去提示.
if (!attr.prompt().trim().equals("")) {
setHSSFPrompt(sheet, "", attr.prompt(), 1, 100, col, col);// 这里默认设了2-101列提示.
}
// 如果设置了combo属性则本列只能选择不能输入
if (attr.combo().length > 0) {
setHSSFValidation(sheet, attr.combo(), 1, 100, col, col);// 这里默认设了2-101列只能选择不能输入.
}
cell.setCellStyle(style);
}
}
/**
*
* 获取所有字段的值
* TODO (Map暂时只支持普通数据类型 未对普通类型处理--一对一暂不支持)
* @param t void 返回类型
* @throws
*/
private void createRow(Object t,HSSFSheet sheet){
HSSFCell cell;// 产生单元格
if(flag){
rowNum++;
row = sheet.createRow(rowNum);
}
Field[] fields = t.getClass().getDeclaredFields();
for (Field field : fields) {
try {
if(!field.isAccessible()){
// 设置私有属性为可访问
field.setAccessible(true);
}
if(field.isAnnotationPresent(ExcelAttribute.class)&&!field.isAnnotationPresent(ExcelElement.class)){
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
logger.debug(ea.column()+"====>"+field.get(t));
flag = true;
try {
// 根据ExcelVOAttribute中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列.
if (ea.isExport()) {
cell = row.createCell(getExcelCol(ea.column()));// 创建cell
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(field.get(t) == null ? ""
: String.valueOf(field.get(t)));// 如果数据存在就填入,不存在填入空格.
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}else if(field.isAnnotationPresent(ExcelElement.class)){
flag = false;
logger.debug("泛型:=====>"+getClass(field.getGenericType(),0));
switch (ElementTypePath.getElementTypePath(field.getType().getTypeName())) {
case SET:
Set<?> set = (Set<?>)field.get(t);
if(set!=null){
for (Object object : set) {
createRow(object,sheet);
}
}
break;
case LIST:
List<?> list = (List<?>)field.get(t);
if(list!=null){
for (Object object : list) {
createRow(object,sheet);
}
}
break;
case MAP:
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
Map<?,?> map = (Map<?,?>)field.get(t);
if(map!=null){
StringBuffer strB = new StringBuffer();
for (Map.Entry<?, ?> entry : map.entrySet()) {
strB.append(entry.getKey()+" : "+entry.getValue()+" , ");
}
if(strB.length()>0){
strB.deleteCharAt(strB.length()-1);
strB.deleteCharAt(strB.length()-1);
}
try {
// 根据ExcelVOAttribute中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列.
if (ea.isExport()) {
cell = row.createCell(getExcelCol(ea.column()));// 创建cell
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(strB== null ? ""
: strB.toString());// 如果数据存在就填入,不存在填入空格.
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
}
break;
default:
createRow(field.get(t),sheet);
break;
}
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
flag = true;
}
/**
*
* 合并数据
* @param t
* @param sheet void 返回类型
* @throws
*/
private int mergedRegio(Object t,HSSFSheet sheet,int rowStart){
//获取子节点的数目
Field[] fields = t.getClass().getDeclaredFields();
int rowEnd = rowStart + statisticsNode(t, 0) - 1;
for (Field field : fields) {
if (field.isAnnotationPresent(ExcelAttribute.class)){
// logger.debug(rowStart+"-----------------"+rowEnd);
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
//合并县区名称单元格
CellRangeAddress cellRangeAddress = new CellRangeAddress(rowStart, rowEnd, getExcelCol(ea.column()),getExcelCol(ea.column()));
sheet.addMergedRegion(cellRangeAddress);
}else if(field.isAnnotationPresent(ExcelElement.class)){
if(!field.isAccessible()){
field.setAccessible(true);
}
try {
switch (ElementTypePath.getElementTypePath(field.getType().getTypeName())) {
case SET:
Set<?> set = (Set<?>)field.get(t);
if(set!=null){
for (Object object : set) {
rowStart = mergedRegio(object, sheet, rowStart);
}
}
break;
case LIST:
List<?> list = (List<?>)field.get(t);
if(list!=null){
for (Object object : list) {
rowStart = mergedRegio(object, sheet, rowStart);
}
}
break;
case MAP:
break;
default:
rowStart = mergedRegio(field.get(t), sheet, rowStart);
break;
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return rowEnd+1;
}
/**
*
* 创建实例对象 并装配关系
* @param clazz 当前实例对象的类
* @param row 当前实例对象的行
* @param idCol 当前实例对象的id列
* @param parentIdCol 父实例对象的id列
* @param tuples 存放所有的值
* @param instanceMap 装配后的对象
* @throws
*/
@SuppressWarnings("unchecked")
private Map<String,Map<String, Object>> createInstance(Class<?> clazz, int row, int idCol, int parentIdCol, int childIdCol,Map<String, String> tuples, Map<String,Map<String, Object>> instanceMap) {
if(!tuples.containsKey(row + "," + idCol)){
return instanceMap;
}
// TODO判断 是否存在该实例
if(instanceMap==null){
instanceMap = new HashMap<>();
}
Object entity = null;
try {
entity = clazz.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//同一类对象的map 以 id_parentId作为键
Map<String,Object> colMap;
if(instanceMap.containsKey(idCol+"")){
colMap = instanceMap.get(idCol+"");
}else{
colMap = new HashMap<>();
instanceMap.put(idCol+"", colMap);
}
//判断是否有父级对象
String id = tuples.get(row + "," + idCol);;
if(parentIdCol>-1){
String parentId = tuples.get(row + "," + parentIdCol);
colMap.put(parentId+"_"+id, entity);
}else{
colMap.put(id, entity);
}
logger.debug("colMap===========>"+colMap.size());
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
if (!field.isAccessible()) {
field.setAccessible(true);
}
//对普通属性进行设值
if(field.isAnnotationPresent(ExcelAttribute.class)&&!field.isAnnotationPresent(ExcelElement.class)){
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
String value = tuples.get(row + "," + getExcelCol(ea.column()));
Class<?> fieldType = field.getType();
try {
if (String.class == fieldType) {
field.set(entity, String.valueOf(value));
} else if ((Integer.TYPE == fieldType) || (Integer.class == fieldType)) {
field.set(entity, Integer.parseInt(value));
} else if ((Long.TYPE == fieldType) || (Long.class == fieldType)) {
field.set(entity, Long.valueOf(value));
} else if ((Float.TYPE == fieldType) || (Float.class == fieldType)) {
field.set(entity, Float.valueOf(value));
} else if ((Short.TYPE == fieldType) || (Short.class == fieldType)) {
field.set(entity, Short.valueOf(value));
} else if ((Double.TYPE == fieldType) || (Double.class == fieldType)) {
field.set(entity, Double.valueOf(value));
} else if (Character.TYPE == fieldType) {
if ((value != null) && (value.length() > 0)) {
field.set(entity, Character.valueOf(value.charAt(0)));
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else if(field.isAnnotationPresent(ExcelElement.class)){
Map<String,Object> map = instanceMap.get(childIdCol+"");
List<Object> entitys = new ArrayList<>();
for (Map.Entry<String,Object> entry : map.entrySet()) {
String key = entry.getKey();
if(key.indexOf("_")>-1){
String[] str = key.split("_");
String childParentId = str[0];
if(childParentId.equals(id)){
entitys.add(entry.getValue());
}
}
}
//TODO 进行类注入
String typeName = field.getType().getName();
try {
logger.debug("entitys:"+entitys.size());
switch (ElementTypePath.getElementTypePath(typeName)) {
case SET:
Set<Object> set = (Set<Object>)field.get(entity);
if(set==null){
set = new HashSet<>();
}
for (Object object : entitys) {
set.add(object);
}
break;
case LIST:
List<Object> list = (List<Object>)field.get(entity);
if(list==null){
list = entitys;
}else{
for (Object object : entitys) {
list.add(object);
}
}
break;
case MAP:
if(field.isAnnotationPresent(ExcelAttribute.class)){
if(getClass(field.getGenericType(),0).getName().equals("java.lang.String")){
Map<String,String> imap = (Map<String,String>)field.get(entitys);
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
String value = tuples.get(row + "," + getExcelCol(ea.column()));
if(value.indexOf(",")>-1){
String[] str = value.split(",");
for (String string : str) {
if(string.indexOf(":")>-1){
String[] keyAndVlaue = string.split(",");
if(keyAndVlaue.length==2){
imap.put(keyAndVlaue[0], keyAndVlaue[1]);
}
}
}
}
}
}
break;
default:
if(entitys.size()==1){
field.set(entity, entitys.get(0));
}
break;
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return instanceMap;
}
//调度者
@SuppressWarnings("unchecked")
private List<T> dispatch(HSSFSheet sheet){
int rows = sheet.getPhysicalNumberOfRows();
List<Integer> idCols = getIdCols(clazz,null);
List<Class<?>> clazzs = getAllClass(clazz,null);
Map<String,String> tuples = getTuple(sheet,rows);
if(idCols.size()!=clazzs.size()){
logger.error("class 数目不一致");
return null;
}
Map<String,Map<String, Object>> instanceMap = null;
int size = idCols.size();
for(int i=size-1;i>-1;i--){
//默认起始行为1
for(int j=1;j<rows;j++){
int row = j;
int childIdCol = -1;
int idCol = idCols.get(i);
int parentIdCol = -1;
if(i>0){
parentIdCol = idCols.get(i-1);
}
if(i<size-1){
childIdCol = idCols.get(i+1);
}
logger.debug(clazzs.get(i)+"==="+row+"===="+idCol+"======"+parentIdCol);
instanceMap = createInstance(clazzs.get(i), row, idCol, parentIdCol, childIdCol, tuples, instanceMap);
}
}
List<T> list = new ArrayList<T>();
Map<String,Object> map = instanceMap.get(idCols.get(0)+"");
for (Map.Entry<String,Object> entry : map.entrySet()) {
list.add((T)entry.getValue());
}
return list;
}
/**
*
* 获取所有标识列(用来获取父级id)
* @param clazz
* @param idCols
* @return List<Integer> 返回类型
* @throws
*/
private List<Integer> getIdCols(Class<?> clazz,List<Integer> idCols){
if(idCols==null){
idCols = new ArrayList<>();
}
Field[] fields= clazz.getDeclaredFields();
for (Field field : fields) {
if(field.isAnnotationPresent(ExcelID.class)&&field.isAnnotationPresent(ExcelAttribute.class)){
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
idCols.add(getExcelCol(ea.column()));
}
}
for (Field field : fields) {
//TODO 此处集合需要做判断
if(field.isAnnotationPresent(ExcelElement.class)){
clazz = getClass(field.getGenericType(),0);
// logger.debug(clazz);
getIdCols(clazz,idCols);
}
}
return idCols;
}
private List<Class<?>> getAllClass(Class<?> clazz,List<Class<?>> clazzs){
if(clazzs==null){
clazzs = new ArrayList<>();
}
clazzs.add(clazz);
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
//TODO 此处集合需要做判断
if(field.isAnnotationPresent(ExcelElement.class)){
clazz = getClass(field.getGenericType(),0);
getAllClass(clazz, clazzs);
}
}
return clazzs;
}
/**
*
* 获取 excel中的数据 元组
* @param sheet
* @return List<List<String>> excel元组
* @throws
*/
private Map<String,String> getTuple(HSSFSheet sheet,int rows){
Map<String,String> tuples = new HashMap<>();
//获取列
List<Field> fields = getAllField(clazz, null);
// 从第2行开始取数据,默认第一行是表头.
for (int i = 1; i < rows; i++) {
for (Field field : fields) {
if(field.isAnnotationPresent(ExcelAttribute.class)){
ExcelAttribute ea = field.getAnnotation(ExcelAttribute.class);
int col = getExcelCol(ea.column());
if(exceMergedRegion.isMergedRegion(sheet, i, col)){
// 以(行,列)作为一个元组
String key = i+","+col;
String value = exceMergedRegion.getMergedRegionValue(sheet, i, col);
// logger.debug(key+" ===>"+value);
tuples.put(key, value);
}
}
}
}
return tuples;
}
/**
*
* 统计子节点的叶子数目
* @Description: TODO(一个类只支持包含一个集合)
* @param t
* @param childNodeNum
* @return int 子节点的数目
* @throws
*/
private int statisticsNode(Object t, int childNodeNum){
Field[] fields = t.getClass().getDeclaredFields();
boolean childNodeFlag = true;
for (Field field : fields) {
if(field.isAnnotationPresent(ExcelElement.class)){
childNodeFlag = false;
if(!field.isAccessible()){
field.setAccessible(true);
}
try {
switch (ElementTypePath.getElementTypePath(field.getType().getTypeName())) {
case SET:
Set<?> set = (Set<?>)field.get(t);
if(set!=null){
for (Object object : set) {
childNodeNum = statisticsNode(object,childNodeNum);
}
}else{
childNodeNum++;
}
break;
case LIST:
List<?> list = (List<?>)field.get(t);
if(list!=null){
for (Object object : list) {
childNodeNum = statisticsNode(object,childNodeNum);
}
}else{
childNodeNum++;
}
break;
case MAP:
childNodeNum++;
break;
default:
childNodeNum = statisticsNode(t,childNodeNum);
break;
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
if(childNodeFlag){
childNodeNum++;
}
return childNodeNum;
}
/**
*
* 获取所有的字段
* @param clazz
* @param listField
* @return List<Field> 所有字段的集合
* @throws
*/
private List<Field> getAllField(Class<?> clazz, List<Field> listField) {
if (listField == null) {
listField = new ArrayList<>();
}
// 获取所有属性
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
Type fieldType = field.getType();
if (field.isAnnotationPresent(ExcelAttribute.class)) {
listField.add(field);
// 类名,属性名
} else if (field.isAnnotationPresent(ExcelElement.class)) {
/**
* TODO 类型判断
*/
switch (ElementTypePath.getElementTypePath(fieldType.getTypeName())) {
case SET:
case LIST:
Type genericFieldType = field.getGenericType();
getAllField(getClass(genericFieldType, 0), listField);
break;
case MAP:
listField.add(field);
break;
default:
getAllField(field.getClass(),null);
break;
}
}
}
return listField;
}
/**
*
* 得到泛型类对象
* @param type
* @param i
* @return Class 返回类型
* @throws
*/
@SuppressWarnings("rawtypes")
private static Class getClass(Type type, int i) {
if (type instanceof ParameterizedType) { // 处理泛型类型
return getGenericClass((ParameterizedType) type, i);
} else if (type instanceof TypeVariable) {
return (Class) getClass(((TypeVariable) type).getBounds()[0], 0); // 处理泛型擦拭对象
} else {// class本身也是type,强制转型
return (Class) type;
}
}
@SuppressWarnings("rawtypes")
private static Class getGenericClass(ParameterizedType parameterizedType, int i) {
Object genericClass = parameterizedType.getActualTypeArguments()[i];
if (genericClass instanceof ParameterizedType) { // 处理多级泛型
return (Class) ((ParameterizedType) genericClass).getRawType();
} else if (genericClass instanceof GenericArrayType) { // 处理数组泛型
return (Class) ((GenericArrayType) genericClass).getGenericComponentType();
} else if (genericClass instanceof TypeVariable) { // 处理泛型擦拭对象
return (Class) getClass(((TypeVariable) genericClass).getBounds()[0], 0);
} else {
return (Class) genericClass;
}
}
/**
* 将EXCEL中A,B,C,D,E列映射成0,1,2,3
*
* @param col
*/
public static int getExcelCol(String col) {
col = col.toUpperCase();
// 从-1开始计算,字母重1开始运算。这种总数下来算数正好相同。
int count = -1;
char[] cs = col.toCharArray();
for (int i = 0; i < cs.length; i++) {
count += (cs[i] - 64) * Math.pow(26, cs.length - 1 - i);
}
return count;
}
/**
* 设置单元格上提示
*
* @param sheet 要设置的sheet.
* @param promptTitle 标题
* @param promptContent 内容
* @param firstRow 开始行
* @param endRow 结束行
* @param firstCol 开始列
* @param endCol 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFPrompt(HSSFSheet sheet, String promptTitle, String promptContent, int firstRow,
int endRow, int firstCol, int endCol) {
// 构造constraint对象
DVConstraint constraint = DVConstraint.createCustomFormulaConstraint("DD1");
// 四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_view = new HSSFDataValidation(regions, constraint);
data_validation_view.createPromptBox(promptTitle, promptContent);
sheet.addValidationData(data_validation_view);
return sheet;
}
/**
* 设置某些列的值只能输入预制的数据,显示下拉框.
*
* @param sheet 要设置的sheet.
* @param textlist 下拉框显示的内容
* @param firstRow 开始行
* @param endRow 结束行
* @param firstCol 开始列
* @param endCol 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFValidation(HSSFSheet sheet,
String[] textlist, int firstRow, int endRow, int firstCol,
int endCol) {
// 加载下拉列表内容
DVConstraint constraint = DVConstraint
.createExplicitListConstraint(textlist);
// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_list = new HSSFDataValidation(
regions, constraint);
sheet.addValidationData(data_validation_list);
return sheet;
}
}
package com.mortals.xhx.common.utils;
import lombok.extern.slf4j.Slf4j;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
/**
* @author Wz
* @Date: 2021-08-2021/8/2-10:01
* @Description:
*/
@Slf4j
public class DateByAffairUtils {
public static final String P_yyyy_MM_dd_HH_mm_ss = "yyyy-MM-dd HH:mm:ss";
/**
* 指定日期获取工作随机时间
*
* @param begin
* @param end
* @return
*/
public static Date getDayWorkingTimeByRandom(Date date, Integer begin, Integer end) {
if (begin == null) {
begin = 9;
}
if (end == null) {
end = 17;
}
if (date == null) {
date = new Date();
}
Calendar calStart = Calendar.getInstance();
calStart.clear();
calStart.setTime(date);
calStart.set(Calendar.HOUR_OF_DAY, begin);
calStart.set(Calendar.SECOND, 0);
calStart.set(Calendar.MINUTE, 0);
calStart.set(Calendar.MILLISECOND, 0);
Calendar calEnd = Calendar.getInstance();
calEnd.clear();
calEnd.setTime(date);
calEnd.set(Calendar.HOUR_OF_DAY, end);
calEnd.set(Calendar.SECOND, 0);
calEnd.set(Calendar.MINUTE, 0);
calEnd.set(Calendar.MILLISECOND, 0);
long dateTime = randomTime(calStart.getTimeInMillis(), calEnd.getTimeInMillis());
DateFormat df = new SimpleDateFormat(P_yyyy_MM_dd_HH_mm_ss);//定义格式
return StrToDateTime(df.format(dateTime), P_yyyy_MM_dd_HH_mm_ss);
}
private static long randomTime(long begin, long end) {
long rtn = begin + (long) (Math.random() * (end - begin));
// 如果返回的是开始时间和结束时间,则递归调用本函数查找随机值
if (rtn < begin || rtn > end) {
return randomTime(begin, end);
}
return rtn;
}
/**
* 字符串转换为日期(包含小时分)
*
* @param str 日期字符串
* @param pattern 时间模式 为null时默认为“yyy-MM-dd HH:mm:ss”
* @return Date 返回 pattern形式的日期
*/
public final static Date StrToDateTime(String str, String pattern) {
Date returnDate = null;
if (pattern == null) {
pattern = P_yyyy_MM_dd_HH_mm_ss;
}
if (str == null || str.trim().length() == 0) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
returnDate = sdf.parse(str);
} catch (Exception e) {
log.debug("时间格式化异常-->" + str + "-->" + pattern + "-->" + e.getMessage());
return returnDate;
}
return returnDate;
}
/**
* 在指定时间的基础随机增加时间
*
* @param date
* @param maxhousr 随机最大时间
* @return
*/
public static Date getTimeByAddRandom(Date date, Integer maxhousr) {
if (null == maxhousr) {
maxhousr = 4;
}
long time = date.getTime();
time += Math.random() * maxhousr * 60 * 60 * 1000;// 要加上的小时转换成毫秒数
return new Date(time); // 将毫秒数转换成日期
}
/**
* 在当天基础上随机前几天至今天
* @param day
* @return
*/
public static String randomDate(int day) {
Calendar cal = Calendar.getInstance();
try {
int num = (int) (Math.random() * day - 1);
cal.add(Calendar.DATE, -num);
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
} catch (Exception e) {
e.printStackTrace();
}
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
}
/**
* 在当天基础上随机前后几天
* @param day
* @return
*/
public static String randomBetweenDate(int day) {
Calendar cal = Calendar.getInstance();
try {
int num = (int) (Math.random() * day - 1);
if(getRandomBoolean()){
cal.add(Calendar.DATE, -num);
}else{
cal.add(Calendar.DATE, num);
}
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
} catch (Exception e) {
e.printStackTrace();
}
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
}
private static boolean getRandomBoolean() {
Random random = new Random();
return random.nextBoolean();
}
/**
* 指定日期获取工作随机时间
*
* @param begin
* @param end
* @return
*/
public static Date getDayRadomWorkingTime(Date date, Integer begin, Integer end) {
if (begin == null) {
begin = 9;
}
if (end == null) {
end = 17;
}
if (date == null) {
date = new Date();
}
Calendar calStart = Calendar.getInstance();
calStart.clear();
calStart.setTime(date);
calStart.set(Calendar.HOUR_OF_DAY, begin);
calStart.set(Calendar.SECOND, 0);
calStart.set(Calendar.MINUTE, 0);
calStart.set(Calendar.MILLISECOND, 0);
Calendar calEnd = Calendar.getInstance();
calEnd.clear();
calEnd.setTime(date);
calEnd.set(Calendar.HOUR_OF_DAY, end);
calEnd.set(Calendar.SECOND, 0);
calEnd.set(Calendar.MINUTE, 0);
calEnd.set(Calendar.MILLISECOND, 0);
long dateTime = randomTime(calStart.getTimeInMillis(), calEnd.getTimeInMillis());
DateFormat df = new SimpleDateFormat(P_yyyy_MM_dd_HH_mm_ss);//定义格式
//
//
// String dateString = df.format(dateTime);//进行转换
return StrToDateTime(df.format(dateTime), P_yyyy_MM_dd_HH_mm_ss);
}
/**
* 获取当日工作随机时间(早上9点,下午5点)
*
* @param begin 开始 9
* @param end 结束 17
* @return
*/
public static Date getTodayRadomWorkingTime(Integer begin, Integer end) {
if (begin == null) {
begin = 9;
}
if (end == null) {
end = 17;
}
Calendar calStart = Calendar.getInstance();
calStart.set(Calendar.HOUR_OF_DAY, begin);
calStart.set(Calendar.SECOND, 0);
calStart.set(Calendar.MINUTE, 0);
calStart.set(Calendar.MILLISECOND, 0);
Calendar calEnd = Calendar.getInstance();
calEnd.set(Calendar.HOUR_OF_DAY, end);
calEnd.set(Calendar.SECOND, 0);
calEnd.set(Calendar.MINUTE, 0);
calEnd.set(Calendar.MILLISECOND, 0);
long dateTime = randomTime(calStart.getTimeInMillis(), calEnd.getTimeInMillis());
return new Date(dateTime);
}
}
package com.mortals.xhx.common.utils;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.mortals.xhx.common.code.ApplicantTypeEnums;
import java.text.ParseException;
/**
* @Title: 申请人类型转换
* @Package: com.atm.affair.util
* @Description: (用一句话描述该文件做什么)
* @Author: tinker
* @Date: 4/9/21
* @Version: V1.0
*/
public class ExcelConvertApplication implements Converter<String> {
@Override
public Class supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) throws ParseException {
// "申请人属性 1.法人 2.自然人"
if (cellData.getStringValue() == null) {
return null;
} else if (ApplicantTypeEnums.LEGAL.getValue().equals(cellData.getStringValue())) {
return ApplicantTypeEnums.LEGAL.getCode();
} else {
return ApplicantTypeEnums.PERSON.getCode();
}
}
@Override
public CellData convertToExcelData(String value, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return null;
}
}
package com.mortals.xhx.common.utils;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import java.text.ParseException;
/**
* @Title: 证件类型转换
* @Package: com.atm.affair.util
* @Description: (用一句话描述该文件做什么)
* @Author: tinker
* @Date: 4/9/21
* @Version: V1.0
*/
public class ExcelConvertCardType implements Converter<String> {
@Override
public Class supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) throws ParseException {
// 001 统一社会信用代码证件
// 099 其他法人或其他组织有效证件
// 111 居民身份证
// 112 临时居民身份证
// 113 户口簿
if (cellData.getStringValue() == null) {
return "";
} else if (cellData.getStringValue().indexOf("统一社会信用代码")>=0) {
return "001";
} else if ("其他法人或其他组织有效证件".equals(cellData.getStringValue())) {
return "099";
} else if ("居民身份证".equals(cellData.getStringValue())) {
return "111";
} else if ("临时居民身份证".equals(cellData.getStringValue())) {
return "112";
} else if ("护照".equals(cellData.getStringValue())) {
return "414";
}
else{
return "111";
}
}
@Override
public CellData convertToExcelData(String value, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return null;
}
}
package com.mortals.xhx.common.utils;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.mortals.xhx.common.code.SystemConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Title: 申请日期转化
* @Package: com.atm.affair.util
* @Description: (用一句话描述该文件做什么)
* @Author: tinker
* @Date: 4/9/21
* @Version: V1.0
*/
@Slf4j
public class ExcelConvertDateProperty implements Converter<Date> {
private static final String DEFAULT_PATTERN = "yyyy-MM-dd";
@Override
public Class supportJavaTypeKey() {
return null;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return null;
}
@Override
public Date convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
Date date = new Date();
try {
if (StringUtils.isEmpty(cellData.getStringValue())) {
String dateTime = "" ;
if(SystemConstant.BEOR){
dateTime = DateByAffairUtils.randomDate(SystemConstant.DAYS);
}else {
dateTime = DateByAffairUtils.randomBetweenDate(SystemConstant.DAYS);
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DEFAULT_PATTERN);
date = DateByAffairUtils.getDayRadomWorkingTime(simpleDateFormat.parse(dateTime),null, null);
} else {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DEFAULT_PATTERN);
Date dateNew = simpleDateFormat.parse(cellData.getStringValue());
date = DateByAffairUtils.getDayRadomWorkingTime(dateNew, null, null);
}
} catch (Exception e) {
log.error("转换日期失败:"+e.getMessage());
String dateTime = "" ;
if(SystemConstant.BEOR){
dateTime = DateByAffairUtils.randomDate(SystemConstant.DAYS);
}else {
dateTime = DateByAffairUtils.randomBetweenDate(SystemConstant.DAYS);
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DEFAULT_PATTERN);
date = DateByAffairUtils.getDayRadomWorkingTime(simpleDateFormat.parse(dateTime),null, null);
return date;
}
return date;
}
@Override
public CellData convertToExcelData(Date date, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return null;
}
public static void main(String[] args) {
Date date = new Date();
try {
if (StringUtils.isEmpty("2021-04-07") ){
date = DateByAffairUtils.getTodayRadomWorkingTime(null, null);
} else {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DEFAULT_PATTERN);
Date dateNew = simpleDateFormat.parse("2021-04-07");
date = DateByAffairUtils.getDayRadomWorkingTime(dateNew, null, null);
String dateTime = DateByAffairUtils.randomBetweenDate(2);
date = DateByAffairUtils.getDayRadomWorkingTime(simpleDateFormat.parse(dateTime),null, null);
System.out.println("====="+date);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(date);
}
}
package com.mortals.xhx.common.utils;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import java.text.ParseException;
/**
* @Title: 机构类型转换
* @Package: com.atm.affair.util
* @Description: (用一句话描述该文件做什么)
* @Author: tinker
* @Date: 4/9/21
* @Version: V1.0
*/
public class ExcelConvertMainProperty implements Converter<String> {
@Override
public Class supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) throws ParseException {
// 1 国家行政机关
// 2 事业单位
// 3 企业
// 4 其他
if (cellData.getStringValue() == null) {
return "";
} else if ("国家行政机关".equals(cellData.getStringValue())) {
return "1";
} else if ("事业单位".equals(cellData.getStringValue())) {
return "2";
} else if ("企业".equals(cellData.getStringValue())) {
return "3";
} else if ("其他".equals(cellData.getStringValue())) {
return "4";
} else {
return "4";
}
}
@Override
public CellData convertToExcelData(String value, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return null;
}
}
package com.mortals.xhx.common.utils;
import cn.hutool.core.util.IdcardUtil;
import com.mortals.xhx.common.code.ApplicantTypeEnums;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
* @Title:
* @Package: com.atm.affair.util
* @Description: (用一句话描述该文件做什么)
* @Author: tinker
* @Date: 4/10/21
* @Version: V1.0
*/
public class FilterSuppDataUtils {
public static boolean isCorrectSupp(SupplementEntity supplement) {
StringBuffer resonMsg = new StringBuffer();
boolean flag = true;
//判断对象基本情况,直接在supplement对象中加入成功失败
//判断人员属性
if (null==supplement.getApplicationType()|| StringUtils.isEmpty(supplement.getApplicationType())) {
flag = false;
resonMsg.append("Err1:申请人属性为空 ");
}
//实施清单编码* 申请人属性* 申请人证件类型* 申请人姓名* 申请人证件号码* 申请人手机号码*
if (StringUtils.isEmpty(supplement.getImplCode())) {
flag = false;
resonMsg.append("Err2:实施清单编码为空 ");
}
if (StringUtils.isEmpty(supplement.getApplicationCardType())) {
flag = false;
resonMsg.append("Err3:证件类型为空 ");
}
if(!StringUtils.isEmpty(supplement.getApplicationCardType())){
if(supplement.getApplicationCardType().equals("414")){
if (StringUtils.isEmpty(supplement.getApplicationId())) {
flag = false;
resonMsg.append("Err4:护照为空或者证件号码不正确 ");
}
}
if(supplement.getApplicationCardType().equals("111")){
if (StringUtils.isEmpty(supplement.getApplicationId()) || !IdcardUtil.isValidCard(supplement.getApplicationId().trim())) {
flag = false;
resonMsg.append("Err4:证件号码为空或者证件号码不正确 ");
}
}
}
if(StringUtils.isEmpty(supplement.getApplicationCardType())){
flag = false;
resonMsg.append("Err00:证件类型为空");
}
if (StringUtils.isEmpty(supplement.getApplicationPhone()) || supplement.getApplicationPhone().trim().length() != 11 ) {
flag = false;
resonMsg.append("Err5:手机号码为空或者手机号码不正确 ");
}
if (null==supplement.getApplicationName()|| StringUtils.isEmpty(supplement.getApplicationName())) {
flag = false;
resonMsg.append("Err6:申请人姓名为空 ");
}
if (ApplicantTypeEnums.LEGAL.getCode().equals(supplement.getApplicationType())) {
//如果是法人,还需要在校验下
//机构名称* 机构地址 机构性质* 证件类型* 机构编码* 法人姓名*
if (StringUtils.isEmpty(supplement.getMechanismName())) {
flag = false;
resonMsg.append("Err21:机构名称为空 ");
}
if (StringUtils.isEmpty(supplement.getMechanismType())) {
flag = false;
resonMsg.append("Err22:机构性质为空 ");
}
if (StringUtils.isEmpty(supplement.getMechanismIdType())) {
flag = false;
resonMsg.append("Err23:机构证件类型为空 ");
}
if (StringUtils.isEmpty(supplement.getMechanismId())) {
flag = false;
resonMsg.append("Err24:机构编码为空 ");
}
if (StringUtils.isEmpty(supplement.getLegalPerson())) {
flag = false;
resonMsg.append("Err25:法人姓名为空 ");
}
}
supplement.setFailReason(resonMsg.toString());
return flag;
}
public static String parseGender(String cid) {
String gender = null;
char c = cid.charAt(cid.length() - 2);
int sex = Integer.parseInt(String.valueOf(c));
if (sex % 2 == 0) {
gender = "2";
} else {
gender = "1";
}
return gender;
}
/**
* List数据拆分
*
* @param sourceList
* @param size 指定大小
* @return
*/
public static List<List<SupplementEntity>> splitList(List<SupplementEntity> sourceList, int size) {
List<List<SupplementEntity>> listArr = new ArrayList<List<SupplementEntity>>();
//获取被拆分的数组个数
int arrSize = sourceList.size() % size == 0 ? sourceList.size() / size : sourceList.size() / size + 1;
for (int i = 0; i < arrSize; i++) {
List<SupplementEntity> sub = new ArrayList<SupplementEntity>();
//把指定索引数据放入到list中
for (int j = i * size; j <= size * (i + 1) - 1; j++) {
if (j <= sourceList.size() - 1) {
sub.add(sourceList.get(j));
}
}
listArr.add(sub);
}
return listArr;
}
public static void main(String[] args) {
List<SupplementEntity> supplementList = new ArrayList<>();
for (int i = 0; i < 9878; i++) {
SupplementEntity supplement = new SupplementEntity();
supplement.setImplName(String.valueOf("Test-" + i));
supplementList.add(supplement);
}
Long a = System.currentTimeMillis();
List<List<SupplementEntity>> aar = splitList(supplementList, 1000);
System.out.println(System.currentTimeMillis() - a);
System.out.println(aar);
}
}
package com.mortals.xhx.common.utils;
/**
* @author wxy
*/
public class SnowFlakeUtil {
private long workerId;
private long dataCenterId;
private long sequence = 0L;
private long workerIdBits = 5L;
private long dataCenterIdBits = 5L;
private long sequenceBits = 12L;
private long workerIdShift = sequenceBits;
private long dataCenterIdShift = sequenceBits + workerIdBits;
private long timestampLeftShift = sequenceBits + workerIdBits + dataCenterIdBits;
private long sequenceMask = ~(-1L << sequenceBits);
private long lastTimestamp = -1L;
private static SnowFlakeUtil snowFlakeInstance=null;
public SnowFlakeUtil() {
this(0L, 0L);
}
public SnowFlakeUtil(long workerId, long dataCenterId) {
long maxWorkerId = ~(-1L << workerIdBits);
if (workerId > maxWorkerId || workerId < 0) {
throw new IllegalArgumentException(String.format("worker Id can't be greater than %d or less than 0", maxWorkerId));
}
long maxDatacenterId = ~(-1L << dataCenterIdBits);
if (dataCenterId > maxDatacenterId || dataCenterId < 0) {
throw new IllegalArgumentException(String.format("datacenter Id can't be greater than %d or less than 0", maxDatacenterId));
}
this.workerId = workerId;
this.dataCenterId = dataCenterId;
}
// private static class IdGenHolder {
// private static final SnowFlakeUtil INSTANCE = new SnowFlakeUtil();
// }
public static SnowFlakeUtil get() {
// //避免单例模式在懒汉模式使用,造成ID重复
if(snowFlakeInstance == null){
synchronized (SnowFlakeUtil.class){
if(snowFlakeInstance == null){
snowFlakeInstance = new SnowFlakeUtil();
}
}
}
return snowFlakeInstance;
}
/**
* 获取全局唯一编码
*/
public static String getId() {
long id = SnowFlakeUtil.get().nextId();
return Long.toString(id);
}
//线程安全的id生成方法
@SuppressWarnings("all")
public synchronized long nextId() {
//获取当前毫秒数
long timestamp = timeGen();
//如果服务器时间有问题(时钟后退) 报错。
if (timestamp < lastTimestamp) {
throw new RuntimeException(String.format(
"Clock moved backwards. Refusing to generate id for %d milliseconds", lastTimestamp - timestamp));
}
//如果上次生成时间和当前时间相同,在同一毫秒内
if (lastTimestamp == timestamp) {
//sequence自增,因为sequence只有12bit,所以和sequenceMask相与一下,去掉高位
sequence = (sequence + 1) & sequenceMask;
//判断是否溢出,也就是每毫秒内超过4095,当为4096时,与sequenceMask相与,sequence就等于0
if (sequence == 0) {
//自旋等待到下一毫秒
timestamp = tilNextMillis(lastTimestamp);
}
} else {
sequence = 0L;
}
lastTimestamp = timestamp;
long twepoch = 1111166465631L;
return ((timestamp - twepoch) << timestampLeftShift)
| (dataCenterId << dataCenterIdShift)
| (workerId << workerIdShift)
| sequence;
}
protected long tilNextMillis(long lastTimestamp) {
long timestamp = timeGen();
while (timestamp <= lastTimestamp) {
timestamp = timeGen();
}
return timestamp;
}
protected long timeGen() {
return System.currentTimeMillis();
}
}
package com.mortals.xhx.modules.implementlist.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.modules.implementlist.model.ImplementlistEntity;
/**
* <p>Title: 实施清单主表</p>
* <p>Description: ImplementlistDao DAO接口 </p>
* @author
* @version 1.0.0
*/
public interface ImplementlistDao extends ICRUDDao<ImplementlistEntity,Long> {
}
package com.mortals.xhx.modules.implementlist.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.modules.implementlist.dao.ImplementlistDao;
import com.mortals.xhx.modules.implementlist.model.ImplementlistEntity;
import org.springframework.stereotype.Repository;
/**
* <p>Title: 实施清单主表</p>
* <p>Description: ImplementlistDaoImpl DAO接口 </p>
* @author
* @version 1.0.0
*/
@Repository("implementlistDao")
public class ImplementlistDaoImpl extends BaseCRUDDaoMybatis<ImplementlistEntity,Long> implements ImplementlistDao {
}
package com.mortals.xhx.modules.implementlist.model;
import com.mortals.framework.model.BaseEntityLong;
/**
*
* Description:Implementlist
* date: 2021-8-3 9:12:39
*/
public class ImplementlistEntity extends BaseEntityLong{
private static final long serialVersionUID = 1627953159186L;
/**
* 目录清单ID
*/
private String dirListId;
/**
* 运行系统
*/
private String runSystem;
/**
* 业务办理系统
*/
private String businessSystem;
/**
* 行使层级
*/
private String performHierarchy;
/**
* 跳转链接
*/
private String jumpUrl;
/**
* 事项类型
*/
private String eventType;
/**
* 事项代码
*/
private String eventCode;
/**
* 事项名称
*/
private String eventName;
/**
* 所属大项
*/
private String majorTerm;
/**
* 行业
*/
private String trade;
/**
* 联审信息
*/
private String jointReviewInfo;
/**
* 审批对象
*/
private String appoveObject;
/**
* 审批时限
*/
private String appoveTimeLimit;
/**
* 审批类别
*/
private String appoveType;
/**
* 办理总时限
*/
private String legalTimeLimit;
/**
* 材料预审
*/
private String materialInquiry;
/**
* 办件性质
*/
private String doThiingProperty;
/**
* 申请窗口
*/
private String applyWindow;
/**
* 备注
*/
private String remark;
/**
*
*/
private String onlineItemType;
/**
*
*/
private String status;
/**
* 是否上报
*/
private String isDeliver;
/**
* 总材料说明
*/
private String materialRemark;
/**
* 办理类型
*/
private String handleType;
/**
* 办事者到现场次数
*/
private String percenceTimes;
/**
* 认证等级需求
*/
private String certificationLevels;
/**
* 地区编码
*/
private String areaCode;
/**
* 地区名称
*/
private String areaName;
/**
* 部门编码
*/
private String deptCode;
/**
* 部门名称
*/
private String deptName;
/**
* 分片字段
*/
private String shardKey;
/**
* 创建人ID
*/
private String creatorId;
/**
* 创建人名称
*/
private String creatorName;
/**
* 创建时间
*/
private String createsTime;
/**
* 更新时间
*/
private String updatesTime;
/**
* 删除标识
*/
private String deleteFlag;
/**
* 创建年份
*/
private String year;
/**
* 事项简称
*/
private String shortName;
/**
* 事项类别
*/
private String eventCategory;
/**
* 公示开始时间
*/
private String pubBeginTime;
/**
* 公示结束时间(至)
*/
private String pubEndTime;
/**
* 是否证明材料类事项
*/
private String isProofMaterial;
/**
* 使用人:部门/自然人/法人
*/
private String user;
/**
* 上报层级,枚举多选
*/
private String reportHierarchy;
/**
* 上报地区
*/
private String reportArea;
/**
* 上报单位部门
*/
private String reportDept;
/**
* 事项决定权,枚举多选
*/
private String eventDecPower;
/**
* 统计标识,1:统计 0:不统计
*/
private String isStatistics;
/**
* 服务内容
*/
private String serviceContent;
/**
* 是否最新版本
*/
private String isNewest;
/**
* 版本号
*/
private String version;
/**
* 是否进入政务服务中心/便民服务中心窗口办理。必选,是/否;
*/
private String goveServiceCenter;
/**
* 是否授权窗口工作人员全程办理。必选,接件、受理、审核、转报、出具结论性意见、审批决定权、审核上报权、组织协调权、印章使用(用于监察系统)
*/
private String isAuthoTransact;
/**
* 是否网上预约(单选):是或者否
*/
private String isOnlineSubscribe;
/**
* 收费情况
*/
private String isCharges;
/**
* 是否在线支付
*/
private String isOnlinePay;
/**
* 是否支持快递取件
*/
private String isExpressTake;
/**
* 是否纳入政务服务中心
*/
private String isGoveCenter;
/**
* 是否纳入便民服务中心
*/
private String isConvenientCenter;
/**
* 行使编码 (实施主体)
*/
private String performDeptCode;
/**
* 行使名称 (实施主体名称)
*/
private String performDeptName;
/**
* 行使主体(实施性质)
*/
private String performDeptType;
/**
* 是否支持上门收取申请材料
*/
private String isDoorTake;
/**
* 承诺办理总时限
*/
private String promiseTimeLimit;
/**
* 办理类型:窗口办理、原件预审、原件核验、全程网办
*/
private String doThingType;
/**
* 发起主体
*/
private String launchBody;
/**
* 省级审查类型
*/
private String proReviewType;
/**
* 市级审查类型
*/
private String cityReviewType;
/**
* 区县级审查类型
*/
private String couReviewType;
/**
* 乡镇级审查类型
*/
private String townReviewType;
/**
* 事项设定来源-枚举多选
*/
private String vilReviewType;
/**
* 用户类型(1:普通用户,2:会员)
*/
private String eventSource;
/**
* 是否数量限制
*/
private String isNumberLimit;
/**
* 数量限制
*/
private String numberLimit;
/**
* 事项是否在一体化平台办理
*/
private String isIntegration;
/**
* 部门系统级别
*/
private String deptSysLevel;
/**
* 办理结果是否能够在一体化平台共享
*/
private String isShare;
/**
* 行使方式:1 依申请 2主动行使
*/
private String applyObject;
/**
* 按人生事件分类/按经营活动分类
*/
private String lifeEventType;
/**
* 按特定对象分类
*/
private String specialObjectType;
/**
* 按扶贫服务分类
*/
private String poorObjectType;
/**
* 办理结果形式
*/
private String handleResultForm;
/**
* 部门系统名称
*/
private String deptSysName;
/**
* 原因
*/
private String reason;
/**
* 实施清单业务状态
*/
private String eventStatus;
/**
* 是否支持快递取件_网办类型
*/
private String isExpressTakeOnline;
/**
* 办事者到办理现场次数_网办类型
*/
private String percenceTimesOnline;
/**
* 网办类型0:原件预审 1:原件核验 2:全程网办
*/
private String onlineType;
/**
* 部门id
*/
private String deptId;
/**
* 节日类型:1 工作日 2 自然日
*/
private String daysType;
/**
* 目录清单是否变更
*/
private String isDirChange;
/**
* 实施清单来源
*/
private String implListSource;
/**
* 流程实例id
*/
private String wfInstanceId;
/**
* 是否支持全城通办
*/
private String isCityWideOffice;
/**
* 是否支持全省范围就近申请
*/
private String isApplyProvince;
/**
* 是否支持全省范围就近取件
*/
private String isProvinceAcquisition;
/**
* 目录清单编码
*/
private String dirListCode;
/**
* 实施清单管理列表是否显示该数据
*/
private String isShow;
/**
* 末级部门编码
*/
private String implDeptCode;
/**
* 末级部门id
*/
private String implDeptId;
/**
* 厅局办件标识 是否统一受理 1.统一受理 2.非统一受理 3.全程办理
*/
private String isUniteAccept;
/**
* 法定时限
*/
private String subLegalTimeLimit;
/**
* 承诺时限
*/
private String subPromiseTimeLimit;
/**
* 事项简称(俗语)
*/
private String commonSaying;
/**
* 承诺办理总时限单位
*/
private String clDaysType;
/**
* 是否割接数据 1表示是 null 表示否
*/
private String isCutOff;
/**
* 是否割接数据 1:是
*/
private String isOlddata;
/**
* 权力来源
*/
private String powerSource;
/**
* 委托部门
*/
private String entrustDept;
/**
* 特别程序
*/
private String specProcedure;
/**
* 通办范围:1全国 2跨省 3跨市 4跨县 5跨镇(乡、街道)6跨村(社区)
*/
private String operatScope;
/**
* 联办机构
*/
private String jointagency;
/**
* 审批结果类型 枚举项:10证照 20批文 30其他 99无
*/
private String applyresultType;
/**
* 变更结果记录
*/
private String applyresultsSample;
/**
* 实施清单展示编码
*/
private String showEventCode;
/**
* 页面展示目录清单编码
*/
private String showDirCode;
/**
* 是否设置证照
*/
private String isSetLicense;
/**
* 是否场景化事项
*/
private String isSceneServer;
/**
* 事项名称首字母
*/
private String eventInitial;
/**
* 国家编码
*/
private String catalogcode;
/**
* 子项编码
*/
private String subcode;
/**
* 特殊状态(为空或0;1表示在门户列表中不展示的数据,办事指南和在线申请需要展示)
*/
private String specialStatus;
/**
* 材料目录模式:null为2.0模式,1:3.0模式
*/
private String materialVersion;
/**
* 码表多选
*/
private String projectType;
/**
* 审核状态(0:审核中1:审核通过2:审核失败)
*/
private String auditState;
/**
* 存放公共服务类型:2A,2B,2C
*/
private String publicServiceType;
/**
* 是否有效:0 否,1 是,2 暂停
*/
private String isValid;
public ImplementlistEntity(){
}
/**
* 获取 目录清单ID
* @return dirListId
*/
public String getDirListId() {
return this.dirListId;
}
/**
* 设置 目录清单ID
* @param dirListId
*/
public void setDirListId(String dirListId) {
this.dirListId = dirListId;
}
/**
* 获取 运行系统
* @return runSystem
*/
public String getRunSystem() {
return this.runSystem;
}
/**
* 设置 运行系统
* @param runSystem
*/
public void setRunSystem(String runSystem) {
this.runSystem = runSystem;
}
/**
* 获取 业务办理系统
* @return businessSystem
*/
public String getBusinessSystem() {
return this.businessSystem;
}
/**
* 设置 业务办理系统
* @param businessSystem
*/
public void setBusinessSystem(String businessSystem) {
this.businessSystem = businessSystem;
}
/**
* 获取 行使层级
* @return performHierarchy
*/
public String getPerformHierarchy() {
return this.performHierarchy;
}
/**
* 设置 行使层级
* @param performHierarchy
*/
public void setPerformHierarchy(String performHierarchy) {
this.performHierarchy = performHierarchy;
}
/**
* 获取 跳转链接
* @return jumpUrl
*/
public String getJumpUrl() {
return this.jumpUrl;
}
/**
* 设置 跳转链接
* @param jumpUrl
*/
public void setJumpUrl(String jumpUrl) {
this.jumpUrl = jumpUrl;
}
/**
* 获取 事项类型
* @return eventType
*/
public String getEventType() {
return this.eventType;
}
/**
* 设置 事项类型
* @param eventType
*/
public void setEventType(String eventType) {
this.eventType = eventType;
}
/**
* 获取 事项代码
* @return eventCode
*/
public String getEventCode() {
return this.eventCode;
}
/**
* 设置 事项代码
* @param eventCode
*/
public void setEventCode(String eventCode) {
this.eventCode = eventCode;
}
/**
* 获取 事项名称
* @return eventName
*/
public String getEventName() {
return this.eventName;
}
/**
* 设置 事项名称
* @param eventName
*/
public void setEventName(String eventName) {
this.eventName = eventName;
}
/**
* 获取 所属大项
* @return majorTerm
*/
public String getMajorTerm() {
return this.majorTerm;
}
/**
* 设置 所属大项
* @param majorTerm
*/
public void setMajorTerm(String majorTerm) {
this.majorTerm = majorTerm;
}
/**
* 获取 行业
* @return trade
*/
public String getTrade() {
return this.trade;
}
/**
* 设置 行业
* @param trade
*/
public void setTrade(String trade) {
this.trade = trade;
}
/**
* 获取 联审信息
* @return jointReviewInfo
*/
public String getJointReviewInfo() {
return this.jointReviewInfo;
}
/**
* 设置 联审信息
* @param jointReviewInfo
*/
public void setJointReviewInfo(String jointReviewInfo) {
this.jointReviewInfo = jointReviewInfo;
}
/**
* 获取 审批对象
* @return appoveObject
*/
public String getAppoveObject() {
return this.appoveObject;
}
/**
* 设置 审批对象
* @param appoveObject
*/
public void setAppoveObject(String appoveObject) {
this.appoveObject = appoveObject;
}
/**
* 获取 审批时限
* @return appoveTimeLimit
*/
public String getAppoveTimeLimit() {
return this.appoveTimeLimit;
}
/**
* 设置 审批时限
* @param appoveTimeLimit
*/
public void setAppoveTimeLimit(String appoveTimeLimit) {
this.appoveTimeLimit = appoveTimeLimit;
}
/**
* 获取 审批类别
* @return appoveType
*/
public String getAppoveType() {
return this.appoveType;
}
/**
* 设置 审批类别
* @param appoveType
*/
public void setAppoveType(String appoveType) {
this.appoveType = appoveType;
}
/**
* 获取 办理总时限
* @return legalTimeLimit
*/
public String getLegalTimeLimit() {
return this.legalTimeLimit;
}
/**
* 设置 办理总时限
* @param legalTimeLimit
*/
public void setLegalTimeLimit(String legalTimeLimit) {
this.legalTimeLimit = legalTimeLimit;
}
/**
* 获取 材料预审
* @return materialInquiry
*/
public String getMaterialInquiry() {
return this.materialInquiry;
}
/**
* 设置 材料预审
* @param materialInquiry
*/
public void setMaterialInquiry(String materialInquiry) {
this.materialInquiry = materialInquiry;
}
/**
* 获取 办件性质
* @return doThiingProperty
*/
public String getDoThiingProperty() {
return this.doThiingProperty;
}
/**
* 设置 办件性质
* @param doThiingProperty
*/
public void setDoThiingProperty(String doThiingProperty) {
this.doThiingProperty = doThiingProperty;
}
/**
* 获取 申请窗口
* @return applyWindow
*/
public String getApplyWindow() {
return this.applyWindow;
}
/**
* 设置 申请窗口
* @param applyWindow
*/
public void setApplyWindow(String applyWindow) {
this.applyWindow = applyWindow;
}
/**
* 获取 备注
* @return remark
*/
public String getRemark() {
return this.remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark) {
this.remark = remark;
}
/**
* 获取
* @return onlineItemType
*/
public String getOnlineItemType() {
return this.onlineItemType;
}
/**
* 设置
* @param onlineItemType
*/
public void setOnlineItemType(String onlineItemType) {
this.onlineItemType = onlineItemType;
}
/**
* 获取
* @return status
*/
public String getStatus() {
return this.status;
}
/**
* 设置
* @param status
*/
public void setStatus(String status) {
this.status = status;
}
/**
* 获取 是否上报
* @return isDeliver
*/
public String getIsDeliver() {
return this.isDeliver;
}
/**
* 设置 是否上报
* @param isDeliver
*/
public void setIsDeliver(String isDeliver) {
this.isDeliver = isDeliver;
}
/**
* 获取 总材料说明
* @return materialRemark
*/
public String getMaterialRemark() {
return this.materialRemark;
}
/**
* 设置 总材料说明
* @param materialRemark
*/
public void setMaterialRemark(String materialRemark) {
this.materialRemark = materialRemark;
}
/**
* 获取 办理类型
* @return handleType
*/
public String getHandleType() {
return this.handleType;
}
/**
* 设置 办理类型
* @param handleType
*/
public void setHandleType(String handleType) {
this.handleType = handleType;
}
/**
* 获取 办事者到现场次数
* @return percenceTimes
*/
public String getPercenceTimes() {
return this.percenceTimes;
}
/**
* 设置 办事者到现场次数
* @param percenceTimes
*/
public void setPercenceTimes(String percenceTimes) {
this.percenceTimes = percenceTimes;
}
/**
* 获取 认证等级需求
* @return certificationLevels
*/
public String getCertificationLevels() {
return this.certificationLevels;
}
/**
* 设置 认证等级需求
* @param certificationLevels
*/
public void setCertificationLevels(String certificationLevels) {
this.certificationLevels = certificationLevels;
}
/**
* 获取 地区编码
* @return areaCode
*/
public String getAreaCode() {
return this.areaCode;
}
/**
* 设置 地区编码
* @param areaCode
*/
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
/**
* 获取 地区名称
* @return areaName
*/
public String getAreaName() {
return this.areaName;
}
/**
* 设置 地区名称
* @param areaName
*/
public void setAreaName(String areaName) {
this.areaName = areaName;
}
/**
* 获取 部门编码
* @return deptCode
*/
public String getDeptCode() {
return this.deptCode;
}
/**
* 设置 部门编码
* @param deptCode
*/
public void setDeptCode(String deptCode) {
this.deptCode = deptCode;
}
/**
* 获取 部门名称
* @return deptName
*/
public String getDeptName() {
return this.deptName;
}
/**
* 设置 部门名称
* @param deptName
*/
public void setDeptName(String deptName) {
this.deptName = deptName;
}
/**
* 获取 分片字段
* @return shardKey
*/
public String getShardKey() {
return this.shardKey;
}
/**
* 设置 分片字段
* @param shardKey
*/
public void setShardKey(String shardKey) {
this.shardKey = shardKey;
}
/**
* 获取 创建人ID
* @return creatorId
*/
public String getCreatorId() {
return this.creatorId;
}
/**
* 设置 创建人ID
* @param creatorId
*/
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
/**
* 获取 创建人名称
* @return creatorName
*/
public String getCreatorName() {
return this.creatorName;
}
/**
* 设置 创建人名称
* @param creatorName
*/
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
/**
* 获取 创建时间
* @return createsTime
*/
public String getCreatesTime() {
return this.createsTime;
}
/**
* 设置 创建时间
* @param createsTime
*/
public void setCreatesTime(String createsTime) {
this.createsTime = createsTime;
}
/**
* 获取 更新时间
* @return updatesTime
*/
public String getUpdatesTime() {
return this.updatesTime;
}
/**
* 设置 更新时间
* @param updatesTime
*/
public void setUpdatesTime(String updatesTime) {
this.updatesTime = updatesTime;
}
/**
* 获取 删除标识
* @return deleteFlag
*/
public String getDeleteFlag() {
return this.deleteFlag;
}
/**
* 设置 删除标识
* @param deleteFlag
*/
public void setDeleteFlag(String deleteFlag) {
this.deleteFlag = deleteFlag;
}
/**
* 获取 创建年份
* @return year
*/
public String getYear() {
return this.year;
}
/**
* 设置 创建年份
* @param year
*/
public void setYear(String year) {
this.year = year;
}
/**
* 获取 事项简称
* @return shortName
*/
public String getShortName() {
return this.shortName;
}
/**
* 设置 事项简称
* @param shortName
*/
public void setShortName(String shortName) {
this.shortName = shortName;
}
/**
* 获取 事项类别
* @return eventCategory
*/
public String getEventCategory() {
return this.eventCategory;
}
/**
* 设置 事项类别
* @param eventCategory
*/
public void setEventCategory(String eventCategory) {
this.eventCategory = eventCategory;
}
/**
* 获取 公示开始时间
* @return pubBeginTime
*/
public String getPubBeginTime() {
return this.pubBeginTime;
}
/**
* 设置 公示开始时间
* @param pubBeginTime
*/
public void setPubBeginTime(String pubBeginTime) {
this.pubBeginTime = pubBeginTime;
}
/**
* 获取 公示结束时间(至)
* @return pubEndTime
*/
public String getPubEndTime() {
return this.pubEndTime;
}
/**
* 设置 公示结束时间(至)
* @param pubEndTime
*/
public void setPubEndTime(String pubEndTime) {
this.pubEndTime = pubEndTime;
}
/**
* 获取 是否证明材料类事项
* @return isProofMaterial
*/
public String getIsProofMaterial() {
return this.isProofMaterial;
}
/**
* 设置 是否证明材料类事项
* @param isProofMaterial
*/
public void setIsProofMaterial(String isProofMaterial) {
this.isProofMaterial = isProofMaterial;
}
/**
* 获取 使用人:部门/自然人/法人
* @return user
*/
public String getUser() {
return this.user;
}
/**
* 设置 使用人:部门/自然人/法人
* @param user
*/
public void setUser(String user) {
this.user = user;
}
/**
* 获取 上报层级,枚举多选
* @return reportHierarchy
*/
public String getReportHierarchy() {
return this.reportHierarchy;
}
/**
* 设置 上报层级,枚举多选
* @param reportHierarchy
*/
public void setReportHierarchy(String reportHierarchy) {
this.reportHierarchy = reportHierarchy;
}
/**
* 获取 上报地区
* @return reportArea
*/
public String getReportArea() {
return this.reportArea;
}
/**
* 设置 上报地区
* @param reportArea
*/
public void setReportArea(String reportArea) {
this.reportArea = reportArea;
}
/**
* 获取 上报单位部门
* @return reportDept
*/
public String getReportDept() {
return this.reportDept;
}
/**
* 设置 上报单位部门
* @param reportDept
*/
public void setReportDept(String reportDept) {
this.reportDept = reportDept;
}
/**
* 获取 事项决定权,枚举多选
* @return eventDecPower
*/
public String getEventDecPower() {
return this.eventDecPower;
}
/**
* 设置 事项决定权,枚举多选
* @param eventDecPower
*/
public void setEventDecPower(String eventDecPower) {
this.eventDecPower = eventDecPower;
}
/**
* 获取 统计标识,1:统计 0:不统计
* @return isStatistics
*/
public String getIsStatistics() {
return this.isStatistics;
}
/**
* 设置 统计标识,1:统计 0:不统计
* @param isStatistics
*/
public void setIsStatistics(String isStatistics) {
this.isStatistics = isStatistics;
}
/**
* 获取 服务内容
* @return serviceContent
*/
public String getServiceContent() {
return this.serviceContent;
}
/**
* 设置 服务内容
* @param serviceContent
*/
public void setServiceContent(String serviceContent) {
this.serviceContent = serviceContent;
}
/**
* 获取 是否最新版本
* @return isNewest
*/
public String getIsNewest() {
return this.isNewest;
}
/**
* 设置 是否最新版本
* @param isNewest
*/
public void setIsNewest(String isNewest) {
this.isNewest = isNewest;
}
/**
* 获取 版本号
* @return version
*/
public String getVersion() {
return this.version;
}
/**
* 设置 版本号
* @param version
*/
public void setVersion(String version) {
this.version = version;
}
/**
* 获取 是否进入政务服务中心/便民服务中心窗口办理。必选,是/否;
* @return goveServiceCenter
*/
public String getGoveServiceCenter() {
return this.goveServiceCenter;
}
/**
* 设置 是否进入政务服务中心/便民服务中心窗口办理。必选,是/否;
* @param goveServiceCenter
*/
public void setGoveServiceCenter(String goveServiceCenter) {
this.goveServiceCenter = goveServiceCenter;
}
/**
* 获取 是否授权窗口工作人员全程办理。必选,接件、受理、审核、转报、出具结论性意见、审批决定权、审核上报权、组织协调权、印章使用(用于监察系统)
* @return isAuthoTransact
*/
public String getIsAuthoTransact() {
return this.isAuthoTransact;
}
/**
* 设置 是否授权窗口工作人员全程办理。必选,接件、受理、审核、转报、出具结论性意见、审批决定权、审核上报权、组织协调权、印章使用(用于监察系统)
* @param isAuthoTransact
*/
public void setIsAuthoTransact(String isAuthoTransact) {
this.isAuthoTransact = isAuthoTransact;
}
/**
* 获取 是否网上预约(单选):是或者否
* @return isOnlineSubscribe
*/
public String getIsOnlineSubscribe() {
return this.isOnlineSubscribe;
}
/**
* 设置 是否网上预约(单选):是或者否
* @param isOnlineSubscribe
*/
public void setIsOnlineSubscribe(String isOnlineSubscribe) {
this.isOnlineSubscribe = isOnlineSubscribe;
}
/**
* 获取 收费情况
* @return isCharges
*/
public String getIsCharges() {
return this.isCharges;
}
/**
* 设置 收费情况
* @param isCharges
*/
public void setIsCharges(String isCharges) {
this.isCharges = isCharges;
}
/**
* 获取 是否在线支付
* @return isOnlinePay
*/
public String getIsOnlinePay() {
return this.isOnlinePay;
}
/**
* 设置 是否在线支付
* @param isOnlinePay
*/
public void setIsOnlinePay(String isOnlinePay) {
this.isOnlinePay = isOnlinePay;
}
/**
* 获取 是否支持快递取件
* @return isExpressTake
*/
public String getIsExpressTake() {
return this.isExpressTake;
}
/**
* 设置 是否支持快递取件
* @param isExpressTake
*/
public void setIsExpressTake(String isExpressTake) {
this.isExpressTake = isExpressTake;
}
/**
* 获取 是否纳入政务服务中心
* @return isGoveCenter
*/
public String getIsGoveCenter() {
return this.isGoveCenter;
}
/**
* 设置 是否纳入政务服务中心
* @param isGoveCenter
*/
public void setIsGoveCenter(String isGoveCenter) {
this.isGoveCenter = isGoveCenter;
}
/**
* 获取 是否纳入便民服务中心
* @return isConvenientCenter
*/
public String getIsConvenientCenter() {
return this.isConvenientCenter;
}
/**
* 设置 是否纳入便民服务中心
* @param isConvenientCenter
*/
public void setIsConvenientCenter(String isConvenientCenter) {
this.isConvenientCenter = isConvenientCenter;
}
/**
* 获取 行使编码 (实施主体)
* @return performDeptCode
*/
public String getPerformDeptCode() {
return this.performDeptCode;
}
/**
* 设置 行使编码 (实施主体)
* @param performDeptCode
*/
public void setPerformDeptCode(String performDeptCode) {
this.performDeptCode = performDeptCode;
}
/**
* 获取 行使名称 (实施主体名称)
* @return performDeptName
*/
public String getPerformDeptName() {
return this.performDeptName;
}
/**
* 设置 行使名称 (实施主体名称)
* @param performDeptName
*/
public void setPerformDeptName(String performDeptName) {
this.performDeptName = performDeptName;
}
/**
* 获取 行使主体(实施性质)
* @return performDeptType
*/
public String getPerformDeptType() {
return this.performDeptType;
}
/**
* 设置 行使主体(实施性质)
* @param performDeptType
*/
public void setPerformDeptType(String performDeptType) {
this.performDeptType = performDeptType;
}
/**
* 获取 是否支持上门收取申请材料
* @return isDoorTake
*/
public String getIsDoorTake() {
return this.isDoorTake;
}
/**
* 设置 是否支持上门收取申请材料
* @param isDoorTake
*/
public void setIsDoorTake(String isDoorTake) {
this.isDoorTake = isDoorTake;
}
/**
* 获取 承诺办理总时限
* @return promiseTimeLimit
*/
public String getPromiseTimeLimit() {
return this.promiseTimeLimit;
}
/**
* 设置 承诺办理总时限
* @param promiseTimeLimit
*/
public void setPromiseTimeLimit(String promiseTimeLimit) {
this.promiseTimeLimit = promiseTimeLimit;
}
/**
* 获取 办理类型:窗口办理、原件预审、原件核验、全程网办
* @return doThingType
*/
public String getDoThingType() {
return this.doThingType;
}
/**
* 设置 办理类型:窗口办理、原件预审、原件核验、全程网办
* @param doThingType
*/
public void setDoThingType(String doThingType) {
this.doThingType = doThingType;
}
/**
* 获取 发起主体
* @return launchBody
*/
public String getLaunchBody() {
return this.launchBody;
}
/**
* 设置 发起主体
* @param launchBody
*/
public void setLaunchBody(String launchBody) {
this.launchBody = launchBody;
}
/**
* 获取 省级审查类型
* @return proReviewType
*/
public String getProReviewType() {
return this.proReviewType;
}
/**
* 设置 省级审查类型
* @param proReviewType
*/
public void setProReviewType(String proReviewType) {
this.proReviewType = proReviewType;
}
/**
* 获取 市级审查类型
* @return cityReviewType
*/
public String getCityReviewType() {
return this.cityReviewType;
}
/**
* 设置 市级审查类型
* @param cityReviewType
*/
public void setCityReviewType(String cityReviewType) {
this.cityReviewType = cityReviewType;
}
/**
* 获取 区县级审查类型
* @return couReviewType
*/
public String getCouReviewType() {
return this.couReviewType;
}
/**
* 设置 区县级审查类型
* @param couReviewType
*/
public void setCouReviewType(String couReviewType) {
this.couReviewType = couReviewType;
}
/**
* 获取 乡镇级审查类型
* @return townReviewType
*/
public String getTownReviewType() {
return this.townReviewType;
}
/**
* 设置 乡镇级审查类型
* @param townReviewType
*/
public void setTownReviewType(String townReviewType) {
this.townReviewType = townReviewType;
}
/**
* 获取 事项设定来源-枚举多选
* @return vilReviewType
*/
public String getVilReviewType() {
return this.vilReviewType;
}
/**
* 设置 事项设定来源-枚举多选
* @param vilReviewType
*/
public void setVilReviewType(String vilReviewType) {
this.vilReviewType = vilReviewType;
}
/**
* 获取 用户类型(1:普通用户,2:会员)
* @return eventSource
*/
public String getEventSource() {
return this.eventSource;
}
/**
* 设置 用户类型(1:普通用户,2:会员)
* @param eventSource
*/
public void setEventSource(String eventSource) {
this.eventSource = eventSource;
}
/**
* 获取 是否数量限制
* @return isNumberLimit
*/
public String getIsNumberLimit() {
return this.isNumberLimit;
}
/**
* 设置 是否数量限制
* @param isNumberLimit
*/
public void setIsNumberLimit(String isNumberLimit) {
this.isNumberLimit = isNumberLimit;
}
/**
* 获取 数量限制
* @return numberLimit
*/
public String getNumberLimit() {
return this.numberLimit;
}
/**
* 设置 数量限制
* @param numberLimit
*/
public void setNumberLimit(String numberLimit) {
this.numberLimit = numberLimit;
}
/**
* 获取 事项是否在一体化平台办理
* @return isIntegration
*/
public String getIsIntegration() {
return this.isIntegration;
}
/**
* 设置 事项是否在一体化平台办理
* @param isIntegration
*/
public void setIsIntegration(String isIntegration) {
this.isIntegration = isIntegration;
}
/**
* 获取 部门系统级别
* @return deptSysLevel
*/
public String getDeptSysLevel() {
return this.deptSysLevel;
}
/**
* 设置 部门系统级别
* @param deptSysLevel
*/
public void setDeptSysLevel(String deptSysLevel) {
this.deptSysLevel = deptSysLevel;
}
/**
* 获取 办理结果是否能够在一体化平台共享
* @return isShare
*/
public String getIsShare() {
return this.isShare;
}
/**
* 设置 办理结果是否能够在一体化平台共享
* @param isShare
*/
public void setIsShare(String isShare) {
this.isShare = isShare;
}
/**
* 获取 行使方式:1 依申请 2主动行使
* @return applyObject
*/
public String getApplyObject() {
return this.applyObject;
}
/**
* 设置 行使方式:1 依申请 2主动行使
* @param applyObject
*/
public void setApplyObject(String applyObject) {
this.applyObject = applyObject;
}
/**
* 获取 按人生事件分类/按经营活动分类
* @return lifeEventType
*/
public String getLifeEventType() {
return this.lifeEventType;
}
/**
* 设置 按人生事件分类/按经营活动分类
* @param lifeEventType
*/
public void setLifeEventType(String lifeEventType) {
this.lifeEventType = lifeEventType;
}
/**
* 获取 按特定对象分类
* @return specialObjectType
*/
public String getSpecialObjectType() {
return this.specialObjectType;
}
/**
* 设置 按特定对象分类
* @param specialObjectType
*/
public void setSpecialObjectType(String specialObjectType) {
this.specialObjectType = specialObjectType;
}
/**
* 获取 按扶贫服务分类
* @return poorObjectType
*/
public String getPoorObjectType() {
return this.poorObjectType;
}
/**
* 设置 按扶贫服务分类
* @param poorObjectType
*/
public void setPoorObjectType(String poorObjectType) {
this.poorObjectType = poorObjectType;
}
/**
* 获取 办理结果形式
* @return handleResultForm
*/
public String getHandleResultForm() {
return this.handleResultForm;
}
/**
* 设置 办理结果形式
* @param handleResultForm
*/
public void setHandleResultForm(String handleResultForm) {
this.handleResultForm = handleResultForm;
}
/**
* 获取 部门系统名称
* @return deptSysName
*/
public String getDeptSysName() {
return this.deptSysName;
}
/**
* 设置 部门系统名称
* @param deptSysName
*/
public void setDeptSysName(String deptSysName) {
this.deptSysName = deptSysName;
}
/**
* 获取 原因
* @return reason
*/
public String getReason() {
return this.reason;
}
/**
* 设置 原因
* @param reason
*/
public void setReason(String reason) {
this.reason = reason;
}
/**
* 获取 实施清单业务状态
* @return eventStatus
*/
public String getEventStatus() {
return this.eventStatus;
}
/**
* 设置 实施清单业务状态
* @param eventStatus
*/
public void setEventStatus(String eventStatus) {
this.eventStatus = eventStatus;
}
/**
* 获取 是否支持快递取件_网办类型
* @return isExpressTakeOnline
*/
public String getIsExpressTakeOnline() {
return this.isExpressTakeOnline;
}
/**
* 设置 是否支持快递取件_网办类型
* @param isExpressTakeOnline
*/
public void setIsExpressTakeOnline(String isExpressTakeOnline) {
this.isExpressTakeOnline = isExpressTakeOnline;
}
/**
* 获取 办事者到办理现场次数_网办类型
* @return percenceTimesOnline
*/
public String getPercenceTimesOnline() {
return this.percenceTimesOnline;
}
/**
* 设置 办事者到办理现场次数_网办类型
* @param percenceTimesOnline
*/
public void setPercenceTimesOnline(String percenceTimesOnline) {
this.percenceTimesOnline = percenceTimesOnline;
}
/**
* 获取 网办类型0:原件预审 1:原件核验 2:全程网办
* @return onlineType
*/
public String getOnlineType() {
return this.onlineType;
}
/**
* 设置 网办类型0:原件预审 1:原件核验 2:全程网办
* @param onlineType
*/
public void setOnlineType(String onlineType) {
this.onlineType = onlineType;
}
/**
* 获取 部门id
* @return deptId
*/
public String getDeptId() {
return this.deptId;
}
/**
* 设置 部门id
* @param deptId
*/
public void setDeptId(String deptId) {
this.deptId = deptId;
}
/**
* 获取 节日类型:1 工作日 2 自然日
* @return daysType
*/
public String getDaysType() {
return this.daysType;
}
/**
* 设置 节日类型:1 工作日 2 自然日
* @param daysType
*/
public void setDaysType(String daysType) {
this.daysType = daysType;
}
/**
* 获取 目录清单是否变更
* @return isDirChange
*/
public String getIsDirChange() {
return this.isDirChange;
}
/**
* 设置 目录清单是否变更
* @param isDirChange
*/
public void setIsDirChange(String isDirChange) {
this.isDirChange = isDirChange;
}
/**
* 获取 实施清单来源
* @return implListSource
*/
public String getImplListSource() {
return this.implListSource;
}
/**
* 设置 实施清单来源
* @param implListSource
*/
public void setImplListSource(String implListSource) {
this.implListSource = implListSource;
}
/**
* 获取 流程实例id
* @return wfInstanceId
*/
public String getWfInstanceId() {
return this.wfInstanceId;
}
/**
* 设置 流程实例id
* @param wfInstanceId
*/
public void setWfInstanceId(String wfInstanceId) {
this.wfInstanceId = wfInstanceId;
}
/**
* 获取 是否支持全城通办
* @return isCityWideOffice
*/
public String getIsCityWideOffice() {
return this.isCityWideOffice;
}
/**
* 设置 是否支持全城通办
* @param isCityWideOffice
*/
public void setIsCityWideOffice(String isCityWideOffice) {
this.isCityWideOffice = isCityWideOffice;
}
/**
* 获取 是否支持全省范围就近申请
* @return isApplyProvince
*/
public String getIsApplyProvince() {
return this.isApplyProvince;
}
/**
* 设置 是否支持全省范围就近申请
* @param isApplyProvince
*/
public void setIsApplyProvince(String isApplyProvince) {
this.isApplyProvince = isApplyProvince;
}
/**
* 获取 是否支持全省范围就近取件
* @return isProvinceAcquisition
*/
public String getIsProvinceAcquisition() {
return this.isProvinceAcquisition;
}
/**
* 设置 是否支持全省范围就近取件
* @param isProvinceAcquisition
*/
public void setIsProvinceAcquisition(String isProvinceAcquisition) {
this.isProvinceAcquisition = isProvinceAcquisition;
}
/**
* 获取 目录清单编码
* @return dirListCode
*/
public String getDirListCode() {
return this.dirListCode;
}
/**
* 设置 目录清单编码
* @param dirListCode
*/
public void setDirListCode(String dirListCode) {
this.dirListCode = dirListCode;
}
/**
* 获取 实施清单管理列表是否显示该数据
* @return isShow
*/
public String getIsShow() {
return this.isShow;
}
/**
* 设置 实施清单管理列表是否显示该数据
* @param isShow
*/
public void setIsShow(String isShow) {
this.isShow = isShow;
}
/**
* 获取 末级部门编码
* @return implDeptCode
*/
public String getImplDeptCode() {
return this.implDeptCode;
}
/**
* 设置 末级部门编码
* @param implDeptCode
*/
public void setImplDeptCode(String implDeptCode) {
this.implDeptCode = implDeptCode;
}
/**
* 获取 末级部门id
* @return implDeptId
*/
public String getImplDeptId() {
return this.implDeptId;
}
/**
* 设置 末级部门id
* @param implDeptId
*/
public void setImplDeptId(String implDeptId) {
this.implDeptId = implDeptId;
}
/**
* 获取 厅局办件标识 是否统一受理 1.统一受理 2.非统一受理 3.全程办理
* @return isUniteAccept
*/
public String getIsUniteAccept() {
return this.isUniteAccept;
}
/**
* 设置 厅局办件标识 是否统一受理 1.统一受理 2.非统一受理 3.全程办理
* @param isUniteAccept
*/
public void setIsUniteAccept(String isUniteAccept) {
this.isUniteAccept = isUniteAccept;
}
/**
* 获取 法定时限
* @return subLegalTimeLimit
*/
public String getSubLegalTimeLimit() {
return this.subLegalTimeLimit;
}
/**
* 设置 法定时限
* @param subLegalTimeLimit
*/
public void setSubLegalTimeLimit(String subLegalTimeLimit) {
this.subLegalTimeLimit = subLegalTimeLimit;
}
/**
* 获取 承诺时限
* @return subPromiseTimeLimit
*/
public String getSubPromiseTimeLimit() {
return this.subPromiseTimeLimit;
}
/**
* 设置 承诺时限
* @param subPromiseTimeLimit
*/
public void setSubPromiseTimeLimit(String subPromiseTimeLimit) {
this.subPromiseTimeLimit = subPromiseTimeLimit;
}
/**
* 获取 事项简称(俗语)
* @return commonSaying
*/
public String getCommonSaying() {
return this.commonSaying;
}
/**
* 设置 事项简称(俗语)
* @param commonSaying
*/
public void setCommonSaying(String commonSaying) {
this.commonSaying = commonSaying;
}
/**
* 获取 承诺办理总时限单位
* @return clDaysType
*/
public String getClDaysType() {
return this.clDaysType;
}
/**
* 设置 承诺办理总时限单位
* @param clDaysType
*/
public void setClDaysType(String clDaysType) {
this.clDaysType = clDaysType;
}
/**
* 获取 是否割接数据 1表示是 null 表示否
* @return isCutOff
*/
public String getIsCutOff() {
return this.isCutOff;
}
/**
* 设置 是否割接数据 1表示是 null 表示否
* @param isCutOff
*/
public void setIsCutOff(String isCutOff) {
this.isCutOff = isCutOff;
}
/**
* 获取 是否割接数据 1:是
* @return isOlddata
*/
public String getIsOlddata() {
return this.isOlddata;
}
/**
* 设置 是否割接数据 1:是
* @param isOlddata
*/
public void setIsOlddata(String isOlddata) {
this.isOlddata = isOlddata;
}
/**
* 获取 权力来源
* @return powerSource
*/
public String getPowerSource() {
return this.powerSource;
}
/**
* 设置 权力来源
* @param powerSource
*/
public void setPowerSource(String powerSource) {
this.powerSource = powerSource;
}
/**
* 获取 委托部门
* @return entrustDept
*/
public String getEntrustDept() {
return this.entrustDept;
}
/**
* 设置 委托部门
* @param entrustDept
*/
public void setEntrustDept(String entrustDept) {
this.entrustDept = entrustDept;
}
/**
* 获取 特别程序
* @return specProcedure
*/
public String getSpecProcedure() {
return this.specProcedure;
}
/**
* 设置 特别程序
* @param specProcedure
*/
public void setSpecProcedure(String specProcedure) {
this.specProcedure = specProcedure;
}
/**
* 获取 通办范围:1全国 2跨省 3跨市 4跨县 5跨镇(乡、街道)6跨村(社区)
* @return operatScope
*/
public String getOperatScope() {
return this.operatScope;
}
/**
* 设置 通办范围:1全国 2跨省 3跨市 4跨县 5跨镇(乡、街道)6跨村(社区)
* @param operatScope
*/
public void setOperatScope(String operatScope) {
this.operatScope = operatScope;
}
/**
* 获取 联办机构
* @return jointagency
*/
public String getJointagency() {
return this.jointagency;
}
/**
* 设置 联办机构
* @param jointagency
*/
public void setJointagency(String jointagency) {
this.jointagency = jointagency;
}
/**
* 获取 审批结果类型 枚举项:10证照 20批文 30其他 99无
* @return applyresultType
*/
public String getApplyresultType() {
return this.applyresultType;
}
/**
* 设置 审批结果类型 枚举项:10证照 20批文 30其他 99无
* @param applyresultType
*/
public void setApplyresultType(String applyresultType) {
this.applyresultType = applyresultType;
}
/**
* 获取 变更结果记录
* @return applyresultsSample
*/
public String getApplyresultsSample() {
return this.applyresultsSample;
}
/**
* 设置 变更结果记录
* @param applyresultsSample
*/
public void setApplyresultsSample(String applyresultsSample) {
this.applyresultsSample = applyresultsSample;
}
/**
* 获取 实施清单展示编码
* @return showEventCode
*/
public String getShowEventCode() {
return this.showEventCode;
}
/**
* 设置 实施清单展示编码
* @param showEventCode
*/
public void setShowEventCode(String showEventCode) {
this.showEventCode = showEventCode;
}
/**
* 获取 页面展示目录清单编码
* @return showDirCode
*/
public String getShowDirCode() {
return this.showDirCode;
}
/**
* 设置 页面展示目录清单编码
* @param showDirCode
*/
public void setShowDirCode(String showDirCode) {
this.showDirCode = showDirCode;
}
/**
* 获取 是否设置证照
* @return isSetLicense
*/
public String getIsSetLicense() {
return this.isSetLicense;
}
/**
* 设置 是否设置证照
* @param isSetLicense
*/
public void setIsSetLicense(String isSetLicense) {
this.isSetLicense = isSetLicense;
}
/**
* 获取 是否场景化事项
* @return isSceneServer
*/
public String getIsSceneServer() {
return this.isSceneServer;
}
/**
* 设置 是否场景化事项
* @param isSceneServer
*/
public void setIsSceneServer(String isSceneServer) {
this.isSceneServer = isSceneServer;
}
/**
* 获取 事项名称首字母
* @return eventInitial
*/
public String getEventInitial() {
return this.eventInitial;
}
/**
* 设置 事项名称首字母
* @param eventInitial
*/
public void setEventInitial(String eventInitial) {
this.eventInitial = eventInitial;
}
/**
* 获取 国家编码
* @return catalogcode
*/
public String getCatalogcode() {
return this.catalogcode;
}
/**
* 设置 国家编码
* @param catalogcode
*/
public void setCatalogcode(String catalogcode) {
this.catalogcode = catalogcode;
}
/**
* 获取 子项编码
* @return subcode
*/
public String getSubcode() {
return this.subcode;
}
/**
* 设置 子项编码
* @param subcode
*/
public void setSubcode(String subcode) {
this.subcode = subcode;
}
/**
* 获取 特殊状态(为空或0;1表示在门户列表中不展示的数据,办事指南和在线申请需要展示)
* @return specialStatus
*/
public String getSpecialStatus() {
return this.specialStatus;
}
/**
* 设置 特殊状态(为空或0;1表示在门户列表中不展示的数据,办事指南和在线申请需要展示)
* @param specialStatus
*/
public void setSpecialStatus(String specialStatus) {
this.specialStatus = specialStatus;
}
/**
* 获取 材料目录模式:null为2.0模式,1:3.0模式
* @return materialVersion
*/
public String getMaterialVersion() {
return this.materialVersion;
}
/**
* 设置 材料目录模式:null为2.0模式,1:3.0模式
* @param materialVersion
*/
public void setMaterialVersion(String materialVersion) {
this.materialVersion = materialVersion;
}
/**
* 获取 码表多选
* @return projectType
*/
public String getProjectType() {
return this.projectType;
}
/**
* 设置 码表多选
* @param projectType
*/
public void setProjectType(String projectType) {
this.projectType = projectType;
}
/**
* 获取 审核状态(0:审核中1:审核通过2:审核失败)
* @return auditState
*/
public String getAuditState() {
return this.auditState;
}
/**
* 设置 审核状态(0:审核中1:审核通过2:审核失败)
* @param auditState
*/
public void setAuditState(String auditState) {
this.auditState = auditState;
}
/**
* 获取 存放公共服务类型:2A,2B,2C
* @return publicServiceType
*/
public String getPublicServiceType() {
return this.publicServiceType;
}
/**
* 设置 存放公共服务类型:2A,2B,2C
* @param publicServiceType
*/
public void setPublicServiceType(String publicServiceType) {
this.publicServiceType = publicServiceType;
}
/**
* 获取 是否有效:0 否,1 是,2 暂停
* @return isValid
*/
public String getIsValid() {
return this.isValid;
}
/**
* 设置 是否有效:0 否,1 是,2 暂停
* @param isValid
*/
public void setIsValid(String isValid) {
this.isValid = isValid;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
if (obj instanceof ImplementlistEntity) {
ImplementlistEntity tmp = (ImplementlistEntity) obj;
if (this.getId().longValue() == tmp.getId().longValue()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb
.append(",id:").append(getId())
.append(",dirListId:").append(getDirListId())
.append(",runSystem:").append(getRunSystem())
.append(",businessSystem:").append(getBusinessSystem())
.append(",performHierarchy:").append(getPerformHierarchy())
.append(",jumpUrl:").append(getJumpUrl())
.append(",eventType:").append(getEventType())
.append(",eventCode:").append(getEventCode())
.append(",eventName:").append(getEventName())
.append(",majorTerm:").append(getMajorTerm())
.append(",trade:").append(getTrade())
.append(",jointReviewInfo:").append(getJointReviewInfo())
.append(",appoveObject:").append(getAppoveObject())
.append(",appoveTimeLimit:").append(getAppoveTimeLimit())
.append(",appoveType:").append(getAppoveType())
.append(",legalTimeLimit:").append(getLegalTimeLimit())
.append(",materialInquiry:").append(getMaterialInquiry())
.append(",doThiingProperty:").append(getDoThiingProperty())
.append(",applyWindow:").append(getApplyWindow())
.append(",remark:").append(getRemark())
.append(",onlineItemType:").append(getOnlineItemType())
.append(",status:").append(getStatus())
.append(",isDeliver:").append(getIsDeliver())
.append(",materialRemark:").append(getMaterialRemark())
.append(",handleType:").append(getHandleType())
.append(",percenceTimes:").append(getPercenceTimes())
.append(",certificationLevels:").append(getCertificationLevels())
.append(",areaCode:").append(getAreaCode())
.append(",areaName:").append(getAreaName())
.append(",deptCode:").append(getDeptCode())
.append(",deptName:").append(getDeptName())
.append(",shardKey:").append(getShardKey())
.append(",creatorId:").append(getCreatorId())
.append(",creatorName:").append(getCreatorName())
.append(",createsTime:").append(getCreatesTime())
.append(",updatesTime:").append(getUpdatesTime())
.append(",deleteFlag:").append(getDeleteFlag())
.append(",year:").append(getYear())
.append(",shortName:").append(getShortName())
.append(",eventCategory:").append(getEventCategory())
.append(",pubBeginTime:").append(getPubBeginTime())
.append(",pubEndTime:").append(getPubEndTime())
.append(",isProofMaterial:").append(getIsProofMaterial())
.append(",user:").append(getUser())
.append(",reportHierarchy:").append(getReportHierarchy())
.append(",reportArea:").append(getReportArea())
.append(",reportDept:").append(getReportDept())
.append(",eventDecPower:").append(getEventDecPower())
.append(",isStatistics:").append(getIsStatistics())
.append(",serviceContent:").append(getServiceContent())
.append(",isNewest:").append(getIsNewest())
.append(",version:").append(getVersion())
.append(",goveServiceCenter:").append(getGoveServiceCenter())
.append(",isAuthoTransact:").append(getIsAuthoTransact())
.append(",isOnlineSubscribe:").append(getIsOnlineSubscribe())
.append(",isCharges:").append(getIsCharges())
.append(",isOnlinePay:").append(getIsOnlinePay())
.append(",isExpressTake:").append(getIsExpressTake())
.append(",isGoveCenter:").append(getIsGoveCenter())
.append(",isConvenientCenter:").append(getIsConvenientCenter())
.append(",performDeptCode:").append(getPerformDeptCode())
.append(",performDeptName:").append(getPerformDeptName())
.append(",performDeptType:").append(getPerformDeptType())
.append(",isDoorTake:").append(getIsDoorTake())
.append(",promiseTimeLimit:").append(getPromiseTimeLimit())
.append(",doThingType:").append(getDoThingType())
.append(",launchBody:").append(getLaunchBody())
.append(",proReviewType:").append(getProReviewType())
.append(",cityReviewType:").append(getCityReviewType())
.append(",couReviewType:").append(getCouReviewType())
.append(",townReviewType:").append(getTownReviewType())
.append(",vilReviewType:").append(getVilReviewType())
.append(",eventSource:").append(getEventSource())
.append(",isNumberLimit:").append(getIsNumberLimit())
.append(",numberLimit:").append(getNumberLimit())
.append(",isIntegration:").append(getIsIntegration())
.append(",deptSysLevel:").append(getDeptSysLevel())
.append(",isShare:").append(getIsShare())
.append(",applyObject:").append(getApplyObject())
.append(",lifeEventType:").append(getLifeEventType())
.append(",specialObjectType:").append(getSpecialObjectType())
.append(",poorObjectType:").append(getPoorObjectType())
.append(",handleResultForm:").append(getHandleResultForm())
.append(",deptSysName:").append(getDeptSysName())
.append(",reason:").append(getReason())
.append(",eventStatus:").append(getEventStatus())
.append(",isExpressTakeOnline:").append(getIsExpressTakeOnline())
.append(",percenceTimesOnline:").append(getPercenceTimesOnline())
.append(",onlineType:").append(getOnlineType())
.append(",deptId:").append(getDeptId())
.append(",daysType:").append(getDaysType())
.append(",isDirChange:").append(getIsDirChange())
.append(",implListSource:").append(getImplListSource())
.append(",wfInstanceId:").append(getWfInstanceId())
.append(",isCityWideOffice:").append(getIsCityWideOffice())
.append(",isApplyProvince:").append(getIsApplyProvince())
.append(",isProvinceAcquisition:").append(getIsProvinceAcquisition())
.append(",dirListCode:").append(getDirListCode())
.append(",isShow:").append(getIsShow())
.append(",implDeptCode:").append(getImplDeptCode())
.append(",implDeptId:").append(getImplDeptId())
.append(",isUniteAccept:").append(getIsUniteAccept())
.append(",subLegalTimeLimit:").append(getSubLegalTimeLimit())
.append(",subPromiseTimeLimit:").append(getSubPromiseTimeLimit())
.append(",commonSaying:").append(getCommonSaying())
.append(",clDaysType:").append(getClDaysType())
.append(",isCutOff:").append(getIsCutOff())
.append(",isOlddata:").append(getIsOlddata())
.append(",powerSource:").append(getPowerSource())
.append(",entrustDept:").append(getEntrustDept())
.append(",specProcedure:").append(getSpecProcedure())
.append(",operatScope:").append(getOperatScope())
.append(",jointagency:").append(getJointagency())
.append(",applyresultType:").append(getApplyresultType())
.append(",applyresultsSample:").append(getApplyresultsSample())
.append(",showEventCode:").append(getShowEventCode())
.append(",showDirCode:").append(getShowDirCode())
.append(",isSetLicense:").append(getIsSetLicense())
.append(",isSceneServer:").append(getIsSceneServer())
.append(",eventInitial:").append(getEventInitial())
.append(",catalogcode:").append(getCatalogcode())
.append(",subcode:").append(getSubcode())
.append(",specialStatus:").append(getSpecialStatus())
.append(",materialVersion:").append(getMaterialVersion())
.append(",projectType:").append(getProjectType())
.append(",auditState:").append(getAuditState())
.append(",publicServiceType:").append(getPublicServiceType())
.append(",isValid:").append(getIsValid())
;
return sb.toString();
}
public void initAttrValue(){
this.dirListId = null;
this.runSystem = null;
this.businessSystem = null;
this.performHierarchy = null;
this.jumpUrl = null;
this.eventType = null;
this.eventCode = null;
this.eventName = null;
this.majorTerm = null;
this.trade = null;
this.jointReviewInfo = null;
this.appoveObject = null;
this.appoveTimeLimit = null;
this.appoveType = null;
this.legalTimeLimit = null;
this.materialInquiry = null;
this.doThiingProperty = null;
this.applyWindow = null;
this.remark = null;
this.onlineItemType = null;
this.status = null;
this.isDeliver = null;
this.materialRemark = null;
this.handleType = null;
this.percenceTimes = null;
this.certificationLevels = null;
this.areaCode = null;
this.areaName = null;
this.deptCode = null;
this.deptName = null;
this.shardKey = null;
this.creatorId = null;
this.creatorName = null;
this.createsTime = null;
this.updatesTime = null;
this.deleteFlag = null;
this.year = null;
this.shortName = null;
this.eventCategory = null;
this.pubBeginTime = null;
this.pubEndTime = null;
this.isProofMaterial = null;
this.user = null;
this.reportHierarchy = null;
this.reportArea = null;
this.reportDept = null;
this.eventDecPower = null;
this.isStatistics = null;
this.serviceContent = null;
this.isNewest = null;
this.version = null;
this.goveServiceCenter = null;
this.isAuthoTransact = null;
this.isOnlineSubscribe = null;
this.isCharges = null;
this.isOnlinePay = null;
this.isExpressTake = null;
this.isGoveCenter = null;
this.isConvenientCenter = null;
this.performDeptCode = null;
this.performDeptName = null;
this.performDeptType = null;
this.isDoorTake = null;
this.promiseTimeLimit = null;
this.doThingType = null;
this.launchBody = null;
this.proReviewType = null;
this.cityReviewType = null;
this.couReviewType = null;
this.townReviewType = null;
this.vilReviewType = null;
this.eventSource = null;
this.isNumberLimit = null;
this.numberLimit = null;
this.isIntegration = null;
this.deptSysLevel = null;
this.isShare = null;
this.applyObject = null;
this.lifeEventType = null;
this.specialObjectType = null;
this.poorObjectType = null;
this.handleResultForm = null;
this.deptSysName = null;
this.reason = null;
this.eventStatus = null;
this.isExpressTakeOnline = null;
this.percenceTimesOnline = null;
this.onlineType = null;
this.deptId = null;
this.daysType = null;
this.isDirChange = null;
this.implListSource = null;
this.wfInstanceId = null;
this.isCityWideOffice = null;
this.isApplyProvince = null;
this.isProvinceAcquisition = null;
this.dirListCode = null;
this.isShow = null;
this.implDeptCode = null;
this.implDeptId = null;
this.isUniteAccept = null;
this.subLegalTimeLimit = null;
this.subPromiseTimeLimit = null;
this.commonSaying = null;
this.clDaysType = null;
this.isCutOff = null;
this.isOlddata = null;
this.powerSource = null;
this.entrustDept = null;
this.specProcedure = null;
this.operatScope = null;
this.jointagency = null;
this.applyresultType = null;
this.applyresultsSample = null;
this.showEventCode = null;
this.showDirCode = null;
this.isSetLicense = null;
this.isSceneServer = null;
this.eventInitial = null;
this.catalogcode = null;
this.subcode = null;
this.specialStatus = null;
this.materialVersion = null;
this.projectType = null;
this.auditState = null;
this.publicServiceType = null;
this.isValid = null;
}
}
\ No newline at end of file
package com.mortals.xhx.modules.implementlist.model;
import java.util.List;
/**
*
* Description:Implementlist
* date: 2021-8-3 9:12:39
*/
public class ImplementlistQuery extends ImplementlistEntity{
private static final long serialVersionUID = 1627953159193L;
/** 主键ID */
private List<String> idList;
/** 目录清单ID */
private List<String> dirListIdList;
/** 运行系统 */
private List<String> runSystemList;
/** 业务办理系统 */
private List<String> businessSystemList;
/** 行使层级 */
private List<String> performHierarchyList;
/** 跳转链接 */
private List<String> jumpUrlList;
/** 事项类型 */
private List<String> eventTypeList;
/** 事项代码 */
private List<String> eventCodeList;
/** 事项名称 */
private List<String> eventNameList;
/** 所属大项 */
private List<String> majorTermList;
/** 行业 */
private List<String> tradeList;
/** 联审信息 */
private List<String> jointReviewInfoList;
/** 审批对象 */
private List<String> appoveObjectList;
/** 审批时限 */
private List<String> appoveTimeLimitList;
/** 审批类别 */
private List<String> appoveTypeList;
/** 办理总时限 */
private List<String> legalTimeLimitList;
/** 材料预审 */
private List<String> materialInquiryList;
/** 办件性质 */
private List<String> doThiingPropertyList;
/** 申请窗口 */
private List<String> applyWindowList;
/** 备注 */
private List<String> remarkList;
/** */
private List<String> onlineItemTypeList;
/** */
private List<String> statusList;
/** 是否上报 */
private List<String> isDeliverList;
/** 总材料说明 */
private List<String> materialRemarkList;
/** 办理类型 */
private List<String> handleTypeList;
/** 办事者到现场次数 */
private List<String> percenceTimesList;
/** 认证等级需求 */
private List<String> certificationLevelsList;
/** 地区编码 */
private List<String> areaCodeList;
/** 地区名称 */
private List<String> areaNameList;
/** 部门编码 */
private List<String> deptCodeList;
/** 部门名称 */
private List<String> deptNameList;
/** 分片字段 */
private List<String> shardKeyList;
/** 创建人ID */
private List<String> creatorIdList;
/** 创建人名称 */
private List<String> creatorNameList;
/** 创建时间 */
private List<String> createsTimeList;
/** 更新时间 */
private List<String> updatesTimeList;
/** 删除标识 */
private List<String> deleteFlagList;
/** 创建年份 */
private List<String> yearList;
/** 事项简称 */
private List<String> shortNameList;
/** 事项类别 */
private List<String> eventCategoryList;
/** 公示开始时间 */
private List<String> pubBeginTimeList;
/** 公示结束时间(至) */
private List<String> pubEndTimeList;
/** 是否证明材料类事项 */
private List<String> isProofMaterialList;
/** 使用人:部门/自然人/法人 */
private List<String> userList;
/** 上报层级,枚举多选 */
private List<String> reportHierarchyList;
/** 上报地区 */
private List<String> reportAreaList;
/** 上报单位部门 */
private List<String> reportDeptList;
/** 事项决定权,枚举多选 */
private List<String> eventDecPowerList;
/** 统计标识,1:统计 0:不统计 */
private List<String> isStatisticsList;
/** 服务内容 */
private List<String> serviceContentList;
/** 是否最新版本 */
private List<String> isNewestList;
/** 版本号 */
private List<String> versionList;
/** 是否进入政务服务中心/便民服务中心窗口办理。必选,是/否; */
private List<String> goveServiceCenterList;
/** 是否授权窗口工作人员全程办理。必选,接件、受理、审核、转报、出具结论性意见、审批决定权、审核上报权、组织协调权、印章使用(用于监察系统) */
private List<String> isAuthoTransactList;
/** 是否网上预约(单选):是或者否 */
private List<String> isOnlineSubscribeList;
/** 收费情况 */
private List<String> isChargesList;
/** 是否在线支付 */
private List<String> isOnlinePayList;
/** 是否支持快递取件 */
private List<String> isExpressTakeList;
/** 是否纳入政务服务中心 */
private List<String> isGoveCenterList;
/** 是否纳入便民服务中心 */
private List<String> isConvenientCenterList;
/** 行使编码 (实施主体) */
private List<String> performDeptCodeList;
/** 行使名称 (实施主体名称) */
private List<String> performDeptNameList;
/** 行使主体(实施性质) */
private List<String> performDeptTypeList;
/** 是否支持上门收取申请材料 */
private List<String> isDoorTakeList;
/** 承诺办理总时限 */
private List<String> promiseTimeLimitList;
/** 办理类型:窗口办理、原件预审、原件核验、全程网办 */
private List<String> doThingTypeList;
/** 发起主体 */
private List<String> launchBodyList;
/** 省级审查类型 */
private List<String> proReviewTypeList;
/** 市级审查类型 */
private List<String> cityReviewTypeList;
/** 区县级审查类型 */
private List<String> couReviewTypeList;
/** 乡镇级审查类型 */
private List<String> townReviewTypeList;
/** 事项设定来源-枚举多选 */
private List<String> vilReviewTypeList;
/** 用户类型(1:普通用户,2:会员) */
private List<String> eventSourceList;
/** 是否数量限制 */
private List<String> isNumberLimitList;
/** 数量限制 */
private List<String> numberLimitList;
/** 事项是否在一体化平台办理 */
private List<String> isIntegrationList;
/** 部门系统级别 */
private List<String> deptSysLevelList;
/** 办理结果是否能够在一体化平台共享 */
private List<String> isShareList;
/** 行使方式:1 依申请 2主动行使 */
private List<String> applyObjectList;
/** 按人生事件分类/按经营活动分类 */
private List<String> lifeEventTypeList;
/** 按特定对象分类 */
private List<String> specialObjectTypeList;
/** 按扶贫服务分类 */
private List<String> poorObjectTypeList;
/** 办理结果形式 */
private List<String> handleResultFormList;
/** 部门系统名称 */
private List<String> deptSysNameList;
/** 原因 */
private List<String> reasonList;
/** 实施清单业务状态 */
private List<String> eventStatusList;
/** 是否支持快递取件_网办类型 */
private List<String> isExpressTakeOnlineList;
/** 办事者到办理现场次数_网办类型 */
private List<String> percenceTimesOnlineList;
/** 网办类型0:原件预审 1:原件核验 2:全程网办 */
private List<String> onlineTypeList;
/** 部门id */
private List<String> deptIdList;
/** 节日类型:1 工作日 2 自然日 */
private List<String> daysTypeList;
/** 目录清单是否变更 */
private List<String> isDirChangeList;
/** 实施清单来源 */
private List<String> implListSourceList;
/** 流程实例id */
private List<String> wfInstanceIdList;
/** 是否支持全城通办 */
private List<String> isCityWideOfficeList;
/** 是否支持全省范围就近申请 */
private List<String> isApplyProvinceList;
/** 是否支持全省范围就近取件 */
private List<String> isProvinceAcquisitionList;
/** 目录清单编码 */
private List<String> dirListCodeList;
/** 实施清单管理列表是否显示该数据 */
private List<String> isShowList;
/** 末级部门编码 */
private List<String> implDeptCodeList;
/** 末级部门id */
private List<String> implDeptIdList;
/** 厅局办件标识 是否统一受理 1.统一受理 2.非统一受理 3.全程办理 */
private List<String> isUniteAcceptList;
/** 法定时限 */
private List<String> subLegalTimeLimitList;
/** 承诺时限 */
private List<String> subPromiseTimeLimitList;
/** 事项简称(俗语) */
private List<String> commonSayingList;
/** 承诺办理总时限单位 */
private List<String> clDaysTypeList;
/** 是否割接数据 1表示是 null 表示否 */
private List<String> isCutOffList;
/** 是否割接数据 1:是 */
private List<String> isOlddataList;
/** 权力来源 */
private List<String> powerSourceList;
/** 委托部门 */
private List<String> entrustDeptList;
/** 特别程序 */
private List<String> specProcedureList;
/** 通办范围:1全国 2跨省 3跨市 4跨县 5跨镇(乡、街道)6跨村(社区) */
private List<String> operatScopeList;
/** 联办机构 */
private List<String> jointagencyList;
/** 审批结果类型 枚举项:10证照 20批文 30其他 99无 */
private List<String> applyresultTypeList;
/** 变更结果记录 */
private List<String> applyresultsSampleList;
/** 实施清单展示编码 */
private List<String> showEventCodeList;
/** 页面展示目录清单编码 */
private List<String> showDirCodeList;
/** 是否设置证照 */
private List<String> isSetLicenseList;
/** 是否场景化事项 */
private List<String> isSceneServerList;
/** 事项名称首字母 */
private List<String> eventInitialList;
/** 国家编码 */
private List<String> catalogcodeList;
/** 子项编码 */
private List<String> subcodeList;
/** 特殊状态(为空或0;1表示在门户列表中不展示的数据,办事指南和在线申请需要展示) */
private List<String> specialStatusList;
/** 材料目录模式:null为2.0模式,1:3.0模式 */
private List<String> materialVersionList;
/** 码表多选 */
private List<String> projectTypeList;
/** 审核状态(0:审核中1:审核通过2:审核失败) */
private List<String> auditStateList;
/** 存放公共服务类型:2A,2B,2C */
private List<String> publicServiceTypeList;
/** 是否有效:0 否,1 是,2 暂停 */
private List<String> isValidList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<ImplementlistQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<ImplementlistQuery> andConditionList;
public ImplementlistQuery(){
}
/**
* 获取 主键ID
* @return idList
*/
public List<String> getIdList(){
return this.idList;
}
/**
* 设置 主键ID
* @param idList
*/
public void setIdList(List<String> idList){
this.idList = idList;
}
/**
* 获取 目录清单ID
* @return dirListIdList
*/
public List<String> getDirListIdList(){
return this.dirListIdList;
}
/**
* 设置 目录清单ID
* @param dirListIdList
*/
public void setDirListIdList(List<String> dirListIdList){
this.dirListIdList = dirListIdList;
}
/**
* 获取 运行系统
* @return runSystemList
*/
public List<String> getRunSystemList(){
return this.runSystemList;
}
/**
* 设置 运行系统
* @param runSystemList
*/
public void setRunSystemList(List<String> runSystemList){
this.runSystemList = runSystemList;
}
/**
* 获取 业务办理系统
* @return businessSystemList
*/
public List<String> getBusinessSystemList(){
return this.businessSystemList;
}
/**
* 设置 业务办理系统
* @param businessSystemList
*/
public void setBusinessSystemList(List<String> businessSystemList){
this.businessSystemList = businessSystemList;
}
/**
* 获取 行使层级
* @return performHierarchyList
*/
public List<String> getPerformHierarchyList(){
return this.performHierarchyList;
}
/**
* 设置 行使层级
* @param performHierarchyList
*/
public void setPerformHierarchyList(List<String> performHierarchyList){
this.performHierarchyList = performHierarchyList;
}
/**
* 获取 跳转链接
* @return jumpUrlList
*/
public List<String> getJumpUrlList(){
return this.jumpUrlList;
}
/**
* 设置 跳转链接
* @param jumpUrlList
*/
public void setJumpUrlList(List<String> jumpUrlList){
this.jumpUrlList = jumpUrlList;
}
/**
* 获取 事项类型
* @return eventTypeList
*/
public List<String> getEventTypeList(){
return this.eventTypeList;
}
/**
* 设置 事项类型
* @param eventTypeList
*/
public void setEventTypeList(List<String> eventTypeList){
this.eventTypeList = eventTypeList;
}
/**
* 获取 事项代码
* @return eventCodeList
*/
public List<String> getEventCodeList(){
return this.eventCodeList;
}
/**
* 设置 事项代码
* @param eventCodeList
*/
public void setEventCodeList(List<String> eventCodeList){
this.eventCodeList = eventCodeList;
}
/**
* 获取 事项名称
* @return eventNameList
*/
public List<String> getEventNameList(){
return this.eventNameList;
}
/**
* 设置 事项名称
* @param eventNameList
*/
public void setEventNameList(List<String> eventNameList){
this.eventNameList = eventNameList;
}
/**
* 获取 所属大项
* @return majorTermList
*/
public List<String> getMajorTermList(){
return this.majorTermList;
}
/**
* 设置 所属大项
* @param majorTermList
*/
public void setMajorTermList(List<String> majorTermList){
this.majorTermList = majorTermList;
}
/**
* 获取 行业
* @return tradeList
*/
public List<String> getTradeList(){
return this.tradeList;
}
/**
* 设置 行业
* @param tradeList
*/
public void setTradeList(List<String> tradeList){
this.tradeList = tradeList;
}
/**
* 获取 联审信息
* @return jointReviewInfoList
*/
public List<String> getJointReviewInfoList(){
return this.jointReviewInfoList;
}
/**
* 设置 联审信息
* @param jointReviewInfoList
*/
public void setJointReviewInfoList(List<String> jointReviewInfoList){
this.jointReviewInfoList = jointReviewInfoList;
}
/**
* 获取 审批对象
* @return appoveObjectList
*/
public List<String> getAppoveObjectList(){
return this.appoveObjectList;
}
/**
* 设置 审批对象
* @param appoveObjectList
*/
public void setAppoveObjectList(List<String> appoveObjectList){
this.appoveObjectList = appoveObjectList;
}
/**
* 获取 审批时限
* @return appoveTimeLimitList
*/
public List<String> getAppoveTimeLimitList(){
return this.appoveTimeLimitList;
}
/**
* 设置 审批时限
* @param appoveTimeLimitList
*/
public void setAppoveTimeLimitList(List<String> appoveTimeLimitList){
this.appoveTimeLimitList = appoveTimeLimitList;
}
/**
* 获取 审批类别
* @return appoveTypeList
*/
public List<String> getAppoveTypeList(){
return this.appoveTypeList;
}
/**
* 设置 审批类别
* @param appoveTypeList
*/
public void setAppoveTypeList(List<String> appoveTypeList){
this.appoveTypeList = appoveTypeList;
}
/**
* 获取 办理总时限
* @return legalTimeLimitList
*/
public List<String> getLegalTimeLimitList(){
return this.legalTimeLimitList;
}
/**
* 设置 办理总时限
* @param legalTimeLimitList
*/
public void setLegalTimeLimitList(List<String> legalTimeLimitList){
this.legalTimeLimitList = legalTimeLimitList;
}
/**
* 获取 材料预审
* @return materialInquiryList
*/
public List<String> getMaterialInquiryList(){
return this.materialInquiryList;
}
/**
* 设置 材料预审
* @param materialInquiryList
*/
public void setMaterialInquiryList(List<String> materialInquiryList){
this.materialInquiryList = materialInquiryList;
}
/**
* 获取 办件性质
* @return doThiingPropertyList
*/
public List<String> getDoThiingPropertyList(){
return this.doThiingPropertyList;
}
/**
* 设置 办件性质
* @param doThiingPropertyList
*/
public void setDoThiingPropertyList(List<String> doThiingPropertyList){
this.doThiingPropertyList = doThiingPropertyList;
}
/**
* 获取 申请窗口
* @return applyWindowList
*/
public List<String> getApplyWindowList(){
return this.applyWindowList;
}
/**
* 设置 申请窗口
* @param applyWindowList
*/
public void setApplyWindowList(List<String> applyWindowList){
this.applyWindowList = applyWindowList;
}
/**
* 获取 备注
* @return remarkList
*/
public List<String> getRemarkList(){
return this.remarkList;
}
/**
* 设置 备注
* @param remarkList
*/
public void setRemarkList(List<String> remarkList){
this.remarkList = remarkList;
}
/**
* 获取
* @return onlineItemTypeList
*/
public List<String> getOnlineItemTypeList(){
return this.onlineItemTypeList;
}
/**
* 设置
* @param onlineItemTypeList
*/
public void setOnlineItemTypeList(List<String> onlineItemTypeList){
this.onlineItemTypeList = onlineItemTypeList;
}
/**
* 获取
* @return statusList
*/
public List<String> getStatusList(){
return this.statusList;
}
/**
* 设置
* @param statusList
*/
public void setStatusList(List<String> statusList){
this.statusList = statusList;
}
/**
* 获取 是否上报
* @return isDeliverList
*/
public List<String> getIsDeliverList(){
return this.isDeliverList;
}
/**
* 设置 是否上报
* @param isDeliverList
*/
public void setIsDeliverList(List<String> isDeliverList){
this.isDeliverList = isDeliverList;
}
/**
* 获取 总材料说明
* @return materialRemarkList
*/
public List<String> getMaterialRemarkList(){
return this.materialRemarkList;
}
/**
* 设置 总材料说明
* @param materialRemarkList
*/
public void setMaterialRemarkList(List<String> materialRemarkList){
this.materialRemarkList = materialRemarkList;
}
/**
* 获取 办理类型
* @return handleTypeList
*/
public List<String> getHandleTypeList(){
return this.handleTypeList;
}
/**
* 设置 办理类型
* @param handleTypeList
*/
public void setHandleTypeList(List<String> handleTypeList){
this.handleTypeList = handleTypeList;
}
/**
* 获取 办事者到现场次数
* @return percenceTimesList
*/
public List<String> getPercenceTimesList(){
return this.percenceTimesList;
}
/**
* 设置 办事者到现场次数
* @param percenceTimesList
*/
public void setPercenceTimesList(List<String> percenceTimesList){
this.percenceTimesList = percenceTimesList;
}
/**
* 获取 认证等级需求
* @return certificationLevelsList
*/
public List<String> getCertificationLevelsList(){
return this.certificationLevelsList;
}
/**
* 设置 认证等级需求
* @param certificationLevelsList
*/
public void setCertificationLevelsList(List<String> certificationLevelsList){
this.certificationLevelsList = certificationLevelsList;
}
/**
* 获取 地区编码
* @return areaCodeList
*/
public List<String> getAreaCodeList(){
return this.areaCodeList;
}
/**
* 设置 地区编码
* @param areaCodeList
*/
public void setAreaCodeList(List<String> areaCodeList){
this.areaCodeList = areaCodeList;
}
/**
* 获取 地区名称
* @return areaNameList
*/
public List<String> getAreaNameList(){
return this.areaNameList;
}
/**
* 设置 地区名称
* @param areaNameList
*/
public void setAreaNameList(List<String> areaNameList){
this.areaNameList = areaNameList;
}
/**
* 获取 部门编码
* @return deptCodeList
*/
public List<String> getDeptCodeList(){
return this.deptCodeList;
}
/**
* 设置 部门编码
* @param deptCodeList
*/
public void setDeptCodeList(List<String> deptCodeList){
this.deptCodeList = deptCodeList;
}
/**
* 获取 部门名称
* @return deptNameList
*/
public List<String> getDeptNameList(){
return this.deptNameList;
}
/**
* 设置 部门名称
* @param deptNameList
*/
public void setDeptNameList(List<String> deptNameList){
this.deptNameList = deptNameList;
}
/**
* 获取 分片字段
* @return shardKeyList
*/
public List<String> getShardKeyList(){
return this.shardKeyList;
}
/**
* 设置 分片字段
* @param shardKeyList
*/
public void setShardKeyList(List<String> shardKeyList){
this.shardKeyList = shardKeyList;
}
/**
* 获取 创建人ID
* @return creatorIdList
*/
public List<String> getCreatorIdList(){
return this.creatorIdList;
}
/**
* 设置 创建人ID
* @param creatorIdList
*/
public void setCreatorIdList(List<String> creatorIdList){
this.creatorIdList = creatorIdList;
}
/**
* 获取 创建人名称
* @return creatorNameList
*/
public List<String> getCreatorNameList(){
return this.creatorNameList;
}
/**
* 设置 创建人名称
* @param creatorNameList
*/
public void setCreatorNameList(List<String> creatorNameList){
this.creatorNameList = creatorNameList;
}
/**
* 获取 创建时间
* @return createsTimeList
*/
public List<String> getCreatesTimeList(){
return this.createsTimeList;
}
/**
* 设置 创建时间
* @param createsTimeList
*/
public void setCreatesTimeList(List<String> createsTimeList){
this.createsTimeList = createsTimeList;
}
/**
* 获取 更新时间
* @return updatesTimeList
*/
public List<String> getUpdatesTimeList(){
return this.updatesTimeList;
}
/**
* 设置 更新时间
* @param updatesTimeList
*/
public void setUpdatesTimeList(List<String> updatesTimeList){
this.updatesTimeList = updatesTimeList;
}
/**
* 获取 删除标识
* @return deleteFlagList
*/
public List<String> getDeleteFlagList(){
return this.deleteFlagList;
}
/**
* 设置 删除标识
* @param deleteFlagList
*/
public void setDeleteFlagList(List<String> deleteFlagList){
this.deleteFlagList = deleteFlagList;
}
/**
* 获取 创建年份
* @return yearList
*/
public List<String> getYearList(){
return this.yearList;
}
/**
* 设置 创建年份
* @param yearList
*/
public void setYearList(List<String> yearList){
this.yearList = yearList;
}
/**
* 获取 事项简称
* @return shortNameList
*/
public List<String> getShortNameList(){
return this.shortNameList;
}
/**
* 设置 事项简称
* @param shortNameList
*/
public void setShortNameList(List<String> shortNameList){
this.shortNameList = shortNameList;
}
/**
* 获取 事项类别
* @return eventCategoryList
*/
public List<String> getEventCategoryList(){
return this.eventCategoryList;
}
/**
* 设置 事项类别
* @param eventCategoryList
*/
public void setEventCategoryList(List<String> eventCategoryList){
this.eventCategoryList = eventCategoryList;
}
/**
* 获取 公示开始时间
* @return pubBeginTimeList
*/
public List<String> getPubBeginTimeList(){
return this.pubBeginTimeList;
}
/**
* 设置 公示开始时间
* @param pubBeginTimeList
*/
public void setPubBeginTimeList(List<String> pubBeginTimeList){
this.pubBeginTimeList = pubBeginTimeList;
}
/**
* 获取 公示结束时间(至)
* @return pubEndTimeList
*/
public List<String> getPubEndTimeList(){
return this.pubEndTimeList;
}
/**
* 设置 公示结束时间(至)
* @param pubEndTimeList
*/
public void setPubEndTimeList(List<String> pubEndTimeList){
this.pubEndTimeList = pubEndTimeList;
}
/**
* 获取 是否证明材料类事项
* @return isProofMaterialList
*/
public List<String> getIsProofMaterialList(){
return this.isProofMaterialList;
}
/**
* 设置 是否证明材料类事项
* @param isProofMaterialList
*/
public void setIsProofMaterialList(List<String> isProofMaterialList){
this.isProofMaterialList = isProofMaterialList;
}
/**
* 获取 使用人:部门/自然人/法人
* @return userList
*/
public List<String> getUserList(){
return this.userList;
}
/**
* 设置 使用人:部门/自然人/法人
* @param userList
*/
public void setUserList(List<String> userList){
this.userList = userList;
}
/**
* 获取 上报层级,枚举多选
* @return reportHierarchyList
*/
public List<String> getReportHierarchyList(){
return this.reportHierarchyList;
}
/**
* 设置 上报层级,枚举多选
* @param reportHierarchyList
*/
public void setReportHierarchyList(List<String> reportHierarchyList){
this.reportHierarchyList = reportHierarchyList;
}
/**
* 获取 上报地区
* @return reportAreaList
*/
public List<String> getReportAreaList(){
return this.reportAreaList;
}
/**
* 设置 上报地区
* @param reportAreaList
*/
public void setReportAreaList(List<String> reportAreaList){
this.reportAreaList = reportAreaList;
}
/**
* 获取 上报单位部门
* @return reportDeptList
*/
public List<String> getReportDeptList(){
return this.reportDeptList;
}
/**
* 设置 上报单位部门
* @param reportDeptList
*/
public void setReportDeptList(List<String> reportDeptList){
this.reportDeptList = reportDeptList;
}
/**
* 获取 事项决定权,枚举多选
* @return eventDecPowerList
*/
public List<String> getEventDecPowerList(){
return this.eventDecPowerList;
}
/**
* 设置 事项决定权,枚举多选
* @param eventDecPowerList
*/
public void setEventDecPowerList(List<String> eventDecPowerList){
this.eventDecPowerList = eventDecPowerList;
}
/**
* 获取 统计标识,1:统计 0:不统计
* @return isStatisticsList
*/
public List<String> getIsStatisticsList(){
return this.isStatisticsList;
}
/**
* 设置 统计标识,1:统计 0:不统计
* @param isStatisticsList
*/
public void setIsStatisticsList(List<String> isStatisticsList){
this.isStatisticsList = isStatisticsList;
}
/**
* 获取 服务内容
* @return serviceContentList
*/
public List<String> getServiceContentList(){
return this.serviceContentList;
}
/**
* 设置 服务内容
* @param serviceContentList
*/
public void setServiceContentList(List<String> serviceContentList){
this.serviceContentList = serviceContentList;
}
/**
* 获取 是否最新版本
* @return isNewestList
*/
public List<String> getIsNewestList(){
return this.isNewestList;
}
/**
* 设置 是否最新版本
* @param isNewestList
*/
public void setIsNewestList(List<String> isNewestList){
this.isNewestList = isNewestList;
}
/**
* 获取 版本号
* @return versionList
*/
public List<String> getVersionList(){
return this.versionList;
}
/**
* 设置 版本号
* @param versionList
*/
public void setVersionList(List<String> versionList){
this.versionList = versionList;
}
/**
* 获取 是否进入政务服务中心/便民服务中心窗口办理。必选,是/否;
* @return goveServiceCenterList
*/
public List<String> getGoveServiceCenterList(){
return this.goveServiceCenterList;
}
/**
* 设置 是否进入政务服务中心/便民服务中心窗口办理。必选,是/否;
* @param goveServiceCenterList
*/
public void setGoveServiceCenterList(List<String> goveServiceCenterList){
this.goveServiceCenterList = goveServiceCenterList;
}
/**
* 获取 是否授权窗口工作人员全程办理。必选,接件、受理、审核、转报、出具结论性意见、审批决定权、审核上报权、组织协调权、印章使用(用于监察系统)
* @return isAuthoTransactList
*/
public List<String> getIsAuthoTransactList(){
return this.isAuthoTransactList;
}
/**
* 设置 是否授权窗口工作人员全程办理。必选,接件、受理、审核、转报、出具结论性意见、审批决定权、审核上报权、组织协调权、印章使用(用于监察系统)
* @param isAuthoTransactList
*/
public void setIsAuthoTransactList(List<String> isAuthoTransactList){
this.isAuthoTransactList = isAuthoTransactList;
}
/**
* 获取 是否网上预约(单选):是或者否
* @return isOnlineSubscribeList
*/
public List<String> getIsOnlineSubscribeList(){
return this.isOnlineSubscribeList;
}
/**
* 设置 是否网上预约(单选):是或者否
* @param isOnlineSubscribeList
*/
public void setIsOnlineSubscribeList(List<String> isOnlineSubscribeList){
this.isOnlineSubscribeList = isOnlineSubscribeList;
}
/**
* 获取 收费情况
* @return isChargesList
*/
public List<String> getIsChargesList(){
return this.isChargesList;
}
/**
* 设置 收费情况
* @param isChargesList
*/
public void setIsChargesList(List<String> isChargesList){
this.isChargesList = isChargesList;
}
/**
* 获取 是否在线支付
* @return isOnlinePayList
*/
public List<String> getIsOnlinePayList(){
return this.isOnlinePayList;
}
/**
* 设置 是否在线支付
* @param isOnlinePayList
*/
public void setIsOnlinePayList(List<String> isOnlinePayList){
this.isOnlinePayList = isOnlinePayList;
}
/**
* 获取 是否支持快递取件
* @return isExpressTakeList
*/
public List<String> getIsExpressTakeList(){
return this.isExpressTakeList;
}
/**
* 设置 是否支持快递取件
* @param isExpressTakeList
*/
public void setIsExpressTakeList(List<String> isExpressTakeList){
this.isExpressTakeList = isExpressTakeList;
}
/**
* 获取 是否纳入政务服务中心
* @return isGoveCenterList
*/
public List<String> getIsGoveCenterList(){
return this.isGoveCenterList;
}
/**
* 设置 是否纳入政务服务中心
* @param isGoveCenterList
*/
public void setIsGoveCenterList(List<String> isGoveCenterList){
this.isGoveCenterList = isGoveCenterList;
}
/**
* 获取 是否纳入便民服务中心
* @return isConvenientCenterList
*/
public List<String> getIsConvenientCenterList(){
return this.isConvenientCenterList;
}
/**
* 设置 是否纳入便民服务中心
* @param isConvenientCenterList
*/
public void setIsConvenientCenterList(List<String> isConvenientCenterList){
this.isConvenientCenterList = isConvenientCenterList;
}
/**
* 获取 行使编码 (实施主体)
* @return performDeptCodeList
*/
public List<String> getPerformDeptCodeList(){
return this.performDeptCodeList;
}
/**
* 设置 行使编码 (实施主体)
* @param performDeptCodeList
*/
public void setPerformDeptCodeList(List<String> performDeptCodeList){
this.performDeptCodeList = performDeptCodeList;
}
/**
* 获取 行使名称 (实施主体名称)
* @return performDeptNameList
*/
public List<String> getPerformDeptNameList(){
return this.performDeptNameList;
}
/**
* 设置 行使名称 (实施主体名称)
* @param performDeptNameList
*/
public void setPerformDeptNameList(List<String> performDeptNameList){
this.performDeptNameList = performDeptNameList;
}
/**
* 获取 行使主体(实施性质)
* @return performDeptTypeList
*/
public List<String> getPerformDeptTypeList(){
return this.performDeptTypeList;
}
/**
* 设置 行使主体(实施性质)
* @param performDeptTypeList
*/
public void setPerformDeptTypeList(List<String> performDeptTypeList){
this.performDeptTypeList = performDeptTypeList;
}
/**
* 获取 是否支持上门收取申请材料
* @return isDoorTakeList
*/
public List<String> getIsDoorTakeList(){
return this.isDoorTakeList;
}
/**
* 设置 是否支持上门收取申请材料
* @param isDoorTakeList
*/
public void setIsDoorTakeList(List<String> isDoorTakeList){
this.isDoorTakeList = isDoorTakeList;
}
/**
* 获取 承诺办理总时限
* @return promiseTimeLimitList
*/
public List<String> getPromiseTimeLimitList(){
return this.promiseTimeLimitList;
}
/**
* 设置 承诺办理总时限
* @param promiseTimeLimitList
*/
public void setPromiseTimeLimitList(List<String> promiseTimeLimitList){
this.promiseTimeLimitList = promiseTimeLimitList;
}
/**
* 获取 办理类型:窗口办理、原件预审、原件核验、全程网办
* @return doThingTypeList
*/
public List<String> getDoThingTypeList(){
return this.doThingTypeList;
}
/**
* 设置 办理类型:窗口办理、原件预审、原件核验、全程网办
* @param doThingTypeList
*/
public void setDoThingTypeList(List<String> doThingTypeList){
this.doThingTypeList = doThingTypeList;
}
/**
* 获取 发起主体
* @return launchBodyList
*/
public List<String> getLaunchBodyList(){
return this.launchBodyList;
}
/**
* 设置 发起主体
* @param launchBodyList
*/
public void setLaunchBodyList(List<String> launchBodyList){
this.launchBodyList = launchBodyList;
}
/**
* 获取 省级审查类型
* @return proReviewTypeList
*/
public List<String> getProReviewTypeList(){
return this.proReviewTypeList;
}
/**
* 设置 省级审查类型
* @param proReviewTypeList
*/
public void setProReviewTypeList(List<String> proReviewTypeList){
this.proReviewTypeList = proReviewTypeList;
}
/**
* 获取 市级审查类型
* @return cityReviewTypeList
*/
public List<String> getCityReviewTypeList(){
return this.cityReviewTypeList;
}
/**
* 设置 市级审查类型
* @param cityReviewTypeList
*/
public void setCityReviewTypeList(List<String> cityReviewTypeList){
this.cityReviewTypeList = cityReviewTypeList;
}
/**
* 获取 区县级审查类型
* @return couReviewTypeList
*/
public List<String> getCouReviewTypeList(){
return this.couReviewTypeList;
}
/**
* 设置 区县级审查类型
* @param couReviewTypeList
*/
public void setCouReviewTypeList(List<String> couReviewTypeList){
this.couReviewTypeList = couReviewTypeList;
}
/**
* 获取 乡镇级审查类型
* @return townReviewTypeList
*/
public List<String> getTownReviewTypeList(){
return this.townReviewTypeList;
}
/**
* 设置 乡镇级审查类型
* @param townReviewTypeList
*/
public void setTownReviewTypeList(List<String> townReviewTypeList){
this.townReviewTypeList = townReviewTypeList;
}
/**
* 获取 事项设定来源-枚举多选
* @return vilReviewTypeList
*/
public List<String> getVilReviewTypeList(){
return this.vilReviewTypeList;
}
/**
* 设置 事项设定来源-枚举多选
* @param vilReviewTypeList
*/
public void setVilReviewTypeList(List<String> vilReviewTypeList){
this.vilReviewTypeList = vilReviewTypeList;
}
/**
* 获取 用户类型(1:普通用户,2:会员)
* @return eventSourceList
*/
public List<String> getEventSourceList(){
return this.eventSourceList;
}
/**
* 设置 用户类型(1:普通用户,2:会员)
* @param eventSourceList
*/
public void setEventSourceList(List<String> eventSourceList){
this.eventSourceList = eventSourceList;
}
/**
* 获取 是否数量限制
* @return isNumberLimitList
*/
public List<String> getIsNumberLimitList(){
return this.isNumberLimitList;
}
/**
* 设置 是否数量限制
* @param isNumberLimitList
*/
public void setIsNumberLimitList(List<String> isNumberLimitList){
this.isNumberLimitList = isNumberLimitList;
}
/**
* 获取 数量限制
* @return numberLimitList
*/
public List<String> getNumberLimitList(){
return this.numberLimitList;
}
/**
* 设置 数量限制
* @param numberLimitList
*/
public void setNumberLimitList(List<String> numberLimitList){
this.numberLimitList = numberLimitList;
}
/**
* 获取 事项是否在一体化平台办理
* @return isIntegrationList
*/
public List<String> getIsIntegrationList(){
return this.isIntegrationList;
}
/**
* 设置 事项是否在一体化平台办理
* @param isIntegrationList
*/
public void setIsIntegrationList(List<String> isIntegrationList){
this.isIntegrationList = isIntegrationList;
}
/**
* 获取 部门系统级别
* @return deptSysLevelList
*/
public List<String> getDeptSysLevelList(){
return this.deptSysLevelList;
}
/**
* 设置 部门系统级别
* @param deptSysLevelList
*/
public void setDeptSysLevelList(List<String> deptSysLevelList){
this.deptSysLevelList = deptSysLevelList;
}
/**
* 获取 办理结果是否能够在一体化平台共享
* @return isShareList
*/
public List<String> getIsShareList(){
return this.isShareList;
}
/**
* 设置 办理结果是否能够在一体化平台共享
* @param isShareList
*/
public void setIsShareList(List<String> isShareList){
this.isShareList = isShareList;
}
/**
* 获取 行使方式:1 依申请 2主动行使
* @return applyObjectList
*/
public List<String> getApplyObjectList(){
return this.applyObjectList;
}
/**
* 设置 行使方式:1 依申请 2主动行使
* @param applyObjectList
*/
public void setApplyObjectList(List<String> applyObjectList){
this.applyObjectList = applyObjectList;
}
/**
* 获取 按人生事件分类/按经营活动分类
* @return lifeEventTypeList
*/
public List<String> getLifeEventTypeList(){
return this.lifeEventTypeList;
}
/**
* 设置 按人生事件分类/按经营活动分类
* @param lifeEventTypeList
*/
public void setLifeEventTypeList(List<String> lifeEventTypeList){
this.lifeEventTypeList = lifeEventTypeList;
}
/**
* 获取 按特定对象分类
* @return specialObjectTypeList
*/
public List<String> getSpecialObjectTypeList(){
return this.specialObjectTypeList;
}
/**
* 设置 按特定对象分类
* @param specialObjectTypeList
*/
public void setSpecialObjectTypeList(List<String> specialObjectTypeList){
this.specialObjectTypeList = specialObjectTypeList;
}
/**
* 获取 按扶贫服务分类
* @return poorObjectTypeList
*/
public List<String> getPoorObjectTypeList(){
return this.poorObjectTypeList;
}
/**
* 设置 按扶贫服务分类
* @param poorObjectTypeList
*/
public void setPoorObjectTypeList(List<String> poorObjectTypeList){
this.poorObjectTypeList = poorObjectTypeList;
}
/**
* 获取 办理结果形式
* @return handleResultFormList
*/
public List<String> getHandleResultFormList(){
return this.handleResultFormList;
}
/**
* 设置 办理结果形式
* @param handleResultFormList
*/
public void setHandleResultFormList(List<String> handleResultFormList){
this.handleResultFormList = handleResultFormList;
}
/**
* 获取 部门系统名称
* @return deptSysNameList
*/
public List<String> getDeptSysNameList(){
return this.deptSysNameList;
}
/**
* 设置 部门系统名称
* @param deptSysNameList
*/
public void setDeptSysNameList(List<String> deptSysNameList){
this.deptSysNameList = deptSysNameList;
}
/**
* 获取 原因
* @return reasonList
*/
public List<String> getReasonList(){
return this.reasonList;
}
/**
* 设置 原因
* @param reasonList
*/
public void setReasonList(List<String> reasonList){
this.reasonList = reasonList;
}
/**
* 获取 实施清单业务状态
* @return eventStatusList
*/
public List<String> getEventStatusList(){
return this.eventStatusList;
}
/**
* 设置 实施清单业务状态
* @param eventStatusList
*/
public void setEventStatusList(List<String> eventStatusList){
this.eventStatusList = eventStatusList;
}
/**
* 获取 是否支持快递取件_网办类型
* @return isExpressTakeOnlineList
*/
public List<String> getIsExpressTakeOnlineList(){
return this.isExpressTakeOnlineList;
}
/**
* 设置 是否支持快递取件_网办类型
* @param isExpressTakeOnlineList
*/
public void setIsExpressTakeOnlineList(List<String> isExpressTakeOnlineList){
this.isExpressTakeOnlineList = isExpressTakeOnlineList;
}
/**
* 获取 办事者到办理现场次数_网办类型
* @return percenceTimesOnlineList
*/
public List<String> getPercenceTimesOnlineList(){
return this.percenceTimesOnlineList;
}
/**
* 设置 办事者到办理现场次数_网办类型
* @param percenceTimesOnlineList
*/
public void setPercenceTimesOnlineList(List<String> percenceTimesOnlineList){
this.percenceTimesOnlineList = percenceTimesOnlineList;
}
/**
* 获取 网办类型0:原件预审 1:原件核验 2:全程网办
* @return onlineTypeList
*/
public List<String> getOnlineTypeList(){
return this.onlineTypeList;
}
/**
* 设置 网办类型0:原件预审 1:原件核验 2:全程网办
* @param onlineTypeList
*/
public void setOnlineTypeList(List<String> onlineTypeList){
this.onlineTypeList = onlineTypeList;
}
/**
* 获取 部门id
* @return deptIdList
*/
public List<String> getDeptIdList(){
return this.deptIdList;
}
/**
* 设置 部门id
* @param deptIdList
*/
public void setDeptIdList(List<String> deptIdList){
this.deptIdList = deptIdList;
}
/**
* 获取 节日类型:1 工作日 2 自然日
* @return daysTypeList
*/
public List<String> getDaysTypeList(){
return this.daysTypeList;
}
/**
* 设置 节日类型:1 工作日 2 自然日
* @param daysTypeList
*/
public void setDaysTypeList(List<String> daysTypeList){
this.daysTypeList = daysTypeList;
}
/**
* 获取 目录清单是否变更
* @return isDirChangeList
*/
public List<String> getIsDirChangeList(){
return this.isDirChangeList;
}
/**
* 设置 目录清单是否变更
* @param isDirChangeList
*/
public void setIsDirChangeList(List<String> isDirChangeList){
this.isDirChangeList = isDirChangeList;
}
/**
* 获取 实施清单来源
* @return implListSourceList
*/
public List<String> getImplListSourceList(){
return this.implListSourceList;
}
/**
* 设置 实施清单来源
* @param implListSourceList
*/
public void setImplListSourceList(List<String> implListSourceList){
this.implListSourceList = implListSourceList;
}
/**
* 获取 流程实例id
* @return wfInstanceIdList
*/
public List<String> getWfInstanceIdList(){
return this.wfInstanceIdList;
}
/**
* 设置 流程实例id
* @param wfInstanceIdList
*/
public void setWfInstanceIdList(List<String> wfInstanceIdList){
this.wfInstanceIdList = wfInstanceIdList;
}
/**
* 获取 是否支持全城通办
* @return isCityWideOfficeList
*/
public List<String> getIsCityWideOfficeList(){
return this.isCityWideOfficeList;
}
/**
* 设置 是否支持全城通办
* @param isCityWideOfficeList
*/
public void setIsCityWideOfficeList(List<String> isCityWideOfficeList){
this.isCityWideOfficeList = isCityWideOfficeList;
}
/**
* 获取 是否支持全省范围就近申请
* @return isApplyProvinceList
*/
public List<String> getIsApplyProvinceList(){
return this.isApplyProvinceList;
}
/**
* 设置 是否支持全省范围就近申请
* @param isApplyProvinceList
*/
public void setIsApplyProvinceList(List<String> isApplyProvinceList){
this.isApplyProvinceList = isApplyProvinceList;
}
/**
* 获取 是否支持全省范围就近取件
* @return isProvinceAcquisitionList
*/
public List<String> getIsProvinceAcquisitionList(){
return this.isProvinceAcquisitionList;
}
/**
* 设置 是否支持全省范围就近取件
* @param isProvinceAcquisitionList
*/
public void setIsProvinceAcquisitionList(List<String> isProvinceAcquisitionList){
this.isProvinceAcquisitionList = isProvinceAcquisitionList;
}
/**
* 获取 目录清单编码
* @return dirListCodeList
*/
public List<String> getDirListCodeList(){
return this.dirListCodeList;
}
/**
* 设置 目录清单编码
* @param dirListCodeList
*/
public void setDirListCodeList(List<String> dirListCodeList){
this.dirListCodeList = dirListCodeList;
}
/**
* 获取 实施清单管理列表是否显示该数据
* @return isShowList
*/
public List<String> getIsShowList(){
return this.isShowList;
}
/**
* 设置 实施清单管理列表是否显示该数据
* @param isShowList
*/
public void setIsShowList(List<String> isShowList){
this.isShowList = isShowList;
}
/**
* 获取 末级部门编码
* @return implDeptCodeList
*/
public List<String> getImplDeptCodeList(){
return this.implDeptCodeList;
}
/**
* 设置 末级部门编码
* @param implDeptCodeList
*/
public void setImplDeptCodeList(List<String> implDeptCodeList){
this.implDeptCodeList = implDeptCodeList;
}
/**
* 获取 末级部门id
* @return implDeptIdList
*/
public List<String> getImplDeptIdList(){
return this.implDeptIdList;
}
/**
* 设置 末级部门id
* @param implDeptIdList
*/
public void setImplDeptIdList(List<String> implDeptIdList){
this.implDeptIdList = implDeptIdList;
}
/**
* 获取 厅局办件标识 是否统一受理 1.统一受理 2.非统一受理 3.全程办理
* @return isUniteAcceptList
*/
public List<String> getIsUniteAcceptList(){
return this.isUniteAcceptList;
}
/**
* 设置 厅局办件标识 是否统一受理 1.统一受理 2.非统一受理 3.全程办理
* @param isUniteAcceptList
*/
public void setIsUniteAcceptList(List<String> isUniteAcceptList){
this.isUniteAcceptList = isUniteAcceptList;
}
/**
* 获取 法定时限
* @return subLegalTimeLimitList
*/
public List<String> getSubLegalTimeLimitList(){
return this.subLegalTimeLimitList;
}
/**
* 设置 法定时限
* @param subLegalTimeLimitList
*/
public void setSubLegalTimeLimitList(List<String> subLegalTimeLimitList){
this.subLegalTimeLimitList = subLegalTimeLimitList;
}
/**
* 获取 承诺时限
* @return subPromiseTimeLimitList
*/
public List<String> getSubPromiseTimeLimitList(){
return this.subPromiseTimeLimitList;
}
/**
* 设置 承诺时限
* @param subPromiseTimeLimitList
*/
public void setSubPromiseTimeLimitList(List<String> subPromiseTimeLimitList){
this.subPromiseTimeLimitList = subPromiseTimeLimitList;
}
/**
* 获取 事项简称(俗语)
* @return commonSayingList
*/
public List<String> getCommonSayingList(){
return this.commonSayingList;
}
/**
* 设置 事项简称(俗语)
* @param commonSayingList
*/
public void setCommonSayingList(List<String> commonSayingList){
this.commonSayingList = commonSayingList;
}
/**
* 获取 承诺办理总时限单位
* @return clDaysTypeList
*/
public List<String> getClDaysTypeList(){
return this.clDaysTypeList;
}
/**
* 设置 承诺办理总时限单位
* @param clDaysTypeList
*/
public void setClDaysTypeList(List<String> clDaysTypeList){
this.clDaysTypeList = clDaysTypeList;
}
/**
* 获取 是否割接数据 1表示是 null 表示否
* @return isCutOffList
*/
public List<String> getIsCutOffList(){
return this.isCutOffList;
}
/**
* 设置 是否割接数据 1表示是 null 表示否
* @param isCutOffList
*/
public void setIsCutOffList(List<String> isCutOffList){
this.isCutOffList = isCutOffList;
}
/**
* 获取 是否割接数据 1:是
* @return isOlddataList
*/
public List<String> getIsOlddataList(){
return this.isOlddataList;
}
/**
* 设置 是否割接数据 1:是
* @param isOlddataList
*/
public void setIsOlddataList(List<String> isOlddataList){
this.isOlddataList = isOlddataList;
}
/**
* 获取 权力来源
* @return powerSourceList
*/
public List<String> getPowerSourceList(){
return this.powerSourceList;
}
/**
* 设置 权力来源
* @param powerSourceList
*/
public void setPowerSourceList(List<String> powerSourceList){
this.powerSourceList = powerSourceList;
}
/**
* 获取 委托部门
* @return entrustDeptList
*/
public List<String> getEntrustDeptList(){
return this.entrustDeptList;
}
/**
* 设置 委托部门
* @param entrustDeptList
*/
public void setEntrustDeptList(List<String> entrustDeptList){
this.entrustDeptList = entrustDeptList;
}
/**
* 获取 特别程序
* @return specProcedureList
*/
public List<String> getSpecProcedureList(){
return this.specProcedureList;
}
/**
* 设置 特别程序
* @param specProcedureList
*/
public void setSpecProcedureList(List<String> specProcedureList){
this.specProcedureList = specProcedureList;
}
/**
* 获取 通办范围:1全国 2跨省 3跨市 4跨县 5跨镇(乡、街道)6跨村(社区)
* @return operatScopeList
*/
public List<String> getOperatScopeList(){
return this.operatScopeList;
}
/**
* 设置 通办范围:1全国 2跨省 3跨市 4跨县 5跨镇(乡、街道)6跨村(社区)
* @param operatScopeList
*/
public void setOperatScopeList(List<String> operatScopeList){
this.operatScopeList = operatScopeList;
}
/**
* 获取 联办机构
* @return jointagencyList
*/
public List<String> getJointagencyList(){
return this.jointagencyList;
}
/**
* 设置 联办机构
* @param jointagencyList
*/
public void setJointagencyList(List<String> jointagencyList){
this.jointagencyList = jointagencyList;
}
/**
* 获取 审批结果类型 枚举项:10证照 20批文 30其他 99无
* @return applyresultTypeList
*/
public List<String> getApplyresultTypeList(){
return this.applyresultTypeList;
}
/**
* 设置 审批结果类型 枚举项:10证照 20批文 30其他 99无
* @param applyresultTypeList
*/
public void setApplyresultTypeList(List<String> applyresultTypeList){
this.applyresultTypeList = applyresultTypeList;
}
/**
* 获取 变更结果记录
* @return applyresultsSampleList
*/
public List<String> getApplyresultsSampleList(){
return this.applyresultsSampleList;
}
/**
* 设置 变更结果记录
* @param applyresultsSampleList
*/
public void setApplyresultsSampleList(List<String> applyresultsSampleList){
this.applyresultsSampleList = applyresultsSampleList;
}
/**
* 获取 实施清单展示编码
* @return showEventCodeList
*/
public List<String> getShowEventCodeList(){
return this.showEventCodeList;
}
/**
* 设置 实施清单展示编码
* @param showEventCodeList
*/
public void setShowEventCodeList(List<String> showEventCodeList){
this.showEventCodeList = showEventCodeList;
}
/**
* 获取 页面展示目录清单编码
* @return showDirCodeList
*/
public List<String> getShowDirCodeList(){
return this.showDirCodeList;
}
/**
* 设置 页面展示目录清单编码
* @param showDirCodeList
*/
public void setShowDirCodeList(List<String> showDirCodeList){
this.showDirCodeList = showDirCodeList;
}
/**
* 获取 是否设置证照
* @return isSetLicenseList
*/
public List<String> getIsSetLicenseList(){
return this.isSetLicenseList;
}
/**
* 设置 是否设置证照
* @param isSetLicenseList
*/
public void setIsSetLicenseList(List<String> isSetLicenseList){
this.isSetLicenseList = isSetLicenseList;
}
/**
* 获取 是否场景化事项
* @return isSceneServerList
*/
public List<String> getIsSceneServerList(){
return this.isSceneServerList;
}
/**
* 设置 是否场景化事项
* @param isSceneServerList
*/
public void setIsSceneServerList(List<String> isSceneServerList){
this.isSceneServerList = isSceneServerList;
}
/**
* 获取 事项名称首字母
* @return eventInitialList
*/
public List<String> getEventInitialList(){
return this.eventInitialList;
}
/**
* 设置 事项名称首字母
* @param eventInitialList
*/
public void setEventInitialList(List<String> eventInitialList){
this.eventInitialList = eventInitialList;
}
/**
* 获取 国家编码
* @return catalogcodeList
*/
public List<String> getCatalogcodeList(){
return this.catalogcodeList;
}
/**
* 设置 国家编码
* @param catalogcodeList
*/
public void setCatalogcodeList(List<String> catalogcodeList){
this.catalogcodeList = catalogcodeList;
}
/**
* 获取 子项编码
* @return subcodeList
*/
public List<String> getSubcodeList(){
return this.subcodeList;
}
/**
* 设置 子项编码
* @param subcodeList
*/
public void setSubcodeList(List<String> subcodeList){
this.subcodeList = subcodeList;
}
/**
* 获取 特殊状态(为空或0;1表示在门户列表中不展示的数据,办事指南和在线申请需要展示)
* @return specialStatusList
*/
public List<String> getSpecialStatusList(){
return this.specialStatusList;
}
/**
* 设置 特殊状态(为空或0;1表示在门户列表中不展示的数据,办事指南和在线申请需要展示)
* @param specialStatusList
*/
public void setSpecialStatusList(List<String> specialStatusList){
this.specialStatusList = specialStatusList;
}
/**
* 获取 材料目录模式:null为2.0模式,1:3.0模式
* @return materialVersionList
*/
public List<String> getMaterialVersionList(){
return this.materialVersionList;
}
/**
* 设置 材料目录模式:null为2.0模式,1:3.0模式
* @param materialVersionList
*/
public void setMaterialVersionList(List<String> materialVersionList){
this.materialVersionList = materialVersionList;
}
/**
* 获取 码表多选
* @return projectTypeList
*/
public List<String> getProjectTypeList(){
return this.projectTypeList;
}
/**
* 设置 码表多选
* @param projectTypeList
*/
public void setProjectTypeList(List<String> projectTypeList){
this.projectTypeList = projectTypeList;
}
/**
* 获取 审核状态(0:审核中1:审核通过2:审核失败)
* @return auditStateList
*/
public List<String> getAuditStateList(){
return this.auditStateList;
}
/**
* 设置 审核状态(0:审核中1:审核通过2:审核失败)
* @param auditStateList
*/
public void setAuditStateList(List<String> auditStateList){
this.auditStateList = auditStateList;
}
/**
* 获取 存放公共服务类型:2A,2B,2C
* @return publicServiceTypeList
*/
public List<String> getPublicServiceTypeList(){
return this.publicServiceTypeList;
}
/**
* 设置 存放公共服务类型:2A,2B,2C
* @param publicServiceTypeList
*/
public void setPublicServiceTypeList(List<String> publicServiceTypeList){
this.publicServiceTypeList = publicServiceTypeList;
}
/**
* 获取 是否有效:0 否,1 是,2 暂停
* @return isValidList
*/
public List<String> getIsValidList(){
return this.isValidList;
}
/**
* 设置 是否有效:0 否,1 是,2 暂停
* @param isValidList
*/
public void setIsValidList(List<String> isValidList){
this.isValidList = isValidList;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<ImplementlistQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<ImplementlistQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<ImplementlistQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<ImplementlistQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.modules.implementlist.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.modules.implementlist.model.ImplementlistEntity;
/**
* <p>Title: 实施清单主表</p>
* <p>Description: ImplementlistService service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* @version 1.0.0
*/
public interface ImplementlistService extends ICRUDService<ImplementlistEntity,Long> {
}
\ No newline at end of file
package com.mortals.xhx.modules.implementlist.service.impl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.modules.implementlist.dao.ImplementlistDao;
import com.mortals.xhx.modules.implementlist.model.ImplementlistEntity;
import com.mortals.xhx.modules.implementlist.service.ImplementlistService;
import org.springframework.stereotype.Service;
/**
* <p>Title: 实施清单主表</p>
* <p>Description: ImplementlistService service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* @version 1.0.0
*/
@Service("implementlistService")
public class ImplementlistServiceImpl extends AbstractCRUDServiceImpl<ImplementlistDao, ImplementlistEntity, Long> implements ImplementlistService {
}
\ No newline at end of file
package com.mortals.xhx.modules.implementlist.web;
import com.mortals.xhx.modules.implementlist.model.ImplementlistEntity;
import com.mortals.xhx.modules.implementlist.service.ImplementlistService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mortals.framework.web.BaseCRUDJsonMappingController;
/**
* <p>Title: 实施清单主表</p>
* <p>Description: ImplementlistController </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author zxfei
* @version 1.0.0
*/
@RestController
@RequestMapping("implementlist")
public class ImplementlistController extends BaseCRUDJsonMappingController<ImplementlistService,ImplementlistForm, ImplementlistEntity,Long> {
public ImplementlistController(){
super.setFormClass(ImplementlistForm.class);
super.setModuleDesc("实施清单主表");
}
}
\ No newline at end of file
package com.mortals.xhx.modules.implementlist.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.modules.implementlist.model.ImplementlistEntity;
import com.mortals.xhx.modules.implementlist.model.ImplementlistQuery;
/**
* <p>Title: 实施清单主表</p>
* <p>Description: ImplementlistForm </p>
* @author
* @version 1.0.0
*/
public class ImplementlistForm extends BaseCRUDFormLong<ImplementlistEntity> {
private ImplementlistEntity implementlist = new ImplementlistEntity();
private ImplementlistQuery query = new ImplementlistQuery();
public ImplementlistForm(){
}
@Override
public ImplementlistEntity getEntity() {
return implementlist;
}
public ImplementlistEntity getImplementlist() {
return implementlist;
}
public void setImplementlist(ImplementlistEntity implementlist) {
this.implementlist = implementlist;
}
@Override
public ImplementlistQuery getQuery() {
return query;
}
public void setQuery(ImplementlistQuery query) {
this.query = query;
}
}
\ No newline at end of file
package com.mortals.xhx.office.dao; package com.mortals.xhx.modules.information.dao;
import com.mortals.framework.dao.ICRUDSubmeterDao; import com.mortals.framework.dao.ICRUDSubmeterDao;
import com.mortals.xhx.office.model.InformationEntity; import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import java.util.List;
/** /**
* <p>Title: 办件信息</p> * <p>Title: 办件信息</p>
...@@ -10,5 +13,5 @@ import com.mortals.xhx.office.model.InformationEntity; ...@@ -10,5 +13,5 @@ import com.mortals.xhx.office.model.InformationEntity;
* @version 1.0.0 * @version 1.0.0
*/ */
public interface InformationDao extends ICRUDSubmeterDao<InformationEntity,Long>{ public interface InformationDao extends ICRUDSubmeterDao<InformationEntity,Long>{
List<SupplementEntity> queryListForSupplementEntityList();
} }
package com.mortals.xhx.office.dao.ibatis; package com.mortals.xhx.modules.information.dao.ibatis;
import com.mortals.xhx.office.dao.InformationDao; import com.mortals.xhx.modules.information.dao.InformationDao;
import com.mortals.xhx.office.model.InformationEntity; import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.mortals.framework.dao.ibatis.SubmeterDaoImpl; import com.mortals.framework.dao.ibatis.SubmeterDaoImpl;
import com.mortals.framework.model.TableParam; import com.mortals.framework.model.TableParam;
import com.mortals.framework.model.TableStrategy; import com.mortals.framework.model.TableStrategy;
import java.util.List;
/** /**
* <p>Title: 办件信息</p> * <p>Title: 办件信息</p>
* <p>Description: InformationDaoImpl DAO接口 </p> * <p>Description: InformationDaoImpl DAO接口 </p>
* @author *
* @version 1.0.0 * @author
*/ * @version 1.0.0
*/
@Repository("informationDao") @Repository("informationDao")
public class InformationDaoImpl extends SubmeterDaoImpl<InformationEntity,Long> implements InformationDao { public class InformationDaoImpl extends SubmeterDaoImpl<InformationEntity, Long> implements InformationDao {
@Override @Override
protected TableStrategy getTableStrategy() protected TableStrategy getTableStrategy() {
{
return new TableStrategy("mortals_iot_zd_information_${unionTime}", TableStrategy.STRATEGY_BY_MONTH); return new TableStrategy("mortals_iot_zd_information_${unionTime}", TableStrategy.STRATEGY_BY_MONTH);
} }
@Override @Override
public TableParam getTableParam(InformationEntity entity) public TableParam getTableParam(InformationEntity entity) {
{
TableParam param = new TableParam(); TableParam param = new TableParam();
return param; return param;
} }
@Override
public List<SupplementEntity> queryListForSupplementEntityList() {
return getSqlSession().selectList(getSqlId("queryList"), null);
}
} }
package com.mortals.xhx.modules.information.listener;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.mortals.xhx.common.utils.SnowFlakeUtil;
import com.mortals.xhx.modules.supplement.dao.SupplementDao;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
/**
* @author Wz
* @Date: 2021-07-2021/7/30-15:06
* @Description:
*/
@Slf4j
public class InformationDataConversionListener extends AnalysisEventListener<SupplementEntity> {
/**
* 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
*/
private static final int BATCH_COUNT = 3000;
/**
* 这个集合用于接收 读取Excel文件得到的数据
*/
List<SupplementEntity> entityList=new ArrayList<SupplementEntity>();
private SupplementDao supplementDao;
public InformationDataConversionListener(SupplementDao supplementDao){
this.supplementDao=supplementDao;
}
@Override
public void invoke(SupplementEntity supplementEntity, AnalysisContext analysisContext) {
//调用方法生成临时表,在数据清洗后删除临时表
supplementEntity.setId(SnowFlakeUtil.get().nextId());
entityList.add(supplementEntity);
//达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
if (entityList.size() >= BATCH_COUNT) {
supplementDao.insertBatch(entityList);
//存储完成清理list
entityList.clear();
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
supplementDao.insertBatch(entityList);
log.info("=======Excel文件<<>>导入成功===========");
}
}
package com.mortals.xhx.modules.information.model;
import lombok.Data;
/**
* @author Wz
* @Date: 2021-08-2021/8/3-16:50
* @Description:省能力平台接口调用返回统一格式
*/
@Data
public class EgIfResult {
private String ifResult;
private String ifResultInfo;
private String code;
}
package com.mortals.xhx.office.model; package com.mortals.xhx.modules.information.model;
import java.util.Date; import java.util.Date;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
/** /**
* *
* Description:Information * Description:Information
* date: 2021-7-29 14:50:18 * date: 2021-8-2 15:06:55
*/ */
public class InformationEntity extends BaseEntityLong{ public class InformationEntity extends BaseEntityLong{
private static final long serialVersionUID = 1627541418276L; private static final long serialVersionUID = 1627888015325L;
/** /**
...@@ -46,6 +46,11 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -46,6 +46,11 @@ public class InformationEntity extends BaseEntityLong{
*/ */
private String applicantPhoneNumber; private String applicantPhoneNumber;
/**
* 申请人性别
*/
private String applicantSex;
/** /**
* 机构名称 * 机构名称
*/ */
...@@ -56,6 +61,11 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -56,6 +61,11 @@ public class InformationEntity extends BaseEntityLong{
*/ */
private String organizationAddress; private String organizationAddress;
/**
* 机构性质
*/
private String organizationStructure;
/** /**
* 机构证件类型 * 机构证件类型
*/ */
...@@ -91,6 +101,161 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -91,6 +101,161 @@ public class InformationEntity extends BaseEntityLong{
*/ */
private String areaCode; private String areaCode;
/**
* 部门编码
*/
private String deptCode;
/**
* 办件状态
*/
private String bizStatus;
/**
* 办件类型(默认0 网络办件)
*/
private String doThingProperty;
/**
* 办件名称
*/
private String affairName;
/**
* 申请方式默认 1 网上申请
*/
private String applyType;
/**
* 是否收费
*/
private String isCharge;
/**
* 申请件数;默认传1
*/
private String applyNum;
/**
* 取件方式 默认1现场取件
*/
private String pickupType;
/**
* 节点类型,(BusiType_1 申请受理\r\nBusiType_13 审核\r\nBusiType_14 收费\r\nBusiType_8 办结\r\nBusiType_6 制证\r\nBusiType_9 取件)
*/
private String nodeType;
/**
* 节点处理人姓名
*/
private String curHandlerName;
/**
* 节点处理人id (默认-1)
*/
private String addUserId;
/**
* 是否同意(默认 1是)
*/
private String auditAdvice;
/**
* 拟办意见(默认 同意)
*/
private String auditRemark;
/**
* 流程开始时间
*/
private Date genTime;
/**
* 流程结束时间
*/
private Date completeTime;
/**
* 是否推送(0 否 1是)
*/
private String isReport;
/**
* 是否成功(0 否 1是)
*/
private String isSuccess;
/**
* 推送失败原因
*/
private String failReason;
/**
* 失败次数
*/
private Integer failTimes;
/**
* 联系人姓名
*/
private String contactName;
/**
* 联系人证件号码
*/
private String contactIdCard;
/**
* 联系人证件类型
*/
private String contactCardType;
/**
* 联系人联系方式
*/
private String contactPhone;
/**
* 受理人姓名
*/
private String acceptName;
/**
* 受理人身份证号码
*/
private String acceptId;
/**
* 受理人手机号
*/
private String acceptPhone;
/**
* 系统编码
*/
private String systemCode;
/**
* 办件编码
*/
private String officeCode;
/**
* 办件业务流水号
*/
private String seriesNumber;
/**
* 流程状态名称
*/
private String processStatusName;
/**
* 流程状态编码
*/
private String processStatusCode;
public InformationEntity(){ public InformationEntity(){
} }
...@@ -193,6 +358,20 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -193,6 +358,20 @@ public class InformationEntity extends BaseEntityLong{
this.applicantPhoneNumber = applicantPhoneNumber; this.applicantPhoneNumber = applicantPhoneNumber;
} }
/** /**
* 获取 申请人性别
* @return applicantSex
*/
public String getApplicantSex() {
return this.applicantSex;
}
/**
* 设置 申请人性别
* @param applicantSex
*/
public void setApplicantSex(String applicantSex) {
this.applicantSex = applicantSex;
}
/**
* 获取 机构名称 * 获取 机构名称
* @return organizationName * @return organizationName
*/ */
...@@ -221,6 +400,20 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -221,6 +400,20 @@ public class InformationEntity extends BaseEntityLong{
this.organizationAddress = organizationAddress; this.organizationAddress = organizationAddress;
} }
/** /**
* 获取 机构性质
* @return organizationStructure
*/
public String getOrganizationStructure() {
return this.organizationStructure;
}
/**
* 设置 机构性质
* @param organizationStructure
*/
public void setOrganizationStructure(String organizationStructure) {
this.organizationStructure = organizationStructure;
}
/**
* 获取 机构证件类型 * 获取 机构证件类型
* @return organizationCardType * @return organizationCardType
*/ */
...@@ -318,6 +511,440 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -318,6 +511,440 @@ public class InformationEntity extends BaseEntityLong{
public void setAreaCode(String areaCode) { public void setAreaCode(String areaCode) {
this.areaCode = areaCode; this.areaCode = areaCode;
} }
/**
* 获取 部门编码
* @return deptCode
*/
public String getDeptCode() {
return this.deptCode;
}
/**
* 设置 部门编码
* @param deptCode
*/
public void setDeptCode(String deptCode) {
this.deptCode = deptCode;
}
/**
* 获取 办件状态
* @return bizStatus
*/
public String getBizStatus() {
return this.bizStatus;
}
/**
* 设置 办件状态
* @param bizStatus
*/
public void setBizStatus(String bizStatus) {
this.bizStatus = bizStatus;
}
/**
* 获取 办件类型(默认0 网络办件)
* @return doThingProperty
*/
public String getDoThingProperty() {
return this.doThingProperty;
}
/**
* 设置 办件类型(默认0 网络办件)
* @param doThingProperty
*/
public void setDoThingProperty(String doThingProperty) {
this.doThingProperty = doThingProperty;
}
/**
* 获取 办件名称
* @return affairName
*/
public String getAffairName() {
return this.affairName;
}
/**
* 设置 办件名称
* @param affairName
*/
public void setAffairName(String affairName) {
this.affairName = affairName;
}
/**
* 获取 申请方式默认 1 网上申请
* @return applyType
*/
public String getApplyType() {
return this.applyType;
}
/**
* 设置 申请方式默认 1 网上申请
* @param applyType
*/
public void setApplyType(String applyType) {
this.applyType = applyType;
}
/**
* 获取 是否收费
* @return isCharge
*/
public String getIsCharge() {
return this.isCharge;
}
/**
* 设置 是否收费
* @param isCharge
*/
public void setIsCharge(String isCharge) {
this.isCharge = isCharge;
}
/**
* 获取 申请件数;默认传1
* @return applyNum
*/
public String getApplyNum() {
return this.applyNum;
}
/**
* 设置 申请件数;默认传1
* @param applyNum
*/
public void setApplyNum(String applyNum) {
this.applyNum = applyNum;
}
/**
* 获取 取件方式 默认1现场取件
* @return pickupType
*/
public String getPickupType() {
return this.pickupType;
}
/**
* 设置 取件方式 默认1现场取件
* @param pickupType
*/
public void setPickupType(String pickupType) {
this.pickupType = pickupType;
}
/**
* 获取 节点类型,(BusiType_1 申请受理\r\nBusiType_13 审核\r\nBusiType_14 收费\r\nBusiType_8 办结\r\nBusiType_6 制证\r\nBusiType_9 取件)
* @return nodeType
*/
public String getNodeType() {
return this.nodeType;
}
/**
* 设置 节点类型,(BusiType_1 申请受理\r\nBusiType_13 审核\r\nBusiType_14 收费\r\nBusiType_8 办结\r\nBusiType_6 制证\r\nBusiType_9 取件)
* @param nodeType
*/
public void setNodeType(String nodeType) {
this.nodeType = nodeType;
}
/**
* 获取 节点处理人姓名
* @return curHandlerName
*/
public String getCurHandlerName() {
return this.curHandlerName;
}
/**
* 设置 节点处理人姓名
* @param curHandlerName
*/
public void setCurHandlerName(String curHandlerName) {
this.curHandlerName = curHandlerName;
}
/**
* 获取 节点处理人id (默认-1)
* @return addUserId
*/
public String getAddUserId() {
return this.addUserId;
}
/**
* 设置 节点处理人id (默认-1)
* @param addUserId
*/
public void setAddUserId(String addUserId) {
this.addUserId = addUserId;
}
/**
* 获取 是否同意(默认 1是)
* @return auditAdvice
*/
public String getAuditAdvice() {
return this.auditAdvice;
}
/**
* 设置 是否同意(默认 1是)
* @param auditAdvice
*/
public void setAuditAdvice(String auditAdvice) {
this.auditAdvice = auditAdvice;
}
/**
* 获取 拟办意见(默认 同意)
* @return auditRemark
*/
public String getAuditRemark() {
return this.auditRemark;
}
/**
* 设置 拟办意见(默认 同意)
* @param auditRemark
*/
public void setAuditRemark(String auditRemark) {
this.auditRemark = auditRemark;
}
/**
* 获取 流程开始时间
* @return genTime
*/
public Date getGenTime() {
return this.genTime;
}
/**
* 设置 流程开始时间
* @param genTime
*/
public void setGenTime(Date genTime) {
this.genTime = genTime;
}
/**
* 获取 流程结束时间
* @return completeTime
*/
public Date getCompleteTime() {
return this.completeTime;
}
/**
* 设置 流程结束时间
* @param completeTime
*/
public void setCompleteTime(Date completeTime) {
this.completeTime = completeTime;
}
/**
* 获取 是否推送(0 否 1是)
* @return isReport
*/
public String getIsReport() {
return this.isReport;
}
/**
* 设置 是否推送(0 否 1是)
* @param isReport
*/
public void setIsReport(String isReport) {
this.isReport = isReport;
}
/**
* 获取 是否成功(0 否 1是)
* @return isSuccess
*/
public String getIsSuccess() {
return this.isSuccess;
}
/**
* 设置 是否成功(0 否 1是)
* @param isSuccess
*/
public void setIsSuccess(String isSuccess) {
this.isSuccess = isSuccess;
}
/**
* 获取 推送失败原因
* @return failReason
*/
public String getFailReason() {
return this.failReason;
}
/**
* 设置 推送失败原因
* @param failReason
*/
public void setFailReason(String failReason) {
this.failReason = failReason;
}
/**
* 获取 失败次数
* @return failTimes
*/
public Integer getFailTimes() {
return this.failTimes;
}
/**
* 设置 失败次数
* @param failTimes
*/
public void setFailTimes(Integer failTimes) {
this.failTimes = failTimes;
}
/**
* 获取 联系人姓名
* @return contactName
*/
public String getContactName() {
return this.contactName;
}
/**
* 设置 联系人姓名
* @param contactName
*/
public void setContactName(String contactName) {
this.contactName = contactName;
}
/**
* 获取 联系人证件号码
* @return contactIdCard
*/
public String getContactIdCard() {
return this.contactIdCard;
}
/**
* 设置 联系人证件号码
* @param contactIdCard
*/
public void setContactIdCard(String contactIdCard) {
this.contactIdCard = contactIdCard;
}
/**
* 获取 联系人证件类型
* @return contactCardType
*/
public String getContactCardType() {
return this.contactCardType;
}
/**
* 设置 联系人证件类型
* @param contactCardType
*/
public void setContactCardType(String contactCardType) {
this.contactCardType = contactCardType;
}
/**
* 获取 联系人联系方式
* @return contactPhone
*/
public String getContactPhone() {
return this.contactPhone;
}
/**
* 设置 联系人联系方式
* @param contactPhone
*/
public void setContactPhone(String contactPhone) {
this.contactPhone = contactPhone;
}
/**
* 获取 受理人姓名
* @return acceptName
*/
public String getAcceptName() {
return this.acceptName;
}
/**
* 设置 受理人姓名
* @param acceptName
*/
public void setAcceptName(String acceptName) {
this.acceptName = acceptName;
}
/**
* 获取 受理人身份证号码
* @return acceptId
*/
public String getAcceptId() {
return this.acceptId;
}
/**
* 设置 受理人身份证号码
* @param acceptId
*/
public void setAcceptId(String acceptId) {
this.acceptId = acceptId;
}
/**
* 获取 受理人手机号
* @return acceptPhone
*/
public String getAcceptPhone() {
return this.acceptPhone;
}
/**
* 设置 受理人手机号
* @param acceptPhone
*/
public void setAcceptPhone(String acceptPhone) {
this.acceptPhone = acceptPhone;
}
/**
* 获取 系统编码
* @return systemCode
*/
public String getSystemCode() {
return this.systemCode;
}
/**
* 设置 系统编码
* @param systemCode
*/
public void setSystemCode(String systemCode) {
this.systemCode = systemCode;
}
/**
* 获取 办件编码
* @return officeCode
*/
public String getOfficeCode() {
return this.officeCode;
}
/**
* 设置 办件编码
* @param officeCode
*/
public void setOfficeCode(String officeCode) {
this.officeCode = officeCode;
}
/**
* 获取 办件业务流水号
* @return seriesNumber
*/
public String getSeriesNumber() {
return this.seriesNumber;
}
/**
* 设置 办件业务流水号
* @param seriesNumber
*/
public void setSeriesNumber(String seriesNumber) {
this.seriesNumber = seriesNumber;
}
/**
* 获取 流程状态名称
* @return processStatusName
*/
public String getProcessStatusName() {
return this.processStatusName;
}
/**
* 设置 流程状态名称
* @param processStatusName
*/
public void setProcessStatusName(String processStatusName) {
this.processStatusName = processStatusName;
}
/**
* 获取 流程状态编码
* @return processStatusCode
*/
public String getProcessStatusCode() {
return this.processStatusCode;
}
/**
* 设置 流程状态编码
* @param processStatusCode
*/
public void setProcessStatusCode(String processStatusCode) {
this.processStatusCode = processStatusCode;
}
@Override @Override
public int hashCode() { public int hashCode() {
...@@ -347,8 +974,10 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -347,8 +974,10 @@ public class InformationEntity extends BaseEntityLong{
.append(",applicantName:").append(getApplicantName()) .append(",applicantName:").append(getApplicantName())
.append(",applicantCardNumbe:").append(getApplicantCardNumbe()) .append(",applicantCardNumbe:").append(getApplicantCardNumbe())
.append(",applicantPhoneNumber:").append(getApplicantPhoneNumber()) .append(",applicantPhoneNumber:").append(getApplicantPhoneNumber())
.append(",applicantSex:").append(getApplicantSex())
.append(",organizationName:").append(getOrganizationName()) .append(",organizationName:").append(getOrganizationName())
.append(",organizationAddress:").append(getOrganizationAddress()) .append(",organizationAddress:").append(getOrganizationAddress())
.append(",organizationStructure:").append(getOrganizationStructure())
.append(",organizationCardType:").append(getOrganizationCardType()) .append(",organizationCardType:").append(getOrganizationCardType())
.append(",organizationCardNumber:").append(getOrganizationCardNumber()) .append(",organizationCardNumber:").append(getOrganizationCardNumber())
.append(",legalPerson:").append(getLegalPerson()) .append(",legalPerson:").append(getLegalPerson())
...@@ -356,6 +985,37 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -356,6 +985,37 @@ public class InformationEntity extends BaseEntityLong{
.append(",processStopTime:").append(getProcessStopTime()) .append(",processStopTime:").append(getProcessStopTime())
.append(",createTime:").append(getCreateTime()) .append(",createTime:").append(getCreateTime())
.append(",areaCode:").append(getAreaCode()) .append(",areaCode:").append(getAreaCode())
.append(",deptCode:").append(getDeptCode())
.append(",bizStatus:").append(getBizStatus())
.append(",doThingProperty:").append(getDoThingProperty())
.append(",affairName:").append(getAffairName())
.append(",applyType:").append(getApplyType())
.append(",isCharge:").append(getIsCharge())
.append(",applyNum:").append(getApplyNum())
.append(",pickupType:").append(getPickupType())
.append(",nodeType:").append(getNodeType())
.append(",curHandlerName:").append(getCurHandlerName())
.append(",addUserId:").append(getAddUserId())
.append(",auditAdvice:").append(getAuditAdvice())
.append(",auditRemark:").append(getAuditRemark())
.append(",genTime:").append(getGenTime())
.append(",completeTime:").append(getCompleteTime())
.append(",isReport:").append(getIsReport())
.append(",isSuccess:").append(getIsSuccess())
.append(",failReason:").append(getFailReason())
.append(",failTimes:").append(getFailTimes())
.append(",contactName:").append(getContactName())
.append(",contactIdCard:").append(getContactIdCard())
.append(",contactCardType:").append(getContactCardType())
.append(",contactPhone:").append(getContactPhone())
.append(",acceptName:").append(getAcceptName())
.append(",acceptId:").append(getAcceptId())
.append(",acceptPhone:").append(getAcceptPhone())
.append(",systemCode:").append(getSystemCode())
.append(",officeCode:").append(getOfficeCode())
.append(",seriesNumber:").append(getSeriesNumber())
.append(",processStatusName:").append(getProcessStatusName())
.append(",processStatusCode:").append(getProcessStatusCode())
; ;
return sb.toString(); return sb.toString();
} }
...@@ -368,8 +1028,10 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -368,8 +1028,10 @@ public class InformationEntity extends BaseEntityLong{
this.applicantName = null; this.applicantName = null;
this.applicantCardNumbe = null; this.applicantCardNumbe = null;
this.applicantPhoneNumber = null; this.applicantPhoneNumber = null;
this.applicantSex = null;
this.organizationName = null; this.organizationName = null;
this.organizationAddress = null; this.organizationAddress = null;
this.organizationStructure = null;
this.organizationCardType = null; this.organizationCardType = null;
this.organizationCardNumber = null; this.organizationCardNumber = null;
this.legalPerson = null; this.legalPerson = null;
...@@ -377,5 +1039,36 @@ public class InformationEntity extends BaseEntityLong{ ...@@ -377,5 +1039,36 @@ public class InformationEntity extends BaseEntityLong{
this.processStopTime = null; this.processStopTime = null;
this.createTime = null; this.createTime = null;
this.areaCode = null; this.areaCode = null;
this.deptCode = null;
this.bizStatus = null;
this.doThingProperty = null;
this.affairName = null;
this.applyType = null;
this.isCharge = null;
this.applyNum = null;
this.pickupType = null;
this.nodeType = null;
this.curHandlerName = null;
this.addUserId = null;
this.auditAdvice = null;
this.auditRemark = null;
this.genTime = null;
this.completeTime = null;
this.isReport = null;
this.isSuccess = null;
this.failReason = null;
this.failTimes = null;
this.contactName = null;
this.contactIdCard = null;
this.contactCardType = null;
this.contactPhone = null;
this.acceptName = null;
this.acceptId = null;
this.acceptPhone = null;
this.systemCode = null;
this.officeCode = null;
this.seriesNumber = null;
this.processStatusName = null;
this.processStatusCode = null;
} }
} }
\ No newline at end of file
package com.mortals.xhx.office.model; package com.mortals.xhx.modules.information.model;
import java.util.List; import java.util.List;
import java.util.Date; import java.util.Date;
...@@ -6,10 +6,10 @@ import java.util.Date; ...@@ -6,10 +6,10 @@ import java.util.Date;
/** /**
* *
* Description:Information * Description:Information
* date: 2021-7-29 14:50:18 * date: 2021-8-2 15:06:55
*/ */
public class InformationQuery extends InformationEntity{ public class InformationQuery extends InformationEntity{
private static final long serialVersionUID = 1627541418278L; private static final long serialVersionUID = 1627888015327L;
/** 开始 主键ID,主键,业务生成 */ /** 开始 主键ID,主键,业务生成 */
private Long idStart; private Long idStart;
...@@ -53,12 +53,18 @@ public class InformationQuery extends InformationEntity{ ...@@ -53,12 +53,18 @@ public class InformationQuery extends InformationEntity{
/** 申请人手机号码 */ /** 申请人手机号码 */
private List<String> applicantPhoneNumberList; private List<String> applicantPhoneNumberList;
/** 申请人性别 */
private List<String> applicantSexList;
/** 机构名称 */ /** 机构名称 */
private List<String> organizationNameList; private List<String> organizationNameList;
/** 机构地址 */ /** 机构地址 */
private List<String> organizationAddressList; private List<String> organizationAddressList;
/** 机构性质 */
private List<String> organizationStructureList;
/** 机构证件类型 */ /** 机构证件类型 */
private List<String> organizationCardTypeList; private List<String> organizationCardTypeList;
...@@ -86,6 +92,112 @@ public class InformationQuery extends InformationEntity{ ...@@ -86,6 +92,112 @@ public class InformationQuery extends InformationEntity{
/** 地区编码 */ /** 地区编码 */
private List<String> areaCodeList; private List<String> areaCodeList;
/** 部门编码 */
private List<String> deptCodeList;
/** 办件状态 */
private List<String> bizStatusList;
/** 办件类型(默认0 网络办件) */
private List<String> doThingPropertyList;
/** 办件名称 */
private List<String> affairNameList;
/** 申请方式默认 1 网上申请 */
private List<String> applyTypeList;
/** 是否收费 */
private List<String> isChargeList;
/** 申请件数;默认传1 */
private List<String> applyNumList;
/** 取件方式 默认1现场取件 */
private List<String> pickupTypeList;
/** 节点类型,(BusiType_1 申请受理\r\nBusiType_13 审核\r\nBusiType_14 收费\r\nBusiType_8 办结\r\nBusiType_6 制证\r\nBusiType_9 取件) */
private List<String> nodeTypeList;
/** 节点处理人姓名 */
private List<String> curHandlerNameList;
/** 节点处理人id (默认-1) */
private List<String> addUserIdList;
/** 是否同意(默认 1是) */
private List<String> auditAdviceList;
/** 拟办意见(默认 同意) */
private List<String> auditRemarkList;
/** 开始 流程开始时间 */
private String genTimeStart;
/** 结束 流程开始时间 */
private String genTimeEnd;
/** 开始 流程结束时间 */
private String completeTimeStart;
/** 结束 流程结束时间 */
private String completeTimeEnd;
/** 是否推送(0 否 1是) */
private List<String> isReportList;
/** 是否成功(0 否 1是) */
private List<String> isSuccessList;
/** 推送失败原因 */
private List<String> failReasonList;
/** 开始 失败次数 */
private Integer failTimesStart;
/** 结束 失败次数 */
private Integer failTimesEnd;
/** 增加 失败次数 */
private Integer failTimesIncrement;
/** 失败次数 */
private List <Integer> failTimesList;
/** 联系人姓名 */
private List<String> contactNameList;
/** 联系人证件号码 */
private List<String> contactIdCardList;
/** 联系人证件类型 */
private List<String> contactCardTypeList;
/** 联系人联系方式 */
private List<String> contactPhoneList;
/** 受理人姓名 */
private List<String> acceptNameList;
/** 受理人身份证号码 */
private List<String> acceptIdList;
/** 受理人手机号 */
private List<String> acceptPhoneList;
/** 系统编码 */
private List<String> systemCodeList;
/** 办件编码 */
private List<String> officeCodeList;
/** 办件业务流水号 */
private List<String> seriesNumberList;
/** 流程状态名称 */
private List<String> processStatusNameList;
/** 流程状态编码 */
private List<String> processStatusCodeList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */ /** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<InformationQuery> orConditionList; private List<InformationQuery> orConditionList;
...@@ -313,6 +425,21 @@ public class InformationQuery extends InformationEntity{ ...@@ -313,6 +425,21 @@ public class InformationQuery extends InformationEntity{
this.applicantPhoneNumberList = applicantPhoneNumberList; this.applicantPhoneNumberList = applicantPhoneNumberList;
} }
/** /**
* 获取 申请人性别
* @return applicantSexList
*/
public List<String> getApplicantSexList(){
return this.applicantSexList;
}
/**
* 设置 申请人性别
* @param applicantSexList
*/
public void setApplicantSexList(List<String> applicantSexList){
this.applicantSexList = applicantSexList;
}
/**
* 获取 机构名称 * 获取 机构名称
* @return organizationNameList * @return organizationNameList
*/ */
...@@ -343,6 +470,21 @@ public class InformationQuery extends InformationEntity{ ...@@ -343,6 +470,21 @@ public class InformationQuery extends InformationEntity{
this.organizationAddressList = organizationAddressList; this.organizationAddressList = organizationAddressList;
} }
/** /**
* 获取 机构性质
* @return organizationStructureList
*/
public List<String> getOrganizationStructureList(){
return this.organizationStructureList;
}
/**
* 设置 机构性质
* @param organizationStructureList
*/
public void setOrganizationStructureList(List<String> organizationStructureList){
this.organizationStructureList = organizationStructureList;
}
/**
* 获取 机构证件类型 * 获取 机构证件类型
* @return organizationCardTypeList * @return organizationCardTypeList
*/ */
...@@ -495,6 +637,551 @@ public class InformationQuery extends InformationEntity{ ...@@ -495,6 +637,551 @@ public class InformationQuery extends InformationEntity{
public void setAreaCodeList(List<String> areaCodeList){ public void setAreaCodeList(List<String> areaCodeList){
this.areaCodeList = areaCodeList; this.areaCodeList = areaCodeList;
} }
/**
* 获取 部门编码
* @return deptCodeList
*/
public List<String> getDeptCodeList(){
return this.deptCodeList;
}
/**
* 设置 部门编码
* @param deptCodeList
*/
public void setDeptCodeList(List<String> deptCodeList){
this.deptCodeList = deptCodeList;
}
/**
* 获取 办件状态
* @return bizStatusList
*/
public List<String> getBizStatusList(){
return this.bizStatusList;
}
/**
* 设置 办件状态
* @param bizStatusList
*/
public void setBizStatusList(List<String> bizStatusList){
this.bizStatusList = bizStatusList;
}
/**
* 获取 办件类型(默认0 网络办件)
* @return doThingPropertyList
*/
public List<String> getDoThingPropertyList(){
return this.doThingPropertyList;
}
/**
* 设置 办件类型(默认0 网络办件)
* @param doThingPropertyList
*/
public void setDoThingPropertyList(List<String> doThingPropertyList){
this.doThingPropertyList = doThingPropertyList;
}
/**
* 获取 办件名称
* @return affairNameList
*/
public List<String> getAffairNameList(){
return this.affairNameList;
}
/**
* 设置 办件名称
* @param affairNameList
*/
public void setAffairNameList(List<String> affairNameList){
this.affairNameList = affairNameList;
}
/**
* 获取 申请方式默认 1 网上申请
* @return applyTypeList
*/
public List<String> getApplyTypeList(){
return this.applyTypeList;
}
/**
* 设置 申请方式默认 1 网上申请
* @param applyTypeList
*/
public void setApplyTypeList(List<String> applyTypeList){
this.applyTypeList = applyTypeList;
}
/**
* 获取 是否收费
* @return isChargeList
*/
public List<String> getIsChargeList(){
return this.isChargeList;
}
/**
* 设置 是否收费
* @param isChargeList
*/
public void setIsChargeList(List<String> isChargeList){
this.isChargeList = isChargeList;
}
/**
* 获取 申请件数;默认传1
* @return applyNumList
*/
public List<String> getApplyNumList(){
return this.applyNumList;
}
/**
* 设置 申请件数;默认传1
* @param applyNumList
*/
public void setApplyNumList(List<String> applyNumList){
this.applyNumList = applyNumList;
}
/**
* 获取 取件方式 默认1现场取件
* @return pickupTypeList
*/
public List<String> getPickupTypeList(){
return this.pickupTypeList;
}
/**
* 设置 取件方式 默认1现场取件
* @param pickupTypeList
*/
public void setPickupTypeList(List<String> pickupTypeList){
this.pickupTypeList = pickupTypeList;
}
/**
* 获取 节点类型,(BusiType_1 申请受理\r\nBusiType_13 审核\r\nBusiType_14 收费\r\nBusiType_8 办结\r\nBusiType_6 制证\r\nBusiType_9 取件)
* @return nodeTypeList
*/
public List<String> getNodeTypeList(){
return this.nodeTypeList;
}
/**
* 设置 节点类型,(BusiType_1 申请受理\r\nBusiType_13 审核\r\nBusiType_14 收费\r\nBusiType_8 办结\r\nBusiType_6 制证\r\nBusiType_9 取件)
* @param nodeTypeList
*/
public void setNodeTypeList(List<String> nodeTypeList){
this.nodeTypeList = nodeTypeList;
}
/**
* 获取 节点处理人姓名
* @return curHandlerNameList
*/
public List<String> getCurHandlerNameList(){
return this.curHandlerNameList;
}
/**
* 设置 节点处理人姓名
* @param curHandlerNameList
*/
public void setCurHandlerNameList(List<String> curHandlerNameList){
this.curHandlerNameList = curHandlerNameList;
}
/**
* 获取 节点处理人id (默认-1)
* @return addUserIdList
*/
public List<String> getAddUserIdList(){
return this.addUserIdList;
}
/**
* 设置 节点处理人id (默认-1)
* @param addUserIdList
*/
public void setAddUserIdList(List<String> addUserIdList){
this.addUserIdList = addUserIdList;
}
/**
* 获取 是否同意(默认 1是)
* @return auditAdviceList
*/
public List<String> getAuditAdviceList(){
return this.auditAdviceList;
}
/**
* 设置 是否同意(默认 1是)
* @param auditAdviceList
*/
public void setAuditAdviceList(List<String> auditAdviceList){
this.auditAdviceList = auditAdviceList;
}
/**
* 获取 拟办意见(默认 同意)
* @return auditRemarkList
*/
public List<String> getAuditRemarkList(){
return this.auditRemarkList;
}
/**
* 设置 拟办意见(默认 同意)
* @param auditRemarkList
*/
public void setAuditRemarkList(List<String> auditRemarkList){
this.auditRemarkList = auditRemarkList;
}
/**
* 获取 开始 流程开始时间
* @return genTimeStart
*/
public String getGenTimeStart(){
return this.genTimeStart;
}
/**
* 设置 开始 流程开始时间
* @param genTimeStart
*/
public void setGenTimeStart(String genTimeStart){
this.genTimeStart = genTimeStart;
}
/**
* 获取 结束 流程开始时间
* @return genTimeEnd
*/
public String getGenTimeEnd(){
return this.genTimeEnd;
}
/**
* 设置 结束 流程开始时间
* @param genTimeEnd
*/
public void setGenTimeEnd(String genTimeEnd){
this.genTimeEnd = genTimeEnd;
}
/**
* 获取 开始 流程结束时间
* @return completeTimeStart
*/
public String getCompleteTimeStart(){
return this.completeTimeStart;
}
/**
* 设置 开始 流程结束时间
* @param completeTimeStart
*/
public void setCompleteTimeStart(String completeTimeStart){
this.completeTimeStart = completeTimeStart;
}
/**
* 获取 结束 流程结束时间
* @return completeTimeEnd
*/
public String getCompleteTimeEnd(){
return this.completeTimeEnd;
}
/**
* 设置 结束 流程结束时间
* @param completeTimeEnd
*/
public void setCompleteTimeEnd(String completeTimeEnd){
this.completeTimeEnd = completeTimeEnd;
}
/**
* 获取 是否推送(0 否 1是)
* @return isReportList
*/
public List<String> getIsReportList(){
return this.isReportList;
}
/**
* 设置 是否推送(0 否 1是)
* @param isReportList
*/
public void setIsReportList(List<String> isReportList){
this.isReportList = isReportList;
}
/**
* 获取 是否成功(0 否 1是)
* @return isSuccessList
*/
public List<String> getIsSuccessList(){
return this.isSuccessList;
}
/**
* 设置 是否成功(0 否 1是)
* @param isSuccessList
*/
public void setIsSuccessList(List<String> isSuccessList){
this.isSuccessList = isSuccessList;
}
/**
* 获取 推送失败原因
* @return failReasonList
*/
public List<String> getFailReasonList(){
return this.failReasonList;
}
/**
* 设置 推送失败原因
* @param failReasonList
*/
public void setFailReasonList(List<String> failReasonList){
this.failReasonList = failReasonList;
}
/**
* 获取 开始 失败次数
* @return failTimesStart
*/
public Integer getFailTimesStart(){
return this.failTimesStart;
}
/**
* 设置 开始 失败次数
* @param failTimesStart
*/
public void setFailTimesStart(Integer failTimesStart){
this.failTimesStart = failTimesStart;
}
/**
* 获取 结束 失败次数
* @return failTimesEnd
*/
public Integer getFailTimesEnd(){
return this.failTimesEnd;
}
/**
* 设置 结束 失败次数
* @param failTimesEnd
*/
public void setFailTimesEnd(Integer failTimesEnd){
this.failTimesEnd = failTimesEnd;
}
/**
* 获取 增加 失败次数
* @return failTimesIncrement
*/
public Integer getFailTimesIncrement(){
return this.failTimesIncrement;
}
/**
* 设置 增加 失败次数
* @param failTimesIncrement
*/
public void setFailTimesIncrement(Integer failTimesIncrement){
this.failTimesIncrement = failTimesIncrement;
}
/**
* 获取 失败次数
* @return failTimesList
*/
public List<Integer> getFailTimesList(){
return this.failTimesList;
}
/**
* 设置 失败次数
* @param failTimesList
*/
public void setFailTimesList(List<Integer> failTimesList){
this.failTimesList = failTimesList;
}
/**
* 获取 联系人姓名
* @return contactNameList
*/
public List<String> getContactNameList(){
return this.contactNameList;
}
/**
* 设置 联系人姓名
* @param contactNameList
*/
public void setContactNameList(List<String> contactNameList){
this.contactNameList = contactNameList;
}
/**
* 获取 联系人证件号码
* @return contactIdCardList
*/
public List<String> getContactIdCardList(){
return this.contactIdCardList;
}
/**
* 设置 联系人证件号码
* @param contactIdCardList
*/
public void setContactIdCardList(List<String> contactIdCardList){
this.contactIdCardList = contactIdCardList;
}
/**
* 获取 联系人证件类型
* @return contactCardTypeList
*/
public List<String> getContactCardTypeList(){
return this.contactCardTypeList;
}
/**
* 设置 联系人证件类型
* @param contactCardTypeList
*/
public void setContactCardTypeList(List<String> contactCardTypeList){
this.contactCardTypeList = contactCardTypeList;
}
/**
* 获取 联系人联系方式
* @return contactPhoneList
*/
public List<String> getContactPhoneList(){
return this.contactPhoneList;
}
/**
* 设置 联系人联系方式
* @param contactPhoneList
*/
public void setContactPhoneList(List<String> contactPhoneList){
this.contactPhoneList = contactPhoneList;
}
/**
* 获取 受理人姓名
* @return acceptNameList
*/
public List<String> getAcceptNameList(){
return this.acceptNameList;
}
/**
* 设置 受理人姓名
* @param acceptNameList
*/
public void setAcceptNameList(List<String> acceptNameList){
this.acceptNameList = acceptNameList;
}
/**
* 获取 受理人身份证号码
* @return acceptIdList
*/
public List<String> getAcceptIdList(){
return this.acceptIdList;
}
/**
* 设置 受理人身份证号码
* @param acceptIdList
*/
public void setAcceptIdList(List<String> acceptIdList){
this.acceptIdList = acceptIdList;
}
/**
* 获取 受理人手机号
* @return acceptPhoneList
*/
public List<String> getAcceptPhoneList(){
return this.acceptPhoneList;
}
/**
* 设置 受理人手机号
* @param acceptPhoneList
*/
public void setAcceptPhoneList(List<String> acceptPhoneList){
this.acceptPhoneList = acceptPhoneList;
}
/**
* 获取 系统编码
* @return systemCodeList
*/
public List<String> getSystemCodeList(){
return this.systemCodeList;
}
/**
* 设置 系统编码
* @param systemCodeList
*/
public void setSystemCodeList(List<String> systemCodeList){
this.systemCodeList = systemCodeList;
}
/**
* 获取 办件编码
* @return officeCodeList
*/
public List<String> getOfficeCodeList(){
return this.officeCodeList;
}
/**
* 设置 办件编码
* @param officeCodeList
*/
public void setOfficeCodeList(List<String> officeCodeList){
this.officeCodeList = officeCodeList;
}
/**
* 获取 办件业务流水号
* @return seriesNumberList
*/
public List<String> getSeriesNumberList(){
return this.seriesNumberList;
}
/**
* 设置 办件业务流水号
* @param seriesNumberList
*/
public void setSeriesNumberList(List<String> seriesNumberList){
this.seriesNumberList = seriesNumberList;
}
/**
* 获取 流程状态名称
* @return processStatusNameList
*/
public List<String> getProcessStatusNameList(){
return this.processStatusNameList;
}
/**
* 设置 流程状态名称
* @param processStatusNameList
*/
public void setProcessStatusNameList(List<String> processStatusNameList){
this.processStatusNameList = processStatusNameList;
}
/**
* 获取 流程状态编码
* @return processStatusCodeList
*/
public List<String> getProcessStatusCodeList(){
return this.processStatusCodeList;
}
/**
* 设置 流程状态编码
* @param processStatusCodeList
*/
public void setProcessStatusCodeList(List<String> processStatusCodeList){
this.processStatusCodeList = processStatusCodeList;
}
/** /**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
......
package com.mortals.xhx.office.service; package com.mortals.xhx.modules.information.service;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.office.model.InformationEntity; import com.mortals.xhx.modules.information.model.InformationEntity;
/** /**
* <p>Title: 办件信息</p> * <p>Title: 办件信息</p>
......
package com.mortals.xhx.office.service.impl; package com.mortals.xhx.modules.information.service.impl;
import com.mortals.xhx.office.dao.InformationDao;
import com.mortals.xhx.office.model.InformationEntity;
import com.mortals.xhx.office.service.InformationService;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.modules.information.dao.InformationDao;
import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.information.service.InformationService;
import org.springframework.stereotype.Service;
/** /**
* <p>Title: 办件信息</p> * <p>Title: 办件信息</p>
......
package com.mortals.xhx.modules.information.task;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.common.code.NodeTypeEnum;
import com.mortals.xhx.modules.information.model.EgIfResult;
import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.information.service.InformationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author Wz
* @Date: 2021-08-2021/8/3-16:28
* @Description:办件数据推送省一体化平台(申请并受理)
*/
@Slf4j
@Component("applyAndAcceptInformationTaskImpl")
public class ApplyAndAcceptInformationTaskImpl implements ITaskExcuteService {
@Autowired
private InformationService informationService;
@Override
public void excuteTask(ITask task) throws AppException {
//组装申请并受理数据推送一体化平台
this.applyAndAccept();
}
@Override
public void stopTask(ITask task) throws AppException {
}
private void applyAndAccept(){
InformationEntity informationEntity = new InformationEntity();
informationEntity.setNodeType(NodeTypeEnum.受理.getCode());
//查询转化表的数据
List<InformationEntity> informationEntities = informationService.find(informationEntity, null);
if (informationEntities.size() > 0){
informationEntities.forEach(e->{
Map<String, Object> dataMap = new HashMap<>(16);
dataMap.put("operateType", "1");
HashMap<String, Object> targetConditionDefMap = new HashMap<>(16);
targetConditionDefMap.put("provinceAreaCode", "510000000000");
targetConditionDefMap.put("deptCode", e.getDeptCode());
targetConditionDefMap.put("areaCode", e.getAreaCode());
dataMap.put("targetConditionDef", targetConditionDefMap);
HashMap<String, Object> baseInfoMap = new HashMap<>(16);
baseInfoMap.put("reCode", e.getEventCode());
baseInfoMap.put("bizStatus", e.getBizStatus());
baseInfoMap.put("sysCode", e.getBizStatus());
dataMap.put("baseInfo", baseInfoMap);
HashMap<String, Object> valueMap = new HashMap<>(16);
HashMap<String, Object> infoMap = new HashMap<>(16);
infoMap.put("affairName", e.getAffairName());
infoMap.put("eventCode", e.getEventCode());
infoMap.put("applyType", e.getApplyType());
infoMap.put("bizStatus", e.getBizStatus());
infoMap.put("doThingProperty", e.getDoThingProperty());
infoMap.put("isCharge", e.getIsCharge());
infoMap.put("applyNum", e.getApplyNum());
infoMap.put("applicantType", e.getApplicantAttributes());
infoMap.put("cardType", e.getApplicantCardType());
infoMap.put("applicantIdCard", e.getApplicantCardNumbe());
infoMap.put("applicantName", e.getApplicantName());
infoMap.put("applicantAddress", "地址不详,未提供");
infoMap.put("applicantPhone", e.getApplicantPhoneNumber());
infoMap.put("applicantSex", e.getApplicantSex());
infoMap.put("contactName", e.getContactName());
infoMap.put("contactSex", e.getApplicantSex());
infoMap.put("contactIdCard", e.getContactIdCard());
infoMap.put("contactCardType", e.getContactCardType());
infoMap.put("contactPhone", e.getContactPhone());
HashMap<String, Object> rlogisticsinfoMap = new HashMap<>(16);
rlogisticsinfoMap.put("pickupType", e.getPickupType());
infoMap.put("rlogisticsinfo", rlogisticsinfoMap);
HashMap<String, Object> rprojectruntaskMap = new HashMap<>(16);
rprojectruntaskMap.put("nodeType", e.getNodeType());
rprojectruntaskMap.put("addUserId", e.getAddUserId());
rprojectruntaskMap.put("curHandlerName", StringUtils.isEmpty(e.getCurHandlerName())?"公安厅":e.getCurHandlerName());
rprojectruntaskMap.put("auditAdvice", e.getAuditAdvice());
rprojectruntaskMap.put("auditRemark", e.getAuditRemark());
rprojectruntaskMap.put("genTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(e.getGenTime()));
rprojectruntaskMap.put("completeTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(e.getCompleteTime()));
valueMap.put("rprojectsl", infoMap);
valueMap.put("rprojectruntask", rprojectruntaskMap);
dataMap.put("value", valueMap);
try {
String post = HttpUtil.post("", dataMap);
EgIfResult egIfResult = JSON.parseObject(post, EgIfResult.class);
if ("200".equals(egIfResult.getCode())){
e.setIsReport("1");
e.setIsSuccess("1");
e.setOfficeCode(egIfResult.getIfResultInfo());
e.setBizStatus(NodeTypeEnum.审查.getDesc());
e.setNodeType(NodeTypeEnum.审查.getCode());
e.setProcessStatusName("审查");
informationService.update(e,null);
log.info("推送一体化成功,办件编码:"+egIfResult.getIfResultInfo());
}else {
e.setFailTimes(e.getFailTimes() + 1);
e.setFailReason(egIfResult.getIfResultInfo());
informationService.update(e,null);
log.info("省一体化数据推送失败:" + egIfResult.getIfResultInfo());
}
}catch (Exception ex){
log.info("省一体化数据推送失败:连接异常");
}
});
}else {
log.info("没有从办件表中获取到特定数据");
}
}
}
package com.mortals.xhx.modules.information.task;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.common.code.NodeTypeEnum;
import com.mortals.xhx.modules.information.model.EgIfResult;
import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.information.service.InformationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author Wz
* @Date: 2021-08-2021/8/3-16:28
* @Description:办件数据推送省一体化平台(决定)
*/
@Slf4j
@Component("decideInformationTaskImpl")
public class DecideInformationTaskImpl implements ITaskExcuteService {
@Autowired
private InformationService informationService;
@Override
public void excuteTask(ITask task) throws AppException {
//组装决定数据推送一体化平台
this.decideData();
}
@Override
public void stopTask(ITask task) throws AppException {
}
private void decideData(){
InformationEntity informationEntity = new InformationEntity();
informationEntity.setNodeType(NodeTypeEnum.决定.getCode());
//查询转化表的数据
List<InformationEntity> informationEntities = informationService.find(informationEntity, null);
if (informationEntities.size() > 0){
informationEntities.forEach(e->{
HashMap<String, Object> dataMap = new HashMap<>(16);
dataMap.put("operateType", "1");
HashMap<String, Object> targetConditionDefMap = new HashMap<>(16);
targetConditionDefMap.put("provinceAreaCode", "510000000000");
targetConditionDefMap.put("deptCode", e.getDeptCode());
targetConditionDefMap.put("areaCode", e.getAreaCode());
dataMap.put("targetConditionDef", targetConditionDefMap);
HashMap<String, Object> baseInfoMap = new HashMap<>(16);
baseInfoMap.put("reCode", e.getEventCode());
baseInfoMap.put("code", e.getOfficeCode());
baseInfoMap.put("sysCode", "000L");
baseInfoMap.put("bizStatus", e.getBizStatus());
dataMap.put("baseInfo", baseInfoMap);
HashMap<String, Object> valueMap = new HashMap<>(16);
HashMap<String, Object> rlogisticsinfoMap = new HashMap<>(16);
rlogisticsinfoMap.put("nodeType", e.getNodeType());
rlogisticsinfoMap.put("addUserId", "-1");
rlogisticsinfoMap.put("curHandlerName", e.getCurHandlerName());
rlogisticsinfoMap.put("auditAdvice", "1");
rlogisticsinfoMap.put("auditRemark", "同意");
rlogisticsinfoMap.put("genTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(e.getGenTime()));
rlogisticsinfoMap.put("completeTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(e.getCompleteTime()));
valueMap.put("rprojectruntask", rlogisticsinfoMap);
dataMap.put("value", valueMap);
try {
String post = HttpUtil.post("", dataMap);
EgIfResult egIfResult = JSON.parseObject(post, EgIfResult.class);
if ("200".equals(egIfResult.getCode())){
e.setBizStatus(NodeTypeEnum.办结.getDesc());
e.setNodeType(NodeTypeEnum.办结.getCode());
e.setProcessStatusName("办结");
informationService.update(e,null);
log.info("推送一体化成功,办件编码:"+egIfResult.getIfResultInfo());
}else {
e.setFailTimes(e.getFailTimes() + 1);
e.setFailReason(egIfResult.getIfResultInfo());
informationService.update(e,null);
log.info("省一体化数据推送失败:" + egIfResult.getIfResultInfo());
}
}catch (Exception ex){
log.info("省一体化数据推送失败:连接异常");
}
});
}else {
log.info("没有从办件表中获取到特定数据");
}
}
}
package com.mortals.xhx.modules.information.task;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.common.code.NodeTypeEnum;
import com.mortals.xhx.modules.information.model.EgIfResult;
import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.information.service.InformationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author Wz
* @Date: 2021-08-2021/8/3-16:28
* @Description:办件数据推送省一体化平台(审查)
*/
@Slf4j
@Component("reviewInformationTaskImpl")
public class ReviewInformationTaskImpl implements ITaskExcuteService {
@Autowired
private InformationService informationService;
@Override
public void excuteTask(ITask task) throws AppException {
//组装申请并受理数据推送一体化平台
this.reviewData();
}
@Override
public void stopTask(ITask task) throws AppException {
}
private void reviewData(){
InformationEntity informationEntity = new InformationEntity();
informationEntity.setNodeType(NodeTypeEnum.审查.getCode());
//查询转化表的数据
List<InformationEntity> informationEntities = informationService.find(informationEntity, null);
if (informationEntities.size() > 0){
informationEntities.forEach(e->{
HashMap<String, Object> dataMap = new HashMap<>(16);
dataMap.put("operateType", "1");
HashMap<String, Object> targetConditionDefMap = new HashMap<>(16);
targetConditionDefMap.put("provinceAreaCode", "510000000000");
targetConditionDefMap.put("deptCode", e.getDeptCode());
targetConditionDefMap.put("areaCode", e.getAreaCode());
dataMap.put("targetConditionDef", targetConditionDefMap);
HashMap<String, Object> baseInfoMap = new HashMap<>(16);
baseInfoMap.put("reCode", e.getEventCode());
baseInfoMap.put("code", e.getOfficeCode());
baseInfoMap.put("sysCode", "000L");
baseInfoMap.put("bizStatus", e.getBizStatus());
dataMap.put("baseInfo", baseInfoMap);
HashMap<String, Object> valueMap = new HashMap<>(16);
HashMap<String, Object> rlogisticsinfoMap = new HashMap<>(16);
rlogisticsinfoMap.put("nodeType", e.getNodeType());
rlogisticsinfoMap.put("addUserId", "-1");
rlogisticsinfoMap.put("curHandlerName", e.getCurHandlerName());
rlogisticsinfoMap.put("auditAdvice", "1");
rlogisticsinfoMap.put("auditRemark", "同意");
rlogisticsinfoMap.put("genTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(e.getGenTime()));
rlogisticsinfoMap.put("completeTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(e.getCompleteTime()));
valueMap.put("rprojectruntask", rlogisticsinfoMap);
dataMap.put("value", valueMap);
try {
String post = HttpUtil.post("", dataMap);
EgIfResult egIfResult = JSON.parseObject(post, EgIfResult.class);
if ("200".equals(egIfResult.getCode())){
e.setBizStatus(NodeTypeEnum.决定.getDesc());
e.setNodeType(NodeTypeEnum.决定.getCode());
e.setProcessStatusName("决定");
informationService.update(e,null);
log.info("推送一体化成功,办件编码:"+egIfResult.getIfResultInfo());
}else {
e.setFailTimes(e.getFailTimes() + 1);
e.setFailReason(egIfResult.getIfResultInfo());
informationService.update(e,null);
log.info("省一体化数据推送失败:" + egIfResult.getIfResultInfo());
}
}catch (Exception ex){
log.info("省一体化数据推送失败:连接异常");
}
});
}else {
log.info("没有从办件表中获取到特定数据");
}
}
}
package com.mortals.xhx.office.web; package com.mortals.xhx.modules.information.web;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.mortals.framework.web.BaseCRUDJsonController;
import com.mortals.xhx.common.pdu.ApiRespPdu; import com.mortals.xhx.common.pdu.ApiRespPdu;
import com.mortals.xhx.office.model.InformationEntity; import com.mortals.xhx.modules.information.listener.InformationDataConversionListener;
import com.mortals.xhx.office.service.InformationService; import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.information.service.InformationService;
import com.mortals.xhx.modules.supplement.dao.SupplementDao;
import com.mortals.xhx.modules.supplement.model.Supplement;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import com.mortals.xhx.modules.supplement.service.SupplementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.mortals.framework.web.BaseCRUDJsonController;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/** /**
* <p>Title: 办件信息</p> * <p>Title: 办件信息</p>
...@@ -26,7 +34,9 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -26,7 +34,9 @@ import org.springframework.web.multipart.MultipartFile;
*/ */
@RestController @RestController
@RequestMapping("information") @RequestMapping("information")
public class InformationController extends BaseCRUDJsonController<InformationService,InformationForm,InformationEntity,Long> { public class InformationController extends BaseCRUDJsonController<InformationService, InformationForm, InformationEntity,Long> {
@Autowired
private SupplementDao supplementDao;
public InformationController(){ public InformationController(){
super.setFormClass(InformationForm.class); super.setFormClass(InformationForm.class);
...@@ -124,24 +134,27 @@ public class InformationController extends BaseCRUDJsonController<InformationSer ...@@ -124,24 +134,27 @@ public class InformationController extends BaseCRUDJsonController<InformationSer
} }
} }
// /** /**
// * 导入办件信息,一阶段通过excel表格导入 * 导入办件信息,一阶段通过excel表格导入
// */ */
// @PostMapping(value="importOfficeInformation") @PostMapping(value="importOfficeInformation")
// public ApiRespPdu importOfficeInformation(@RequestPart("file") MultipartFile file) { public ApiRespPdu importOfficeInformation(@RequestPart("file") MultipartFile file) throws Exception{
// ApiRespPdu<Object> objectApiRespPdu = new ApiRespPdu<>(); ApiRespPdu<Object> objectApiRespPdu = new ApiRespPdu<>();
// try{ try{
// EasyExcel.read(file.getInputStream(),) EasyExcel.read(file.getInputStream(), SupplementEntity.class, new InformationDataConversionListener(supplementDao))
// objectApiRespPdu.setCode(200); .sheet(0)
// objectApiRespPdu.setMsg("数据上传成功"); .headRowNumber(3)
// return objectApiRespPdu; .doRead();
// }catch(Exception e){ objectApiRespPdu.setCode(200);
// e.printStackTrace(); objectApiRespPdu.setMsg("数据上传成功");
// objectApiRespPdu.setCode(500); return objectApiRespPdu;
// objectApiRespPdu.setMsg("数据上传失败,失败原因:"+e.getMessage()); }catch(Exception e){
// return objectApiRespPdu; e.printStackTrace();
// } objectApiRespPdu.setCode(500);
// } objectApiRespPdu.setMsg("数据上传失败,失败原因:"+e.getMessage());
return objectApiRespPdu;
}
}
......
package com.mortals.xhx.office.web; package com.mortals.xhx.modules.information.web;
import com.mortals.framework.web.BaseCRUDFormLong; import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.office.model.InformationEntity; import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.office.model.InformationQuery; import com.mortals.xhx.modules.information.model.InformationQuery;
/** /**
* <p>Title: 办件信息</p> * <p>Title: 办件信息</p>
......
package com.mortals.xhx.records.dao; package com.mortals.xhx.modules.records.dao;
import com.mortals.framework.dao.ICRUDSubmeterDao; import com.mortals.framework.dao.ICRUDSubmeterDao;
import com.mortals.xhx.records.model.RecordEntity; import com.mortals.xhx.modules.records.model.RecordEntity;
/** /**
* <p>Title: 接口调用记录</p> * <p>Title: 接口调用记录</p>
......
package com.mortals.xhx.records.dao.ibatis; package com.mortals.xhx.modules.records.dao.ibatis;
import com.mortals.xhx.records.dao.RecordDao; import com.mortals.xhx.modules.records.dao.RecordDao;
import com.mortals.xhx.records.model.RecordEntity; import com.mortals.xhx.modules.records.model.RecordEntity;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.mortals.framework.dao.ibatis.SubmeterDaoImpl; import com.mortals.framework.dao.ibatis.SubmeterDaoImpl;
import com.mortals.framework.model.TableParam; import com.mortals.framework.model.TableParam;
......
package com.mortals.xhx.records.model; package com.mortals.xhx.modules.records.model;
import java.util.Date; import java.util.Date;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
......
package com.mortals.xhx.records.model; package com.mortals.xhx.modules.records.model;
import java.util.List; import java.util.List;
import java.util.Date;
/** /**
* *
......
package com.mortals.xhx.records.service; package com.mortals.xhx.modules.records.service;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.records.model.RecordEntity; import com.mortals.xhx.modules.records.model.RecordEntity;
/** /**
* <p>Title: 接口调用记录</p> * <p>Title: 接口调用记录</p>
......
package com.mortals.xhx.records.service.impl; package com.mortals.xhx.modules.records.service.impl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.records.dao.RecordDao; import com.mortals.xhx.modules.records.dao.RecordDao;
import com.mortals.xhx.records.model.RecordEntity; import com.mortals.xhx.modules.records.model.RecordEntity;
import com.mortals.xhx.records.service.RecordService; import com.mortals.xhx.modules.records.service.RecordService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.mortals.xhx.records.web; package com.mortals.xhx.modules.records.web;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.xhx.records.model.RecordEntity; import com.mortals.xhx.modules.records.model.RecordEntity;
import com.mortals.xhx.records.service.RecordService; import com.mortals.xhx.modules.records.service.RecordService;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.mortals.framework.web.BaseCRUDJsonController; import com.mortals.framework.web.BaseCRUDJsonController;
......
package com.mortals.xhx.records.web; package com.mortals.xhx.modules.records.web;
import com.mortals.framework.web.BaseCRUDFormLong; import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.records.model.RecordEntity; import com.mortals.xhx.modules.records.model.RecordEntity;
import com.mortals.xhx.records.model.RecordQuery; import com.mortals.xhx.modules.records.model.RecordQuery;
/** /**
* <p>Title: 接口调用记录</p> * <p>Title: 接口调用记录</p>
......
package com.mortals.xhx.modules.supplement.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import org.apache.poi.ss.formula.functions.T;
import java.util.List;
/**
* <p>Title: 办件补录表</p>
* <p>Description: SupplementDao DAO接口 </p>
* @author
* @version 1.0.0
*/
public interface SupplementDao extends ICRUDDao<SupplementEntity,Long>{
}
package com.mortals.xhx.modules.supplement.dao.ibatis;
import com.mortals.xhx.modules.supplement.dao.SupplementDao;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.stereotype.Repository;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* <p>Title: 办件补录表</p>
* <p>Description: SupplementDaoImpl DAO接口 </p>
*
* @author
* @version 1.0.0
*/
@Repository("supplementDao")
public class SupplementDaoImpl extends BaseCRUDDaoMybatis<SupplementEntity, Long> implements SupplementDao {
}
package com.mortals.xhx.modules.supplement.model;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.mortals.xhx.common.utils.ExcelConvertApplication;
import com.mortals.xhx.common.utils.ExcelConvertCardType;
import com.mortals.xhx.common.utils.ExcelConvertDateProperty;
import com.mortals.xhx.common.utils.ExcelConvertMainProperty;
import lombok.Data;
import java.util.Date;
/**
* <p>
* 办件补录表
* </p>
*
* @author coder wxy
* @since 2021-04-09
*/
@Data
public class Supplement {
private static final long serialVersionUID = 1L;
@ExcelIgnore
private Long id;
@ExcelProperty("实施清单名称*")
private String implName;
@ExcelProperty("实施清单编码*")
private String implCode;
@ExcelProperty(value = "申请人属性*", converter = ExcelConvertApplication.class)
private String applicationType;
@ExcelProperty(value = "申请人证件类型*", converter = ExcelConvertCardType.class)
private String applicationCardType;
@ExcelProperty("申请人姓名*")
private String applicationName;
@ExcelProperty("申请人证件号码*")
private String applicationId;
@ExcelProperty("申请人手机号码*")
private String applicationPhone;
@ExcelProperty("机构名称*")
private String mechanismName;
@ExcelProperty("机构地址")
private String mechanismAddress;
@ExcelProperty(value = "机构性质*", converter = ExcelConvertMainProperty.class)
private String mechanismType;
@ExcelProperty(value = "证件类型*", converter = ExcelConvertCardType.class)
private String mechanismIdType;
@ExcelProperty("机构编码*")
private String mechanismId;
@ExcelProperty("法人姓名*")
private String legalPerson;
@ExcelProperty(value = "办件申请日期", converter = ExcelConvertDateProperty.class)
private Date applyTime;
@ExcelProperty("受理人姓名")
private String acceptName;
@ExcelProperty("受理人身份证号码")
private String acceptId;
@ExcelProperty("受理人手机号")
private String acceptPhone;
@ExcelIgnore
private String sysCode;
@ExcelIgnore
private String is_execute;
@ExcelIgnore
private String isSuccess;
@ExcelIgnore
private String failReason;
}
package com.mortals.xhx.modules.supplement.model;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.common.utils.ExcelConvertApplication;
import com.mortals.xhx.common.utils.ExcelConvertCardType;
import com.mortals.xhx.common.utils.ExcelConvertDateProperty;
import com.mortals.xhx.common.utils.ExcelConvertMainProperty;
/**
*
* Description:Supplement
* date: 2021-7-30 17:13:21
*/
public class SupplementEntity extends BaseEntityLong{
private static final long serialVersionUID = 1627636401661L;
/**
* 实施清单名称
*/
@ExcelProperty("实施清单名称*")
private String implName;
/**
* 实施清单编码
*/
@ExcelProperty("实施清单编码*")
private String implCode;
/**
* 申请人属性
*/
@ExcelProperty(value = "申请人属性*", converter = ExcelConvertApplication.class)
private String applicationType;
/**
* 申请人证件类型
*/
@ExcelProperty(value = "申请人证件类型*", converter = ExcelConvertCardType.class)
private String applicationCardType;
/**
* 申请人姓名
*/
@ExcelProperty("申请人姓名*")
private String applicationName;
/**
* 申请人证件号码
*/
@ExcelProperty("申请人证件号码*")
private String applicationId;
/**
* 申请人手机号码
*/
@ExcelProperty("申请人手机号码*")
private String applicationPhone;
/**
* 机构名称
*/
@ExcelProperty("机构名称*")
private String mechanismName;
/**
* 机构地址
*/
@ExcelProperty("机构地址")
private String mechanismAddress;
/**
* 机构性质
*/
@ExcelProperty(value = "机构性质*", converter = ExcelConvertMainProperty.class)
private String mechanismType;
/**
* 机构证件类型
*/
@ExcelProperty(value = "证件类型*", converter = ExcelConvertCardType.class)
private String mechanismIdType;
/**
* 机构编码
*/
@ExcelProperty("机构编码*")
private String mechanismId;
/**
* 法人姓名
*/
@ExcelProperty("法人姓名*")
private String legalPerson;
/**
* 办件申请日期
*/
@ExcelProperty(value = "办件申请日期", converter = ExcelConvertDateProperty.class)
private String applyTime;
/**
* 受理人姓名
*/
@ExcelProperty("受理人姓名")
private String acceptName;
/**
* 受理人身份证号码
*/
@ExcelProperty("受理人身份证号码")
private String acceptId;
/**
* 受理人手机号
*/
@ExcelProperty("受理人手机号")
private String acceptPhone;
/**
* 系统编码
*/
@ExcelIgnore
private String sysCode;
/**
* 是否执行转化(0.未执行 1.已执行)
*/
@ExcelIgnore
private String isExecute;
/**
* 是否转化成功(0默认 1成功)
*/
@ExcelIgnore
private String isSuccess;
/**
* 失败原因
*/
@ExcelIgnore
private String failReason;
public SupplementEntity(){
}
/**
* 获取 实施清单名称
* @return implName
*/
public String getImplName() {
return this.implName;
}
/**
* 设置 实施清单名称
* @param implName
*/
public void setImplName(String implName) {
this.implName = implName;
}
/**
* 获取 实施清单编码
* @return implCode
*/
public String getImplCode() {
return this.implCode;
}
/**
* 设置 实施清单编码
* @param implCode
*/
public void setImplCode(String implCode) {
this.implCode = implCode;
}
/**
* 获取 申请人属性
* @return applicationType
*/
public String getApplicationType() {
return this.applicationType;
}
/**
* 设置 申请人属性
* @param applicationType
*/
public void setApplicationType(String applicationType) {
this.applicationType = applicationType;
}
/**
* 获取 申请人证件类型
* @return applicationCardType
*/
public String getApplicationCardType() {
return this.applicationCardType;
}
/**
* 设置 申请人证件类型
* @param applicationCardType
*/
public void setApplicationCardType(String applicationCardType) {
this.applicationCardType = applicationCardType;
}
/**
* 获取 申请人姓名
* @return applicationName
*/
public String getApplicationName() {
return this.applicationName;
}
/**
* 设置 申请人姓名
* @param applicationName
*/
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
}
/**
* 获取 申请人证件号码
* @return applicationId
*/
public String getApplicationId() {
return this.applicationId;
}
/**
* 设置 申请人证件号码
* @param applicationId
*/
public void setApplicationId(String applicationId) {
this.applicationId = applicationId;
}
/**
* 获取 申请人手机号码
* @return applicationPhone
*/
public String getApplicationPhone() {
return this.applicationPhone;
}
/**
* 设置 申请人手机号码
* @param applicationPhone
*/
public void setApplicationPhone(String applicationPhone) {
this.applicationPhone = applicationPhone;
}
/**
* 获取 机构名称
* @return mechanismName
*/
public String getMechanismName() {
return this.mechanismName;
}
/**
* 设置 机构名称
* @param mechanismName
*/
public void setMechanismName(String mechanismName) {
this.mechanismName = mechanismName;
}
/**
* 获取 机构地址
* @return mechanismAddress
*/
public String getMechanismAddress() {
return this.mechanismAddress;
}
/**
* 设置 机构地址
* @param mechanismAddress
*/
public void setMechanismAddress(String mechanismAddress) {
this.mechanismAddress = mechanismAddress;
}
/**
* 获取 机构性质
* @return mechanismType
*/
public String getMechanismType() {
return this.mechanismType;
}
/**
* 设置 机构性质
* @param mechanismType
*/
public void setMechanismType(String mechanismType) {
this.mechanismType = mechanismType;
}
/**
* 获取 机构证件类型
* @return mechanismIdType
*/
public String getMechanismIdType() {
return this.mechanismIdType;
}
/**
* 设置 机构证件类型
* @param mechanismIdType
*/
public void setMechanismIdType(String mechanismIdType) {
this.mechanismIdType = mechanismIdType;
}
/**
* 获取 机构编码
* @return mechanismId
*/
public String getMechanismId() {
return this.mechanismId;
}
/**
* 设置 机构编码
* @param mechanismId
*/
public void setMechanismId(String mechanismId) {
this.mechanismId = mechanismId;
}
/**
* 获取 法人姓名
* @return legalPerson
*/
public String getLegalPerson() {
return this.legalPerson;
}
/**
* 设置 法人姓名
* @param legalPerson
*/
public void setLegalPerson(String legalPerson) {
this.legalPerson = legalPerson;
}
/**
* 获取 办件申请日期
* @return applyTime
*/
public String getApplyTime() {
return this.applyTime;
}
/**
* 设置 办件申请日期
* @param applyTime
*/
public void setApplyTime(String applyTime) {
this.applyTime = applyTime;
}
/**
* 获取 受理人姓名
* @return acceptName
*/
public String getAcceptName() {
return this.acceptName;
}
/**
* 设置 受理人姓名
* @param acceptName
*/
public void setAcceptName(String acceptName) {
this.acceptName = acceptName;
}
/**
* 获取 受理人身份证号码
* @return acceptId
*/
public String getAcceptId() {
return this.acceptId;
}
/**
* 设置 受理人身份证号码
* @param acceptId
*/
public void setAcceptId(String acceptId) {
this.acceptId = acceptId;
}
/**
* 获取 受理人手机号
* @return acceptPhone
*/
public String getAcceptPhone() {
return this.acceptPhone;
}
/**
* 设置 受理人手机号
* @param acceptPhone
*/
public void setAcceptPhone(String acceptPhone) {
this.acceptPhone = acceptPhone;
}
/**
* 获取 系统编码
* @return sysCode
*/
public String getSysCode() {
return this.sysCode;
}
/**
* 设置 系统编码
* @param sysCode
*/
public void setSysCode(String sysCode) {
this.sysCode = sysCode;
}
/**
* 获取 是否执行转化(0.未执行 1.已执行)
* @return isExecute
*/
public String getIsExecute() {
return this.isExecute;
}
/**
* 设置 是否执行转化(0.未执行 1.已执行)
* @param isExecute
*/
public void setIsExecute(String isExecute) {
this.isExecute = isExecute;
}
/**
* 获取 是否转化成功(0默认 1成功)
* @return isSuccess
*/
public String getIsSuccess() {
return this.isSuccess;
}
/**
* 设置 是否转化成功(0默认 1成功)
* @param isSuccess
*/
public void setIsSuccess(String isSuccess) {
this.isSuccess = isSuccess;
}
/**
* 获取 失败原因
* @return failReason
*/
public String getFailReason() {
return this.failReason;
}
/**
* 设置 失败原因
* @param failReason
*/
public void setFailReason(String failReason) {
this.failReason = failReason;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
if (obj instanceof SupplementEntity) {
SupplementEntity tmp = (SupplementEntity) obj;
if (this.getId().longValue() == tmp.getId().longValue()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb
.append(",id:").append(getId())
.append(",implName:").append(getImplName())
.append(",implCode:").append(getImplCode())
.append(",applicationType:").append(getApplicationType())
.append(",applicationCardType:").append(getApplicationCardType())
.append(",applicationName:").append(getApplicationName())
.append(",applicationId:").append(getApplicationId())
.append(",applicationPhone:").append(getApplicationPhone())
.append(",mechanismName:").append(getMechanismName())
.append(",mechanismAddress:").append(getMechanismAddress())
.append(",mechanismType:").append(getMechanismType())
.append(",mechanismIdType:").append(getMechanismIdType())
.append(",mechanismId:").append(getMechanismId())
.append(",legalPerson:").append(getLegalPerson())
.append(",applyTime:").append(getApplyTime())
.append(",acceptName:").append(getAcceptName())
.append(",acceptId:").append(getAcceptId())
.append(",acceptPhone:").append(getAcceptPhone())
.append(",sysCode:").append(getSysCode())
.append(",isExecute:").append(getIsExecute())
.append(",isSuccess:").append(getIsSuccess())
.append(",failReason:").append(getFailReason())
;
return sb.toString();
}
public void initAttrValue(){
this.implName = null;
this.implCode = null;
this.applicationType = null;
this.applicationCardType = null;
this.applicationName = null;
this.applicationId = null;
this.applicationPhone = null;
this.mechanismName = null;
this.mechanismAddress = null;
this.mechanismType = null;
this.mechanismIdType = null;
this.mechanismId = null;
this.legalPerson = null;
this.applyTime = null;
this.acceptName = null;
this.acceptId = null;
this.acceptPhone = null;
this.sysCode = null;
this.isExecute = null;
this.isSuccess = null ;
this.failReason = null;
}
}
\ No newline at end of file
package com.mortals.xhx.modules.supplement.model;
import java.util.List;
/**
*
* Description:Supplement
* date: 2021-7-30 17:13:21
*/
public class SupplementQuery extends SupplementEntity{
private static final long serialVersionUID = 1627636401663L;
/** 主键 */
private List<String> idList;
/** 实施清单名称 */
private List<String> implNameList;
/** 实施清单编码 */
private List<String> implCodeList;
/** 申请人属性 */
private List<String> applicationTypeList;
/** 申请人证件类型 */
private List<String> applicationCardTypeList;
/** 申请人姓名 */
private List<String> applicationNameList;
/** 申请人证件号码 */
private List<String> applicationIdList;
/** 申请人手机号码 */
private List<String> applicationPhoneList;
/** 机构名称 */
private List<String> mechanismNameList;
/** 机构地址 */
private List<String> mechanismAddressList;
/** 机构性质 */
private List<String> mechanismTypeList;
/** 机构证件类型 */
private List<String> mechanismIdTypeList;
/** 机构编码 */
private List<String> mechanismIdList;
/** 法人姓名 */
private List<String> legalPersonList;
/** 办件申请日期 */
private List<String> applyTimeList;
/** 受理人姓名 */
private List<String> acceptNameList;
/** 受理人身份证号码 */
private List<String> acceptIdList;
/** 受理人手机号 */
private List<String> acceptPhoneList;
/** 系统编码 */
private List<String> sysCodeList;
/** 是否执行转化(0.未执行 1.已执行) */
private List<String> isExecuteList;
/** 是否转化成功(0默认 1成功) */
private List<String> isSuccessList;
/** 失败原因 */
private List<String> failReasonList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<SupplementQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<SupplementQuery> andConditionList;
public SupplementQuery(){
}
/**
* 获取 主键
* @return idList
*/
public List<String> getIdList(){
return this.idList;
}
/**
* 设置 主键
* @param idList
*/
public void setIdList(List<String> idList){
this.idList = idList;
}
/**
* 获取 实施清单名称
* @return implNameList
*/
public List<String> getImplNameList(){
return this.implNameList;
}
/**
* 设置 实施清单名称
* @param implNameList
*/
public void setImplNameList(List<String> implNameList){
this.implNameList = implNameList;
}
/**
* 获取 实施清单编码
* @return implCodeList
*/
public List<String> getImplCodeList(){
return this.implCodeList;
}
/**
* 设置 实施清单编码
* @param implCodeList
*/
public void setImplCodeList(List<String> implCodeList){
this.implCodeList = implCodeList;
}
/**
* 获取 申请人属性
* @return applicationTypeList
*/
public List<String> getApplicationTypeList(){
return this.applicationTypeList;
}
/**
* 设置 申请人属性
* @param applicationTypeList
*/
public void setApplicationTypeList(List<String> applicationTypeList){
this.applicationTypeList = applicationTypeList;
}
/**
* 获取 申请人证件类型
* @return applicationCardTypeList
*/
public List<String> getApplicationCardTypeList(){
return this.applicationCardTypeList;
}
/**
* 设置 申请人证件类型
* @param applicationCardTypeList
*/
public void setApplicationCardTypeList(List<String> applicationCardTypeList){
this.applicationCardTypeList = applicationCardTypeList;
}
/**
* 获取 申请人姓名
* @return applicationNameList
*/
public List<String> getApplicationNameList(){
return this.applicationNameList;
}
/**
* 设置 申请人姓名
* @param applicationNameList
*/
public void setApplicationNameList(List<String> applicationNameList){
this.applicationNameList = applicationNameList;
}
/**
* 获取 申请人证件号码
* @return applicationIdList
*/
public List<String> getApplicationIdList(){
return this.applicationIdList;
}
/**
* 设置 申请人证件号码
* @param applicationIdList
*/
public void setApplicationIdList(List<String> applicationIdList){
this.applicationIdList = applicationIdList;
}
/**
* 获取 申请人手机号码
* @return applicationPhoneList
*/
public List<String> getApplicationPhoneList(){
return this.applicationPhoneList;
}
/**
* 设置 申请人手机号码
* @param applicationPhoneList
*/
public void setApplicationPhoneList(List<String> applicationPhoneList){
this.applicationPhoneList = applicationPhoneList;
}
/**
* 获取 机构名称
* @return mechanismNameList
*/
public List<String> getMechanismNameList(){
return this.mechanismNameList;
}
/**
* 设置 机构名称
* @param mechanismNameList
*/
public void setMechanismNameList(List<String> mechanismNameList){
this.mechanismNameList = mechanismNameList;
}
/**
* 获取 机构地址
* @return mechanismAddressList
*/
public List<String> getMechanismAddressList(){
return this.mechanismAddressList;
}
/**
* 设置 机构地址
* @param mechanismAddressList
*/
public void setMechanismAddressList(List<String> mechanismAddressList){
this.mechanismAddressList = mechanismAddressList;
}
/**
* 获取 机构性质
* @return mechanismTypeList
*/
public List<String> getMechanismTypeList(){
return this.mechanismTypeList;
}
/**
* 设置 机构性质
* @param mechanismTypeList
*/
public void setMechanismTypeList(List<String> mechanismTypeList){
this.mechanismTypeList = mechanismTypeList;
}
/**
* 获取 机构证件类型
* @return mechanismIdTypeList
*/
public List<String> getMechanismIdTypeList(){
return this.mechanismIdTypeList;
}
/**
* 设置 机构证件类型
* @param mechanismIdTypeList
*/
public void setMechanismIdTypeList(List<String> mechanismIdTypeList){
this.mechanismIdTypeList = mechanismIdTypeList;
}
/**
* 获取 机构编码
* @return mechanismIdList
*/
public List<String> getMechanismIdList(){
return this.mechanismIdList;
}
/**
* 设置 机构编码
* @param mechanismIdList
*/
public void setMechanismIdList(List<String> mechanismIdList){
this.mechanismIdList = mechanismIdList;
}
/**
* 获取 法人姓名
* @return legalPersonList
*/
public List<String> getLegalPersonList(){
return this.legalPersonList;
}
/**
* 设置 法人姓名
* @param legalPersonList
*/
public void setLegalPersonList(List<String> legalPersonList){
this.legalPersonList = legalPersonList;
}
/**
* 获取 办件申请日期
* @return applyTimeList
*/
public List<String> getApplyTimeList(){
return this.applyTimeList;
}
/**
* 设置 办件申请日期
* @param applyTimeList
*/
public void setApplyTimeList(List<String> applyTimeList){
this.applyTimeList = applyTimeList;
}
/**
* 获取 受理人姓名
* @return acceptNameList
*/
public List<String> getAcceptNameList(){
return this.acceptNameList;
}
/**
* 设置 受理人姓名
* @param acceptNameList
*/
public void setAcceptNameList(List<String> acceptNameList){
this.acceptNameList = acceptNameList;
}
/**
* 获取 受理人身份证号码
* @return acceptIdList
*/
public List<String> getAcceptIdList(){
return this.acceptIdList;
}
/**
* 设置 受理人身份证号码
* @param acceptIdList
*/
public void setAcceptIdList(List<String> acceptIdList){
this.acceptIdList = acceptIdList;
}
/**
* 获取 受理人手机号
* @return acceptPhoneList
*/
public List<String> getAcceptPhoneList(){
return this.acceptPhoneList;
}
/**
* 设置 受理人手机号
* @param acceptPhoneList
*/
public void setAcceptPhoneList(List<String> acceptPhoneList){
this.acceptPhoneList = acceptPhoneList;
}
/**
* 获取 系统编码
* @return sysCodeList
*/
public List<String> getSysCodeList(){
return this.sysCodeList;
}
/**
* 设置 系统编码
* @param sysCodeList
*/
public void setSysCodeList(List<String> sysCodeList){
this.sysCodeList = sysCodeList;
}
/**
* 获取 是否执行转化(0.未执行 1.已执行)
* @return isExecuteList
*/
public List<String> getIsExecuteList(){
return this.isExecuteList;
}
/**
* 设置 是否执行转化(0.未执行 1.已执行)
* @param isExecuteList
*/
public void setIsExecuteList(List<String> isExecuteList){
this.isExecuteList = isExecuteList;
}
/**
* 获取 是否转化成功(0默认 1成功)
* @return isSuccessList
*/
public List<String> getIsSuccessList(){
return this.isSuccessList;
}
/**
* 设置 是否转化成功(0默认 1成功)
* @param isSuccessList
*/
public void setIsSuccessList(List<String> isSuccessList){
this.isSuccessList = isSuccessList;
}
/**
* 获取 失败原因
* @return failReasonList
*/
public List<String> getFailReasonList(){
return this.failReasonList;
}
/**
* 设置 失败原因
* @param failReasonList
*/
public void setFailReasonList(List<String> failReasonList){
this.failReasonList = failReasonList;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<SupplementQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<SupplementQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<SupplementQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<SupplementQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.modules.supplement.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import java.util.List;
/**
* <p>Title: 办件补录表</p>
* <p>Description: SupplementService service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* @version 1.0.0
*/
public interface SupplementService extends ICRUDService<SupplementEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.modules.supplement.service.impl;
import com.mortals.xhx.modules.supplement.dao.SupplementDao;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import com.mortals.xhx.modules.supplement.service.SupplementService;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import java.util.List;
/**
* <p>Title: 办件补录表</p>
* <p>Description: SupplementService service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* @version 1.0.0
*/
@Service("supplementService")
public class SupplementServiceImpl extends AbstractCRUDServiceImpl<SupplementDao, SupplementEntity, Long> implements SupplementService {
}
\ No newline at end of file
package com.mortals.xhx.modules.supplement.task;
import cn.hutool.core.date.DateTime;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.framework.util.DateUtils;
import com.mortals.xhx.common.code.ApplicantTypeEnums;
import com.mortals.xhx.common.code.NodeTypeEnum;
import com.mortals.xhx.common.utils.DateByAffairUtils;
import com.mortals.xhx.common.utils.FilterSuppDataUtils;
import com.mortals.xhx.common.utils.SnowFlakeUtil;
import com.mortals.xhx.modules.implementlist.model.ImplementlistEntity;
import com.mortals.xhx.modules.implementlist.model.ImplementlistQuery;
import com.mortals.xhx.modules.implementlist.service.ImplementlistService;
import com.mortals.xhx.modules.information.dao.InformationDao;
import com.mortals.xhx.modules.information.model.InformationQuery;
import com.mortals.xhx.modules.supplement.dao.SupplementDao;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import com.mortals.xhx.modules.supplement.model.SupplementQuery;
import com.mortals.xhx.modules.supplement.service.SupplementService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
* @author Wz
* @Date: 2021-08-2021/8/2-10:44
* @Description:数据清洗
*/
@Slf4j
@Component("supplementTaskImpl")
public class SupplementTaskImpl implements ITaskExcuteService {
@Autowired
private SupplementService supplementService;
@Autowired
private ImplementlistService implementlistService;
@Autowired
private InformationDao informationDao;
@Autowired
private SupplementDao supplementDao;
@Override
public void excuteTask(ITask task) throws AppException {
//开始进行数据清洗
this.dataCleaning();
}
@Override
public void stopTask(ITask task) throws AppException {
}
private void dataCleaning() {
//查询临时数据表数据
List<SupplementEntity> supplementEntities = supplementService.find(new SupplementEntity(),null);
if (supplementEntities.size() > 0){
supplementEntities.forEach(e->{
//TODO:查询实施清单信息,通过事项编码查询有问题,后期改动
ImplementlistQuery implementlistQuery = new ImplementlistQuery();
implementlistQuery.setEventCode(e.getImplCode());
List<ImplementlistEntity> implementlistEntities = implementlistService.find(implementlistQuery, null);
try {
InformationQuery informationQuery = new InformationQuery();
//组装第一次业务数据(清洗后的)
informationQuery = assemblyOfficeData(informationQuery,e);
if (implementlistEntities.size() > 0 ){
informationQuery.setDeptCode(implementlistEntities.get(0).getDeptCode());
informationQuery.setAreaCode(implementlistEntities.get(0).getAreaCode());
informationQuery.setEventCode(implementlistEntities.get(0).getEventCode());
informationQuery.setIsCharge(implementlistEntities.get(0).getIsCharges());
//是否转化成功:0默认 1成功
informationQuery.setIsSuccess("0");
//是否推送(0 否 1是)
informationQuery.setIsReport("0");
informationDao.insert(informationQuery);
//清洗成功后,清除临时表的所有数据
supplementDao.delete(e.getId());
}else {
informationQuery.setFailReason(" Err:实施清单不存在");
informationQuery.setIsSuccess("0");
informationDao.insert(informationQuery);
}
}catch (Exception ex){
log.error("转换失败:SupplementID:"+e.getId());
log.error("转换失败:失败原因" + ex.getMessage());
}
});
}else {
log.info("没有从临时表中获取到数据");
}
}
private InformationQuery assemblyOfficeData(InformationQuery informationQuery,SupplementEntity supplementEntity) {
Date randomDate = DateByAffairUtils.getDayWorkingTimeByRandom(null,9,17);
informationQuery.setId(SnowFlakeUtil.get().nextId());
//默认为0:网络办件
informationQuery.setApplyType("0");
informationQuery.setAffairName(supplementEntity.getImplName()+ DateUtils.getDateTimeStr(randomDate,null));
//申请人属性,1:法人 2:自然人
informationQuery.setApplicantAttributes(Integer.valueOf(supplementEntity.getApplicationType()));
//申请人证件类型
informationQuery.setApplicantCardType(supplementEntity.getApplicationCardType());
//申请人证件号码
informationQuery.setApplicantCardNumbe(supplementEntity.getApplicationId().trim());
//申请人手机号码
informationQuery.setApplicantPhoneNumber(supplementEntity.getApplicationPhone().trim());
//申请人姓名
informationQuery.setApplicantName(supplementEntity.getApplicationName().trim());
//申请人性别
informationQuery.setApplicantSex(FilterSuppDataUtils.parseGender(supplementEntity.getApplicationId().trim()));
//无论是否是自然人还是都直接将申请人copy到联系人
informationQuery.setContactCardType(supplementEntity.getApplicationCardType());
informationQuery.setContactIdCard(supplementEntity.getApplicationId().trim());
informationQuery.setContactName(supplementEntity.getApplicationName().trim());
informationQuery.setContactPhone(supplementEntity.getApplicationPhone().trim());
//TODO 时间这里可以修改下,最好在一段区间范围内
informationQuery.setGenTime(randomDate);
informationQuery.setCompleteTime(DateByAffairUtils.getTimeByAddRandom(randomDate,6));
if(supplementEntity.getApplicationType().equals(ApplicantTypeEnums.LEGAL.getCode())){
//法人
informationQuery.setContactName(supplementEntity.getLegalPerson().trim());
informationQuery.setContactIdCard(supplementEntity.getMechanismId().trim());
informationQuery.setContactCardType(supplementEntity.getMechanismIdType());
informationQuery.setContactPhone(supplementEntity.getApplicationPhone().trim());
informationQuery.setApplyNum(supplementEntity.getMechanismType()); //临时征用 机构性质
}
//设置受理人
informationQuery.setAcceptId(supplementEntity.getAcceptId());
informationQuery.setAcceptName(supplementEntity.getAcceptName());
informationQuery.setAcceptPhone(supplementEntity.getAcceptPhone());
informationQuery.setCurHandlerName(supplementEntity.getAcceptName());
informationQuery.setIsReport("0");
informationQuery.setIsCharge("0");
//测试暂时写死
informationQuery.setSystemCode("0000");
informationQuery.setNodeType(NodeTypeEnum.受理.getCode());
informationQuery.setBizStatus(NodeTypeEnum.受理.getDesc());
informationQuery.setProcessStatusName("申请并受理");
informationQuery.setCreateTime(DateTime.now());
informationQuery.setUpdateTime(informationQuery.getCreateTime());
return informationQuery;
}
}
package com.mortals.xhx.modules.supplement.web;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import com.mortals.xhx.modules.supplement.service.SupplementService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mortals.framework.web.BaseCRUDJsonMappingController;
/**
* <p>Title: 办件补录表</p>
* <p>Description: SupplementController </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author zxfei
* @version 1.0.0
*/
@RestController
@RequestMapping("supplement")
public class SupplementController extends BaseCRUDJsonMappingController<SupplementService,SupplementForm, SupplementEntity,Long> {
public SupplementController(){
super.setFormClass(SupplementForm.class);
super.setModuleDesc("办件补录表");
}
}
\ No newline at end of file
package com.mortals.xhx.modules.supplement.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import com.mortals.xhx.modules.supplement.model.SupplementQuery;
/**
* <p>Title: 办件补录表</p>
* <p>Description: SupplementForm </p>
* @author
* @version 1.0.0
*/
public class SupplementForm extends BaseCRUDFormLong<SupplementEntity> {
private SupplementEntity supplement = new SupplementEntity();
private SupplementQuery query = new SupplementQuery();
public SupplementForm(){
}
@Override
public SupplementEntity getEntity() {
return supplement;
}
public SupplementEntity getSupplement() {
return supplement;
}
public void setSupplement(SupplementEntity supplement) {
this.supplement = supplement;
}
@Override
public SupplementQuery getQuery() {
return query;
}
public void setQuery(SupplementQuery query) {
this.query = query;
}
}
\ No newline at end of file
package com.mortals.xhx.office.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.office.model.InformationExtEntity;
/**
* <p>Title: 办件信息拓展表</p>
* <p>Description: InformationExtDao DAO接口 </p>
* @author
* @version 1.0.0
*/
public interface InformationExtDao extends ICRUDDao<InformationExtEntity,Long>{
}
package com.mortals.xhx.office.dao.ibatis;
import com.mortals.xhx.office.dao.InformationExtDao;
import com.mortals.xhx.office.model.InformationExtEntity;
import org.springframework.stereotype.Repository;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
/**
* <p>Title: 办件信息拓展表</p>
* <p>Description: InformationExtDaoImpl DAO接口 </p>
* @author
* @version 1.0.0
*/
@Repository("informationExtDao")
public class InformationExtDaoImpl extends BaseCRUDDaoMybatis<InformationExtEntity,Long> implements InformationExtDao {
}
package com.mortals.xhx.office.model;
import com.mortals.framework.model.BaseEntityLong;
/**
*
* Description:InformationExt
* date: 2021-7-29 14:50:18
*/
public class InformationExtEntity extends BaseEntityLong{
private static final long serialVersionUID = 1627541418299L;
/**
* 办件id
*/
private Long pieceId;
/**
* 系统编码
*/
private String systemCode;
/**
* 办件编码
*/
private String officeCode;
/**
* 流程状态名称
*/
private String processStatusName;
/**
* 流程状态编码
*/
private String processStatusCode;
public InformationExtEntity(){
}
/**
* 获取 办件id
* @return pieceId
*/
public Long getPieceId() {
return this.pieceId;
}
/**
* 设置 办件id
* @param pieceId
*/
public void setPieceId(Long pieceId) {
this.pieceId = pieceId;
}
/**
* 获取 系统编码
* @return systemCode
*/
public String getSystemCode() {
return this.systemCode;
}
/**
* 设置 系统编码
* @param systemCode
*/
public void setSystemCode(String systemCode) {
this.systemCode = systemCode;
}
/**
* 获取 办件编码
* @return officeCode
*/
public String getOfficeCode() {
return this.officeCode;
}
/**
* 设置 办件编码
* @param officeCode
*/
public void setOfficeCode(String officeCode) {
this.officeCode = officeCode;
}
/**
* 获取 流程状态名称
* @return processStatusName
*/
public String getProcessStatusName() {
return this.processStatusName;
}
/**
* 设置 流程状态名称
* @param processStatusName
*/
public void setProcessStatusName(String processStatusName) {
this.processStatusName = processStatusName;
}
/**
* 获取 流程状态编码
* @return processStatusCode
*/
public String getProcessStatusCode() {
return this.processStatusCode;
}
/**
* 设置 流程状态编码
* @param processStatusCode
*/
public void setProcessStatusCode(String processStatusCode) {
this.processStatusCode = processStatusCode;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
if (obj instanceof InformationExtEntity) {
InformationExtEntity tmp = (InformationExtEntity) obj;
if (this.getId().longValue() == tmp.getId().longValue()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb
.append(",id:").append(getId())
.append(",pieceId:").append(getPieceId())
.append(",systemCode:").append(getSystemCode())
.append(",officeCode:").append(getOfficeCode())
.append(",processStatusName:").append(getProcessStatusName())
.append(",processStatusCode:").append(getProcessStatusCode())
;
return sb.toString();
}
public void initAttrValue(){
this.pieceId = null;
this.systemCode = null;
this.officeCode = null;
this.processStatusName = null;
this.processStatusCode = null;
}
}
\ No newline at end of file
package com.mortals.xhx.office.model;
import java.util.List;
/**
*
* Description:InformationExt
* date: 2021-7-29 14:50:18
*/
public class InformationExtQuery extends InformationExtEntity{
private static final long serialVersionUID = 1627541418300L;
/** 开始 主键ID,主键,业务生成 */
private Long idStart;
/** 结束 主键ID,主键,业务生成 */
private Long idEnd;
/** 增加 主键ID,主键,业务生成 */
private Long idIncrement;
/** 主键ID,主键,业务生成 */
private List <Long> idList;
/** 开始 办件id */
private Long pieceIdStart;
/** 结束 办件id */
private Long pieceIdEnd;
/** 增加 办件id */
private Long pieceIdIncrement;
/** 办件id */
private List <Long> pieceIdList;
/** 系统编码 */
private List<String> systemCodeList;
/** 办件编码 */
private List<String> officeCodeList;
/** 流程状态名称 */
private List<String> processStatusNameList;
/** 流程状态编码 */
private List<String> processStatusCodeList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<InformationExtQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<InformationExtQuery> andConditionList;
public InformationExtQuery(){
}
/**
* 获取 开始 主键ID,主键,业务生成
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 主键ID,主键,业务生成
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 主键ID,主键,业务生成
* @return idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 主键ID,主键,业务生成
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 主键ID,主键,业务生成
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 主键ID,主键,业务生成
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 主键ID,主键,业务生成
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 主键ID,主键,业务生成
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 开始 办件id
* @return pieceIdStart
*/
public Long getPieceIdStart(){
return this.pieceIdStart;
}
/**
* 设置 开始 办件id
* @param pieceIdStart
*/
public void setPieceIdStart(Long pieceIdStart){
this.pieceIdStart = pieceIdStart;
}
/**
* 获取 结束 办件id
* @return pieceIdEnd
*/
public Long getPieceIdEnd(){
return this.pieceIdEnd;
}
/**
* 设置 结束 办件id
* @param pieceIdEnd
*/
public void setPieceIdEnd(Long pieceIdEnd){
this.pieceIdEnd = pieceIdEnd;
}
/**
* 获取 增加 办件id
* @return pieceIdIncrement
*/
public Long getPieceIdIncrement(){
return this.pieceIdIncrement;
}
/**
* 设置 增加 办件id
* @param pieceIdIncrement
*/
public void setPieceIdIncrement(Long pieceIdIncrement){
this.pieceIdIncrement = pieceIdIncrement;
}
/**
* 获取 办件id
* @return pieceIdList
*/
public List<Long> getPieceIdList(){
return this.pieceIdList;
}
/**
* 设置 办件id
* @param pieceIdList
*/
public void setPieceIdList(List<Long> pieceIdList){
this.pieceIdList = pieceIdList;
}
/**
* 获取 系统编码
* @return systemCodeList
*/
public List<String> getSystemCodeList(){
return this.systemCodeList;
}
/**
* 设置 系统编码
* @param systemCodeList
*/
public void setSystemCodeList(List<String> systemCodeList){
this.systemCodeList = systemCodeList;
}
/**
* 获取 办件编码
* @return officeCodeList
*/
public List<String> getOfficeCodeList(){
return this.officeCodeList;
}
/**
* 设置 办件编码
* @param officeCodeList
*/
public void setOfficeCodeList(List<String> officeCodeList){
this.officeCodeList = officeCodeList;
}
/**
* 获取 流程状态名称
* @return processStatusNameList
*/
public List<String> getProcessStatusNameList(){
return this.processStatusNameList;
}
/**
* 设置 流程状态名称
* @param processStatusNameList
*/
public void setProcessStatusNameList(List<String> processStatusNameList){
this.processStatusNameList = processStatusNameList;
}
/**
* 获取 流程状态编码
* @return processStatusCodeList
*/
public List<String> getProcessStatusCodeList(){
return this.processStatusCodeList;
}
/**
* 设置 流程状态编码
* @param processStatusCodeList
*/
public void setProcessStatusCodeList(List<String> processStatusCodeList){
this.processStatusCodeList = processStatusCodeList;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<InformationExtQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<InformationExtQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<InformationExtQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<InformationExtQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.office.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.office.model.InformationExtEntity;
/**
* <p>Title: 办件信息拓展表</p>
* <p>Description: InformationExtService service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* @version 1.0.0
*/
public interface InformationExtService extends ICRUDService<InformationExtEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.office.service.impl;
import com.mortals.xhx.office.dao.InformationExtDao;
import com.mortals.xhx.office.model.InformationExtEntity;
import com.mortals.xhx.office.service.InformationExtService;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
/**
* <p>Title: 办件信息拓展表</p>
* <p>Description: InformationExtService service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* @version 1.0.0
*/
@Service("informationExtService")
public class InformationExtServiceImpl extends AbstractCRUDServiceImpl<InformationExtDao, InformationExtEntity, Long> implements InformationExtService {
}
\ No newline at end of file
package com.mortals.xhx.office.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.xhx.office.model.InformationExtEntity;
import com.mortals.xhx.office.service.InformationExtService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mortals.framework.web.BaseCRUDJsonController;
import org.springframework.web.bind.annotation.PostMapping;
import com.alibaba.fastjson.JSONObject;
/**
* <p>Title: 办件信息拓展表</p>
* <p>Description: InformationExtController </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
@RestController
@RequestMapping("information/ext")
public class InformationExtController extends BaseCRUDJsonController<InformationExtService,InformationExtForm, InformationExtEntity,Long> {
public InformationExtController(){
super.setFormClass(InformationExtForm.class);
super.setModuleDesc( "办件信息拓展表");
}
/**
* 查询办件信息拓展表
*/
@PostMapping(value="list")
public String list(HttpServletRequest request, HttpServletResponse response, InformationExtForm form) {
try{
return super.list(request, response, form);
}catch(Exception e){
log.error("查询办件信息拓展表列表错误",e);
JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString();
}
}
/**
* 添加办件信息拓展表
*/
@PostMapping(value="add")
public String add(HttpServletRequest request, HttpServletResponse response, InformationExtForm form) {
try{
return super.add(request, response, form);
}catch(Exception e){
log.error("添加办件信息拓展表错误",e);
JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString();
}
}
/**
* 编辑办件信息拓展表
*/
@PostMapping(value="edit")
public String edit(HttpServletRequest request, HttpServletResponse response, InformationExtForm form) {
try{
return super.edit(request, response, form);
}catch(Exception e){
log.error("编辑办件信息拓展表错误",e);
JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString();
}
}
/**
* 保存办件信息拓展表
*/
@PostMapping(value="save")
public String save(HttpServletRequest request, HttpServletResponse response, InformationExtForm form) {
try{
return super.save(request, response, form);
}catch(Exception e){
log.error("保存办件信息拓展表错误",e);
JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString();
}
}
/**
* 删除办件信息拓展表
*/
@PostMapping(value="delete")
public String delete(HttpServletRequest request, HttpServletResponse response, InformationExtForm form) {
try{
return super.delete(request, response, form);
}catch(Exception e){
log.error("删除办件信息拓展表错误",e);
JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString();
}
}
/**
* 查看办件信息拓展表
*/
@PostMapping(value="view")
public String view(HttpServletRequest request, HttpServletResponse response, InformationExtForm form) {
try{
return super.view(request, response, form);
}catch(Exception e){
log.error("查看办件信息拓展表错误",e);
JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString();
}
}
}
\ No newline at end of file
package com.mortals.xhx.office.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.office.model.InformationExtEntity;
import com.mortals.xhx.office.model.InformationExtQuery;
/**
* <p>Title: 办件信息拓展表</p>
* <p>Description: InformationExtForm </p>
* @author
* @version 1.0.0
*/
public class InformationExtForm extends BaseCRUDFormLong<InformationExtEntity> {
private InformationExtEntity informationext = new InformationExtEntity();
private InformationExtQuery query = new InformationExtQuery();
public InformationExtForm(){
}
@Override
public InformationExtEntity getEntity() {
return informationext;
}
public InformationExtEntity getInformationExt() {
return informationext;
}
public void setInformationExt(InformationExtEntity informationext) {
this.informationext = informationext;
}
@Override
public InformationExtQuery getQuery() {
return query;
}
public void setQuery(InformationExtQuery query) {
this.query = query;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.information.dao.ibatis.InformationDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="InformationEntity" id="InformationEntity-Map">
<result property="id" column="id" />
<result property="eventName" column="eventName" />
<result property="eventCode" column="eventCode" />
<result property="applicantAttributes" column="applicantAttributes" />
<result property="applicantCardType" column="applicantCardType" />
<result property="applicantName" column="applicantName" />
<result property="applicantCardNumbe" column="applicantCardNumbe" />
<result property="applicantPhoneNumber" column="applicantPhoneNumber" />
<result property="organizationName" column="organizationName" />
<result property="organizationAddress" column="organizationAddress" />
<result property="organizationCardType" column="organizationCardType" />
<result property="organizationCardNumber" column="organizationCardNumber" />
<result property="legalPerson" column="legalPerson" />
<result property="processStartedTime" column="processStartedTime" />
<result property="processStopTime" column="processStopTime" />
<result property="createTime" column="createTime" />
<result property="areaCode" column="areaCode" />
</resultMap>
<update id="createTable" parameterType="paramDto">
CREATE TABLE `${tableName}`(
`id` bigint(20) NOT NULL COMMENT '主键ID,主键,业务生成',
`eventName` varchar(1024) NOT NULL COMMENT '实施清单名称',
`eventCode` varchar(64) DEFAULT NULL COMMENT '实施清单编码',
`applicantAttributes` tinyint(2) DEFAULT NULL COMMENT '申请人属性,1:法人 2:自然人',
`applicantCardType` varchar(6) DEFAULT NULL COMMENT '申请人证件类型',
`applicantName` varchar(256) DEFAULT NULL COMMENT '申请人姓名',
`applicantCardNumbe` varchar(32) DEFAULT NULL COMMENT '申请人证件号码',
`applicantPhoneNumber` varchar(16) DEFAULT NULL COMMENT '申请人手机号码',
`organizationName` varchar(1024) DEFAULT NULL COMMENT '机构名称',
`organizationAddress` text DEFAULT NULL COMMENT '机构地址',
`organizationCardType` varchar(16) DEFAULT NULL COMMENT '机构证件类型',
`organizationCardNumber` varchar(32) DEFAULT NULL COMMENT '机构证件编码',
`legalPerson` varchar(256) DEFAULT NULL COMMENT '机构代表人姓名,法人姓名',
`processStartedTime` datetime DEFAULT NULL COMMENT '流程开始时间',
`processStopTime` datetime DEFAULT NULL COMMENT '流程结束时间',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
`areaCode` varchar(16) DEFAULT NULL COMMENT '地区编码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='办件信息';
</update>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('eventName') or colPickMode == 1 and data.containsKey('eventName')))">
a.eventName as eventName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('eventCode') or colPickMode == 1 and data.containsKey('eventCode')))">
a.eventCode as eventCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicantAttributes') or colPickMode == 1 and data.containsKey('applicantAttributes')))">
a.applicantAttributes as applicantAttributes,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicantCardType') or colPickMode == 1 and data.containsKey('applicantCardType')))">
a.applicantCardType as applicantCardType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicantName') or colPickMode == 1 and data.containsKey('applicantName')))">
a.applicantName as applicantName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicantCardNumbe') or colPickMode == 1 and data.containsKey('applicantCardNumbe')))">
a.applicantCardNumbe as applicantCardNumbe,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicantPhoneNumber') or colPickMode == 1 and data.containsKey('applicantPhoneNumber')))">
a.applicantPhoneNumber as applicantPhoneNumber,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('organizationName') or colPickMode == 1 and data.containsKey('organizationName')))">
a.organizationName as organizationName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('organizationAddress') or colPickMode == 1 and data.containsKey('organizationAddress')))">
a.organizationAddress as organizationAddress,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('organizationCardType') or colPickMode == 1 and data.containsKey('organizationCardType')))">
a.organizationCardType as organizationCardType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('organizationCardNumber') or colPickMode == 1 and data.containsKey('organizationCardNumber')))">
a.organizationCardNumber as organizationCardNumber,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('legalPerson') or colPickMode == 1 and data.containsKey('legalPerson')))">
a.legalPerson as legalPerson,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('processStartedTime') or colPickMode == 1 and data.containsKey('processStartedTime')))">
a.processStartedTime as processStartedTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('processStopTime') or colPickMode == 1 and data.containsKey('processStopTime')))">
a.processStopTime as processStopTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('areaCode') or colPickMode == 1 and data.containsKey('areaCode')))">
a.areaCode as areaCode,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="InformationEntity" >
insert into ${tableName}
(id,eventName,eventCode,applicantAttributes,applicantCardType,applicantName,applicantCardNumbe,applicantPhoneNumber,organizationName,organizationAddress,organizationCardType,organizationCardNumber,legalPerson,processStartedTime,processStopTime,createTime,areaCode)
VALUES
(#{id},#{eventName},#{eventCode},#{applicantAttributes},#{applicantCardType},#{applicantName},#{applicantCardNumbe},#{applicantPhoneNumber},#{organizationName},#{organizationAddress},#{organizationCardType},#{organizationCardNumber},#{legalPerson},#{processStartedTime},#{processStopTime},#{createTime},#{areaCode})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into ${tableName}
(id,eventName,eventCode,applicantAttributes,applicantCardType,applicantName,applicantCardNumbe,applicantPhoneNumber,organizationName,organizationAddress,organizationCardType,organizationCardNumber,legalPerson,processStartedTime,processStopTime,createTime,areaCode)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.id},#{item.eventName},#{item.eventCode},#{item.applicantAttributes},#{item.applicantCardType},#{item.applicantName},#{item.applicantCardNumbe},#{item.applicantPhoneNumber},#{item.organizationName},#{item.organizationAddress},#{item.organizationCardType},#{item.organizationCardNumber},#{item.legalPerson},#{item.processStartedTime},#{item.processStopTime},#{item.createTime},#{item.areaCode})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update ${tableName} as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('eventName')) or (colPickMode==1 and !data.containsKey('eventName'))">
a.eventName=#{data.eventName},
</if>
<if test="(colPickMode==0 and data.containsKey('eventCode')) or (colPickMode==1 and !data.containsKey('eventCode'))">
a.eventCode=#{data.eventCode},
</if>
<if test="(colPickMode==0 and data.containsKey('applicantAttributes')) or (colPickMode==1 and !data.containsKey('applicantAttributes'))">
a.applicantAttributes=#{data.applicantAttributes},
</if>
<if test="(colPickMode==0 and data.containsKey('applicantAttributesIncrement')) or (colPickMode==1 and !data.containsKey('applicantAttributesIncrement'))">
a.applicantAttributes=ifnull(a.applicantAttributes,0) + #{data.applicantAttributesIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('applicantCardType')) or (colPickMode==1 and !data.containsKey('applicantCardType'))">
a.applicantCardType=#{data.applicantCardType},
</if>
<if test="(colPickMode==0 and data.containsKey('applicantName')) or (colPickMode==1 and !data.containsKey('applicantName'))">
a.applicantName=#{data.applicantName},
</if>
<if test="(colPickMode==0 and data.containsKey('applicantCardNumbe')) or (colPickMode==1 and !data.containsKey('applicantCardNumbe'))">
a.applicantCardNumbe=#{data.applicantCardNumbe},
</if>
<if test="(colPickMode==0 and data.containsKey('applicantPhoneNumber')) or (colPickMode==1 and !data.containsKey('applicantPhoneNumber'))">
a.applicantPhoneNumber=#{data.applicantPhoneNumber},
</if>
<if test="(colPickMode==0 and data.containsKey('organizationName')) or (colPickMode==1 and !data.containsKey('organizationName'))">
a.organizationName=#{data.organizationName},
</if>
<if test="(colPickMode==0 and data.containsKey('organizationAddress')) or (colPickMode==1 and !data.containsKey('organizationAddress'))">
a.organizationAddress=#{data.organizationAddress},
</if>
<if test="(colPickMode==0 and data.containsKey('organizationCardType')) or (colPickMode==1 and !data.containsKey('organizationCardType'))">
a.organizationCardType=#{data.organizationCardType},
</if>
<if test="(colPickMode==0 and data.containsKey('organizationCardNumber')) or (colPickMode==1 and !data.containsKey('organizationCardNumber'))">
a.organizationCardNumber=#{data.organizationCardNumber},
</if>
<if test="(colPickMode==0 and data.containsKey('legalPerson')) or (colPickMode==1 and !data.containsKey('legalPerson'))">
a.legalPerson=#{data.legalPerson},
</if>
<if test="(colPickMode==0 and data.containsKey('processStartedTime')) or (colPickMode==1 and !data.containsKey('processStartedTime'))">
a.processStartedTime=#{data.processStartedTime},
</if>
<if test="(colPickMode==0 and data.containsKey('processStopTime')) or (colPickMode==1 and !data.containsKey('processStopTime'))">
a.processStopTime=#{data.processStopTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('areaCode')) or (colPickMode==1 and !data.containsKey('areaCode'))">
a.areaCode=#{data.areaCode},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update ${tableName} as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="eventName=(case" suffix="ELSE eventName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('eventName')) or (colPickMode==1 and !item.containsKey('eventName'))">
when a.id=#{item.id} then #{item.eventName}
</if>
</foreach>
</trim>
<trim prefix="eventCode=(case" suffix="ELSE eventCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('eventCode')) or (colPickMode==1 and !item.containsKey('eventCode'))">
when a.id=#{item.id} then #{item.eventCode}
</if>
</foreach>
</trim>
<trim prefix="applicantAttributes=(case" suffix="ELSE applicantAttributes end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('applicantAttributes')) or (colPickMode==1 and !item.containsKey('applicantAttributes'))">
when a.id=#{item.id} then #{item.applicantAttributes}
</when>
<when test="(colPickMode==0 and item.containsKey('applicantAttributesIncrement')) or (colPickMode==1 and !item.containsKey('applicantAttributesIncrement'))">
when a.id=#{item.id} then ifnull(a.applicantAttributes,0) + #{item.applicantAttributesIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="applicantCardType=(case" suffix="ELSE applicantCardType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('applicantCardType')) or (colPickMode==1 and !item.containsKey('applicantCardType'))">
when a.id=#{item.id} then #{item.applicantCardType}
</if>
</foreach>
</trim>
<trim prefix="applicantName=(case" suffix="ELSE applicantName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('applicantName')) or (colPickMode==1 and !item.containsKey('applicantName'))">
when a.id=#{item.id} then #{item.applicantName}
</if>
</foreach>
</trim>
<trim prefix="applicantCardNumbe=(case" suffix="ELSE applicantCardNumbe end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('applicantCardNumbe')) or (colPickMode==1 and !item.containsKey('applicantCardNumbe'))">
when a.id=#{item.id} then #{item.applicantCardNumbe}
</if>
</foreach>
</trim>
<trim prefix="applicantPhoneNumber=(case" suffix="ELSE applicantPhoneNumber end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('applicantPhoneNumber')) or (colPickMode==1 and !item.containsKey('applicantPhoneNumber'))">
when a.id=#{item.id} then #{item.applicantPhoneNumber}
</if>
</foreach>
</trim>
<trim prefix="organizationName=(case" suffix="ELSE organizationName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('organizationName')) or (colPickMode==1 and !item.containsKey('organizationName'))">
when a.id=#{item.id} then #{item.organizationName}
</if>
</foreach>
</trim>
<trim prefix="organizationAddress=(case" suffix="ELSE organizationAddress end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('organizationAddress')) or (colPickMode==1 and !item.containsKey('organizationAddress'))">
when a.id=#{item.id} then #{item.organizationAddress}
</if>
</foreach>
</trim>
<trim prefix="organizationCardType=(case" suffix="ELSE organizationCardType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('organizationCardType')) or (colPickMode==1 and !item.containsKey('organizationCardType'))">
when a.id=#{item.id} then #{item.organizationCardType}
</if>
</foreach>
</trim>
<trim prefix="organizationCardNumber=(case" suffix="ELSE organizationCardNumber end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('organizationCardNumber')) or (colPickMode==1 and !item.containsKey('organizationCardNumber'))">
when a.id=#{item.id} then #{item.organizationCardNumber}
</if>
</foreach>
</trim>
<trim prefix="legalPerson=(case" suffix="ELSE legalPerson end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('legalPerson')) or (colPickMode==1 and !item.containsKey('legalPerson'))">
when a.id=#{item.id} then #{item.legalPerson}
</if>
</foreach>
</trim>
<trim prefix="processStartedTime=(case" suffix="ELSE processStartedTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('processStartedTime')) or (colPickMode==1 and !item.containsKey('processStartedTime'))">
when a.id=#{item.id} then #{item.processStartedTime}
</if>
</foreach>
</trim>
<trim prefix="processStopTime=(case" suffix="ELSE processStopTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('processStopTime')) or (colPickMode==1 and !item.containsKey('processStopTime'))">
when a.id=#{item.id} then #{item.processStopTime}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="areaCode=(case" suffix="ELSE areaCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('areaCode')) or (colPickMode==1 and !item.containsKey('areaCode'))">
when a.id=#{item.id} then #{item.areaCode}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="InformationEntity-Map">
select <include refid="_columns"/>
from ${tableName} as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from ${tableName} as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from ${tableName} where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from ${tableName} as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="InformationEntity-Map">
select <include refid="_columns"/>
from ${tableName} as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from ${tableName} as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('eventName')">
<if test="conditionParamRef.eventName != null and conditionParamRef.eventName != ''">
${_conditionType_} a.eventName like #{${_conditionParam_}.eventName}
</if>
<if test="conditionParamRef.eventName == null">
${_conditionType_} a.eventName is null
</if>
</if>
<if test="conditionParamRef.containsKey('eventNameList')">
${_conditionType_} a.eventName in
<foreach collection="conditionParamRef.eventNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('eventCode')">
<if test="conditionParamRef.eventCode != null and conditionParamRef.eventCode != ''">
${_conditionType_} a.eventCode like #{${_conditionParam_}.eventCode}
</if>
<if test="conditionParamRef.eventCode == null">
${_conditionType_} a.eventCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('eventCodeList')">
${_conditionType_} a.eventCode in
<foreach collection="conditionParamRef.eventCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('applicantAttributes')">
<if test="conditionParamRef.applicantAttributes != null ">
${_conditionType_} a.applicantAttributes = #{${_conditionParam_}.applicantAttributes}
</if>
<if test="conditionParamRef.applicantAttributes == null">
${_conditionType_} a.applicantAttributes is null
</if>
</if>
<if test="conditionParamRef.containsKey('applicantAttributesList')">
${_conditionType_} a.applicantAttributes in
<foreach collection="conditionParamRef.applicantAttributesList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('applicantAttributesStart') and conditionParamRef.applicantAttributesStart != null">
${_conditionType_} a.applicantAttributes <![CDATA[ >= ]]> #{${_conditionParam_}.applicantAttributesStart}
</if>
<if test="conditionParamRef.containsKey('applicantAttributesEnd') and conditionParamRef.applicantAttributesEnd != null">
${_conditionType_} a.applicantAttributes <![CDATA[ <= ]]> #{${_conditionParam_}.applicantAttributesEnd}
</if>
<if test="conditionParamRef.containsKey('applicantCardType')">
<if test="conditionParamRef.applicantCardType != null and conditionParamRef.applicantCardType != ''">
${_conditionType_} a.applicantCardType like #{${_conditionParam_}.applicantCardType}
</if>
<if test="conditionParamRef.applicantCardType == null">
${_conditionType_} a.applicantCardType is null
</if>
</if>
<if test="conditionParamRef.containsKey('applicantCardTypeList')">
${_conditionType_} a.applicantCardType in
<foreach collection="conditionParamRef.applicantCardTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('applicantName')">
<if test="conditionParamRef.applicantName != null and conditionParamRef.applicantName != ''">
${_conditionType_} a.applicantName like #{${_conditionParam_}.applicantName}
</if>
<if test="conditionParamRef.applicantName == null">
${_conditionType_} a.applicantName is null
</if>
</if>
<if test="conditionParamRef.containsKey('applicantNameList')">
${_conditionType_} a.applicantName in
<foreach collection="conditionParamRef.applicantNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('applicantCardNumbe')">
<if test="conditionParamRef.applicantCardNumbe != null and conditionParamRef.applicantCardNumbe != ''">
${_conditionType_} a.applicantCardNumbe like #{${_conditionParam_}.applicantCardNumbe}
</if>
<if test="conditionParamRef.applicantCardNumbe == null">
${_conditionType_} a.applicantCardNumbe is null
</if>
</if>
<if test="conditionParamRef.containsKey('applicantCardNumbeList')">
${_conditionType_} a.applicantCardNumbe in
<foreach collection="conditionParamRef.applicantCardNumbeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('applicantPhoneNumber')">
<if test="conditionParamRef.applicantPhoneNumber != null and conditionParamRef.applicantPhoneNumber != ''">
${_conditionType_} a.applicantPhoneNumber like #{${_conditionParam_}.applicantPhoneNumber}
</if>
<if test="conditionParamRef.applicantPhoneNumber == null">
${_conditionType_} a.applicantPhoneNumber is null
</if>
</if>
<if test="conditionParamRef.containsKey('applicantPhoneNumberList')">
${_conditionType_} a.applicantPhoneNumber in
<foreach collection="conditionParamRef.applicantPhoneNumberList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('organizationName')">
<if test="conditionParamRef.organizationName != null and conditionParamRef.organizationName != ''">
${_conditionType_} a.organizationName like #{${_conditionParam_}.organizationName}
</if>
<if test="conditionParamRef.organizationName == null">
${_conditionType_} a.organizationName is null
</if>
</if>
<if test="conditionParamRef.containsKey('organizationNameList')">
${_conditionType_} a.organizationName in
<foreach collection="conditionParamRef.organizationNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('organizationAddress')">
<if test="conditionParamRef.organizationAddress != null and conditionParamRef.organizationAddress != ''">
${_conditionType_} a.organizationAddress like #{${_conditionParam_}.organizationAddress}
</if>
<if test="conditionParamRef.organizationAddress == null">
${_conditionType_} a.organizationAddress is null
</if>
</if>
<if test="conditionParamRef.containsKey('organizationAddressList')">
${_conditionType_} a.organizationAddress in
<foreach collection="conditionParamRef.organizationAddressList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('organizationCardType')">
<if test="conditionParamRef.organizationCardType != null and conditionParamRef.organizationCardType != ''">
${_conditionType_} a.organizationCardType like #{${_conditionParam_}.organizationCardType}
</if>
<if test="conditionParamRef.organizationCardType == null">
${_conditionType_} a.organizationCardType is null
</if>
</if>
<if test="conditionParamRef.containsKey('organizationCardTypeList')">
${_conditionType_} a.organizationCardType in
<foreach collection="conditionParamRef.organizationCardTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('organizationCardNumber')">
<if test="conditionParamRef.organizationCardNumber != null and conditionParamRef.organizationCardNumber != ''">
${_conditionType_} a.organizationCardNumber like #{${_conditionParam_}.organizationCardNumber}
</if>
<if test="conditionParamRef.organizationCardNumber == null">
${_conditionType_} a.organizationCardNumber is null
</if>
</if>
<if test="conditionParamRef.containsKey('organizationCardNumberList')">
${_conditionType_} a.organizationCardNumber in
<foreach collection="conditionParamRef.organizationCardNumberList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('legalPerson')">
<if test="conditionParamRef.legalPerson != null and conditionParamRef.legalPerson != ''">
${_conditionType_} a.legalPerson like #{${_conditionParam_}.legalPerson}
</if>
<if test="conditionParamRef.legalPerson == null">
${_conditionType_} a.legalPerson is null
</if>
</if>
<if test="conditionParamRef.containsKey('legalPersonList')">
${_conditionType_} a.legalPerson in
<foreach collection="conditionParamRef.legalPersonList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('processStartedTime')">
<if test="conditionParamRef.processStartedTime != null ">
${_conditionType_} a.processStartedTime = #{${_conditionParam_}.processStartedTime}
</if>
<if test="conditionParamRef.processStartedTime == null">
${_conditionType_} a.processStartedTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('processStartedTimeStart') and conditionParamRef.processStartedTimeStart != null and conditionParamRef.processStartedTimeStart!=''">
${_conditionType_} a.processStartedTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.processStartedTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('processStartedTimeEnd') and conditionParamRef.processStartedTimeEnd != null and conditionParamRef.processStartedTimeEnd!=''">
${_conditionType_} a.processStartedTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.processStartedTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('processStopTime')">
<if test="conditionParamRef.processStopTime != null ">
${_conditionType_} a.processStopTime = #{${_conditionParam_}.processStopTime}
</if>
<if test="conditionParamRef.processStopTime == null">
${_conditionType_} a.processStopTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('processStopTimeStart') and conditionParamRef.processStopTimeStart != null and conditionParamRef.processStopTimeStart!=''">
${_conditionType_} a.processStopTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.processStopTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('processStopTimeEnd') and conditionParamRef.processStopTimeEnd != null and conditionParamRef.processStopTimeEnd!=''">
${_conditionType_} a.processStopTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.processStopTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('areaCode')">
<if test="conditionParamRef.areaCode != null and conditionParamRef.areaCode != ''">
${_conditionType_} a.areaCode like #{${_conditionParam_}.areaCode}
</if>
<if test="conditionParamRef.areaCode == null">
${_conditionType_} a.areaCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('areaCodeList')">
${_conditionType_} a.areaCode in
<foreach collection="conditionParamRef.areaCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('eventName')">
a.eventName
<if test='orderCol.eventName != null and "DESC".equalsIgnoreCase(orderCol.eventName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('eventCode')">
a.eventCode
<if test='orderCol.eventCode != null and "DESC".equalsIgnoreCase(orderCol.eventCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('applicantAttributes')">
a.applicantAttributes
<if test='orderCol.applicantAttributes != null and "DESC".equalsIgnoreCase(orderCol.applicantAttributes)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('applicantCardType')">
a.applicantCardType
<if test='orderCol.applicantCardType != null and "DESC".equalsIgnoreCase(orderCol.applicantCardType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('applicantName')">
a.applicantName
<if test='orderCol.applicantName != null and "DESC".equalsIgnoreCase(orderCol.applicantName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('applicantCardNumbe')">
a.applicantCardNumbe
<if test='orderCol.applicantCardNumbe != null and "DESC".equalsIgnoreCase(orderCol.applicantCardNumbe)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('applicantPhoneNumber')">
a.applicantPhoneNumber
<if test='orderCol.applicantPhoneNumber != null and "DESC".equalsIgnoreCase(orderCol.applicantPhoneNumber)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('organizationName')">
a.organizationName
<if test='orderCol.organizationName != null and "DESC".equalsIgnoreCase(orderCol.organizationName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('organizationAddress')">
a.organizationAddress
<if test='orderCol.organizationAddress != null and "DESC".equalsIgnoreCase(orderCol.organizationAddress)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('organizationCardType')">
a.organizationCardType
<if test='orderCol.organizationCardType != null and "DESC".equalsIgnoreCase(orderCol.organizationCardType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('organizationCardNumber')">
a.organizationCardNumber
<if test='orderCol.organizationCardNumber != null and "DESC".equalsIgnoreCase(orderCol.organizationCardNumber)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('legalPerson')">
a.legalPerson
<if test='orderCol.legalPerson != null and "DESC".equalsIgnoreCase(orderCol.legalPerson)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('processStartedTime')">
a.processStartedTime
<if test='orderCol.processStartedTime != null and "DESC".equalsIgnoreCase(orderCol.processStartedTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('processStopTime')">
a.processStopTime
<if test='orderCol.processStopTime != null and "DESC".equalsIgnoreCase(orderCol.processStopTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('areaCode')">
a.areaCode
<if test='orderCol.areaCode != null and "DESC".equalsIgnoreCase(orderCol.areaCode)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.information.dao.ibatis.InformationExtDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="InformationExtEntity" id="InformationExtEntity-Map">
<result property="id" column="id" />
<result property="pieceId" column="pieceId" />
<result property="systemCode" column="systemCode" />
<result property="officeCode" column="officeCode" />
<result property="processStatusName" column="processStatusName" />
<result property="processStatusCode" column="processStatusCode" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('pieceId') or colPickMode == 1 and data.containsKey('pieceId')))">
a.pieceId as pieceId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('systemCode') or colPickMode == 1 and data.containsKey('systemCode')))">
a.systemCode as systemCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('officeCode') or colPickMode == 1 and data.containsKey('officeCode')))">
a.officeCode as officeCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('processStatusName') or colPickMode == 1 and data.containsKey('processStatusName')))">
a.processStatusName as processStatusName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('processStatusCode') or colPickMode == 1 and data.containsKey('processStatusCode')))">
a.processStatusCode as processStatusCode,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="InformationExtEntity" >
insert into piece_of_information_ext
(id,pieceId,systemCode,officeCode,processStatusName,processStatusCode)
VALUES
(#{id},#{pieceId},#{systemCode},#{officeCode},#{processStatusName},#{processStatusCode})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into piece_of_information_ext
(id,pieceId,systemCode,officeCode,processStatusName,processStatusCode)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.id},#{item.pieceId},#{item.systemCode},#{item.officeCode},#{item.processStatusName},#{item.processStatusCode})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update piece_of_information_ext as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('pieceId')) or (colPickMode==1 and !data.containsKey('pieceId'))">
a.pieceId=#{data.pieceId},
</if>
<if test="(colPickMode==0 and data.containsKey('pieceIdIncrement')) or (colPickMode==1 and !data.containsKey('pieceIdIncrement'))">
a.pieceId=ifnull(a.pieceId,0) + #{data.pieceIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('systemCode')) or (colPickMode==1 and !data.containsKey('systemCode'))">
a.systemCode=#{data.systemCode},
</if>
<if test="(colPickMode==0 and data.containsKey('officeCode')) or (colPickMode==1 and !data.containsKey('officeCode'))">
a.officeCode=#{data.officeCode},
</if>
<if test="(colPickMode==0 and data.containsKey('processStatusName')) or (colPickMode==1 and !data.containsKey('processStatusName'))">
a.processStatusName=#{data.processStatusName},
</if>
<if test="(colPickMode==0 and data.containsKey('processStatusCode')) or (colPickMode==1 and !data.containsKey('processStatusCode'))">
a.processStatusCode=#{data.processStatusCode},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update piece_of_information_ext as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="pieceId=(case" suffix="ELSE pieceId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('pieceId')) or (colPickMode==1 and !item.containsKey('pieceId'))">
when a.id=#{item.id} then #{item.pieceId}
</when>
<when test="(colPickMode==0 and item.containsKey('pieceIdIncrement')) or (colPickMode==1 and !item.containsKey('pieceIdIncrement'))">
when a.id=#{item.id} then ifnull(a.pieceId,0) + #{item.pieceIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="systemCode=(case" suffix="ELSE systemCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('systemCode')) or (colPickMode==1 and !item.containsKey('systemCode'))">
when a.id=#{item.id} then #{item.systemCode}
</if>
</foreach>
</trim>
<trim prefix="officeCode=(case" suffix="ELSE officeCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('officeCode')) or (colPickMode==1 and !item.containsKey('officeCode'))">
when a.id=#{item.id} then #{item.officeCode}
</if>
</foreach>
</trim>
<trim prefix="processStatusName=(case" suffix="ELSE processStatusName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('processStatusName')) or (colPickMode==1 and !item.containsKey('processStatusName'))">
when a.id=#{item.id} then #{item.processStatusName}
</if>
</foreach>
</trim>
<trim prefix="processStatusCode=(case" suffix="ELSE processStatusCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('processStatusCode')) or (colPickMode==1 and !item.containsKey('processStatusCode'))">
when a.id=#{item.id} then #{item.processStatusCode}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="InformationExtEntity-Map">
select <include refid="_columns"/>
from piece_of_information_ext as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from piece_of_information_ext as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from piece_of_information_ext where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from piece_of_information_ext as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="InformationExtEntity-Map">
select <include refid="_columns"/>
from piece_of_information_ext as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from piece_of_information_ext as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('pieceId')">
<if test="conditionParamRef.pieceId != null ">
${_conditionType_} a.pieceId = #{${_conditionParam_}.pieceId}
</if>
<if test="conditionParamRef.pieceId == null">
${_conditionType_} a.pieceId is null
</if>
</if>
<if test="conditionParamRef.containsKey('pieceIdList')">
${_conditionType_} a.pieceId in
<foreach collection="conditionParamRef.pieceIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('pieceIdStart') and conditionParamRef.pieceIdStart != null">
${_conditionType_} a.pieceId <![CDATA[ >= ]]> #{${_conditionParam_}.pieceIdStart}
</if>
<if test="conditionParamRef.containsKey('pieceIdEnd') and conditionParamRef.pieceIdEnd != null">
${_conditionType_} a.pieceId <![CDATA[ <= ]]> #{${_conditionParam_}.pieceIdEnd}
</if>
<if test="conditionParamRef.containsKey('systemCode')">
<if test="conditionParamRef.systemCode != null and conditionParamRef.systemCode != ''">
${_conditionType_} a.systemCode like #{${_conditionParam_}.systemCode}
</if>
<if test="conditionParamRef.systemCode == null">
${_conditionType_} a.systemCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('systemCodeList')">
${_conditionType_} a.systemCode in
<foreach collection="conditionParamRef.systemCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('officeCode')">
<if test="conditionParamRef.officeCode != null and conditionParamRef.officeCode != ''">
${_conditionType_} a.officeCode like #{${_conditionParam_}.officeCode}
</if>
<if test="conditionParamRef.officeCode == null">
${_conditionType_} a.officeCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('officeCodeList')">
${_conditionType_} a.officeCode in
<foreach collection="conditionParamRef.officeCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('processStatusName')">
<if test="conditionParamRef.processStatusName != null and conditionParamRef.processStatusName != ''">
${_conditionType_} a.processStatusName like #{${_conditionParam_}.processStatusName}
</if>
<if test="conditionParamRef.processStatusName == null">
${_conditionType_} a.processStatusName is null
</if>
</if>
<if test="conditionParamRef.containsKey('processStatusNameList')">
${_conditionType_} a.processStatusName in
<foreach collection="conditionParamRef.processStatusNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('processStatusCode')">
<if test="conditionParamRef.processStatusCode != null and conditionParamRef.processStatusCode != ''">
${_conditionType_} a.processStatusCode like #{${_conditionParam_}.processStatusCode}
</if>
<if test="conditionParamRef.processStatusCode == null">
${_conditionType_} a.processStatusCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('processStatusCodeList')">
${_conditionType_} a.processStatusCode in
<foreach collection="conditionParamRef.processStatusCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('pieceId')">
a.pieceId
<if test='orderCol.pieceId != null and "DESC".equalsIgnoreCase(orderCol.pieceId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('systemCode')">
a.systemCode
<if test='orderCol.systemCode != null and "DESC".equalsIgnoreCase(orderCol.systemCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('officeCode')">
a.officeCode
<if test='orderCol.officeCode != null and "DESC".equalsIgnoreCase(orderCol.officeCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('processStatusName')">
a.processStatusName
<if test='orderCol.processStatusName != null and "DESC".equalsIgnoreCase(orderCol.processStatusName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('processStatusCode')">
a.processStatusCode
<if test='orderCol.processStatusCode != null and "DESC".equalsIgnoreCase(orderCol.processStatusCode)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.records.dao.ibatis.RecordDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="RecordEntity" id="RecordEntity-Map">
<result property="id" column="id" />
<result property="pieceId" column="pieceId" />
<result property="currentStepName" column="currentStepName" />
<result property="currentStepCode" column="currentStepCode" />
<result property="incomingMessage" column="incomingMessage" />
<result property="returnMessage" column="returnMessage" />
<result property="interfaceCallTime" column="interfaceCallTime" />
<result property="interfaceCallStatus" column="interfaceCallStatus" />
<result property="systemCode" column="systemCode" />
</resultMap>
<update id="createTable" parameterType="paramDto">
CREATE TABLE `${tableName}`(
`id` bigint(20) NOT NULL COMMENT '主键ID,主键,业务生成',
`pieceId` bigint(20) DEFAULT NULL COMMENT '办件id',
`currentStepName` varchar(16) DEFAULT NULL COMMENT '当前步骤名称',
`currentStepCode` varchar(16) DEFAULT NULL COMMENT '当前步骤编码',
`incomingMessage` json DEFAULT NULL COMMENT '传入报文',
`returnMessage` json DEFAULT NULL COMMENT '返回报文',
`interfaceCallTime` datetime DEFAULT NULL COMMENT '接口调用时间',
`interfaceCallStatus` varchar(16) DEFAULT NULL COMMENT '调用状态',
`systemCode` varchar(16) DEFAULT NULL COMMENT '系统编码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='接口调用记录';
</update>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('pieceId') or colPickMode == 1 and data.containsKey('pieceId')))">
a.pieceId as pieceId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('currentStepName') or colPickMode == 1 and data.containsKey('currentStepName')))">
a.currentStepName as currentStepName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('currentStepCode') or colPickMode == 1 and data.containsKey('currentStepCode')))">
a.currentStepCode as currentStepCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('incomingMessage') or colPickMode == 1 and data.containsKey('incomingMessage')))">
a.incomingMessage as incomingMessage,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('returnMessage') or colPickMode == 1 and data.containsKey('returnMessage')))">
a.returnMessage as returnMessage,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('interfaceCallTime') or colPickMode == 1 and data.containsKey('interfaceCallTime')))">
a.interfaceCallTime as interfaceCallTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('interfaceCallStatus') or colPickMode == 1 and data.containsKey('interfaceCallStatus')))">
a.interfaceCallStatus as interfaceCallStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('systemCode') or colPickMode == 1 and data.containsKey('systemCode')))">
a.systemCode as systemCode,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="RecordEntity" >
insert into ${tableName}
(id,pieceId,currentStepName,currentStepCode,incomingMessage,returnMessage,interfaceCallTime,interfaceCallStatus,systemCode)
VALUES
(#{id},#{pieceId},#{currentStepName},#{currentStepCode},#{incomingMessage},#{returnMessage},#{interfaceCallTime},#{interfaceCallStatus},#{systemCode})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into ${tableName}
(id,pieceId,currentStepName,currentStepCode,incomingMessage,returnMessage,interfaceCallTime,interfaceCallStatus,systemCode)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.id},#{item.pieceId},#{item.currentStepName},#{item.currentStepCode},#{item.incomingMessage},#{item.returnMessage},#{item.interfaceCallTime},#{item.interfaceCallStatus},#{item.systemCode})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update ${tableName} as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('pieceId')) or (colPickMode==1 and !data.containsKey('pieceId'))">
a.pieceId=#{data.pieceId},
</if>
<if test="(colPickMode==0 and data.containsKey('pieceIdIncrement')) or (colPickMode==1 and !data.containsKey('pieceIdIncrement'))">
a.pieceId=ifnull(a.pieceId,0) + #{data.pieceIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('currentStepName')) or (colPickMode==1 and !data.containsKey('currentStepName'))">
a.currentStepName=#{data.currentStepName},
</if>
<if test="(colPickMode==0 and data.containsKey('currentStepCode')) or (colPickMode==1 and !data.containsKey('currentStepCode'))">
a.currentStepCode=#{data.currentStepCode},
</if>
<if test="(colPickMode==0 and data.containsKey('incomingMessage')) or (colPickMode==1 and !data.containsKey('incomingMessage'))">
a.incomingMessage=#{data.incomingMessage},
</if>
<if test="(colPickMode==0 and data.containsKey('returnMessage')) or (colPickMode==1 and !data.containsKey('returnMessage'))">
a.returnMessage=#{data.returnMessage},
</if>
<if test="(colPickMode==0 and data.containsKey('interfaceCallTime')) or (colPickMode==1 and !data.containsKey('interfaceCallTime'))">
a.interfaceCallTime=#{data.interfaceCallTime},
</if>
<if test="(colPickMode==0 and data.containsKey('interfaceCallStatus')) or (colPickMode==1 and !data.containsKey('interfaceCallStatus'))">
a.interfaceCallStatus=#{data.interfaceCallStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('systemCode')) or (colPickMode==1 and !data.containsKey('systemCode'))">
a.systemCode=#{data.systemCode},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update ${tableName} as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="pieceId=(case" suffix="ELSE pieceId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('pieceId')) or (colPickMode==1 and !item.containsKey('pieceId'))">
when a.id=#{item.id} then #{item.pieceId}
</when>
<when test="(colPickMode==0 and item.containsKey('pieceIdIncrement')) or (colPickMode==1 and !item.containsKey('pieceIdIncrement'))">
when a.id=#{item.id} then ifnull(a.pieceId,0) + #{item.pieceIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="currentStepName=(case" suffix="ELSE currentStepName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('currentStepName')) or (colPickMode==1 and !item.containsKey('currentStepName'))">
when a.id=#{item.id} then #{item.currentStepName}
</if>
</foreach>
</trim>
<trim prefix="currentStepCode=(case" suffix="ELSE currentStepCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('currentStepCode')) or (colPickMode==1 and !item.containsKey('currentStepCode'))">
when a.id=#{item.id} then #{item.currentStepCode}
</if>
</foreach>
</trim>
<trim prefix="incomingMessage=(case" suffix="ELSE incomingMessage end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('incomingMessage')) or (colPickMode==1 and !item.containsKey('incomingMessage'))">
when a.id=#{item.id} then #{item.incomingMessage}
</if>
</foreach>
</trim>
<trim prefix="returnMessage=(case" suffix="ELSE returnMessage end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('returnMessage')) or (colPickMode==1 and !item.containsKey('returnMessage'))">
when a.id=#{item.id} then #{item.returnMessage}
</if>
</foreach>
</trim>
<trim prefix="interfaceCallTime=(case" suffix="ELSE interfaceCallTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('interfaceCallTime')) or (colPickMode==1 and !item.containsKey('interfaceCallTime'))">
when a.id=#{item.id} then #{item.interfaceCallTime}
</if>
</foreach>
</trim>
<trim prefix="interfaceCallStatus=(case" suffix="ELSE interfaceCallStatus end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('interfaceCallStatus')) or (colPickMode==1 and !item.containsKey('interfaceCallStatus'))">
when a.id=#{item.id} then #{item.interfaceCallStatus}
</if>
</foreach>
</trim>
<trim prefix="systemCode=(case" suffix="ELSE systemCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('systemCode')) or (colPickMode==1 and !item.containsKey('systemCode'))">
when a.id=#{item.id} then #{item.systemCode}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="RecordEntity-Map">
select <include refid="_columns"/>
from ${tableName} as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from ${tableName} as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from ${tableName} where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from ${tableName} as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="RecordEntity-Map">
select <include refid="_columns"/>
from ${tableName} as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from ${tableName} as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('pieceId')">
<if test="conditionParamRef.pieceId != null ">
${_conditionType_} a.pieceId = #{${_conditionParam_}.pieceId}
</if>
<if test="conditionParamRef.pieceId == null">
${_conditionType_} a.pieceId is null
</if>
</if>
<if test="conditionParamRef.containsKey('pieceIdList')">
${_conditionType_} a.pieceId in
<foreach collection="conditionParamRef.pieceIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('pieceIdStart') and conditionParamRef.pieceIdStart != null">
${_conditionType_} a.pieceId <![CDATA[ >= ]]> #{${_conditionParam_}.pieceIdStart}
</if>
<if test="conditionParamRef.containsKey('pieceIdEnd') and conditionParamRef.pieceIdEnd != null">
${_conditionType_} a.pieceId <![CDATA[ <= ]]> #{${_conditionParam_}.pieceIdEnd}
</if>
<if test="conditionParamRef.containsKey('currentStepName')">
<if test="conditionParamRef.currentStepName != null and conditionParamRef.currentStepName != ''">
${_conditionType_} a.currentStepName like #{${_conditionParam_}.currentStepName}
</if>
<if test="conditionParamRef.currentStepName == null">
${_conditionType_} a.currentStepName is null
</if>
</if>
<if test="conditionParamRef.containsKey('currentStepNameList')">
${_conditionType_} a.currentStepName in
<foreach collection="conditionParamRef.currentStepNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('currentStepCode')">
<if test="conditionParamRef.currentStepCode != null and conditionParamRef.currentStepCode != ''">
${_conditionType_} a.currentStepCode like #{${_conditionParam_}.currentStepCode}
</if>
<if test="conditionParamRef.currentStepCode == null">
${_conditionType_} a.currentStepCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('currentStepCodeList')">
${_conditionType_} a.currentStepCode in
<foreach collection="conditionParamRef.currentStepCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('incomingMessage')">
<if test="conditionParamRef.incomingMessage != null and conditionParamRef.incomingMessage != ''">
${_conditionType_} a.incomingMessage like #{${_conditionParam_}.incomingMessage}
</if>
<if test="conditionParamRef.incomingMessage == null">
${_conditionType_} a.incomingMessage is null
</if>
</if>
<if test="conditionParamRef.containsKey('incomingMessageList')">
${_conditionType_} a.incomingMessage in
<foreach collection="conditionParamRef.incomingMessageList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('returnMessage')">
<if test="conditionParamRef.returnMessage != null and conditionParamRef.returnMessage != ''">
${_conditionType_} a.returnMessage like #{${_conditionParam_}.returnMessage}
</if>
<if test="conditionParamRef.returnMessage == null">
${_conditionType_} a.returnMessage is null
</if>
</if>
<if test="conditionParamRef.containsKey('returnMessageList')">
${_conditionType_} a.returnMessage in
<foreach collection="conditionParamRef.returnMessageList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('interfaceCallTime')">
<if test="conditionParamRef.interfaceCallTime != null ">
${_conditionType_} a.interfaceCallTime = #{${_conditionParam_}.interfaceCallTime}
</if>
<if test="conditionParamRef.interfaceCallTime == null">
${_conditionType_} a.interfaceCallTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('interfaceCallTimeStart') and conditionParamRef.interfaceCallTimeStart != null and conditionParamRef.interfaceCallTimeStart!=''">
${_conditionType_} a.interfaceCallTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.interfaceCallTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('interfaceCallTimeEnd') and conditionParamRef.interfaceCallTimeEnd != null and conditionParamRef.interfaceCallTimeEnd!=''">
${_conditionType_} a.interfaceCallTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.interfaceCallTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('interfaceCallStatus')">
<if test="conditionParamRef.interfaceCallStatus != null and conditionParamRef.interfaceCallStatus != ''">
${_conditionType_} a.interfaceCallStatus like #{${_conditionParam_}.interfaceCallStatus}
</if>
<if test="conditionParamRef.interfaceCallStatus == null">
${_conditionType_} a.interfaceCallStatus is null
</if>
</if>
<if test="conditionParamRef.containsKey('interfaceCallStatusList')">
${_conditionType_} a.interfaceCallStatus in
<foreach collection="conditionParamRef.interfaceCallStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('systemCode')">
<if test="conditionParamRef.systemCode != null and conditionParamRef.systemCode != ''">
${_conditionType_} a.systemCode like #{${_conditionParam_}.systemCode}
</if>
<if test="conditionParamRef.systemCode == null">
${_conditionType_} a.systemCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('systemCodeList')">
${_conditionType_} a.systemCode in
<foreach collection="conditionParamRef.systemCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('pieceId')">
a.pieceId
<if test='orderCol.pieceId != null and "DESC".equalsIgnoreCase(orderCol.pieceId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('currentStepName')">
a.currentStepName
<if test='orderCol.currentStepName != null and "DESC".equalsIgnoreCase(orderCol.currentStepName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('currentStepCode')">
a.currentStepCode
<if test='orderCol.currentStepCode != null and "DESC".equalsIgnoreCase(orderCol.currentStepCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('incomingMessage')">
a.incomingMessage
<if test='orderCol.incomingMessage != null and "DESC".equalsIgnoreCase(orderCol.incomingMessage)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('returnMessage')">
a.returnMessage
<if test='orderCol.returnMessage != null and "DESC".equalsIgnoreCase(orderCol.returnMessage)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('interfaceCallTime')">
a.interfaceCallTime
<if test='orderCol.interfaceCallTime != null and "DESC".equalsIgnoreCase(orderCol.interfaceCallTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('interfaceCallStatus')">
a.interfaceCallStatus
<if test='orderCol.interfaceCallStatus != null and "DESC".equalsIgnoreCase(orderCol.interfaceCallStatus)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('systemCode')">
a.systemCode
<if test='orderCol.systemCode != null and "DESC".equalsIgnoreCase(orderCol.systemCode)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
...@@ -18,7 +18,7 @@ spring: ...@@ -18,7 +18,7 @@ spring:
discovery: discovery:
server-addr: 127.0.0.1:8848 # Nacos 服务器地址 server-addr: 127.0.0.1:8848 # Nacos 服务器地址
group: DEFAULT_GROUP group: DEFAULT_GROUP
namespace: 342d427e-a226-4ade-8963-b38353acecc7 namespace: 00d2fea1-874c-42cf-bf70-df75db75800a
config: config:
server-addr: ${spring.cloud.nacos.discovery.server-addr} # Nacos 服务器地址 server-addr: ${spring.cloud.nacos.discovery.server-addr} # Nacos 服务器地址
group: ${spring.cloud.nacos.discovery.group} group: ${spring.cloud.nacos.discovery.group}
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<setting name="useGeneratedKeys" value="false" /> <setting name="useGeneratedKeys" value="false" />
<setting name="defaultExecutorType" value="REUSE" /> <setting name="defaultExecutorType" value="REUSE" />
<!-- 是否开始sql日志控制台打印 --> <!-- 是否开始sql日志控制台打印 -->
<!-- <setting name="logImpl" value="STDOUT_LOGGING" /> --> <setting name="logImpl" value="STDOUT_LOGGING" />
</settings> </settings>
<plugins> <plugins>
<plugin interceptor="com.mortals.framework.thirty.mybatis.MortalsPagePlugin"> <plugin interceptor="com.mortals.framework.thirty.mybatis.MortalsPagePlugin">
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment