bug修改

This commit is contained in:
lSun 2025-06-05 16:42:27 +08:00
parent ba169625aa
commit 279e5837cd
10 changed files with 133 additions and 39 deletions

View File

@ -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);
}
/**
* 时间类型转换
*/

View File

@ -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
{

View File

@ -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;
/**

View File

@ -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})

View File

@ -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,

View File

@ -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%",

View File

@ -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;
// 清空现有预览和文件信息

View File

@ -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;
// 清空现有预览和文件信息

View File

@ -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>

View File

@ -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>