| | |
| | | cell.setPhrase(new Phrase(value, font)); |
| | | return cell; |
| | | } |
| | | private PdfPCell createCells(String value, Font font) { |
| | | PdfPCell cell = new PdfPCell(); |
| | | cell.setVerticalAlignment(Element.ALIGN_MIDDLE); |
| | | cell.setHorizontalAlignment(Element.ALIGN_CENTER); |
| | | cell.setPhrase(new Phrase(value, font)); |
| | | return cell; |
| | | } |
| | | |
| | | /** |
| | | * 为表格添加一个内容 |
| | |
| | | DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); |
| | | document.addHeader("标题","标题"); |
| | | EmpBaseInfo empBaseInfo = empBaseInfoList.get(0); |
| | | PdfPTable workheadtable = createTable(workheadlength); |
| | | PdfPTable empPhysicalheadtable = createTable(empPhysicalheadlength); |
| | | PdfPTable empContractInfotable = createTable(empContractInfolength); |
| | | PdfPTable empJobChangetable = createTable(empJobChangelength); |
| | | PdfPTable leaveInfotable = createTable(leaveInfolength); |
| | | PdfPTable resigntable = createTable(resignlength); |
| | | PdfPTable dimissionAttendtable = createTable(dimissionAttendlength); |
| | | PdfPTable dimissionLogtable = createTable(dimissionLoglength); |
| | | PdfPTable unemploymenttable = createTable(unemploymentlength); |
| | | PdfPTable insurancetable = createTable(insurancelength); |
| | | PdfPTable accidentCasestable = createTable(accidentCaseslength); |
| | | float[] ls={1.0f,3.0f,3.0f,3.0f,3.0f}; |
| | | PdfPTable workheadtable = createTable(ls); |
| | | PdfPTable empPhysicalheadtable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable empContractInfotable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable empJobChangetable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable leaveInfotable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable resigntable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable dimissionAttendtable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable dimissionLogtable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable unemploymenttable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable insurancetable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable accidentCasestable = createTable(new float[]{2.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable occtable = createTable(occupationallength); |
| | | PdfPTable laborTroubletable = createTable(laborTroublelength); |
| | | PdfPTable badRecordtable = createTable(badRecordlength); |
| | | PdfPTable remarkInfotable = createTable(remarkInfolength); |
| | | PdfPTable laborTroubletable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable badRecordtable = createTable(new float[]{1.0f,3.0f,3.0f,3.0f,3.0f}); |
| | | PdfPTable remarkInfotable = createTable(new float[]{1.0f,3.0f,3.0f}); |
| | | Object[][] basicDatas = { |
| | | {"编号",empBaseInfo.getEmpNumb(), |
| | | "姓名",empBaseInfo.getEmpName(), |
| | |
| | | cell1.setPhrase(para); |
| | | table1.addCell(cell1); |
| | | Image img =null; |
| | | String image="http://120.24.23.155:8301/hr/empBaseInfo/image/"+empBaseInfo.getEmpId()+""; |
| | | try { |
| | | img = Image.getInstance("http://120.24.23.155:8301/hr/empBaseInfo/image/"+empBaseInfo.getEmpId()+""); |
| | | img = Image.getInstance(image); |
| | | } catch (BadElementException e) { |
| | | e.printStackTrace(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | img.setAlignment(Element.ALIGN_LEFT); |
| | | img.scaleAbsolute(120,125); |
| | | System.out.println(img.getScaledWidth()); |
| | | |
| | | System.out.println(img.getScaledHeight()); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | if(img!=null){ |
| | | img.setAlignment(Element.ALIGN_LEFT); |
| | | img.scaleAbsolute(120,125); |
| | | } |
| | | |
| | | // 每个cell的宽度 |
| | | float[] widthss = {400, 400, 400, 400,400, 400}; |
| | |
| | | PdfPTable basicTable = new PdfPTable(widthss); |
| | | basicTable.addCell(createCell("基本信息:", keyfont, Element.ALIGN_LEFT,basicDatas.length, false)); |
| | | |
| | | basicTable.addCell(createCell("档案号:"+empBaseInfo.getArchivesNumb()==null?"":empBaseInfo.getArchivesNumb(), keyfont, Element.ALIGN_RIGHT,basicDatas.length, false)); |
| | | basicTable.addCell(createCell("档案号:"+empBaseInfo.getArchivesNumb(), keyfont, Element.ALIGN_RIGHT,basicDatas.length, false)); |
| | | // 添加备注,靠左,不显示边框 |
| | | // 外层循环表格的行 |
| | | for (int i = 0; i < basicDatas.length; i++) { |
| | |
| | | for (int i = 0; i < remarkInfolength; i++) { |
| | | remarkInfotable.addCell(createCell(remarkInfo[i], keyfont, Element.ALIGN_CENTER)); |
| | | } |
| | | |
| | | int re=1; |
| | | if (null != empWorkExperiences1 && empWorkExperiences1.size() > 0) { |
| | | int size = empWorkExperiences1.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpWorkExperience user = empWorkExperiences1.get(i-1); |
| | | workheadtable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpWorkExperience user = empWorkExperiences1.get(i); |
| | | workheadtable.addCell(createCells(String.valueOf(re++), textfont)); |
| | | workheadtable.addCell(createCell(user.getBeginDate()==null?"":format1.format(user.getBeginDate()), textfont)); |
| | | workheadtable.addCell(createCell(user.getEndDate()==null?"":format1.format(user.getEndDate()), textfont)); |
| | | workheadtable.addCell(createCell(user.getWorkUnit()==null?"":user.getWorkUnit(), textfont)); |
| | | workheadtable.addCell(createCell(user.getJobContent()==null?"":user.getJobContent() , textfont)); |
| | | } |
| | | } |
| | | int re1=1; |
| | | if (null != records && records.size() > 0) { |
| | | int size = records.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpPhysicalExam user = records.get(i-1); |
| | | empPhysicalheadtable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpPhysicalExam user = records.get(i); |
| | | empPhysicalheadtable.addCell(createCells(String.valueOf(re1++), textfont)); |
| | | empPhysicalheadtable.addCell(createCell(user.getHospital()==null?"":user.getHospital(), textfont)); |
| | | empPhysicalheadtable.addCell(createCell(user.getPhysicalExamDate()==null?"":format1.format(user.getPhysicalExamDate()), textfont)); |
| | | empPhysicalheadtable.addCell(createCell(user.getPhysicalExamTypeName()==null?"":user.getPhysicalExamTypeName(), textfont)); |
| | |
| | | empPhysicalheadtable.addCell(createCell(user.getRemark()==null?"":user.getRemark(), textfont)); |
| | | } |
| | | } |
| | | int re2=1; |
| | | if (null != empContractInfos && empContractInfos.size() > 0) { |
| | | int size = empContractInfos.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpContractInfo user = empContractInfos.get(i-1); |
| | | empContractInfotable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpContractInfo user = empContractInfos.get(i); |
| | | empContractInfotable.addCell(createCells(String.valueOf(re2++), textfont)); |
| | | empContractInfotable.addCell(createCell(user.getSigningDate()==null?"":format1.format(user.getSigningDate()), textfont)); |
| | | empContractInfotable.addCell(createCell(user.getEndDate()==null?"":format1.format(user.getEndDate()), textfont)); |
| | | empContractInfotable.addCell(createCell(user.getContractPeriod()==null?"":String.valueOf(user.getContractPeriod()), textfont)); |
| | |
| | | empContractInfotable.addCell(createCell(user.getTransactor()==null?"":user.getTransactor() , textfont)); |
| | | } |
| | | } |
| | | int re3=1; |
| | | if (null != empJobChangeList && empJobChangeList.size() > 0) { |
| | | int size = empJobChangeList.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | Map user = empJobChangeList.get(i-1); |
| | | empJobChangetable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | Map user = empJobChangeList.get(i); |
| | | empJobChangetable.addCell(createCells(String.valueOf(re3++), textfont)); |
| | | empJobChangetable.addCell(createCell(user.get("newDeptName")==null?"":user.get("newDeptName").toString(), textfont)); |
| | | empJobChangetable.addCell(createCell(user.get("newJobName")==null?"":user.get("newJobName").toString(), textfont)); |
| | | empJobChangetable.addCell(createCell(user.get("empName")==null?"":user.get("empName").toString(), textfont)); |
| | |
| | | empJobChangetable.addCell(createCell(user.get("changeType")==null?"":user.get("changeType").toString(), textfont)); |
| | | } |
| | | } |
| | | int re4=1; |
| | | if (null != records1 && records1.size() > 0) { |
| | | int size = records1.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | Map user = records1.get(i-1); |
| | | dimissionLogtable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | Map user = records1.get(i); |
| | | dimissionLogtable.addCell(createCells(String.valueOf(re4++), textfont)); |
| | | dimissionLogtable.addCell(createCell(user.get("entryDate")==null?"":user.get("entryDate").toString(), textfont)); |
| | | dimissionLogtable.addCell(createCell(user.get("dimissionDate")==null?"":user.get("dimissionDate").toString(), textfont)); |
| | | dimissionLogtable.addCell(createCell(user.get("dimissionType")==null?"":user.get("dimissionType").toString(), textfont)); |
| | |
| | | dimissionLogtable.addCell(createCell(user.get("remark")==null?"":user.get("remark").toString(), textfont)); |
| | | } |
| | | } |
| | | int re5=1; |
| | | if (null != empLeaveInfos && empLeaveInfos.size() > 0) { |
| | | int size = empLeaveInfos.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpLeaveInfo user = empLeaveInfos.get(i-1); |
| | | leaveInfotable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpLeaveInfo user = empLeaveInfos.get(i); |
| | | leaveInfotable.addCell(createCells(String.valueOf(re5++), textfont)); |
| | | leaveInfotable.addCell(createCell(user.getBeginTime()==null?"":format1.format(user.getBeginTime()), textfont)); |
| | | leaveInfotable.addCell(createCell(user.getEndTime()==null?"":format1.format(user.getEndTime()), textfont)); |
| | | leaveInfotable.addCell(createCell(user.getLeaveDay()==null?"":String.valueOf(user.getLeaveDay()), textfont)); |
| | |
| | | leaveInfotable.addCell(createCell(user.getRemark()==null?"":user.getRemark() , textfont)); |
| | | } |
| | | } |
| | | int re6=1; |
| | | if (null != empResigns && empResigns.size() > 0) { |
| | | int size = empResigns.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpResign user = empResigns.get(i-1); |
| | | resigntable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpResign user = empResigns.get(i); |
| | | resigntable.addCell(createCells(String.valueOf(re6++), textfont)); |
| | | resigntable.addCell(createCell(user.getApplayDate()==null?"":format1.format(user.getApplayDate()), textfont)); |
| | | resigntable.addCell(createCell(user.getReason()==null?"":user.getReason(), textfont)); |
| | | resigntable.addCell(createCell(user.getReporter()==null?"":user.getReporter() , textfont)); |
| | | resigntable.addCell(createCell(user.getRemark()==null?"":user.getRemark() , textfont)); |
| | | } |
| | | } |
| | | int re7=1; |
| | | if (null != dimissionAttends && dimissionAttends.size() > 0) { |
| | | int size = dimissionAttends.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpDimissionAttend user = dimissionAttends.get(i-1); |
| | | dimissionAttendtable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpDimissionAttend user = dimissionAttends.get(i); |
| | | dimissionAttendtable.addCell(createCells(String.valueOf(re7++), textfont)); |
| | | dimissionAttendtable.addCell(createCell(user.getAttendMonth()==null?"":user.getAttendMonth(), textfont)); |
| | | dimissionAttendtable.addCell(createCell(user.getAttendDays()==null?"":user.getAttendDays().toString() , textfont)); |
| | | dimissionAttendtable.addCell(createCell(user.getOvertimeDay()==null?"":user.getOvertimeDay().toString(), textfont)); |
| | |
| | | dimissionAttendtable.addCell(createCell(user.getRemark()==null?"":user.getRemark() , textfont)); |
| | | } |
| | | } |
| | | int re8=1; |
| | | if (null != empUnemployments && empUnemployments.size() > 0) { |
| | | int size = empUnemployments.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpUnemployment user = empUnemployments.get(i-1); |
| | | unemploymenttable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpUnemployment user = empUnemployments.get(i); |
| | | unemploymenttable.addCell(createCells(String.valueOf(re8++), textfont)); |
| | | unemploymenttable.addCell(createCell(user.getApplayDate()==null?"":format1.format(user.getApplayDate()), textfont)); |
| | | unemploymenttable.addCell(createCell(user.getApplayReason()==null?"":user.getApplayReason().toString() , textfont)); |
| | | unemploymenttable.addCell(createCell(user.getReporter()==null?"":user.getReporter().toString(), textfont)); |
| | |
| | | unemploymenttable.addCell(createCell(user.getRemark()==null?"":user.getRemark() , textfont)); |
| | | } |
| | | } |
| | | int re9=1; |
| | | if (null != empInsurances && empInsurances.size() > 0) { |
| | | int size = empInsurances.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpInsurance user = empInsurances.get(i-1); |
| | | insurancetable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpInsurance user = empInsurances.get(i); |
| | | insurancetable.addCell(createCells(String.valueOf(re9++), textfont)); |
| | | insurancetable.addCell(createCell(user.getApplayDate()==null?"":format1.format(user.getApplayDate()), textfont)); |
| | | insurancetable.addCell(createCell(user.getProposer()==null?"":user.getProposer().toString() , textfont)); |
| | | insurancetable.addCell(createCell(user.getInsuranceGaers()==null?"":user.getInsuranceGaers().toString(), textfont)); |
| | |
| | | insurancetable.addCell(createCell(user.getRemark()==null?"":user.getRemark() , textfont)); |
| | | } |
| | | } |
| | | int re10=1; |
| | | if (null != empAccidentCases1 && empAccidentCases1.size() > 0) { |
| | | int size = empAccidentCases1.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpAccidentCases user = empAccidentCases1.get(i-1); |
| | | accidentCasestable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpAccidentCases user = empAccidentCases1.get(i); |
| | | accidentCasestable.addCell(createCells(String.valueOf(re10++), textfont)); |
| | | accidentCasestable.addCell(createCell(user.getInjuredTime()==null?"":format1.format(user.getInjuredTime()), textfont)); |
| | | accidentCasestable.addCell(createCell(user.getInjuredAddress()==null?"":user.getInjuredAddress().toString() , textfont)); |
| | | accidentCasestable.addCell(createCell(user.getInjuredPart()==null?"":user.getInjuredPart().toString(), textfont)); |
| | |
| | | accidentCasestable.addCell(createCell(user.getSettleStatusName()==null?"":user.getSettleStatusName().toString() , textfont)); |
| | | } |
| | | } |
| | | int re11=1; |
| | | if (null != empLaborTroubles && empLaborTroubles.size() > 0) { |
| | | int size = empLaborTroubles.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpLaborTrouble user = empLaborTroubles.get(i-1); |
| | | laborTroubletable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpLaborTrouble user = empLaborTroubles.get(i); |
| | | laborTroubletable.addCell(createCells(String.valueOf(re11++), textfont)); |
| | | laborTroubletable.addCell(createCell(user.getArbitrationDate()==null?"":format1.format(user.getArbitrationDate()), textfont)); |
| | | laborTroubletable.addCell(createCell(user.getArbitrationTypeName()==null?"":user.getArbitrationTypeName().toString() , textfont)); |
| | | laborTroubletable.addCell(createCell(user.getArbitrationReason()==null?"":user.getArbitrationReason().toString(), textfont)); |
| | |
| | | laborTroubletable.addCell(createCell(user.getSettleDate()==null?"":format1.format(user.getSettleDate()), textfont)); |
| | | } |
| | | } |
| | | int re12=1; |
| | | if (null != empOccupationals && empOccupationals.size() > 0) { |
| | | int size = empOccupationals.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpOccupational user = empOccupationals.get(i-1); |
| | | occtable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpOccupational user = empOccupationals.get(i); |
| | | occtable.addCell(createCells(String.valueOf(re12++), textfont)); |
| | | occtable.addCell(createCell(user.getInjuredTime()==null?"":format1.format(user.getInjuredTime()), textfont)); |
| | | occtable.addCell(createCell(user.getInjuredAddress()==null?"":user.getInjuredAddress().toString() , textfont)); |
| | | occtable.addCell(createCell(user.getInjuredPart()==null?"":user.getInjuredPart().toString(), textfont)); |
| | | occtable.addCell(createCell(user.getInjuredDescribe()==null?"":user.getInjuredDescribe().toString(), textfont)); |
| | | occtable.addCell(createCell(user.getInjuredDiacrisis()==null?"":user.getInjuredDiacrisis().toString(), textfont)); |
| | | occtable.addCell(createCell(user.getHospitalName()==null?"":user.getHospitalName().toString(), textfont)); |
| | | occtable.addCell(createCell(user.getTreatmentName()==null?"":user.getTreatmentName().toString(), textfont)); |
| | | occtable.addCell(createCell(user.getHospitalizatioFlagName()==null?"":user.getHospitalizatioFlagName().toString(), textfont)); |
| | | occtable.addCell(createCell(user.getBedNumb()==null?"":user.getBedNumb().toString(), textfont)); |
| | | occtable.addCell(createCell(user.getReportTime()==null?"":format1.format(user.getReportTime()), textfont)); |
| | |
| | | occtable.addCell(createCell(user.getSettleStatusName()==null?"":user.getSettleStatusName().toString() , textfont)); |
| | | } |
| | | } |
| | | int re13=1; |
| | | if (null != empBadRecords && empBadRecords.size() > 0) { |
| | | int size = empBadRecords.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpBadRecord user = empBadRecords.get(i-1); |
| | | badRecordtable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpBadRecord user = empBadRecords.get(i); |
| | | badRecordtable.addCell(createCells(String.valueOf(re13++), textfont)); |
| | | badRecordtable.addCell(createCell(user.getBadDate()==null?"":format1.format(user.getBadDate()), textfont)); |
| | | badRecordtable.addCell(createCell(user.getBadContent()==null?"":user.getBadContent().toString() , textfont)); |
| | | badRecordtable.addCell(createCell(user.getReporter()==null?"":user.getReporter().toString(), textfont)); |
| | | badRecordtable.addCell(createCell(user.getRemark()==null?"":user.getRemark().toString(), textfont)); |
| | | } |
| | | } |
| | | int re14=1; |
| | | if (null != empRemarkInfos && empRemarkInfos.size() > 0) { |
| | | int size = empRemarkInfos.size(); |
| | | for (int i = 1; i < size+1; i++) { |
| | | EmpRemarkInfo user = empRemarkInfos.get(i-1); |
| | | remarkInfotable.addCell(createCell(String.valueOf(i++), textfont)); |
| | | for (int i = 0; i < size; i++) { |
| | | EmpRemarkInfo user = empRemarkInfos.get(i); |
| | | remarkInfotable.addCell(createCells(String.valueOf(re14++), textfont)); |
| | | remarkInfotable.addCell(createCell(user.getRemarkDate()==null?"":format1.format(user.getRemarkDate()), textfont)); |
| | | remarkInfotable.addCell(createCell(user.getRemarkContent()==null?"":user.getRemarkContent().toString() , textfont)); |
| | | } |
| | | } |
| | | try { |
| | | document.add(table1); |
| | | document.add(img); |
| | | if(img!=null){ |
| | | document.add(img); |
| | | } |
| | | // 将表格添加到文档中 |
| | | document.add(basicTable); |
| | | document.add(workheadtable); |
| | |
| | | document.close(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 提供外界调用的接口,生成以head为表头,list为数据的pdf |
| | | * |