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)
|
||||
{
|
||||
// if (val instanceof String)
|
||||
// {
|
||||
// val = DateUtils.parseDate(val);
|
||||
// }
|
||||
// else if (val instanceof Double)
|
||||
// {
|
||||
// val = DateUtil.getJavaDate((Double) val);
|
||||
// }
|
||||
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)
|
||||
{
|
||||
val = DateUtil.getJavaDate((Double) val);
|
||||
// 如果是 Excel 数值型日期,先转成 Date 再格式化为字符串
|
||||
val = DateUtils.getDates((Double) val); // "yyyy-MM-dd"
|
||||
}
|
||||
}
|
||||
else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
|
||||
|
|
@ -491,13 +510,32 @@ public class ExcelUtil<T>
|
|||
}
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
val = DateUtil.getJavaDate((Double) val);
|
||||
// 如果是 Excel 数值型日期,先转成 Date 再格式化为字符串
|
||||
val = DateUtils.getDates((Double) val); // "yyyy-MM-dd"
|
||||
}
|
||||
}
|
||||
else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
|
||||
|
|
@ -515,12 +553,14 @@ public class ExcelUtil<T>
|
|||
{
|
||||
propertyName = field.getName() + "." + attr.targetAttr();
|
||||
}
|
||||
else if(required) {
|
||||
|
||||
if(required) {
|
||||
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString().trim())) {
|
||||
throw new IllegalArgumentException(attr.name()+" 单元格必填项未填写,请正确填写!");
|
||||
}
|
||||
}
|
||||
else if(StringUtils.isNotEmpty(isRegex)) {
|
||||
|
||||
if(StringUtils.isNotEmpty(isRegex)) {
|
||||
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString().trim())) {
|
||||
throw new IllegalArgumentException(attr.name()+" 单元格必填项未填写,请正确填写!");
|
||||
}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());
|
||||
}
|
||||
else if (!attr.handler().equals(ExcelHandlerAdapter.class))
|
||||
|
||||
if (!attr.handler().equals(ExcelHandlerAdapter.class))
|
||||
{
|
||||
val = dataFormatHandlerAdapter(val, attr);
|
||||
}
|
||||
|
|
@ -648,10 +690,29 @@ public class ExcelUtil<T>
|
|||
} else if (BigDecimal.class == fieldType) {
|
||||
val = Convert.toBigDecimal(val);
|
||||
} 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) {
|
||||
// val = DateUtils.parseDate(val);
|
||||
// } else if (val instanceof Double) {
|
||||
// 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) {
|
||||
val = Convert.toBool(val, false);
|
||||
|
|
@ -1450,7 +1511,8 @@ public class ExcelUtil<T>
|
|||
val = cell.getNumericCellValue();
|
||||
if (DateUtil.isCellDateFormatted(cell))
|
||||
{
|
||||
val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换
|
||||
// val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换
|
||||
val = DateUtils.getDates((Double) val);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class BasePersonBean {
|
|||
/**
|
||||
* 身份证
|
||||
*/
|
||||
@Excel(name = "*身份证号", isRegex = RegexConstants.IDCARD)
|
||||
@Excel(name = "*身份证号",required = true, isRegex = RegexConstants.IDCARD)
|
||||
private String idNumber;
|
||||
|
||||
/**
|
||||
|
|
@ -65,22 +65,28 @@ public class BasePersonBean {
|
|||
@Excel(name = "*签发机关",required = true)
|
||||
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;
|
||||
|
||||
/**
|
||||
* 有效结束日期
|
||||
*/
|
||||
@Excel(name = "*身份证失效日期",required = true)
|
||||
@Excel(name = "*身份证失效日期", isRegex = "^\\d{4}/\\d{1,2}/\\d{1,2}$")
|
||||
private String expiryDate;
|
||||
|
||||
/**
|
||||
* 联系方式
|
||||
*/
|
||||
@Excel(name = "*手机号码", isRegex = RegexConstants.PHONE )
|
||||
@Excel(name = "*手机号码", required = true, isRegex = RegexConstants.PHONE )
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
|
|
@ -133,13 +139,13 @@ public class BasePersonBean {
|
|||
/**
|
||||
* 紧急联系人
|
||||
*/
|
||||
@Excel(name = "亲属.*紧急联系人")
|
||||
@Excel(name = "亲属.*紧急联系人" , required = true)
|
||||
private String urgentPerson;
|
||||
|
||||
/**
|
||||
* 紧急联系人电话
|
||||
*/
|
||||
@Excel(name = "*紧急联系人电话")
|
||||
@Excel(name = "*紧急联系人电话",required = true,isRegex = RegexConstants.PHONE)
|
||||
private String urgentPersonPhone;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
<insert id="insertBasePersonBankData">
|
||||
replace into bm_worker_bank
|
||||
(`id_number`, `bank_card`, `bank_name`,`bank_inter`)
|
||||
(`id_number`, `bank_card`, `bank_name`,`ROLL_BANK_NAME`)
|
||||
values
|
||||
<foreach item="params" collection="list" separator=",">
|
||||
(#{params.idNumber},#{params.bankCard},#{params.bankName},#{params.bankInter})
|
||||
|
|
|
|||
|
|
@ -848,7 +848,7 @@
|
|||
bw.expiry_date,
|
||||
bwb.BANK_NAME AS bankName,
|
||||
bwb.BANK_CARD AS bankCard,
|
||||
bwb.BANK_INTER AS bankBranch,
|
||||
bwb.ROLL_BANK_NAME AS bankBranch,
|
||||
bwc.contractCode,
|
||||
bwc.laborContractType,
|
||||
bwc.contractValidDate,
|
||||
|
|
@ -1152,7 +1152,7 @@
|
|||
bw.expiry_date,
|
||||
bwb.BANK_NAME AS bankName,
|
||||
bwb.BANK_CARD AS bankCard,
|
||||
bwb.BANK_INTER AS bankBranch,
|
||||
bwb.ROLL_BANK_NAME AS bankBranch,
|
||||
bwc.contractCode,
|
||||
bwc.laborContractType,
|
||||
bwc.contractValidDate,
|
||||
|
|
|
|||
|
|
@ -105,14 +105,14 @@ function init() {
|
|||
return c;
|
||||
}
|
||||
},
|
||||
{"data": "name", "defaultContent": "", "width": "4%"},
|
||||
{"data": "postName", "defaultContent": "", "width": "4%"},
|
||||
{"data": "companyName", "defaultContent": "", "width": "4%"},
|
||||
{"data": "proName", "defaultContent": "", "width": "5%"},
|
||||
{"data": "subName", "defaultContent": "", "width": "5%"},
|
||||
{"data": "name", "defaultContent": "", "width": "10%"},
|
||||
{"data": "postName", "defaultContent": "", "width": "10%"},
|
||||
{"data": "companyName", "defaultContent": "", "width": "10%"},
|
||||
{"data": "proName", "defaultContent": "", "width": "15%"},
|
||||
{"data": "subName", "defaultContent": "", "width": "15%"},
|
||||
{"data": "teamName", "defaultContent": "", "width": "5%"},
|
||||
{"data": "einTime", "defaultContent": "", "width": "5%"},
|
||||
{"data": "exitTime", "defaultContent": "", "width": "5%"},
|
||||
{"data": "einTime", "defaultContent": "", "width": "15%"},
|
||||
{"data": "exitTime", "defaultContent": "", "width": "15%"},
|
||||
{"data": "contractId", "defaultContent": "", "width": "5%"},
|
||||
{
|
||||
"data": "", "defaultContent": "", "width": "5%",
|
||||
|
|
|
|||
|
|
@ -18,6 +18,14 @@ function setData(idNumber,einTime){
|
|||
size: 1024*30, //最大文件大小,单位k
|
||||
bindAction: '#hideUploadCheckup', //绑定的按钮
|
||||
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) {
|
||||
flag = false;
|
||||
// 清空现有预览和文件信息
|
||||
|
|
|
|||
|
|
@ -18,6 +18,14 @@ function setData(idNumber,einTime){
|
|||
size: 1024*30, //最大文件大小,单位k
|
||||
bindAction: '#hideUploadCheckup', //绑定的按钮
|
||||
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) {
|
||||
flag = false;
|
||||
// 清空现有预览和文件信息
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
<meta charset="UTF-8">
|
||||
<title>出场证明-上传</title>
|
||||
<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">
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -40,7 +41,8 @@
|
|||
|
||||
<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="../../../../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/dict.js"></script>
|
||||
<script type="text/javascript" src="../../../../js/select.js"></script>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
<meta charset="UTF-8">
|
||||
<title>出场证明-上传</title>
|
||||
<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">
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -40,7 +41,8 @@
|
|||
|
||||
<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="../../../../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/dict.js"></script>
|
||||
<script type="text/javascript" src="../../../../js/select.js"></script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue