Browse Source

1、增加职位模板管理

rayson 1 năm trước cách đây
mục cha
commit
290614a878

+ 2 - 0
src/main/java/com/thinkgem/jeesite/modules/recruitment/dao/MdePositionDao.java

@@ -22,5 +22,7 @@ public interface MdePositionDao extends CrudDao<MdePosition> {
 	 * @return
 	 */
 	public List<MdePosition> findAllPosition();
+
+	public MdePosition getId(Integer id);
 	
 }

+ 30 - 3
src/main/java/com/thinkgem/jeesite/modules/recruitment/entity/MdePosition.java

@@ -16,7 +16,11 @@ public class MdePosition extends DataEntity<MdePosition> {
 	private String positionNameCn;		// 职位名称-中文
 	private String positionNameEn;		// 职位名称-英文
 	private String positionGrade;		// 职位等级
-	private String versionNo;		// 数据版本号[默认为1]
+	private String  requirement; // 默认职位要求
+	private String  describe; // 默认职位内容
+	private String versionNo; // 数据版本号[默认为1]
+
+	private String depdName; // 部门名称
 	
 	public MdePosition() {
 		super();
@@ -70,7 +74,23 @@ public class MdePosition extends DataEntity<MdePosition> {
 	public void setPositionGrade(String positionGrade) {
 		this.positionGrade = positionGrade;
 	}
-	
+
+	public String getRequirement() {
+		return requirement;
+	}
+
+	public void setRequirement(String requirement) {
+		this.requirement = requirement;
+	}
+
+	public String getDescribe() {
+		return describe;
+	}
+
+	public void setDescribe(String describe) {
+		this.describe = describe;
+	}
+
 	@Length(min=1, max=11, message="数据版本号[默认为1]长度必须介于 1 和 11 之间")
 	public String getVersionNo() {
 		return versionNo;
@@ -79,5 +99,12 @@ public class MdePosition extends DataEntity<MdePosition> {
 	public void setVersionNo(String versionNo) {
 		this.versionNo = versionNo;
 	}
-	
+
+	public String getDepdName() {
+		return depdName;
+	}
+
+	public void setDepdName(String depdName) {
+		this.depdName = depdName;
+	}
 }

+ 8 - 0
src/main/java/com/thinkgem/jeesite/modules/recruitment/service/MdeDepartmentService.java

@@ -5,6 +5,7 @@ package com.thinkgem.jeesite.modules.recruitment.service;
 
 import java.util.List;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -22,6 +23,9 @@ import com.thinkgem.jeesite.modules.recruitment.dao.MdeDepartmentDao;
 @Transactional(readOnly = true)
 public class MdeDepartmentService extends CrudService<MdeDepartmentDao, MdeDepartment> {
 
+	@Autowired
+	private MdeDepartmentDao dao;
+
 	public MdeDepartment get(String id) {
 		return super.get(id);
 	}
@@ -43,5 +47,9 @@ public class MdeDepartmentService extends CrudService<MdeDepartmentDao, MdeDepar
 	public void delete(MdeDepartment mdeDepartment) {
 		super.delete(mdeDepartment);
 	}
+
+	public List<MdeDepartment> getAllDepartments() {
+		return dao.getAllDepartments();
+	}
 	
 }

+ 10 - 0
src/main/java/com/thinkgem/jeesite/modules/recruitment/service/MdePositionService.java

@@ -3,8 +3,11 @@
  */
 package com.thinkgem.jeesite.modules.recruitment.service;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -22,9 +25,16 @@ import com.thinkgem.jeesite.modules.recruitment.dao.MdePositionDao;
 @Transactional(readOnly = true)
 public class MdePositionService extends CrudService<MdePositionDao, MdePosition> {
 
+	@Autowired
+	private MdePositionDao dao;
+
 	public MdePosition get(String id) {
 		return super.get(id);
 	}
+
+	public MdePosition getId(String id) {
+		return dao.getId(Integer.valueOf(id));
+	}
 	
 	public List<MdePosition> findList(MdePosition mdePosition) {
 		return super.findList(mdePosition);

+ 10 - 4
src/main/java/com/thinkgem/jeesite/modules/recruitment/web/MdePositionController.java

@@ -6,6 +6,7 @@ package com.thinkgem.jeesite.modules.recruitment.web;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.thinkgem.jeesite.modules.recruitment.service.MdeDepartmentService;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -23,7 +24,7 @@ import com.thinkgem.jeesite.modules.recruitment.entity.MdePosition;
 import com.thinkgem.jeesite.modules.recruitment.service.MdePositionService;
 
 /**
- * 单表生成Controller
+ * 职位生成Controller
  * @author chenc
  * @version 2018-07-02
  */
@@ -33,12 +34,15 @@ public class MdePositionController extends BaseController {
 
 	@Autowired
 	private MdePositionService mdePositionService;
+
+	@Autowired
+	private MdeDepartmentService mdeDepartmentService;
 	
 	@ModelAttribute
 	public MdePosition get(@RequestParam(required=false) String id) {
 		MdePosition entity = null;
 		if (StringUtils.isNotBlank(id)){
-			entity = mdePositionService.get(id);
+			entity = mdePositionService.getId(id);
 		}
 		if (entity == null){
 			entity = new MdePosition();
@@ -51,6 +55,7 @@ public class MdePositionController extends BaseController {
 	public String list(MdePosition mdePosition, HttpServletRequest request, HttpServletResponse response, Model model) {
 		Page<MdePosition> page = mdePositionService.findPage(new Page<MdePosition>(request, response), mdePosition); 
 		model.addAttribute("page", page);
+		model.addAttribute("mdeDepartmentList",mdeDepartmentService.getAllDepartments());
 		return "modules/recruitment/mdePositionList";
 	}
 
@@ -58,6 +63,7 @@ public class MdePositionController extends BaseController {
 	@RequestMapping(value = "form")
 	public String form(MdePosition mdePosition, Model model) {
 		model.addAttribute("mdePosition", mdePosition);
+		model.addAttribute("mdeDepartmentList",mdeDepartmentService.getAllDepartments());
 		return "modules/recruitment/mdePositionForm";
 	}
 
@@ -68,7 +74,7 @@ public class MdePositionController extends BaseController {
 			return form(mdePosition, model);
 		}
 		mdePositionService.save(mdePosition);
-		addMessage(redirectAttributes, "保存单表成功");
+		addMessage(redirectAttributes, "保存职位成功");
 		return "redirect:"+Global.getAdminPath()+"/recruitment/mdePosition/?repage";
 	}
 	
@@ -76,7 +82,7 @@ public class MdePositionController extends BaseController {
 	@RequestMapping(value = "delete")
 	public String delete(MdePosition mdePosition, RedirectAttributes redirectAttributes) {
 		mdePositionService.delete(mdePosition);
-		addMessage(redirectAttributes, "删除单表成功");
+		addMessage(redirectAttributes, "删除职位成功");
 		return "redirect:"+Global.getAdminPath()+"/recruitment/mdePosition/?repage";
 	}
 

+ 49 - 22
src/main/resources/mappings/modules/recruitment/MdePositionDao.xml

@@ -8,6 +8,8 @@
 		a.position_name_cn AS "positionNameCn",
 		a.position_name_en AS "positionNameEn",
 		a.position_grade AS "positionGrade",
+		a.requirement AS "requirement",
+		a.describe AS "describe",
 		a.version_no AS "versionNo",
 		a.create_by AS "createBy.id",
 		a.create_date AS "createDate",
@@ -18,6 +20,7 @@
 	</sql>
 	
 	<sql id="mdePositionJoins">
+		INNER JOIN mde_department d ON a.DEPD_ID = d.DEPD_ID
 	</sql>
     
 	<select id="get" resultType="MdePosition">
@@ -27,24 +30,44 @@
 		<include refid="mdePositionJoins"/>
 		WHERE a.id = #{id}
 	</select>
-	
-	<select id="findList" resultType="MdePosition">
-		SELECT 
-			<include refid="mdePositionColumns"/>
+
+	<select id="getId" resultType="MdePosition">
+		SELECT
+		<include refid="mdePositionColumns"/>
 		FROM mde_position a
 		<include refid="mdePositionJoins"/>
-		<where>
-			a.del_flag = #{DEL_FLAG_NORMAL}
-		</where>
-		<choose>
-			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
-				ORDER BY ${page.orderBy}
-			</when>
-			<otherwise>
-				ORDER BY a.update_date DESC
-			</otherwise>
-		</choose>
+		WHERE a.position_id = #{id}
 	</select>
+	<select id="findList" resultType="MdePosition">
+        SELECT
+        <include refid="mdePositionColumns"/>
+        ,d.DEPD_NAME_CN as 'depdName'
+        FROM mde_position a
+        <include refid="mdePositionJoins"/>
+        <where>
+            a.del_flag = #{DEL_FLAG_NORMAL}
+            <if test="positionNameCn != null and positionNameCn != ''">
+                AND a.POSITION_NAME_CN like concat('%',#{positionNameCn},'%')
+            </if>
+            <if test="positionNameEn != null and positionNameEn != ''">
+                AND a.POSITION_NAME_EN like concat('%',#{positionNameEn},'%')
+            </if>
+            <if test="positionGrade != null and positionGrade != ''">
+                AND a.POSITION_GRADE = #{positionGrade}
+            </if>
+            <if test="depdId != null and depdId != ''">
+                AND a.DEPD_ID = #{depdId}
+            </if>
+        </where>
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                ORDER BY a.update_date DESC
+            </otherwise>
+        </choose>
+    </select>
 	
 	<select id="findAllList" resultType="MdePosition">
 		SELECT 
@@ -69,6 +92,7 @@
 		FROM mde_position a
 		where  a.del_flag =0
 	</select>
+
 	<insert id="insert">
 		INSERT INTO mde_position(
 			position_id,
@@ -76,7 +100,8 @@
 			position_name_cn,
 			position_name_en,
 			position_grade,
-			version_no,
+			requirement,
+			`describe`,
 			create_by,
 			create_date,
 			update_by,
@@ -89,7 +114,8 @@
 			#{positionNameCn},
 			#{positionNameEn},
 			#{positionGrade},
-			#{versionNo},
+			#{requirement},
+			#{describe},
 			#{createBy.id},
 			#{createDate},
 			#{updateBy.id},
@@ -100,23 +126,24 @@
 	</insert>
 	
 	<update id="update">
-		UPDATE mde_position SET 	
-			position_id = #{positionId},
+		UPDATE mde_position SET
 			depd_id = #{depdId},
 			position_name_cn = #{positionNameCn},
 			position_name_en = #{positionNameEn},
 			position_grade = #{positionGrade},
-			version_no = #{versionNo},
+			requirement =	#{requirement},
+			`describe` = #{describe},
+			version_no =version_no+1,
 			update_by = #{updateBy.id},
 			update_date = #{updateDate},
 			remarks = #{remarks}
-		WHERE id = #{id}
+		WHERE position_id =  #{positionId}
 	</update>
 	
 	<update id="delete">
 		UPDATE mde_position SET 
 			del_flag = #{DEL_FLAG_DELETE}
-		WHERE id = #{id}
+		WHERE position_id =  #{positionId}
 	</update>
 	
 </mapper>

+ 21 - 18
src/main/webapp/WEB-INF/views/modules/recruitment/mdePositionForm.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/WEB-INF/views/include/taglib.jsp"%>
 <html>
 <head>
-	<title>单表管理</title>
+	<title>职位模板管理</title>
 	<meta name="decorator" content="default"/>
 	<script type="text/javascript">
 		$(document).ready(function() {
@@ -23,39 +23,35 @@
 				}
 			});
 		});
+
 	</script>
 </head>
 <body>
 	<ul class="nav nav-tabs">
-		<li><a href="${ctx}/recruitment/mdePosition/">单表列表</a></li>
-		<li class="active"><a href="${ctx}/recruitment/mdePosition/form?id=${mdePosition.id}">单表<shiro:hasPermission name="recruitment:mdePosition:edit">${not empty mdePosition.id?'修改':'添加'}</shiro:hasPermission><shiro:lacksPermission name="recruitment:mdePosition:edit">查看</shiro:lacksPermission></a></li>
+		<li><a href="${ctx}/recruitment/mdePosition/">职位列表</a></li>
+		<li class="active"><a href="${ctx}/recruitment/mdePosition/form?id=${mdePosition.id}">职位新增<shiro:hasPermission name="recruitment:mdePosition:edit">${not empty mdePosition.id?'修改':'添加'}</shiro:hasPermission><shiro:lacksPermission name="recruitment:mdePosition:edit">查看</shiro:lacksPermission></a></li>
 	</ul><br/>
 	<form:form id="inputForm" modelAttribute="mdePosition" action="${ctx}/recruitment/mdePosition/save" method="post" class="form-horizontal">
 		<form:hidden path="id"/>
-		<sys:message content="${message}"/>		
+		<sys:message content="${message}"/>
 		<div class="control-group">
-			<label class="control-label">职位id:</label>
+			<label class="control-label">部门:</label>
 			<div class="controls">
-				<form:input path="positionId" htmlEscape="false" maxlength="11" class="input-xlarge required"/>
+				<form:select path="depdId" class="input-medium required" >
+					<form:options items="${mdeDepartmentList }" itemLabel="depdNameCn" itemValue="depdId"/>
+				</form:select>
 				<span class="help-inline"><font color="red">*</font> </span>
 			</div>
 		</div>
 		<div class="control-group">
-			<label class="control-label">部门id(部门信息表):</label>
-			<div class="controls">
-				<form:input path="depdId" htmlEscape="false" maxlength="11" class="input-xlarge required"/>
-				<span class="help-inline"><font color="red">*</font> </span>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">职位名称-中文:</label>
+			<label class="control-label">中文名称:</label>
 			<div class="controls">
 				<form:input path="positionNameCn" htmlEscape="false" maxlength="50" class="input-xlarge required"/>
 				<span class="help-inline"><font color="red">*</font> </span>
 			</div>
 		</div>
 		<div class="control-group">
-			<label class="control-label">职位名称-英文:</label>
+			<label class="control-label">英文名称:</label>
 			<div class="controls">
 				<form:input path="positionNameEn" htmlEscape="false" maxlength="50" class="input-xlarge required"/>
 				<span class="help-inline"><font color="red">*</font> </span>
@@ -69,10 +65,17 @@
 			</div>
 		</div>
 		<div class="control-group">
-			<label class="control-label">数据版本号[默认为1]:</label>
+			<label class="control-label">默认职位内容:</label>
 			<div class="controls">
-				<form:input path="versionNo" htmlEscape="false" maxlength="11" class="input-xlarge required"/>
-				<span class="help-inline"><font color="red">*</font> </span>
+				<form:textarea path="describe" id="describe" htmlEscape="false" rows="4" class="input-xxlarge"/>
+				<sys:ckeditor replace="describe" uploadPath="/RecruitmentService" />
+			</div>
+		</div>
+		<div class="control-group">
+			<label class="control-label">默认职位要求:</label>
+			<div class="controls">
+				<form:textarea path="requirement" id="requirement" htmlEscape="false" rows="4" class="input-xxlarge"/>
+				<sys:ckeditor replace="requirement" uploadPath="/RecruitmentService" />
 			</div>
 		</div>
 		<div class="control-group">

+ 42 - 13
src/main/webapp/WEB-INF/views/modules/recruitment/mdePositionList.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/WEB-INF/views/include/taglib.jsp"%>
 <html>
 <head>
-	<title>单表管理</title>
+	<title>职位模板管理</title>
 	<meta name="decorator" content="default"/>
 	<script type="text/javascript">
 		$(document).ready(function() {
@@ -18,38 +18,67 @@
 </head>
 <body>
 	<ul class="nav nav-tabs">
-		<li class="active"><a href="${ctx}/recruitment/mdePosition/">单表列表</a></li>
-		<shiro:hasPermission name="recruitment:mdePosition:edit"><li><a href="${ctx}/recruitment/mdePosition/form">单表添加</a></li></shiro:hasPermission>
+		<li class="active"><a href="${ctx}/recruitment/mdePosition/">职位列表</a></li>
+		<shiro:hasPermission name="recruitment:mdePosition:edit"><li><a href="${ctx}/recruitment/mdePosition/form">职位新增</a></li></shiro:hasPermission>
 	</ul>
 	<form:form id="searchForm" modelAttribute="mdePosition" action="${ctx}/recruitment/mdePosition/" method="post" class="breadcrumb form-search">
 		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 		<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
 		<ul class="ul-form">
-			<li class="btns"><input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/></li>
+			<li><label>职位类别:</label>
+				<form:select path="depdId" class="input-medium">
+					<form:option value="">请选择部门:</form:option>
+					<form:options items="${mdeDepartmentList}" itemLabel="depdNameCn" itemValue="depdId"/>
+				</form:select>
+			</li>
+			<li><label>中文名称:</label>
+				<form:input path="positionNameCn" htmlEscape="false" maxlength="80" class="input-medium"/>
+			</li>
+			<li><label>英文名称:</label>
+				<form:input path="positionNameEn" htmlEscape="false" maxlength="80" class="input-medium"/>
+			</li>
+			<li><label>职位等级:</label>
+				<form:input path="positionGrade" htmlEscape="false" maxlength="80" class="input-medium"/>
+			</li>
+			<li class="btns">
+				<input id="btnSubmit1" class="btn btn-primary" type="submit" value="查询"/>
+			</li>
 			<li class="clearfix"></li>
 		</ul>
 	</form:form>
 	<sys:message content="${message}"/>
-	<table id="contentTable" class="table table-striped table-bordered table-condensed">
+	<table id="contentTable" class="table table-striped table-bordered table-condensed" style="table-layout: fixed">
 		<thead>
 			<tr>
-				<th>更新时间</th>
+				<th>序号</th>
+<%--				<th>职位ID</th>--%>
+				<th>部门</th>
+				<th>中文名称</th>
+				<th>英文名称</th>
+				<th>职位等级</th>
+				<th style="width: 15%">默认职位要求</th>
+				<th style="width: 15%">默认职位内容</th>
 				<th>备注</th>
 				<shiro:hasPermission name="recruitment:mdePosition:edit"><th>操作</th></shiro:hasPermission>
 			</tr>
 		</thead>
 		<tbody>
-		<c:forEach items="${page.list}" var="mdePosition">
+		<c:forEach items="${page.list}" var="mdePosition" varStatus="status">
 			<tr>
-				<td><a href="${ctx}/recruitment/mdePosition/form?id=${mdePosition.id}">
-					<fmt:formatDate value="${mdePosition.updateDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
-				</a></td>
+				<td>${status.index + 1}</td>
+				<td>${mdePosition.depdName}</td>
 				<td>
-					${mdePosition.remarks}
+					<a href="${ctx}/recruitment/mdePosition/form?id=${mdePosition.positionId}&editFlag=false">
+						${mdePosition.positionNameCn}</a>
 				</td>
+				<td>${mdePosition.positionNameEn}</td>
+				<td>${mdePosition.positionGrade}</td>
+				<td style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">${mdePosition.requirement}</td>
+				<td style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">${mdePosition.describe}</td>
+				<td>${mdePosition.remarks}</td>
 				<shiro:hasPermission name="recruitment:mdePosition:edit"><td>
-    				<a href="${ctx}/recruitment/mdePosition/form?id=${mdePosition.id}">修改</a>
-					<a href="${ctx}/recruitment/mdePosition/delete?id=${mdePosition.id}" onclick="return confirmx('确认要删除该单表吗?', this.href)">删除</a>
+					<a href="${ctx}/recruitment/mdePosition/form?id=${mdePosition.positionId}&editFlag=true">编辑</a>
+					<a href="${ctx}/recruitment/mdePosition/delete?id=${mdePosition.positionId}" onclick="return confirmx('确认要删除该职位吗?', this.href)">删除</a>
 				</td></shiro:hasPermission>
 			</tr>
 		</c:forEach>