Pārlūkot izejas kodu

人员信息导出以及添加最高学历字段

[user3] 3 gadi atpakaļ
vecāks
revīzija
48a1c5319e

+ 11 - 2
src/main/java/com/jeeplus/modules/workstaff/entity/WorkStaffBasicInfo.java

@@ -107,6 +107,7 @@ public class WorkStaffBasicInfo extends DataEntity<WorkStaffBasicInfo> {
     private String tryOutJob;   //试用岗位
     private String trialPeriod;   //试用期(月)
 	private String individualResume;   //个人简介
+	private String highestEducation;	//最高学历
 
 	//劳动关系临时属性
 	private String relationshipStatus;
@@ -232,7 +233,7 @@ public class WorkStaffBasicInfo extends DataEntity<WorkStaffBasicInfo> {
 		super(id);
 	}
 
-	@ExcelField(title="部门", fieldType=Office.class, value="office.name", align=2, sort=1)
+	@ExcelField(title="部门", fieldType=Office.class, value="office.name", align=2, sort=6)
 	public Office getOffice() {
 		return office;
 	}
@@ -248,7 +249,7 @@ public class WorkStaffBasicInfo extends DataEntity<WorkStaffBasicInfo> {
 	public void setCompany(Office company) {
 		this.company = company;
 	}
-	
+
 	@ExcelField(title="工    号", align=2, sort=2)
 	public String getNo() {
 		return no;
@@ -808,4 +809,12 @@ public class WorkStaffBasicInfo extends DataEntity<WorkStaffBasicInfo> {
 	public void setIndividualResume(String individualResume) {
 		this.individualResume = individualResume;
 	}
+
+	public String getHighestEducation() {
+		return highestEducation;
+	}
+
+	public void setHighestEducation(String highestEducation) {
+		this.highestEducation = highestEducation;
+	}
 }

+ 144 - 0
src/main/java/com/jeeplus/modules/workstaff/entity/WorkStaffBasicInfoExcel.java

@@ -0,0 +1,144 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.workstaff.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.common.persistence.DataEntity;
+import com.jeeplus.common.utils.excel.annotation.ExcelField;
+import com.jeeplus.modules.sys.entity.Area;
+import com.jeeplus.modules.sys.entity.Office;
+import com.jeeplus.modules.workjobgrade.entity.WorkJobGrade;
+import com.jeeplus.modules.workrelationship.entity.WorkRelationship;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 员工基本信息 导出Entity
+ * @author ssrh
+ * @version 2018-07-26
+ */
+public class WorkStaffBasicInfoExcel extends DataEntity<WorkStaffBasicInfoExcel> {
+	private String name;		// 姓    名
+	private String idCard;		// 身份证号码
+	private String age;		// 年    龄
+	private String gender;		// 性    别
+	private String mobile;		// 移动电话
+	private String officeName;		// 部门名称
+	private Date entryDate;		// 入职日期
+	private String status;		// 员工状态
+	private String highestEducation;	//最高学历
+	private String certificateName; //执业资格证书
+	private String certificateNum; //执业资格证书编号
+	private Date certificateDate; //执业资格证书发证日期
+
+	@ExcelField(title="姓    名", align=2, sort=1)
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+	@ExcelField(title="身份证号码", align=2, sort=2)
+	public String getIdCard() {
+		return idCard;
+	}
+
+	public void setIdCard(String idCard) {
+		this.idCard = idCard;
+	}
+
+	@ExcelField(title="年    龄", align=2, sort=3)
+	public String getAge() {
+		return age;
+	}
+
+	public void setAge(String age) {
+		this.age = age;
+	}
+
+	@ExcelField(title="性    别", align=2, sort=4)
+	public String getGender() {
+		return gender;
+	}
+
+	public void setGender(String gender) {
+		this.gender = gender;
+	}
+
+	@ExcelField(title="手机号", align=2, sort=5)
+	public String getMobile() {
+		return mobile;
+	}
+
+	public void setMobile(String mobile) {
+		this.mobile = mobile;
+	}
+
+	@ExcelField(title="部    门", align=2, sort=6)
+	public String getOfficeName() {
+		return officeName;
+	}
+
+	public void setOfficeName(String officeName) {
+		this.officeName = officeName;
+	}
+
+	@JsonFormat(pattern = "yyyy-MM-dd")
+	@ExcelField(title="入职日期", align=2, sort=7)
+	public Date getEntryDate() {
+		return entryDate;
+	}
+
+	public void setEntryDate(Date entryDate) {
+		this.entryDate = entryDate;
+	}
+
+	@ExcelField(title="员工状态", align=2, sort=8)
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	@ExcelField(title="最高学历", align=2, sort=9)
+	public String getHighestEducation() {
+		return highestEducation;
+	}
+
+	public void setHighestEducation(String highestEducation) {
+		this.highestEducation = highestEducation;
+	}
+
+	@ExcelField(title="执业资格证书", align=2, sort=10)
+	public String getCertificateName() {
+		return certificateName;
+	}
+
+	public void setCertificateName(String certificateName) {
+		this.certificateName = certificateName;
+	}
+
+	@ExcelField(title="证书编号", align=2, sort=11)
+	public String getCertificateNum() {
+		return certificateNum;
+	}
+
+	public void setCertificateNum(String certificateNum) {
+		this.certificateNum = certificateNum;
+	}
+	@JsonFormat(pattern = "yyyy-MM-dd")
+	@ExcelField(title="发证日期", align=2, sort=12)
+	public Date getCertificateDate() {
+		return certificateDate;
+	}
+
+	public void setCertificateDate(Date certificateDate) {
+		this.certificateDate = certificateDate;
+	}
+}

+ 48 - 5
src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java

@@ -22,10 +22,7 @@ import com.jeeplus.common.utils.MenuStatusEnum;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.modules.sys.dao.AreaDao;
 import com.jeeplus.modules.sys.dao.UserDao;
-import com.jeeplus.modules.sys.entity.Area;
-import com.jeeplus.modules.sys.entity.Office;
-import com.jeeplus.modules.sys.entity.Role;
-import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.entity.*;
 import com.jeeplus.modules.sys.service.*;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
@@ -987,5 +984,51 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         return workStaffAchivesDao.getJob(userId);
     }
 
-
+    public List<WorkStaffBasicInfoExcel> getExcelData(Page<WorkStaffBasicInfo> page){
+        List<WorkStaffBasicInfoExcel> excels=new ArrayList<>();
+        for (WorkStaffBasicInfo info:page.getList()){
+            info = this.getByAchiveId(info);
+            WorkStaffCertificate entity = new WorkStaffCertificate();
+            entity.setStaffId(info.getAchiveId());
+            info.setCertificateList(certificateService.findList(entity));
+            WorkStaffBasicInfoExcel infoExcel=new WorkStaffBasicInfoExcel();
+            infoExcel.setName(info.getName());
+            infoExcel.setIdCard(info.getIdCard());
+            Integer age=info.getAge();
+            if (null!=age){
+                infoExcel.setAge(age.toString());
+            }else{
+                infoExcel.setAge("");
+            }
+            if (info.getGender().equals("1")){
+                infoExcel.setGender("男");
+            }else{
+                infoExcel.setGender("女");
+            }
+            infoExcel.setMobile(info.getMobile());
+            infoExcel.setOfficeName(info.getOffice().getName());
+            infoExcel.setEntryDate(info.getEntryDate());
+            infoExcel.setStatus(info.getStatus());
+            infoExcel.setHighestEducation(info.getHighestEducation());
+            if (info.getCertificateList().size()>0){
+                WorkStaffCertificate certificate=info.getCertificateList().get(0);
+                infoExcel.setCertificateName(certificate.getName());
+                List<MainDictDetail> certificateType = DictUtils.getMainDictList("certificate_type");
+                for (MainDictDetail type : certificateType) {
+                    if(certificate.getName().equals(type.getValue())){
+                        infoExcel.setCertificateName(type.getLabel());
+                        break;
+                    }
+                }
+                infoExcel.setCertificateNum(certificate.getNum());
+                infoExcel.setCertificateDate(certificate.getIssuingDate());
+            }else{
+                infoExcel.setCertificateName("");
+                infoExcel.setCertificateNum("");
+                infoExcel.setCertificateDate(null);
+            }
+            excels.add(infoExcel);
+        }
+        return excels;
+    }
 }

+ 7 - 1
src/main/java/com/jeeplus/modules/workstaff/web/WorkStaffBasicInfoController.java

@@ -32,6 +32,7 @@ import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import com.jeeplus.modules.workreceiptsregister.entity.ResponseEntity;
 import com.jeeplus.modules.workrelationship.entity.WorkRelationship;
 import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;
+import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfoExcel;
 import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
 import com.jeeplus.modules.workstaff.entity.WorkStaffCertificateImport;
 import com.jeeplus.modules.workstaff.service.WorkStaffBasicInfoService;
@@ -123,6 +124,10 @@ public class WorkStaffBasicInfoController extends BaseController {
 		}
 		Page<WorkStaffBasicInfo> page = workStaffBasicInfoService.findPage(new Page<WorkStaffBasicInfo>(request, response), workStaffBasicInfo);
 		List<WorkStaffBasicInfo> list = page.getList();
+		for (WorkStaffBasicInfo info:list){
+			info.setRoleId(roleService.getRoleIdByUserId(info.getUserId()));
+			info.setRoleName(roleService.get(info.getRoleId()).getName());
+		}
 		model.addAttribute("page", page);
 		return "modules/workstaff/workStaffBasicInfoList";
 	}
@@ -435,7 +440,8 @@ public class WorkStaffBasicInfoController extends BaseController {
 		try {
             String fileName = "员工信息"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
             Page<WorkStaffBasicInfo> page = workStaffBasicInfoService.findPage(new Page<WorkStaffBasicInfo>(request, response, -1), workStaffBasicInfo);
-    		new ExportExcel(true,"员工信息", WorkStaffBasicInfo.class,1).setDataList(page.getList()).write(response, fileName).dispose();
+			List<WorkStaffBasicInfoExcel> excelData=workStaffBasicInfoService.getExcelData(page);
+            new ExportExcel("员工信息", WorkStaffBasicInfoExcel.class).setDataList(excelData).write(response, fileName).dispose();
             addMessage(redirectAttributes, "导出员工信息记录成功!");
     		return null;
 		} catch (Exception e) {

+ 8 - 4
src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml

@@ -57,7 +57,8 @@
 		a.qq_id AS "qqId",
 		a.try_out_job AS "tryOutJob",
 		a.trial_period AS "trialPeriod",
-		a.individual_resume AS "individualResume"
+		a.individual_resume AS "individualResume",
+		a.highest_education As "highestEducation"
 <!--		ur.role_id AS "roleId",-->
 <!--		r.name AS "roleName"-->
 	</sql>
@@ -350,7 +351,8 @@
 			qq_id,
 			try_out_job,
 			trial_period,
-			individual_resume
+			individual_resume,
+			highest_education
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -399,7 +401,8 @@
 			#{qqId},
 			#{tryOutJob},
 			#{trialPeriod},
-			#{individualResume}
+			#{individualResume},
+			#{highestEducation}
 		)
 	</insert>
 
@@ -448,7 +451,8 @@
 			qq_id = #{qqId},
 			try_out_job = #{tryOutJob},
 			trial_period = #{trialPeriod},
-			individual_resume = #{individualResume}
+			individual_resume = #{individualResume},
+			highest_education = #{highestEducation}
 		WHERE id = #{id}
 	</update>
 

+ 6 - 0
src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoForm.jsp

@@ -594,6 +594,12 @@
                         </select>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label"><span class="require-item">*</span>最高学历:</label>
+                    <div class="layui-input-block ">
+                        <form:input placeholder="请输入最高学历" path="highestEducation" htmlEscape="false" class="form-control layui-input required" maxlength="64"/>
+                    </div>
+                </div>
                 <div class="layui-item layui-col-sm12  lw7 with-textarea">
                     <label class="layui-form-label">备注:</label>
                     <div class="layui-input-block">

+ 5 - 3
src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoList.jsp

@@ -250,8 +250,9 @@
                 ,{field:'idCard',align:'center', title: '身份证号码',minWidth:150}
                 ,{field:'mobile',align:'center', title: '移动电话', minWidth:100}
                 ,{field:'office',align:'center', title: '部门', minWidth:100}
-                // ,{field:'role',align:'center', title: '岗位', minWidth:100}
-                ,{field:'jobGrade',align:'center', title: '职级', minWidth:100}
+                ,{field:'role',align:'center', title: '岗位', minWidth:100}
+                ,{field:'highestEducation',align:'center', title: '最高学历', minWidth:100}
+                // ,{field:'jobGrade',align:'center', title: '职级', minWidth:100}
                 /*,{field:'auditUserName',align:'center', title: '校审人员', minWidth:100
                     ,event:'auditUserId',config:{type:'select',data:params,verify:true}
                     ,templet:function (d) {
@@ -287,7 +288,7 @@
                     ,"id":"${workStaffBasicInfo.id}"
                     ,"auditUserId":"${workStaffBasicInfo.auditUserId}"
                     ,"auditUserName":"${workStaffBasicInfo.auditUserName}"
-                    <%--,"role":"${workStaffBasicInfo.roleName}"--%>
+                    ,"role":"${workStaffBasicInfo.roleName}"
                     ,"no":"<c:out value="${workStaffBasicInfo.no}" escapeXml="true"/>"
                     ,"name":"<c:out value="${workStaffBasicInfo.name}" escapeXml="false"/>"
                     ,"idCard":"<c:out value="${workStaffBasicInfo.idCard}" escapeXml="true"/>"
@@ -295,6 +296,7 @@
                     ,'office':"<c:out value="${workStaffBasicInfo.office.name}" escapeXml="true"/>"
                     ,'jobGrade':"<c:out value="${workStaffBasicInfo.jobGrade.name}" escapeXml="true"/>"
                     ,'status':"<c:out value="${workStaffBasicInfo.status}" escapeXml="true"/>"
+                    ,'highestEducation':"<c:out value="${workStaffBasicInfo.highestEducation}"/>"
                     ,"entryDate":"<fmt:formatDate value="${workStaffBasicInfo.entryDate}" pattern="yyyy-MM-dd"/>"
                     <shiro:hasPermission name="workstaff:workStaffBasicInfo:edit">,"canedit":"1"</shiro:hasPermission>
                     <shiro:hasPermission name="workstaff:workStaffBasicInfo:del">,"candelete":"1"</shiro:hasPermission>