Quellcode durchsuchen

岗位分类管理

jz.kai vor 4 Jahren
Ursprung
Commit
ea902e3d6c

+ 0 - 18
common/src/main/java/com/jpsoft/employment/modules/job/dao/PositionCategoryDAO.java

@@ -1,18 +0,0 @@
-package com.jpsoft.employment.modules.job.dao;
-
-import java.util.List;
-import org.springframework.stereotype.Repository;
-import com.jpsoft.employment.modules.job.entity.PositionCategory;
-import java.util.Map;
-import com.jpsoft.employment.modules.common.dto.Sort;
-
-@Repository
-public interface PositionCategoryDAO {
-	int insert(PositionCategory entity);
-	int update(PositionCategory entity);
-	int exist(String id);
-	PositionCategory get(String id);
-	int delete(String id);
-	List<PositionCategory> list();
-	List<PositionCategory> search(Map<String,Object> searchParams,List<Sort> sortList);
-}

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/job/dao/WorkCategoryDAO.java

@@ -15,4 +15,5 @@ public interface WorkCategoryDAO {
 	int delete(String id);
 	List<WorkCategory> list();
 	List<WorkCategory> search(Map<String,Object> searchParams,List<Sort> sortList);
+	List<WorkCategory> findListByParentId(String parentId);
 }

+ 0 - 58
common/src/main/java/com/jpsoft/employment/modules/job/entity/PositionCategory.java

@@ -1,58 +0,0 @@
-package com.jpsoft.employment.modules.job.entity;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.text.SimpleDateFormat;
-import java.math.BigDecimal;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-import com.fasterxml.jackson.annotation.JsonFormat;
-
-/**
-  描述:job_position_category的实体类
- */
-@Data
-public class PositionCategory {
-
-	@ApiModelProperty(value = "ID")
-	private String id;
-
-	@ApiModelProperty(value = "名称")
-	private String name;
-
-	@ApiModelProperty(value = "父ID")
-	private String parentId;
-
-	@ApiModelProperty(value = "排序号")
-	private Integer sortNo;
-
-	@ApiModelProperty(value = "编码")
-	private Integer code;
-
-
-	private String quickLog;
-
-
-	@ApiModelProperty(value = "创建人")
-	private String createBy;
-
-	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
-	@ApiModelProperty(value = "创建时间")
-	private Date createTime;
-
-	@ApiModelProperty(value = "更新人")
-	private String updateBy;
-
-	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
-	@ApiModelProperty(value = "更新时间")
-	private Date updateTime;
-
-	@ApiModelProperty(value = "是否删除")
-	private Boolean delFlag;
-	
-
-}

+ 35 - 39
common/src/main/java/com/jpsoft/employment/modules/job/entity/WorkCategory.java

@@ -4,52 +4,48 @@ import java.io.Serializable;
 import java.util.Date;
 import java.text.SimpleDateFormat;
 import java.math.BigDecimal;
+import java.util.List;
 
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
 
 /**
   描述:job_work_category的实体类
  */
 @Data
+@ApiModel(value = "job_work_category的实体类")
 public class WorkCategory {
-
-	@ApiModelProperty(value = "ID")
-	private String id;
-
-	@ApiModelProperty(value = "名称")
-	private String name;
-
-	@ApiModelProperty(value = "父ID")
-	private String parentId;
-
-	@ApiModelProperty(value = "排序")
-	private Integer sortNo;
-
-	@ApiModelProperty(value = "编码")
-	private Integer code;
-
-	private String quickLog;
-
-	@ApiModelProperty(value = "创建人")
-	private String createBy;
-
-	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
-	@ApiModelProperty(value = "创建时间")
-	private Date createTime;
-
-	@ApiModelProperty(value = "更新人")
-	private String updateBy;
-
-	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
-	@ApiModelProperty(value = "更新时间")
-	private Date updateTime;
-
-	@ApiModelProperty(value = "是否删除")
-	private Boolean delFlag;
-
+        @ApiModelProperty(value = "ID")
+    private String id;
+        @ApiModelProperty(value = "名称")
+    private String name;
+        @ApiModelProperty(value = "父ID")
+    private String parentId;
+        @ApiModelProperty(value = "排序")
+    private Integer sortNo;
+        @ApiModelProperty(value = "编码")
+    private Integer code;
+        @ApiModelProperty(value = "")
+    private String quickLog;
+        @ApiModelProperty(value = "创建人")
+    private String createBy;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+        @ApiModelProperty(value = "")
+    private String updateBy;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "")
+    private Date updateTime;
+        @ApiModelProperty(value = "删除标示")
+    private Boolean delFlag;
+        @ApiModelProperty(value = "级别")
+    private Integer level;
+    @ApiModelProperty(value = "+子级")
+    private List<WorkCategory> children;
 }

+ 0 - 17
common/src/main/java/com/jpsoft/employment/modules/job/service/PositionCategoryService.java

@@ -1,17 +0,0 @@
-package com.jpsoft.employment.modules.job.service;
-
-import java.util.List;
-import java.util.Map;
-import com.jpsoft.employment.modules.job.entity.PositionCategory;
-import com.github.pagehelper.Page;
-import com.jpsoft.employment.modules.common.dto.Sort;
-
-public interface PositionCategoryService {
-	PositionCategory get(String id);
-	boolean exist(String id);
-	int insert(PositionCategory model);
-	int update(PositionCategory model);
-	int delete(String id);
-	List<PositionCategory> list();
-	Page<PositionCategory> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
-}

+ 2 - 1
common/src/main/java/com/jpsoft/employment/modules/job/service/WorkCategoryService.java

@@ -13,5 +13,6 @@ public interface WorkCategoryService {
 	int update(WorkCategory model);
 	int delete(String id);
 	List<WorkCategory> list();
-	Page<WorkCategory> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
+	Page<WorkCategory> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
+	List<WorkCategory> findListByParentId(String parentId);
 }

+ 0 - 70
common/src/main/java/com/jpsoft/employment/modules/job/service/impl/PositionCategoryServiceImpl.java

@@ -1,70 +0,0 @@
-package com.jpsoft.employment.modules.job.service.impl;
-
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import javax.annotation.Resource;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-import com.jpsoft.employment.modules.job.dao.PositionCategoryDAO;
-import com.jpsoft.employment.modules.job.entity.PositionCategory;
-import com.jpsoft.employment.modules.job.service.PositionCategoryService;
-import com.github.pagehelper.Page;
-import com.jpsoft.employment.modules.common.dto.Sort;
-import com.github.pagehelper.PageHelper;
-
-@Transactional
-@Component(value="positionCategoryService")
-public class PositionCategoryServiceImpl implements PositionCategoryService {
-	@Resource(name="positionCategoryDAO")
-	private PositionCategoryDAO positionCategoryDAO;
-
-	@Override
-	public PositionCategory get(String id) {
-		// TODO Auto-generated method stub
-		return positionCategoryDAO.get(id);
-	}
-
-	@Override
-	public int insert(PositionCategory model) {
-		// TODO Auto-generated method stub
-		//model.setId(UUID.randomUUID().toString());
-		
-		return positionCategoryDAO.insert(model);
-	}
-
-	@Override
-	public int update(PositionCategory model) {
-		// TODO Auto-generated method stub
-		return positionCategoryDAO.update(model);		
-	}
-
-	@Override
-	public int delete(String id) {
-		// TODO Auto-generated method stub
-		return positionCategoryDAO.delete(id);
-	}
-
-	@Override
-	public boolean exist(String id) {
-		// TODO Auto-generated method stub
-		int count = positionCategoryDAO.exist(id);
-		
-		return count > 0 ? true : false;
-	}
-	
-	@Override
-	public List<PositionCategory> list() {
-		// TODO Auto-generated method stub
-		return positionCategoryDAO.list();
-	}
-		
-	@Override
-	public Page<PositionCategory> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {
-        Page<PositionCategory> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{
-            positionCategoryDAO.search(searchParams,sortList);
-        });
-        
-        return page;
-	}
-}

+ 6 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/impl/WorkCategoryServiceImpl.java

@@ -67,4 +67,10 @@ public class WorkCategoryServiceImpl implements WorkCategoryService {
         
         return page;
 	}
+
+	@Override
+	public List<WorkCategory> findListByParentId(String parentId) {
+		// TODO Auto-generated method stub
+		return workCategoryDAO.findListByParentId(parentId);
+	}
 }

+ 0 - 106
common/src/main/resources/mapper/job/PositionCategory.xml

@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<!-- namespace必须指向DAO接口 -->
-<mapper namespace="com.jpsoft.employment.modules.job.dao.PositionCategoryDAO">
-	<resultMap id="PositionCategoryMap" type="com.jpsoft.employment.modules.job.entity.PositionCategory">
-		<id property="id" column="id_" />
-			<result property="name" column="name_" />
-			<result property="parentId" column="parent_id" />
-			<result property="sortNo" column="sort_no" />
-			<result property="code" column="code_" />
-			<result property="quickLog" column="quick_log" />
-			<result property="createBy" column="create_by" />
-			<result property="createTime" column="create_time" />
-			<result property="updateBy" column="update_by" />
-			<result property="updateTime" column="update_time" />
-			<result property="delFlag" column="del_flag" />
-			</resultMap>
-	<insert id="insert" parameterType="com.jpsoft.employment.modules.job.entity.PositionCategory">
-	<!--
-	<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
-		select sys_guid() from dual
-	</selectKey>
-	-->
-	<![CDATA[
-		insert into job_position_category
-	    (id_,name_,parent_id,sort_no,code_,quick_log,create_by,create_time,update_by,update_time,del_flag)
-		values
-		(
-#{id,jdbcType=VARCHAR}
-,#{name,jdbcType=VARCHAR}
-,#{parentId,jdbcType=VARCHAR}
-,#{sortNo,jdbcType= NUMERIC }
-,#{code,jdbcType= NUMERIC }
-,#{quickLog,jdbcType=VARCHAR}
-,#{createBy,jdbcType=VARCHAR}
-,#{createTime,jdbcType= TIMESTAMP }
-,#{updateBy,jdbcType=VARCHAR}
-,#{updateTime,jdbcType= TIMESTAMP }
-,#{delFlag,jdbcType= NUMERIC }
-		)
-	]]>
-	</insert>
-	<delete id="delete" parameterType="string">
-		delete from job_position_category where id_=#{id,jdbcType=VARCHAR}
-	</delete>
-	<update id="update" parameterType="com.jpsoft.employment.modules.job.entity.PositionCategory">
-		update job_position_category
-		<set>
-				<if test="name!=null">
-		name_=#{name,jdbcType=VARCHAR},
-		</if>
-				<if test="parentId!=null">
-		parent_id=#{parentId,jdbcType=VARCHAR},
-		</if>
-				<if test="sortNo!=null">
-		sort_no=#{sortNo,jdbcType= NUMERIC },
-		</if>
-				<if test="code!=null">
-		code_=#{code,jdbcType= NUMERIC },
-		</if>
-				<if test="quickLog!=null">
-		quick_log=#{quickLog,jdbcType=VARCHAR},
-		</if>
-				<if test="createBy!=null">
-		create_by=#{createBy,jdbcType=VARCHAR},
-		</if>
-				<if test="createTime!=null">
-		create_time=#{createTime,jdbcType= TIMESTAMP },
-		</if>
-				<if test="updateBy!=null">
-		update_by=#{updateBy,jdbcType=VARCHAR},
-		</if>
-				<if test="updateTime!=null">
-		update_time=#{updateTime,jdbcType= TIMESTAMP },
-		</if>
-				<if test="delFlag!=null">
-		del_flag=#{delFlag,jdbcType= NUMERIC },
-		</if>
-		</set>
-	where id_=#{id}
-	</update>
-	<select id="get" parameterType="string" resultMap="PositionCategoryMap">
-		select 
-id_,name_,parent_id,sort_no,code_,quick_log,create_by,create_time,update_by,update_time,del_flag		from job_position_category where id_=#{0}
-	</select>
-	<select id="exist" parameterType="string" resultType="int">
-		select count(*) from job_position_category where id_=#{0}
-	</select>
-	<select id="list" resultMap="PositionCategoryMap">
-		select * from job_position_category
-	</select>
-	<select id="search" parameterType="hashmap" resultMap="PositionCategoryMap">
-		<![CDATA[
-			select * from job_position_category
-		]]>
-		<where>
-			<if test="searchParams.id != null">
-				and ID_ like #{searchParams.id}
-			</if>
-		</where>
-		<foreach item="sort" collection="sortList"  open="order by" separator=",">
-	        ${sort.name} ${sort.order}
-	 	</foreach>
-	</select>
-</mapper>

+ 13 - 4
common/src/main/resources/mapper/job/WorkCategory.xml

@@ -15,6 +15,7 @@
 			<result property="updateBy" column="update_by" />
 			<result property="updateTime" column="update_time" />
 			<result property="delFlag" column="del_flag" />
+			<result property="level" column="level_" />
 			</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.employment.modules.job.entity.WorkCategory">
 	<!--
@@ -24,7 +25,7 @@
 	-->
 	<![CDATA[
 		insert into job_work_category
-	    (id_,name_,parent_id,sort_no,code_,quick_log,create_by,create_time,update_by,update_time,del_flag)
+	    (id_,name_,parent_id,sort_no,code_,quick_log,create_by,create_time,update_by,update_time,del_flag,level_)
 		values
 		(
 #{id,jdbcType=VARCHAR}
@@ -38,6 +39,7 @@
 ,#{updateBy,jdbcType=VARCHAR}
 ,#{updateTime,jdbcType= TIMESTAMP }
 ,#{delFlag,jdbcType= NUMERIC }
+,#{level,jdbcType= NUMERIC }
 		)
 	]]>
 	</insert>
@@ -76,13 +78,16 @@
 		</if>
 				<if test="delFlag!=null">
 		del_flag=#{delFlag,jdbcType= NUMERIC },
+		</if>
+				<if test="level!=null">
+		level_=#{level,jdbcType= NUMERIC },
 		</if>
 		</set>
 	where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="WorkCategoryMap">
 		select 
-id_,name_,parent_id,sort_no,code_,quick_log,create_by,create_time,update_by,update_time,del_flag		from job_work_category where id_=#{0}
+id_,name_,parent_id,sort_no,code_,quick_log,create_by,create_time,update_by,update_time,del_flag,level_		from job_work_category where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from job_work_category where id_=#{0}
@@ -95,12 +100,16 @@ id_,name_,parent_id,sort_no,code_,quick_log,create_by,create_time,update_by,upda
 			select * from job_work_category
 		]]>
 		<where>
-			<if test="searchParams.id != null">
-				and ID_ like #{searchParams.id}
+			del_flag=0
+			<if test="searchParams.level != null">
+				and level_ = #{searchParams.level}
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+	<select id="findListByParentId" parameterType="string" resultMap="WorkCategoryMap">
+		select * from job_work_category where del_flag=0 and parent_id=#{0} order by sort_no asc
+	</select>
 </mapper>

+ 0 - 176
web/src/main/java/com/jpsoft/employment/modules/job/controller/PositionCategoryController.java

@@ -1,176 +0,0 @@
-package com.jpsoft.employment.modules.job.controller;
-
-import com.github.pagehelper.Page;
-import com.jpsoft.employment.modules.common.dto.MessageResult;
-import com.jpsoft.employment.modules.common.dto.Sort;
-import com.jpsoft.employment.modules.common.utils.PojoUtils;
-import com.jpsoft.employment.modules.job.entity.PositionCategory;
-import com.jpsoft.employment.modules.job.service.PositionCategoryService;
-import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.*;
-
-@RestController
-@RequestMapping("/job/positionCategory")
-public class PositionCategoryController {
-    private Logger logger = LoggerFactory.getLogger(getClass());
-
-    @Autowired
-    private PositionCategoryService positionCategoryService;
-
-    @ApiOperation(value="添加信息")
-    @PostMapping("add")
-    public MessageResult<PositionCategory> add(@ModelAttribute PositionCategory positionCategory){
-        MessageResult<PositionCategory> msgResult = new MessageResult<>();
-
-        try {
-            positionCategory.setId(UUID.randomUUID().toString());
-
-            int affectCount = positionCategoryService.insert(positionCategory);
-
-            if (affectCount > 0) {
-                msgResult.setResult(true);
-                msgResult.setData(positionCategory);
-            } else {
-                msgResult.setResult(false);
-                msgResult.setMessage("数据库添加失败");
-            }
-        }
-        catch(Exception ex){
-            logger.error(ex.getMessage(),ex);
-
-            msgResult.setResult(false);
-            msgResult.setMessage(ex.getMessage());
-        }
-
-        return msgResult;
-    }
-
-    @ApiOperation(value="获取信息")
-    @GetMapping("detail/{id}")
-    public MessageResult<PositionCategory> detail(@PathVariable("id") String id){
-        MessageResult<PositionCategory> msgResult = new MessageResult<>();
-
-        try {
-            PositionCategory positionCategory = positionCategoryService.get(id);
-
-            if (positionCategory != null) {
-                msgResult.setResult(true);
-                msgResult.setData(positionCategory);
-            } else {
-                msgResult.setResult(false);
-                msgResult.setMessage("数据库不存在该记录!");
-            }
-        }
-        catch(Exception ex){
-            logger.error(ex.getMessage(),ex);
-
-            msgResult.setResult(false);
-            msgResult.setMessage(ex.getMessage());
-        }
-
-        return msgResult;
-    }
-
-    @ApiOperation(value="更新用户")
-    @PostMapping("update")
-    public MessageResult<PositionCategory> update(@ModelAttribute PositionCategory positionCategory){
-        MessageResult<PositionCategory> msgResult = new MessageResult<>();
-
-        try {
-            int affectCount = positionCategoryService.update(positionCategory);
-
-            if (affectCount > 0) {
-                msgResult.setResult(true);
-                msgResult.setData(positionCategory);
-            } else {
-                msgResult.setResult(false);
-                msgResult.setMessage("数据库更新失败");
-            }
-        }
-        catch(Exception ex){
-            logger.error(ex.getMessage(),ex);
-
-            msgResult.setResult(false);
-            msgResult.setMessage(ex.getMessage());
-        }
-
-        return msgResult;
-    }
-
-    @ApiOperation(value="删除用户")
-    @PostMapping("delete/{id}")
-    public MessageResult<PositionCategory> delete(@PathVariable("id") String id){
-        MessageResult<PositionCategory> msgResult = new MessageResult<>();
-
-        try {
-            int affectCount = positionCategoryService.delete(id);
-
-            if (affectCount > 0) {
-                msgResult.setResult(true);
-            } else {
-                msgResult.setResult(false);
-                msgResult.setMessage("数据库删除失败");
-            }
-        }
-        catch(Exception ex){
-            logger.error(ex.getMessage(),ex);
-
-            msgResult.setResult(false);
-            msgResult.setMessage(ex.getMessage());
-        }
-
-        return msgResult;
-    }
-
-
-    @ApiOperation(value="批量删除")
-    @PostMapping("batchDelete/{id}")
-    public MessageResult<PositionCategory> batchDelete(@PathVariable("id") String id){
-        MessageResult<PositionCategory> msgResult = new MessageResult<>();
-
-        msgResult.setResult(false);
-        msgResult.setMessage("未实现");
-
-        return msgResult;
-    }
-
-    @ApiOperation(value="列表")
-    @RequestMapping(value = "list",method = RequestMethod.POST)
-    public MessageResult<Map> list(
-            String id,
-            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
-            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
-            HttpServletRequest request){
-        String subject = (String)request.getAttribute("subject");
-
-        //当前用户ID
-        System.out.println(subject);
-
-        MessageResult<Map> msgResult = new MessageResult<>();
-
-        Map<String,Object> searchParams = new HashMap<>();
-
-        List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("id_","asc"));
-
-        if (StringUtils.isNotEmpty(id)) {
-            searchParams.put("id","%" + id + "%");
-        }
-
-
-        Page<PositionCategory> page = positionCategoryService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
-
-
-        msgResult.setResult(true);
-        msgResult.setData(PojoUtils.pageWrapper(page));
-
-        return msgResult;
-    }
-}

+ 5 - 5
web/src/main/java/com/jpsoft/employment/modules/job/controller/ResumeDeliverController.java

@@ -54,7 +54,7 @@ public class ResumeDeliverController {
     private ResumeService RsumeService;
 
     @Autowired
-    private PositionCategoryService positionCategoryService;
+    private WorkCategoryService workCategoryService;
 
     @Autowired
     private DataDictionaryService dataDictionaryService;
@@ -394,9 +394,9 @@ public class ResumeDeliverController {
 
                 dto.setPositionNumber(recruitment.getPositionNumber());
 
-                PositionCategory positionCategory = positionCategoryService.get(recruitment.getPosition());
+                WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
 
-                dto.setPosition(positionCategory.getName());
+                dto.setPosition(workCategory.getName());
 
             }
 
@@ -614,9 +614,9 @@ public class ResumeDeliverController {
 
                 map.put("positionNumber",recruitment.getPositionNumber());
 
-                PositionCategory positionCategory = positionCategoryService.get(recruitment.getPosition());
+                WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
 
-                map.put("position",positionCategory.getName());
+                map.put("position",workCategory.getName());
             }
 
             Resume resume = RsumeService.get(resumeDeliver.getJobResumeId());

+ 83 - 34
web/src/main/java/com/jpsoft/employment/modules/job/controller/WorkCategoryController.java

@@ -1,11 +1,12 @@
 package com.jpsoft.employment.modules.job.controller;
 
 import com.github.pagehelper.Page;
-import com.jpsoft.employment.modules.common.dto.MessageResult;
-import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
+import com.jpsoft.employment.modules.common.dto.Sort;
+import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.job.entity.WorkCategory;
 import com.jpsoft.employment.modules.job.service.WorkCategoryService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -19,20 +20,37 @@ import java.util.*;
 
 @RestController
 @RequestMapping("/job/workCategory")
+@Api(description = "workCategory")
 public class WorkCategoryController {
     private Logger logger = LoggerFactory.getLogger(getClass());
 
     @Autowired
     private WorkCategoryService workCategoryService;
 
-    @ApiOperation(value="添加信息")
+    @ApiOperation(value="创建空记录")
+    @GetMapping("create")
+    public MessageResult<WorkCategory> create(){
+        MessageResult<WorkCategory> msgResult = new MessageResult<>();
+
+        WorkCategory workCategory = new WorkCategory();
+
+        msgResult.setData(workCategory);
+        msgResult.setResult(true);
+
+        return msgResult;
+    }
+    
+    @ApiOperation(value="添加一级分类")
     @PostMapping("add")
-    public MessageResult<WorkCategory> add(@ModelAttribute WorkCategory workCategory){
+    public MessageResult<WorkCategory> add(@RequestBody WorkCategory workCategory,@RequestAttribute String subject){
         MessageResult<WorkCategory> msgResult = new MessageResult<>();
 
         try {
             workCategory.setId(UUID.randomUUID().toString());
-
+            workCategory.setDelFlag(false);
+            workCategory.setCreateBy(subject);
+            workCategory.setCreateTime(new Date());
+            
             int affectCount = workCategoryService.insert(workCategory);
 
             if (affectCount > 0) {
@@ -54,8 +72,8 @@ public class WorkCategoryController {
     }
 
     @ApiOperation(value="获取信息")
-    @GetMapping("detail/{id}")
-    public MessageResult<WorkCategory> detail(@PathVariable("id") String id){
+    @GetMapping("edit/{id}")
+    public MessageResult<WorkCategory> edit(@PathVariable("id") String id){
         MessageResult<WorkCategory> msgResult = new MessageResult<>();
 
         try {
@@ -81,10 +99,13 @@ public class WorkCategoryController {
 
     @ApiOperation(value="更新用户")
     @PostMapping("update")
-    public MessageResult<WorkCategory> update(@ModelAttribute WorkCategory workCategory){
+    public MessageResult<WorkCategory> update(@RequestBody WorkCategory workCategory,@RequestAttribute String subject){
         MessageResult<WorkCategory> msgResult = new MessageResult<>();
 
         try {
+            workCategory.setUpdateBy(subject);
+            workCategory.setUpdateTime(new Date());
+            
             int affectCount = workCategoryService.update(workCategory);
 
             if (affectCount > 0) {
@@ -105,19 +126,25 @@ public class WorkCategoryController {
         return msgResult;
     }
 
-    @ApiOperation(value="删除用户")
+	@ApiOperation(value="删除")
     @PostMapping("delete/{id}")
-    public MessageResult<WorkCategory> delete(@PathVariable("id") String id){
-        MessageResult<WorkCategory> msgResult = new MessageResult<>();
+    public MessageResult<Integer> delete(@PathVariable("id") String id,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
 
         try {
-            int affectCount = workCategoryService.delete(id);
+            WorkCategory workCategory = workCategoryService.get(id);
+            workCategory.setDelFlag(true);
+            workCategory.setUpdateBy(subject);
+            workCategory.setUpdateTime(new Date());
+
+            int affectCount = workCategoryService.update(workCategory);
 
             if (affectCount > 0) {
                 msgResult.setResult(true);
+                msgResult.setData(affectCount);
             } else {
                 msgResult.setResult(false);
-                msgResult.setMessage("数据库删除失败");
+                msgResult.setMessage("删除失败");
             }
         }
         catch(Exception ex){
@@ -132,45 +159,67 @@ public class WorkCategoryController {
 
 
     @ApiOperation(value="批量删除")
-    @PostMapping("batchDelete/{id}")
-    public MessageResult<WorkCategory> batchDelete(@PathVariable("id") String id){
-        MessageResult<WorkCategory> msgResult = new MessageResult<>();
+    @PostMapping("batchDelete")
+    public MessageResult<Integer> batchDelete(@RequestBody List<String> idList,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
 
-        msgResult.setResult(false);
-        msgResult.setMessage("未实现");
+        try {
+            int affectCount = 0;
+
+            for (String id : idList) {
+                WorkCategory workCategory = workCategoryService.get(id);
+                workCategory.setDelFlag(true);
+                workCategory.setUpdateBy(subject);
+                workCategory.setUpdateTime(new Date());
+
+                affectCount += workCategoryService.update(workCategory);
+            }
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(affectCount);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("删除失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
 
         return msgResult;
     }
 
     @ApiOperation(value="列表")
     @RequestMapping(value = "list",method = RequestMethod.POST)
-    public MessageResult<Map> list(
-            String id,
-            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
-            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
-            HttpServletRequest request){
-        String subject = (String)request.getAttribute("subject");
+    public MessageResult<List> list(@RequestAttribute String subject){
 
         //当前用户ID
         System.out.println(subject);
 
-        MessageResult<Map> msgResult = new MessageResult<>();
+        MessageResult<List> msgResult = new MessageResult<>();
 
         Map<String,Object> searchParams = new HashMap<>();
+        searchParams.put("level",1);
 
         List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("id_","asc"));
-
-        if (StringUtils.isNotEmpty(id)) {
-            searchParams.put("id","%" + id + "%");
+        sortList.add(new Sort("sort_no","asc"));
+
+        Page<WorkCategory> page = workCategoryService.pageSearch(searchParams,1,1000,false,sortList);
+        for (WorkCategory workCategory : page.getResult()){
+            List<WorkCategory> children2 = workCategoryService.findListByParentId(workCategory.getId());
+            for (WorkCategory workCategory2 : children2){
+                List<WorkCategory> children3 = workCategoryService.findListByParentId(workCategory2.getId());
+                workCategory2.setChildren(children3);
+            }
+            workCategory.setChildren(children2);
         }
 
-
-        Page<WorkCategory> page = workCategoryService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
-
-
         msgResult.setResult(true);
-        msgResult.setData(PojoUtils.pageWrapper(page));
+        msgResult.setData(page.getResult());
 
         return msgResult;
     }