<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE excels PUBLIC "-//PAOHAIJIAO//DTD API EXCEL 1.0//EN"
        "classpath:paohaijiao/dtd/Jquick-excel.dtd">
<excels namespace="com.github.paohaijiao.biz.validation.Validation0012EmployeeInfoReportService">

    <!-- 导出：员工信息填报表 -->
    <excel name="exportEmployeeInfo" returnClass="void">
        <![CDATA[
            EXPORT WITH SHEET="员工信息填报表", HEADER=true,
                MAPPING={"a":"工号","b":"姓名","c":"部门","d":"年龄","e":"入职日期","f":"月薪","g":"邮箱","h":"手机号"},
                FORMAT={"d":"0","e":"yyyy-MM-dd","f":"#,##0.00"},
                FORMULAS={D5:'AVERAGE(D2:D4)',F5:'SUM(F2:F4)'},
                STYLE={ROW 5:{bold:true,fillPattern:solid_foreground,fillForegroundColor:lightYellow,alignment:right,verticalAlignment:center}}
        ]]>
    </excel>

    <!-- 导入解析：读取填报结果并逐项校验（校验不通过时抛出异常，异常信息即规则 msg） -->
    <excel name="importEmployeeInfo" returnClass="java.util.List">
        <![CDATA[
            IMPORT WITH SHEET="员工信息填报表", HEADER=true,
                MAPPING={"工号":"code","姓名":"name","部门":"dept","年龄":"age","入职日期":"hireDate","月薪":"salary","邮箱":"email","手机号":"phone"},
                VALIDATION={
                    COL A:{max_length{required:true,msg:'工号最长10位',map:{maxLength:10}}},
                    A2:A4:{min_length{required:true,msg:'工号至少4位',map:{minLength:4}}},
                    B2:B4:{min_length{required:true,msg:'姓名至少2个字',map:{minLength:2}}},
                    C2:C4:{dict{required:true,msg:'部门必须在字典内（研发部/市场部/财务部）',map:{'研发部':'研发部','市场部':'市场部','财务部':'财务部'}}},
                    D2:D4:{integer{required:true,msg:'年龄必须是整数'}},
                    D2:D4:{min_value{required:true,msg:'年龄不能小于18',map:{minValue:18}}},
                    D2:D4:{max_value{required:true,msg:'年龄不能超过60',map:{maxValue:60}}},
                    G2:G4:{email{required:true,msg:'邮箱格式无效'}},
                    H2:H4:{mobile{required:true,msg:'手机号格式无效'}},
                    H2:H4:{regex{required:true,msg:'手机号必须是11位且以1[3-9]开头',map:{pattern:'^1[3-9][0-9]{9}$'}}}
                }
        ]]>
    </excel>

</excels>
