bug修改
This commit is contained in:
parent
ba169625aa
commit
279e5837cd
|
|
@ -346,6 +346,12 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static String getDates(Double dateValue) {
|
||||||
|
Date date = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(dateValue);
|
||||||
|
return new SimpleDateFormat("yyyy/MM/dd").format(date);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 时间类型转换
|
* 时间类型转换
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -315,13 +315,32 @@ public class ExcelUtil<T>
|
||||||
}
|
}
|
||||||
else if (Date.class == fieldType)
|
else if (Date.class == fieldType)
|
||||||
{
|
{
|
||||||
|
// if (val instanceof String)
|
||||||
|
// {
|
||||||
|
// val = DateUtils.parseDate(val);
|
||||||
|
// }
|
||||||
|
// else if (val instanceof Double)
|
||||||
|
// {
|
||||||
|
// val = DateUtil.getJavaDate((Double) val);
|
||||||
|
// }
|
||||||
if (val instanceof String)
|
if (val instanceof String)
|
||||||
{
|
{
|
||||||
val = DateUtils.parseDate(val);
|
// 如果是字符串,按指定格式转成 Date
|
||||||
|
String dateFormat = field.getAnnotation(Excel.class).dateFormat();
|
||||||
|
if (StringUtils.isNotEmpty(dateFormat))
|
||||||
|
{
|
||||||
|
val = DateUtils.parseDate(val.toString(), new String[] { dateFormat });
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 默认格式
|
||||||
|
val = DateUtils.parseDate(val.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (val instanceof Double)
|
else if (val instanceof Double)
|
||||||
{
|
{
|
||||||
val = DateUtil.getJavaDate((Double) val);
|
// 如果是 Excel 数值型日期,先转成 Date 再格式化为字符串
|
||||||
|
val = DateUtils.getDates((Double) val); // "yyyy-MM-dd"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
|
else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
|
||||||
|
|
@ -491,13 +510,32 @@ public class ExcelUtil<T>
|
||||||
}
|
}
|
||||||
else if (Date.class == fieldType)
|
else if (Date.class == fieldType)
|
||||||
{
|
{
|
||||||
|
// if (val instanceof String)
|
||||||
|
// {
|
||||||
|
// val = DateUtils.parseDate(val);
|
||||||
|
// }
|
||||||
|
// else if (val instanceof Double)
|
||||||
|
// {
|
||||||
|
// val = DateUtil.getJavaDate((Double) val);
|
||||||
|
// }
|
||||||
if (val instanceof String)
|
if (val instanceof String)
|
||||||
{
|
{
|
||||||
val = DateUtils.parseDate(val);
|
// 如果是字符串,按指定格式转成 Date
|
||||||
|
String dateFormat = field.getAnnotation(Excel.class).dateFormat();
|
||||||
|
if (StringUtils.isNotEmpty(dateFormat))
|
||||||
|
{
|
||||||
|
val = DateUtils.parseDate(val.toString(), new String[] { dateFormat });
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 默认格式
|
||||||
|
val = DateUtils.parseDate(val.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (val instanceof Double)
|
else if (val instanceof Double)
|
||||||
{
|
{
|
||||||
val = DateUtil.getJavaDate((Double) val);
|
// 如果是 Excel 数值型日期,先转成 Date 再格式化为字符串
|
||||||
|
val = DateUtils.getDates((Double) val); // "yyyy-MM-dd"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
|
else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
|
||||||
|
|
@ -515,12 +553,14 @@ public class ExcelUtil<T>
|
||||||
{
|
{
|
||||||
propertyName = field.getName() + "." + attr.targetAttr();
|
propertyName = field.getName() + "." + attr.targetAttr();
|
||||||
}
|
}
|
||||||
else if(required) {
|
|
||||||
|
if(required) {
|
||||||
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString().trim())) {
|
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString().trim())) {
|
||||||
throw new IllegalArgumentException(attr.name()+" 单元格必填项未填写,请正确填写!");
|
throw new IllegalArgumentException(attr.name()+" 单元格必填项未填写,请正确填写!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(StringUtils.isNotEmpty(isRegex)) {
|
|
||||||
|
if(StringUtils.isNotEmpty(isRegex)) {
|
||||||
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString().trim())) {
|
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString().trim())) {
|
||||||
throw new IllegalArgumentException(attr.name()+" 单元格必填项未填写,请正确填写!");
|
throw new IllegalArgumentException(attr.name()+" 单元格必填项未填写,请正确填写!");
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -530,11 +570,13 @@ public class ExcelUtil<T>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (StringUtils.isNotEmpty(attr.readConverterExp()))
|
|
||||||
|
if (StringUtils.isNotEmpty(attr.readConverterExp()))
|
||||||
{
|
{
|
||||||
val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator());
|
val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator());
|
||||||
}
|
}
|
||||||
else if (!attr.handler().equals(ExcelHandlerAdapter.class))
|
|
||||||
|
if (!attr.handler().equals(ExcelHandlerAdapter.class))
|
||||||
{
|
{
|
||||||
val = dataFormatHandlerAdapter(val, attr);
|
val = dataFormatHandlerAdapter(val, attr);
|
||||||
}
|
}
|
||||||
|
|
@ -648,10 +690,29 @@ public class ExcelUtil<T>
|
||||||
} else if (BigDecimal.class == fieldType) {
|
} else if (BigDecimal.class == fieldType) {
|
||||||
val = Convert.toBigDecimal(val);
|
val = Convert.toBigDecimal(val);
|
||||||
} else if (Date.class == fieldType) {
|
} else if (Date.class == fieldType) {
|
||||||
if (val instanceof String) {
|
// if (val instanceof String) {
|
||||||
val = DateUtils.parseDate(val);
|
// val = DateUtils.parseDate(val);
|
||||||
} else if (val instanceof Double) {
|
// } else if (val instanceof Double) {
|
||||||
val = DateUtil.getJavaDate((Double) val);
|
// val = DateUtil.getJavaDate((Double) val);
|
||||||
|
// }
|
||||||
|
if (val instanceof String)
|
||||||
|
{
|
||||||
|
// 如果是字符串,按指定格式转成 Date
|
||||||
|
String dateFormat = field.getAnnotation(Excel.class).dateFormat();
|
||||||
|
if (StringUtils.isNotEmpty(dateFormat))
|
||||||
|
{
|
||||||
|
val = DateUtils.parseDate(val.toString(), new String[] { dateFormat });
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 默认格式
|
||||||
|
val = DateUtils.parseDate(val.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (val instanceof Double)
|
||||||
|
{
|
||||||
|
// 如果是 Excel 数值型日期,先转成 Date 再格式化为字符串
|
||||||
|
val = DateUtils.getDates((Double) val); // "yyyy-MM-dd"
|
||||||
}
|
}
|
||||||
} else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) {
|
} else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) {
|
||||||
val = Convert.toBool(val, false);
|
val = Convert.toBool(val, false);
|
||||||
|
|
@ -1450,7 +1511,8 @@ public class ExcelUtil<T>
|
||||||
val = cell.getNumericCellValue();
|
val = cell.getNumericCellValue();
|
||||||
if (DateUtil.isCellDateFormatted(cell))
|
if (DateUtil.isCellDateFormatted(cell))
|
||||||
{
|
{
|
||||||
val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换
|
// val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换
|
||||||
|
val = DateUtils.getDates((Double) val);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public class BasePersonBean {
|
||||||
/**
|
/**
|
||||||
* 身份证
|
* 身份证
|
||||||
*/
|
*/
|
||||||
@Excel(name = "*身份证号", isRegex = RegexConstants.IDCARD)
|
@Excel(name = "*身份证号",required = true, isRegex = RegexConstants.IDCARD)
|
||||||
private String idNumber;
|
private String idNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -65,22 +65,28 @@ public class BasePersonBean {
|
||||||
@Excel(name = "*签发机关",required = true)
|
@Excel(name = "*签发机关",required = true)
|
||||||
private String issueauthority;
|
private String issueauthority;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 有效开始日期
|
// * 有效开始日期
|
||||||
*/
|
// */
|
||||||
@Excel(name = "*身份证生效日期",required = true)
|
// @Excel(name = "*身份证生效日期",required = true)
|
||||||
|
// private String signDate;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 有效结束日期
|
||||||
|
// */
|
||||||
|
// @Excel(name = "*身份证失效日期",required = true)
|
||||||
|
// private String expiryDate;
|
||||||
|
|
||||||
|
@Excel(name = "*身份证生效日期", isRegex = "^\\d{4}/\\d{1,2}/\\d{1,2}$")
|
||||||
private String signDate;
|
private String signDate;
|
||||||
|
|
||||||
/**
|
@Excel(name = "*身份证失效日期", isRegex = "^\\d{4}/\\d{1,2}/\\d{1,2}$")
|
||||||
* 有效结束日期
|
|
||||||
*/
|
|
||||||
@Excel(name = "*身份证失效日期",required = true)
|
|
||||||
private String expiryDate;
|
private String expiryDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 联系方式
|
* 联系方式
|
||||||
*/
|
*/
|
||||||
@Excel(name = "*手机号码", isRegex = RegexConstants.PHONE )
|
@Excel(name = "*手机号码", required = true, isRegex = RegexConstants.PHONE )
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -133,13 +139,13 @@ public class BasePersonBean {
|
||||||
/**
|
/**
|
||||||
* 紧急联系人
|
* 紧急联系人
|
||||||
*/
|
*/
|
||||||
@Excel(name = "亲属.*紧急联系人")
|
@Excel(name = "亲属.*紧急联系人" , required = true)
|
||||||
private String urgentPerson;
|
private String urgentPerson;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 紧急联系人电话
|
* 紧急联系人电话
|
||||||
*/
|
*/
|
||||||
@Excel(name = "*紧急联系人电话")
|
@Excel(name = "*紧急联系人电话",required = true,isRegex = RegexConstants.PHONE)
|
||||||
private String urgentPersonPhone;
|
private String urgentPersonPhone;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
<insert id="insertBasePersonBankData">
|
<insert id="insertBasePersonBankData">
|
||||||
replace into bm_worker_bank
|
replace into bm_worker_bank
|
||||||
(`id_number`, `bank_card`, `bank_name`,`bank_inter`)
|
(`id_number`, `bank_card`, `bank_name`,`ROLL_BANK_NAME`)
|
||||||
values
|
values
|
||||||
<foreach item="params" collection="list" separator=",">
|
<foreach item="params" collection="list" separator=",">
|
||||||
(#{params.idNumber},#{params.bankCard},#{params.bankName},#{params.bankInter})
|
(#{params.idNumber},#{params.bankCard},#{params.bankName},#{params.bankInter})
|
||||||
|
|
|
||||||
|
|
@ -848,7 +848,7 @@
|
||||||
bw.expiry_date,
|
bw.expiry_date,
|
||||||
bwb.BANK_NAME AS bankName,
|
bwb.BANK_NAME AS bankName,
|
||||||
bwb.BANK_CARD AS bankCard,
|
bwb.BANK_CARD AS bankCard,
|
||||||
bwb.BANK_INTER AS bankBranch,
|
bwb.ROLL_BANK_NAME AS bankBranch,
|
||||||
bwc.contractCode,
|
bwc.contractCode,
|
||||||
bwc.laborContractType,
|
bwc.laborContractType,
|
||||||
bwc.contractValidDate,
|
bwc.contractValidDate,
|
||||||
|
|
@ -1152,7 +1152,7 @@
|
||||||
bw.expiry_date,
|
bw.expiry_date,
|
||||||
bwb.BANK_NAME AS bankName,
|
bwb.BANK_NAME AS bankName,
|
||||||
bwb.BANK_CARD AS bankCard,
|
bwb.BANK_CARD AS bankCard,
|
||||||
bwb.BANK_INTER AS bankBranch,
|
bwb.ROLL_BANK_NAME AS bankBranch,
|
||||||
bwc.contractCode,
|
bwc.contractCode,
|
||||||
bwc.laborContractType,
|
bwc.laborContractType,
|
||||||
bwc.contractValidDate,
|
bwc.contractValidDate,
|
||||||
|
|
|
||||||
|
|
@ -105,14 +105,14 @@ function init() {
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{"data": "name", "defaultContent": "", "width": "4%"},
|
{"data": "name", "defaultContent": "", "width": "10%"},
|
||||||
{"data": "postName", "defaultContent": "", "width": "4%"},
|
{"data": "postName", "defaultContent": "", "width": "10%"},
|
||||||
{"data": "companyName", "defaultContent": "", "width": "4%"},
|
{"data": "companyName", "defaultContent": "", "width": "10%"},
|
||||||
{"data": "proName", "defaultContent": "", "width": "5%"},
|
{"data": "proName", "defaultContent": "", "width": "15%"},
|
||||||
{"data": "subName", "defaultContent": "", "width": "5%"},
|
{"data": "subName", "defaultContent": "", "width": "15%"},
|
||||||
{"data": "teamName", "defaultContent": "", "width": "5%"},
|
{"data": "teamName", "defaultContent": "", "width": "5%"},
|
||||||
{"data": "einTime", "defaultContent": "", "width": "5%"},
|
{"data": "einTime", "defaultContent": "", "width": "15%"},
|
||||||
{"data": "exitTime", "defaultContent": "", "width": "5%"},
|
{"data": "exitTime", "defaultContent": "", "width": "15%"},
|
||||||
{"data": "contractId", "defaultContent": "", "width": "5%"},
|
{"data": "contractId", "defaultContent": "", "width": "5%"},
|
||||||
{
|
{
|
||||||
"data": "", "defaultContent": "", "width": "5%",
|
"data": "", "defaultContent": "", "width": "5%",
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,14 @@ function setData(idNumber,einTime){
|
||||||
size: 1024*30, //最大文件大小,单位k
|
size: 1024*30, //最大文件大小,单位k
|
||||||
bindAction: '#hideUploadCheckup', //绑定的按钮
|
bindAction: '#hideUploadCheckup', //绑定的按钮
|
||||||
field: 'file', //传到后台的字段名,默认file
|
field: 'file', //传到后台的字段名,默认file
|
||||||
|
text: { // 自定义提示文本
|
||||||
|
"data-format-error": "上传失败,请重新上传", // 数据格式错误的提示
|
||||||
|
"check-error": "上传只支持 PDF 文件,请重新选择!", // 文件格式校验失败的提示
|
||||||
|
"error": "上传失败,请重新上传", // 上传失败的提示
|
||||||
|
"limit-number": null, // 限制 number 属性的提示。若设置,需为函数写法
|
||||||
|
"limit-size": null, // 限制 size 属性的提示。若设置,需为函数写法
|
||||||
|
"cross-domain": "", // IE 下跨域的提示
|
||||||
|
},
|
||||||
choose: function (obj) {
|
choose: function (obj) {
|
||||||
flag = false;
|
flag = false;
|
||||||
// 清空现有预览和文件信息
|
// 清空现有预览和文件信息
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,14 @@ function setData(idNumber,einTime){
|
||||||
size: 1024*30, //最大文件大小,单位k
|
size: 1024*30, //最大文件大小,单位k
|
||||||
bindAction: '#hideUploadCheckup', //绑定的按钮
|
bindAction: '#hideUploadCheckup', //绑定的按钮
|
||||||
field: 'file', //传到后台的字段名,默认file
|
field: 'file', //传到后台的字段名,默认file
|
||||||
|
text: { // 自定义提示文本
|
||||||
|
"data-format-error": "上传失败,请重新上传", // 数据格式错误的提示
|
||||||
|
"check-error": "上传只支持PDF 文件,请重新选择!", // 文件格式校验失败的提示
|
||||||
|
"error": "上传失败,请重新上传", // 上传失败的提示
|
||||||
|
"limit-number": null, // 限制 number 属性的提示。若设置,需为函数写法
|
||||||
|
"limit-size": null, // 限制 size 属性的提示。若设置,需为函数写法
|
||||||
|
"cross-domain": "", // IE 下跨域的提示
|
||||||
|
},
|
||||||
choose: function (obj) {
|
choose: function (obj) {
|
||||||
flag = false;
|
flag = false;
|
||||||
// 清空现有预览和文件信息
|
// 清空现有预览和文件信息
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>出场证明-上传</title>
|
<title>出场证明-上传</title>
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/bootstrap.min.css">
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/bootstrap.min.css">
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="../../../../layui/css/layui.css">
|
<!-- <link rel="stylesheet" type="text/css" media="screen" href="../../../../layui/css/layui.css">-->
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../layui-v2.9.10/layui/css/layui.css">
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/work/personEntry/personEntryFrom.css">
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/work/personEntry/personEntryFrom.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
@ -40,7 +41,8 @@
|
||||||
|
|
||||||
<script type="text/javascript" src="../../../../js/libs/jquery-3.6.0.js"></script>
|
<script type="text/javascript" src="../../../../js/libs/jquery-3.6.0.js"></script>
|
||||||
<script type="text/javascript" src="../../../../js/jq.js"></script>
|
<script type="text/javascript" src="../../../../js/jq.js"></script>
|
||||||
<script type="text/javascript" src="../../../../layui2.7.6/layui.js"></script>
|
<!--<script type="text/javascript" src="../../../../layui2.7.6/layui.js"></script>-->
|
||||||
|
<script type="text/javascript" src="../../../../layui-v2.9.10/layui/layui.js"></script>
|
||||||
<script type="text/javascript" src="../../../../js/publicJs.js"></script>
|
<script type="text/javascript" src="../../../../js/publicJs.js"></script>
|
||||||
<script type="text/javascript" src="../../../../js/dict.js"></script>
|
<script type="text/javascript" src="../../../../js/dict.js"></script>
|
||||||
<script type="text/javascript" src="../../../../js/select.js"></script>
|
<script type="text/javascript" src="../../../../js/select.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>出场证明-上传</title>
|
<title>出场证明-上传</title>
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/bootstrap.min.css">
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/bootstrap.min.css">
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="../../../../layui/css/layui.css">
|
<!-- <link rel="stylesheet" type="text/css" media="screen" href="../../../../layui/css/layui.css">-->
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../layui-v2.9.10/layui/css/layui.css"></link>
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/work/personEntry/personEntryFrom.css">
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/work/personEntry/personEntryFrom.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
@ -40,7 +41,8 @@
|
||||||
|
|
||||||
<script type="text/javascript" src="../../../../js/libs/jquery-3.6.0.js"></script>
|
<script type="text/javascript" src="../../../../js/libs/jquery-3.6.0.js"></script>
|
||||||
<script type="text/javascript" src="../../../../js/jq.js"></script>
|
<script type="text/javascript" src="../../../../js/jq.js"></script>
|
||||||
<script type="text/javascript" src="../../../../layui2.7.6/layui.js"></script>
|
<!--<script type="text/javascript" src="../../../../layui2.7.6/layui.js"></script>-->
|
||||||
|
<script type="text/javascript" src="../../../../layui-v2.9.10/layui/layui.js"></script>
|
||||||
<script type="text/javascript" src="../../../../js/publicJs.js"></script>
|
<script type="text/javascript" src="../../../../js/publicJs.js"></script>
|
||||||
<script type="text/javascript" src="../../../../js/dict.js"></script>
|
<script type="text/javascript" src="../../../../js/dict.js"></script>
|
||||||
<script type="text/javascript" src="../../../../js/select.js"></script>
|
<script type="text/javascript" src="../../../../js/select.js"></script>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue