diff --git a/common/common-core/src/main/java/com/bonus/common/core/utils/DateUtils.java b/common/common-core/src/main/java/com/bonus/common/core/utils/DateUtils.java index d1e5ad0..1017497 100644 --- a/common/common-core/src/main/java/com/bonus/common/core/utils/DateUtils.java +++ b/common/common-core/src/main/java/com/bonus/common/core/utils/DateUtils.java @@ -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); + } + /** * 时间类型转换 */ diff --git a/common/common-core/src/main/java/com/bonus/common/core/utils/poi/ExcelUtil.java b/common/common-core/src/main/java/com/bonus/common/core/utils/poi/ExcelUtil.java index b2c0acd..c682bb3 100644 --- a/common/common-core/src/main/java/com/bonus/common/core/utils/poi/ExcelUtil.java +++ b/common/common-core/src/main/java/com/bonus/common/core/utils/poi/ExcelUtil.java @@ -315,13 +315,32 @@ public class ExcelUtil } 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 } 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 { 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 } } } - 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 } 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 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 { diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/entity/BasePersonBean.java b/modules/bmw/src/main/java/com/bonus/bmw/person/entity/BasePersonBean.java index 19ad174..3a893b5 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/entity/BasePersonBean.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/entity/BasePersonBean.java @@ -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; /** diff --git a/modules/bmw/src/main/resources/mapper/person/BasePersonMapper.xml b/modules/bmw/src/main/resources/mapper/person/BasePersonMapper.xml index 7e98bec..64a0b12 100644 --- a/modules/bmw/src/main/resources/mapper/person/BasePersonMapper.xml +++ b/modules/bmw/src/main/resources/mapper/person/BasePersonMapper.xml @@ -24,7 +24,7 @@ replace into bm_worker_bank - (`id_number`, `bank_card`, `bank_name`,`bank_inter`) + (`id_number`, `bank_card`, `bank_name`,`ROLL_BANK_NAME`) values (#{params.idNumber},#{params.bankCard},#{params.bankName},#{params.bankInter}) diff --git a/modules/bmw/src/main/resources/mapper/person/PersonComprehensiveMapper.xml b/modules/bmw/src/main/resources/mapper/person/PersonComprehensiveMapper.xml index 60c56c2..b60b562 100644 --- a/modules/bmw/src/main/resources/mapper/person/PersonComprehensiveMapper.xml +++ b/modules/bmw/src/main/resources/mapper/person/PersonComprehensiveMapper.xml @@ -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, diff --git a/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/InOutRecordList.js b/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/InOutRecordList.js index 796652d..7a8be9e 100644 --- a/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/InOutRecordList.js +++ b/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/InOutRecordList.js @@ -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%", diff --git a/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/exitProvePath.js b/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/exitProvePath.js index 6b82f64..ec8fd70 100644 --- a/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/exitProvePath.js +++ b/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/exitProvePath.js @@ -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; // 清空现有预览和文件信息 diff --git a/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/salaryApplicationPath.js b/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/salaryApplicationPath.js index 05dbed2..7d528c9 100644 --- a/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/salaryApplicationPath.js +++ b/modules/bmw/src/main/resources/static/js/work/Person/InOutSpace/salaryApplicationPath.js @@ -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; // 清空现有预览和文件信息 diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/InOutSpace/exitProvePath.html b/modules/bmw/src/main/resources/static/pages/work/Person/InOutSpace/exitProvePath.html index b747664..fd06553 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/InOutSpace/exitProvePath.html +++ b/modules/bmw/src/main/resources/static/pages/work/Person/InOutSpace/exitProvePath.html @@ -4,7 +4,8 @@ 出场证明-上传 - + + @@ -40,7 +41,8 @@ - + + diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/InOutSpace/salaryApplicationPath.html b/modules/bmw/src/main/resources/static/pages/work/Person/InOutSpace/salaryApplicationPath.html index ef374f7..f5d94be 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/InOutSpace/salaryApplicationPath.html +++ b/modules/bmw/src/main/resources/static/pages/work/Person/InOutSpace/salaryApplicationPath.html @@ -4,7 +4,8 @@ 出场证明-上传 - + + @@ -40,7 +41,8 @@ - + +