Просмотр исходного кода

feat:入职登记,人员管理

shenji 2 лет назад
Родитель
Сommit
2e6148d649
45 измененных файлов с 2426 добавлено и 51 удалено
  1. 1 1
      jeecg-boot/db/增量升级SQL/2.1.3升级到2.1.4mysq.sql
  2. 2 2
      jeecg-boot/jeecg-boot-module-system/pom.xml
  3. 324 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/EnrollmentController.java
  4. 171 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/Enrollment.java
  5. 78 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/EnrollmentContact.java
  6. 74 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/EnrollmentEdu.java
  7. 78 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/EnrollmentJob.java
  8. 19 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/EnrollmentContactMapper.java
  9. 19 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/EnrollmentEduMapper.java
  10. 19 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/EnrollmentJobMapper.java
  11. 17 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/EnrollmentMapper.java
  12. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/EnrollmentContactMapper.xml
  13. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/EnrollmentEduMapper.xml
  14. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/EnrollmentJobMapper.xml
  15. 5 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/EnrollmentMapper.xml
  16. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IEnrollmentContactService.java
  17. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IEnrollmentEduService.java
  18. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IEnrollmentJobService.java
  19. 43 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IEnrollmentService.java
  20. 27 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/EnrollmentContactServiceImpl.java
  21. 27 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/EnrollmentEduServiceImpl.java
  22. 27 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/EnrollmentJobServiceImpl.java
  23. 162 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/EnrollmentServiceImpl.java
  24. 176 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/vo/EnrollmentPage.java
  25. 158 30
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
  26. 103 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java
  27. 78 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUserContact.java
  28. 74 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUserEdu.java
  29. 78 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUserJob.java
  30. 20 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserContactMapper.java
  31. 20 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserEduMapper.java
  32. 20 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserJobMapper.java
  33. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserContactMapper.xml
  34. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserEduMapper.xml
  35. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserJobMapper.xml
  36. 17 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserContactService.java
  37. 17 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserEduService.java
  38. 17 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserJobService.java
  39. 33 8
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
  40. 28 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserContactServiceImpl.java
  41. 28 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserEduServiceImpl.java
  42. 28 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserJobServiceImpl.java
  43. 112 4
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
  44. 178 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/SysUserPage.java
  45. 4 4
      jeecg-boot/pom.xml

+ 1 - 1
jeecg-boot/db/增量升级SQL/2.1.3升级到2.1.4mysq.sql

@@ -18,7 +18,7 @@ CREATE TABLE `sys_data_source` (
  `sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
  PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-INSERT INTO `sys_data_source` VALUES ('1209779538310004737', 'MySQL5.7', '本地数据库MySQL5.7', '1', 'com.mysql.jdbc.Driver', 'jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false', 'jeecg-boot', 'root', 'root', 'admin', '2019-12-25 18:14:53', null, null, 'A01');
+INSERT INTO `sys_data_source` VALUES ('1209779538310004737', 'MySQL5.7', '本地数据库MySQL5.7', '1', 'com.mysql.jdbc.Driver', 'jdbc:mysql://127.0.0.1:3306/oa?characterEncoding=UTF-8&useUnicode=true&useSSL=false', 'oa', 'root', '1215225', 'admin', '2019-12-25 18:14:53', null, null, 'A01');
 
 -- 数据库类型字典
 INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`) VALUES ('1209733563293962241', '数据库类型', 'database_type', '', '0', 'admin', '2019-12-25 15:12:12', NULL, NULL, '0');

+ 2 - 2
jeecg-boot/jeecg-boot-module-system/pom.xml

@@ -15,7 +15,7 @@
 		<repository>
 			<id>aliyun</id>
 			<name>aliyun Repository</name>
-			<url>http://maven.aliyun.com/nexus/content/groups/public</url>
+			<url>https://maven.aliyun.com/nexus/content/groups/public</url>
 			<snapshots>
 				<enabled>false</enabled>
 			</snapshots>
@@ -23,7 +23,7 @@
 		<repository>
 			<id>jeecg</id>
 			<name>jeecg Repository</name>
-			<url>http://maven.jeecg.org/nexus/content/repositories/jeecg</url>
+			<url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url>
 			<snapshots>
 				<enabled>false</enabled>
 			</snapshots>

+ 324 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/EnrollmentController.java

@@ -0,0 +1,324 @@
+package org.jeecg.modules.oa.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.oa.entity.Enrollment;
+import org.jeecg.modules.oa.entity.EnrollmentContact;
+import org.jeecg.modules.oa.entity.EnrollmentEdu;
+import org.jeecg.modules.oa.entity.EnrollmentJob;
+import org.jeecg.modules.oa.service.IEnrollmentContactService;
+import org.jeecg.modules.oa.service.IEnrollmentEduService;
+import org.jeecg.modules.oa.service.IEnrollmentJobService;
+import org.jeecg.modules.oa.service.IEnrollmentService;
+import org.jeecg.modules.oa.vo.EnrollmentPage;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+ /**
+ * @Description: 入职登记
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@Api(tags="入职登记")
+@RestController
+@RequestMapping("/oa/enrollment")
+@Slf4j
+public class EnrollmentController {
+	@Autowired
+	private IEnrollmentService enrollmentService;
+	@Autowired
+	private IEnrollmentJobService enrollmentJobService;
+	@Autowired
+	private IEnrollmentContactService enrollmentContactService;
+	@Autowired
+	private IEnrollmentEduService enrollmentEduService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param enrollment
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "入职登记-分页列表查询")
+	@ApiOperation(value="入职登记-分页列表查询", notes="入职登记-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(Enrollment enrollment,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		String username = enrollment.getUsername();
+		String realname = enrollment.getRealname();
+		String operator = enrollment.getOperator();
+		enrollment.setUsername(null);
+		enrollment.setRealname(null);
+		enrollment.setOperator(null);
+		QueryWrapper<Enrollment> queryWrapper = QueryGenerator.initQueryWrapper(enrollment, req.getParameterMap());
+		queryWrapper.like(StringUtils.isNotBlank(username),"username",username);
+		queryWrapper.like(StringUtils.isNotBlank(realname),"realname",realname);
+		queryWrapper.like(StringUtils.isNotBlank(operator),"operator",operator);
+		Page<Enrollment> page = new Page<Enrollment>(pageNo, pageSize);
+		IPage<Enrollment> pageList = enrollmentService.page(page, queryWrapper);
+		return Result.ok(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param enrollmentPage
+	 * @return
+	 */
+	@AutoLog(value = "入职登记-添加")
+	@ApiOperation(value="入职登记-添加", notes="入职登记-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody EnrollmentPage enrollmentPage) {
+		Enrollment enrollment = new Enrollment();
+		BeanUtils.copyProperties(enrollmentPage, enrollment);
+		enrollmentService.saveMain(enrollment, enrollmentPage.getEnrollmentJobList(),enrollmentPage.getEnrollmentContactList(),enrollmentPage.getEnrollmentEduList());
+		return Result.ok("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param enrollmentPage
+	 * @return
+	 */
+	@AutoLog(value = "入职登记-编辑")
+	@ApiOperation(value="入职登记-编辑", notes="入职登记-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody EnrollmentPage enrollmentPage) {
+		Enrollment enrollment = new Enrollment();
+		BeanUtils.copyProperties(enrollmentPage, enrollment);
+		Enrollment enrollmentEntity = enrollmentService.getById(enrollment.getId());
+		if(enrollmentEntity==null) {
+			return Result.error("未找到对应数据");
+		}
+		enrollmentService.updateMain(enrollment, enrollmentPage.getEnrollmentJobList(),enrollmentPage.getEnrollmentContactList(),enrollmentPage.getEnrollmentEduList());
+		return Result.ok("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "入职登记-通过id删除")
+	@ApiOperation(value="入职登记-通过id删除", notes="入职登记-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		enrollmentService.delMain(id);
+		return Result.ok("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "入职登记-批量删除")
+	@ApiOperation(value="入职登记-批量删除", notes="入职登记-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.enrollmentService.delBatchMain(Arrays.asList(ids.split(",")));
+		return Result.ok("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "入职登记-通过id查询")
+	@ApiOperation(value="入职登记-通过id查询", notes="入职登记-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		Enrollment enrollment = enrollmentService.getById(id);
+		if(enrollment==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.ok(enrollment);
+
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "工作经历集合-通过id查询")
+	@ApiOperation(value="工作经历集合-通过id查询", notes="工作经历-通过id查询")
+	@GetMapping(value = "/queryEnrollmentJobByMainId")
+	public Result<?> queryEnrollmentJobListByMainId(@RequestParam(name="id",required=true) String id) {
+		List<EnrollmentJob> enrollmentJobList = enrollmentJobService.selectByMainId(id);
+		return Result.ok(enrollmentJobList);
+	}
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "联系人集合-通过id查询")
+	@ApiOperation(value="联系人集合-通过id查询", notes="联系人-通过id查询")
+	@GetMapping(value = "/queryEnrollmentContactByMainId")
+	public Result<?> queryEnrollmentContactListByMainId(@RequestParam(name="id",required=true) String id) {
+		List<EnrollmentContact> enrollmentContactList = enrollmentContactService.selectByMainId(id);
+		return Result.ok(enrollmentContactList);
+	}
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "学习经历集合-通过id查询")
+	@ApiOperation(value="学习经历集合-通过id查询", notes="学习经历-通过id查询")
+	@GetMapping(value = "/queryEnrollmentEduByMainId")
+	public Result<?> queryEnrollmentEduListByMainId(@RequestParam(name="id",required=true) String id) {
+		List<EnrollmentEdu> enrollmentEduList = enrollmentEduService.selectByMainId(id);
+		return Result.ok(enrollmentEduList);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param enrollment
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, Enrollment enrollment) {
+      // Step.1 组装查询条件查询数据
+      QueryWrapper<Enrollment> queryWrapper = QueryGenerator.initQueryWrapper(enrollment, request.getParameterMap());
+      LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+      //Step.2 获取导出数据
+      List<Enrollment> queryList = enrollmentService.list(queryWrapper);
+      // 过滤选中数据
+      String selections = request.getParameter("selections");
+      List<Enrollment> enrollmentList = new ArrayList<Enrollment>();
+      if(oConvertUtils.isEmpty(selections)) {
+          enrollmentList = queryList;
+      }else {
+          List<String> selectionList = Arrays.asList(selections.split(","));
+          enrollmentList = queryList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
+      }
+
+      // Step.3 组装pageList
+      List<EnrollmentPage> pageList = new ArrayList<EnrollmentPage>();
+      for (Enrollment main : enrollmentList) {
+          EnrollmentPage vo = new EnrollmentPage();
+          BeanUtils.copyProperties(main, vo);
+          List<EnrollmentJob> enrollmentJobList = enrollmentJobService.selectByMainId(main.getId());
+          vo.setEnrollmentJobList(enrollmentJobList);
+          List<EnrollmentContact> enrollmentContactList = enrollmentContactService.selectByMainId(main.getId());
+          vo.setEnrollmentContactList(enrollmentContactList);
+          List<EnrollmentEdu> enrollmentEduList = enrollmentEduService.selectByMainId(main.getId());
+          vo.setEnrollmentEduList(enrollmentEduList);
+          pageList.add(vo);
+      }
+
+      // Step.4 AutoPoi 导出Excel
+      ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+      mv.addObject(NormalExcelConstants.FILE_NAME, "入职登记列表");
+      mv.addObject(NormalExcelConstants.CLASS, EnrollmentPage.class);
+      mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("入职登记数据", "导出人:"+sysUser.getRealname(), "入职登记"));
+      mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+      return mv;
+    }
+
+    /**
+    * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+      for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+          MultipartFile file = entity.getValue();// 获取上传文件对象
+          ImportParams params = new ImportParams();
+          params.setTitleRows(2);
+          params.setHeadRows(1);
+          params.setNeedSave(true);
+          try {
+              List<EnrollmentPage> list = ExcelImportUtil.importExcel(file.getInputStream(), EnrollmentPage.class, params);
+              for (EnrollmentPage page : list) {
+                  Enrollment po = new Enrollment();
+                  BeanUtils.copyProperties(page, po);
+                  enrollmentService.saveMain(po, page.getEnrollmentJobList(),page.getEnrollmentContactList(),page.getEnrollmentEduList());
+              }
+              return Result.ok("文件导入成功!数据行数:" + list.size());
+          } catch (Exception e) {
+              log.error(e.getMessage(),e);
+              return Result.error("文件导入失败:"+e.getMessage());
+          } finally {
+              try {
+                  file.getInputStream().close();
+              } catch (IOException e) {
+                  e.printStackTrace();
+              }
+          }
+      }
+      return Result.ok("文件导入失败!");
+    }
+
+	 /**
+	  *   通过id提交
+	  *
+	  * @param id
+	  * @return
+	  */
+	 @AutoLog(value = "入职登记-通过id提交")
+	 @ApiOperation(value="入职登记-通过id提交", notes="入职登记-通过id提交")
+	 @PutMapping(value = "/submit")
+	 public Result<?> submit(@RequestBody JSONObject jsonObject) {
+		 String id = jsonObject.getString("id");
+		 try {
+			 enrollmentService.submit(id);
+		 } catch (Exception e) {
+			 return Result.error(e.getMessage());
+		 }
+		 return Result.ok("提交成功!");
+	 }
+}

+ 171 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/Enrollment.java

@@ -0,0 +1,171 @@
+package org.jeecg.modules.oa.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 入职登记
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@ApiModel(value="enrollment对象", description="入职登记")
+@Data
+@TableName("enrollment")
+public class Enrollment implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+    @ApiModelProperty(value = "所属部门")
+    private java.lang.String sysOrgCode;
+	/**登记人	*/
+	@Excel(name = "登记人	", width = 15)
+    @ApiModelProperty(value = "登记人	")
+    private java.lang.String operator;
+	/**登记部门*/
+	@Excel(name = "登记部门", width = 15)
+    @ApiModelProperty(value = "登记部门")
+    private java.lang.String operatorDept;
+	/**登记日期*/
+	@Excel(name = "登记日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "登记日期")
+    private java.util.Date operateDate;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+    @ApiModelProperty(value = "姓名")
+    private java.lang.String realname;
+	/**用户账号*/
+	@Excel(name = "用户账号", width = 15)
+    @ApiModelProperty(value = "用户账号")
+    private java.lang.String username;
+	/**性别*/
+	@Excel(name = "性别", width = 15)
+    @ApiModelProperty(value = "性别")
+    private java.lang.Integer gender;
+	/**证件类型*/
+	@Excel(name = "证件类型", width = 15)
+    @ApiModelProperty(value = "证件类型")
+    private java.lang.String idType;
+	/**证件号码*/
+	@Excel(name = "证件号码", width = 15)
+    @ApiModelProperty(value = "证件号码")
+    private java.lang.String idNo;
+	/**生日*/
+	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "生日")
+    private java.util.Date birthday;
+	/**入职日期*/
+	@Excel(name = "入职日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "入职日期")
+    private java.util.Date joinDate;
+	/**职务*/
+	@Excel(name = "职务", width = 15)
+    @ApiModelProperty(value = "职务")
+    private java.lang.String post;
+	/**职级*/
+	@Excel(name = "职级", width = 15)
+    @ApiModelProperty(value = "职级")
+    private java.lang.String postLevel;
+	/**学历*/
+	@Excel(name = "学历", width = 15)
+    @ApiModelProperty(value = "学历")
+    private java.lang.String education;
+	/**岗位类型*/
+	@Excel(name = "岗位类型", width = 15)
+    @ApiModelProperty(value = "岗位类型")
+    private java.lang.String positionType;
+	/**部门*/
+	@Excel(name = "部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
+    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
+    @ApiModelProperty(value = "部门")
+    private java.lang.String departIds;
+	/**手机号码*/
+	@Excel(name = "手机号码", width = 15)
+    @ApiModelProperty(value = "手机号码")
+    private java.lang.String mobile;
+	/**座机*/
+	@Excel(name = "座机", width = 15)
+    @ApiModelProperty(value = "座机")
+    private java.lang.String phone;
+	/**联系地址*/
+	@Excel(name = "联系地址", width = 15)
+    @ApiModelProperty(value = "联系地址")
+    private java.lang.String address;
+	/**试用结束日期*/
+	@Excel(name = "试用结束日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "试用结束日期")
+    private java.util.Date probationEnd;
+	/**合同起始日期*/
+	@Excel(name = "合同起始日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "合同起始日期")
+    private java.util.Date contractStart;
+	/**合同结束日期*/
+	@Excel(name = "合同结束日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "合同终止日期")
+    private java.util.Date contractEnd;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+    private java.lang.String remark;
+	/**身份*/
+	@Excel(name = "身份", width = 15)
+    @ApiModelProperty(value = "身份")
+    private java.lang.Integer identity;
+	/**签字图片*/
+	@Excel(name = "签字图片", width = 15)
+    @ApiModelProperty(value = "签字图片")
+    private java.lang.String signature;
+	/**附件*/
+	@Excel(name = "附件", width = 15)
+    @ApiModelProperty(value = "附件")
+    private java.lang.String attachment;
+
+    private Integer status;
+}

+ 78 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/EnrollmentContact.java

@@ -0,0 +1,78 @@
+package org.jeecg.modules.oa.entity;
+
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 联系人
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@ApiModel(value="enrollment对象", description="入职登记")
+@Data
+@TableName("enrollment_contact")
+public class EnrollmentContact implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+	@ApiModelProperty(value = "主键")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+	@ApiModelProperty(value = "更新人")
+	private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新日期")
+	private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+	@ApiModelProperty(value = "所属部门")
+	private java.lang.String sysOrgCode;
+	/**登记id*/
+	@ApiModelProperty(value = "登记id")
+	private java.lang.String enrollmentId;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+	@ApiModelProperty(value = "姓名")
+	private java.lang.String name;
+	/**关系*/
+	@Excel(name = "关系", width = 15)
+	@ApiModelProperty(value = "关系")
+	private java.lang.String relation;
+	/**性别*/
+	@Excel(name = "性别", width = 15)
+	@ApiModelProperty(value = "性别")
+	private java.lang.Integer sex;
+	/**联系方式*/
+	@Excel(name = "联系方式", width = 15)
+	@ApiModelProperty(value = "联系方式")
+	private java.lang.String phone;
+	/**职业*/
+	@Excel(name = "职业", width = 15)
+	@ApiModelProperty(value = "职业")
+	private java.lang.String career;
+}

+ 74 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/EnrollmentEdu.java

@@ -0,0 +1,74 @@
+package org.jeecg.modules.oa.entity;
+
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 学习经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@ApiModel(value="enrollment对象", description="入职登记")
+@Data
+@TableName("enrollment_edu")
+public class EnrollmentEdu implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+	@ApiModelProperty(value = "主键")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+	@ApiModelProperty(value = "更新人")
+	private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新日期")
+	private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+	@ApiModelProperty(value = "所属部门")
+	private java.lang.String sysOrgCode;
+	/**登记id*/
+	@ApiModelProperty(value = "登记id")
+	private java.lang.String enrollmentId;
+	/**学校*/
+	@Excel(name = "学校", width = 15)
+	@ApiModelProperty(value = "学校")
+	private java.lang.String school;
+	/**起始日期*/
+	@Excel(name = "起始日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "起始日期")
+	private java.util.Date startDate;
+	/**截止日期*/
+	@Excel(name = "截止日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "截止日期")
+	private java.util.Date endDate;
+}

+ 78 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/EnrollmentJob.java

@@ -0,0 +1,78 @@
+package org.jeecg.modules.oa.entity;
+
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 工作经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@ApiModel(value="enrollment对象", description="入职登记")
+@Data
+@TableName("enrollment_job")
+public class EnrollmentJob implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+	@ApiModelProperty(value = "主键")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+	@ApiModelProperty(value = "更新人")
+	private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新日期")
+	private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+	@ApiModelProperty(value = "所属部门")
+	private java.lang.String sysOrgCode;
+	/**登记id*/
+	@ApiModelProperty(value = "登记id")
+	private java.lang.String enrollmentId;
+	/**单位*/
+	@Excel(name = "单位", width = 15)
+	@ApiModelProperty(value = "单位")
+	private java.lang.String company;
+	/**职位*/
+	@Excel(name = "职位", width = 15)
+	@ApiModelProperty(value = "职位")
+	private java.lang.String position;
+	/**起始日期*/
+	@Excel(name = "起始日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "起始日期")
+	private java.util.Date startDate;
+	/**截止日期*/
+	@Excel(name = "截止日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "截止日期")
+	private java.util.Date endDate;
+}

+ 19 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/EnrollmentContactMapper.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.oa.mapper;
+
+import java.util.List;
+import org.jeecg.modules.oa.entity.EnrollmentContact;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @Description: 联系人
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+public interface EnrollmentContactMapper extends BaseMapper<EnrollmentContact> {
+
+	public boolean deleteByMainId(@Param("mainId") String mainId);
+    
+	public List<EnrollmentContact> selectByMainId(@Param("mainId") String mainId);
+}

+ 19 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/EnrollmentEduMapper.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.oa.mapper;
+
+import java.util.List;
+import org.jeecg.modules.oa.entity.EnrollmentEdu;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @Description: 学习经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+public interface EnrollmentEduMapper extends BaseMapper<EnrollmentEdu> {
+
+	public boolean deleteByMainId(@Param("mainId") String mainId);
+    
+	public List<EnrollmentEdu> selectByMainId(@Param("mainId") String mainId);
+}

+ 19 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/EnrollmentJobMapper.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.oa.mapper;
+
+import java.util.List;
+import org.jeecg.modules.oa.entity.EnrollmentJob;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @Description: 工作经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+public interface EnrollmentJobMapper extends BaseMapper<EnrollmentJob> {
+
+	public boolean deleteByMainId(@Param("mainId") String mainId);
+    
+	public List<EnrollmentJob> selectByMainId(@Param("mainId") String mainId);
+}

+ 17 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/EnrollmentMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.oa.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.oa.entity.Enrollment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 入职登记
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+public interface EnrollmentMapper extends BaseMapper<Enrollment> {
+
+}

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/EnrollmentContactMapper.xml

@@ -0,0 +1,16 @@
+<?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">
+<mapper namespace="org.jeecg.modules.oa.mapper.EnrollmentContactMapper">
+
+	<delete id="deleteByMainId" parameterType="java.lang.String">
+		DELETE 
+		FROM  enrollment_contact 
+		WHERE
+			 enrollment_id = #{mainId} 	</delete>
+	
+	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.oa.entity.EnrollmentContact">
+		SELECT * 
+		FROM  enrollment_contact
+		WHERE
+			 enrollment_id = #{mainId} 	</select>
+</mapper>

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/EnrollmentEduMapper.xml

@@ -0,0 +1,16 @@
+<?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">
+<mapper namespace="org.jeecg.modules.oa.mapper.EnrollmentEduMapper">
+
+	<delete id="deleteByMainId" parameterType="java.lang.String">
+		DELETE 
+		FROM  enrollment_edu 
+		WHERE
+			 enrollment_id = #{mainId} 	</delete>
+	
+	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.oa.entity.EnrollmentEdu">
+		SELECT * 
+		FROM  enrollment_edu
+		WHERE
+			 enrollment_id = #{mainId} 	</select>
+</mapper>

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/EnrollmentJobMapper.xml

@@ -0,0 +1,16 @@
+<?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">
+<mapper namespace="org.jeecg.modules.oa.mapper.EnrollmentJobMapper">
+
+	<delete id="deleteByMainId" parameterType="java.lang.String">
+		DELETE 
+		FROM  enrollment_job 
+		WHERE
+			 enrollment_id = #{mainId} 	</delete>
+	
+	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.oa.entity.EnrollmentJob">
+		SELECT * 
+		FROM  enrollment_job
+		WHERE
+			 enrollment_id = #{mainId} 	</select>
+</mapper>

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/EnrollmentMapper.xml

@@ -0,0 +1,5 @@
+<?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">
+<mapper namespace="org.jeecg.modules.oa.mapper.EnrollmentMapper">
+
+</mapper>

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IEnrollmentContactService.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.oa.service;
+
+import org.jeecg.modules.oa.entity.EnrollmentContact;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+
+/**
+ * @Description: 联系人
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+public interface IEnrollmentContactService extends IService<EnrollmentContact> {
+
+	public List<EnrollmentContact> selectByMainId(String mainId);
+}

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IEnrollmentEduService.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.oa.service;
+
+import org.jeecg.modules.oa.entity.EnrollmentEdu;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+
+/**
+ * @Description: 学习经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+public interface IEnrollmentEduService extends IService<EnrollmentEdu> {
+
+	public List<EnrollmentEdu> selectByMainId(String mainId);
+}

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IEnrollmentJobService.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.oa.service;
+
+import org.jeecg.modules.oa.entity.EnrollmentJob;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+
+/**
+ * @Description: 工作经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+public interface IEnrollmentJobService extends IService<EnrollmentJob> {
+
+	public List<EnrollmentJob> selectByMainId(String mainId);
+}

+ 43 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IEnrollmentService.java

@@ -0,0 +1,43 @@
+package org.jeecg.modules.oa.service;
+
+import org.jeecg.modules.oa.entity.EnrollmentJob;
+import org.jeecg.modules.oa.entity.EnrollmentContact;
+import org.jeecg.modules.oa.entity.EnrollmentEdu;
+import org.jeecg.modules.oa.entity.Enrollment;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @Description: 入职登记
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+public interface IEnrollmentService extends IService<Enrollment> {
+
+	/**
+	 * 添加一对多
+	 * 
+	 */
+	public void saveMain(Enrollment enrollment,List<EnrollmentJob> enrollmentJobList,List<EnrollmentContact> enrollmentContactList,List<EnrollmentEdu> enrollmentEduList) ;
+	
+	/**
+	 * 修改一对多
+	 * 
+	 */
+	public void updateMain(Enrollment enrollment,List<EnrollmentJob> enrollmentJobList,List<EnrollmentContact> enrollmentContactList,List<EnrollmentEdu> enrollmentEduList);
+	
+	/**
+	 * 删除一对多
+	 */
+	public void delMain (String id);
+	
+	/**
+	 * 批量删除一对多
+	 */
+	public void delBatchMain (Collection<? extends Serializable> idList);
+
+	void submit(String id) throws Exception;
+}

+ 27 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/EnrollmentContactServiceImpl.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.oa.service.impl;
+
+import org.jeecg.modules.oa.entity.EnrollmentContact;
+import org.jeecg.modules.oa.mapper.EnrollmentContactMapper;
+import org.jeecg.modules.oa.service.IEnrollmentContactService;
+import org.springframework.stereotype.Service;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @Description: 联系人
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@Service
+public class EnrollmentContactServiceImpl extends ServiceImpl<EnrollmentContactMapper, EnrollmentContact> implements IEnrollmentContactService {
+	
+	@Autowired
+	private EnrollmentContactMapper enrollmentContactMapper;
+	
+	@Override
+	public List<EnrollmentContact> selectByMainId(String mainId) {
+		return enrollmentContactMapper.selectByMainId(mainId);
+	}
+}

+ 27 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/EnrollmentEduServiceImpl.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.oa.service.impl;
+
+import org.jeecg.modules.oa.entity.EnrollmentEdu;
+import org.jeecg.modules.oa.mapper.EnrollmentEduMapper;
+import org.jeecg.modules.oa.service.IEnrollmentEduService;
+import org.springframework.stereotype.Service;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @Description: 学习经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@Service
+public class EnrollmentEduServiceImpl extends ServiceImpl<EnrollmentEduMapper, EnrollmentEdu> implements IEnrollmentEduService {
+	
+	@Autowired
+	private EnrollmentEduMapper enrollmentEduMapper;
+	
+	@Override
+	public List<EnrollmentEdu> selectByMainId(String mainId) {
+		return enrollmentEduMapper.selectByMainId(mainId);
+	}
+}

+ 27 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/EnrollmentJobServiceImpl.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.oa.service.impl;
+
+import org.jeecg.modules.oa.entity.EnrollmentJob;
+import org.jeecg.modules.oa.mapper.EnrollmentJobMapper;
+import org.jeecg.modules.oa.service.IEnrollmentJobService;
+import org.springframework.stereotype.Service;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @Description: 工作经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@Service
+public class EnrollmentJobServiceImpl extends ServiceImpl<EnrollmentJobMapper, EnrollmentJob> implements IEnrollmentJobService {
+	
+	@Autowired
+	private EnrollmentJobMapper enrollmentJobMapper;
+	
+	@Override
+	public List<EnrollmentJob> selectByMainId(String mainId) {
+		return enrollmentJobMapper.selectByMainId(mainId);
+	}
+}

+ 162 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/EnrollmentServiceImpl.java

@@ -0,0 +1,162 @@
+package org.jeecg.modules.oa.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.oa.entity.Enrollment;
+import org.jeecg.modules.oa.entity.EnrollmentContact;
+import org.jeecg.modules.oa.entity.EnrollmentEdu;
+import org.jeecg.modules.oa.entity.EnrollmentJob;
+import org.jeecg.modules.oa.mapper.EnrollmentContactMapper;
+import org.jeecg.modules.oa.mapper.EnrollmentEduMapper;
+import org.jeecg.modules.oa.mapper.EnrollmentJobMapper;
+import org.jeecg.modules.oa.mapper.EnrollmentMapper;
+import org.jeecg.modules.oa.service.IEnrollmentService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.entity.SysUserContact;
+import org.jeecg.modules.system.entity.SysUserEdu;
+import org.jeecg.modules.system.entity.SysUserJob;
+import org.jeecg.modules.system.service.ISysUserService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @Description: 入职登记
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@Service
+public class EnrollmentServiceImpl extends ServiceImpl<EnrollmentMapper, Enrollment> implements IEnrollmentService {
+
+	@Autowired
+	private EnrollmentMapper enrollmentMapper;
+	@Autowired
+	private EnrollmentJobMapper enrollmentJobMapper;
+	@Autowired
+	private EnrollmentContactMapper enrollmentContactMapper;
+	@Autowired
+	private EnrollmentEduMapper enrollmentEduMapper;
+
+	@Autowired
+	private ISysUserService sysUserService;
+	
+	@Override
+	@Transactional
+	public void saveMain(Enrollment enrollment, List<EnrollmentJob> enrollmentJobList,List<EnrollmentContact> enrollmentContactList,List<EnrollmentEdu> enrollmentEduList) {
+		enrollmentMapper.insert(enrollment);
+		if(enrollmentJobList!=null && enrollmentJobList.size()>0) {
+			for(EnrollmentJob entity:enrollmentJobList) {
+				//外键设置
+				entity.setEnrollmentId(enrollment.getId());
+				enrollmentJobMapper.insert(entity);
+			}
+		}
+		if(enrollmentContactList!=null && enrollmentContactList.size()>0) {
+			for(EnrollmentContact entity:enrollmentContactList) {
+				//外键设置
+				entity.setEnrollmentId(enrollment.getId());
+				enrollmentContactMapper.insert(entity);
+			}
+		}
+		if(enrollmentEduList!=null && enrollmentEduList.size()>0) {
+			for(EnrollmentEdu entity:enrollmentEduList) {
+				//外键设置
+				entity.setEnrollmentId(enrollment.getId());
+				enrollmentEduMapper.insert(entity);
+			}
+		}
+	}
+
+	@Override
+	@Transactional
+	public void updateMain(Enrollment enrollment,List<EnrollmentJob> enrollmentJobList,List<EnrollmentContact> enrollmentContactList,List<EnrollmentEdu> enrollmentEduList) {
+		enrollmentMapper.updateById(enrollment);
+		
+		//1.先删除子表数据
+		enrollmentJobMapper.deleteByMainId(enrollment.getId());
+		enrollmentContactMapper.deleteByMainId(enrollment.getId());
+		enrollmentEduMapper.deleteByMainId(enrollment.getId());
+		
+		//2.子表数据重新插入
+		if(enrollmentJobList!=null && enrollmentJobList.size()>0) {
+			for(EnrollmentJob entity:enrollmentJobList) {
+				//外键设置
+				entity.setEnrollmentId(enrollment.getId());
+				enrollmentJobMapper.insert(entity);
+			}
+		}
+		if(enrollmentContactList!=null && enrollmentContactList.size()>0) {
+			for(EnrollmentContact entity:enrollmentContactList) {
+				//外键设置
+				entity.setEnrollmentId(enrollment.getId());
+				enrollmentContactMapper.insert(entity);
+			}
+		}
+		if(enrollmentEduList!=null && enrollmentEduList.size()>0) {
+			for(EnrollmentEdu entity:enrollmentEduList) {
+				//外键设置
+				entity.setEnrollmentId(enrollment.getId());
+				enrollmentEduMapper.insert(entity);
+			}
+		}
+	}
+
+	@Override
+	@Transactional
+	public void delMain(String id) {
+		enrollmentJobMapper.deleteByMainId(id);
+		enrollmentContactMapper.deleteByMainId(id);
+		enrollmentEduMapper.deleteByMainId(id);
+		enrollmentMapper.deleteById(id);
+	}
+
+	@Override
+	@Transactional
+	public void delBatchMain(Collection<? extends Serializable> idList) {
+		for(Serializable id:idList) {
+			enrollmentJobMapper.deleteByMainId(id.toString());
+			enrollmentContactMapper.deleteByMainId(id.toString());
+			enrollmentEduMapper.deleteByMainId(id.toString());
+			enrollmentMapper.deleteById(id);
+		}
+	}
+
+    @Override
+    public void submit(String id) throws Exception{
+		Enrollment enrollment = this.getById(id);
+		SysUser user = new SysUser();
+		BeanUtils.copyProperties(enrollment, user,"id");
+		user.setSex(enrollment.getGender());
+		List<EnrollmentJob> enrollmentJobList = enrollmentJobMapper.selectByMainId(id);
+		List<SysUserJob> jobs = new ArrayList<>();
+		enrollmentJobList.forEach(i->{
+			SysUserJob job = new SysUserJob();
+			BeanUtils.copyProperties(i, job,"id");
+			jobs.add(job);
+		});
+		List<EnrollmentContact> enrollmentContactList = enrollmentContactMapper.selectByMainId(id);
+		List<SysUserContact> contracts = new ArrayList<>();
+		enrollmentContactList.forEach(i->{
+			SysUserContact contract = new SysUserContact();
+			BeanUtils.copyProperties(i, contract,"id");
+			contracts.add(contract);
+		});
+		List<EnrollmentEdu> enrollmentEduList = enrollmentEduMapper.selectByMainId(id);
+		List<SysUserEdu> edus = new ArrayList<>();
+		enrollmentEduList.forEach(i->{
+			SysUserEdu edu = new SysUserEdu();
+			BeanUtils.copyProperties(i, edu,"id");
+			edus.add(edu);
+		});
+		sysUserService.saveMain(user,jobs,contracts,edus);
+		enrollment.setStatus(2);
+		this.updateById(enrollment);
+    }
+
+}

+ 176 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/vo/EnrollmentPage.java

@@ -0,0 +1,176 @@
+package org.jeecg.modules.oa.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.modules.oa.entity.EnrollmentContact;
+import org.jeecg.modules.oa.entity.EnrollmentEdu;
+import org.jeecg.modules.oa.entity.EnrollmentJob;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecgframework.poi.excel.annotation.ExcelCollection;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.List;
+
+/**
+ * @Description: 入职登记
+ * @Author: jeecg-boot
+ * @Date:   2023-05-26
+ * @Version: V1.0
+ */
+@Data
+@ApiModel(value="enrollmentPage对象", description="入职登记")
+public class EnrollmentPage {
+	
+	/**主键*/
+	@ApiModelProperty(value = "主键")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+	@ApiModelProperty(value = "更新人")
+	private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新日期")
+	private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+	@ApiModelProperty(value = "所属部门")
+	private java.lang.String sysOrgCode;
+	/**登记人	*/
+	@Excel(name = "登记人	", width = 15)
+	@ApiModelProperty(value = "登记人	")
+	private java.lang.String operator;
+	/**登记部门*/
+	@Excel(name = "登记部门", width = 15)
+	@ApiModelProperty(value = "登记部门")
+	private java.lang.String operatorDept;
+	/**登记日期*/
+	@Excel(name = "登记日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "登记日期")
+	private java.util.Date operateDate;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+	@ApiModelProperty(value = "姓名")
+	private java.lang.String realname;
+	/**用户账号*/
+	@Excel(name = "用户账号", width = 15)
+	@ApiModelProperty(value = "用户账号")
+	private java.lang.String username;
+	/**性别*/
+	@Excel(name = "性别", width = 15)
+	@ApiModelProperty(value = "性别")
+	private java.lang.Integer gender;
+	/**证件类型*/
+	@Excel(name = "证件类型", width = 15)
+	@ApiModelProperty(value = "证件类型")
+	private java.lang.String idType;
+	/**证件号码*/
+	@Excel(name = "证件号码", width = 15)
+	@ApiModelProperty(value = "证件号码")
+	private java.lang.String idNo;
+	/**生日*/
+	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "生日")
+	private java.util.Date birthday;
+	/**入职日期*/
+	@Excel(name = "入职日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "入职日期")
+	private java.util.Date joinDate;
+	/**职务*/
+	@Excel(name = "职务", width = 15)
+	@ApiModelProperty(value = "职务")
+	private java.lang.String post;
+	/**职级*/
+	@Excel(name = "职级", width = 15)
+	@ApiModelProperty(value = "职级")
+	private java.lang.String postLevel;
+	/**学历*/
+	@Excel(name = "学历", width = 15)
+	@ApiModelProperty(value = "学历")
+	private java.lang.String education;
+	/**岗位类型*/
+	@Excel(name = "岗位类型", width = 15)
+	@ApiModelProperty(value = "岗位类型")
+	private java.lang.String positionType;
+	/**部门*/
+	@Excel(name = "部门", width = 15)
+	@ApiModelProperty(value = "部门")
+	private java.lang.String departIds;
+	/**手机号码*/
+	@Excel(name = "手机号码", width = 15)
+	@ApiModelProperty(value = "手机号码")
+	private java.lang.String mobile;
+	/**座机*/
+	@Excel(name = "座机", width = 15)
+	@ApiModelProperty(value = "座机")
+	private java.lang.String phone;
+	/**联系地址*/
+	@Excel(name = "联系地址", width = 15)
+	@ApiModelProperty(value = "联系地址")
+	private java.lang.String address;
+	/**试用结束日期*/
+	@Excel(name = "试用结束日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "试用结束日期")
+	private java.util.Date probationEnd;
+	/**合同起始日期*/
+	@Excel(name = "合同起始日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "合同起始日期")
+	private java.util.Date contractStart;
+	/**合同结束日期*/
+	@Excel(name = "合同结束日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "合同结束日期")
+	private java.util.Date contractEnd;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+	@ApiModelProperty(value = "备注")
+	private java.lang.String remark;
+	/**身份*/
+	@Excel(name = "身份", width = 15)
+	@ApiModelProperty(value = "身份")
+	private java.lang.Integer identity;
+	/**签字图片*/
+	@Excel(name = "签字图片", width = 15)
+	@ApiModelProperty(value = "签字图片")
+	private java.lang.String signature;
+	/**附件*/
+	@Excel(name = "附件", width = 15)
+	@ApiModelProperty(value = "附件")
+	private java.lang.String attachment;
+	
+	@ExcelCollection(name="工作经历")
+	@ApiModelProperty(value = "工作经历")
+	private List<EnrollmentJob> enrollmentJobList;
+	@ExcelCollection(name="联系人")
+	@ApiModelProperty(value = "联系人")
+	private List<EnrollmentContact> enrollmentContactList;
+	@ExcelCollection(name="学习经历")
+	@ApiModelProperty(value = "学习经历")
+	private List<EnrollmentEdu> enrollmentEduList;
+	
+}

+ 158 - 30
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -27,6 +27,10 @@ import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.*;
 import org.jeecg.config.dataSource.OtherSource;
+import org.jeecg.modules.system.service.ISysUserContactService;
+import org.jeecg.modules.system.service.ISysUserEduService;
+import org.jeecg.modules.system.service.ISysUserJobService;
+import org.jeecg.modules.system.vo.SysUserPage;
 import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.mapper.SysUserMapper;
 import org.jeecg.modules.system.model.DepartIdModel;
@@ -98,6 +102,12 @@ public class SysUserController {
 
 	@Autowired
 	private SysUserMapper sysUserMapper;
+    @Autowired
+    private ISysUserJobService sysUserJobService;
+    @Autowired
+    private ISysUserContactService sysUserContactService;
+    @Autowired
+    private ISysUserEduService sysUserEduService;
 
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
 	public Result<IPage<SysUser>> queryPageList(SysUser user,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -108,17 +118,24 @@ public class SysUserController {
 
         String syHireType = user.getSyHireType();
         user.setSyHireType(null);
+
+        String username = user.getUsername();
+        user.setUsername(null);
+        String realname = user.getRealname();
+        user.setRealname(null);
+
 		QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
-//		queryWrapper.like(StringUtils.isNotBlank(realname),"realname",realname);
+		queryWrapper.like(StringUtils.isNotBlank(username),"username",username);
+        queryWrapper.like(StringUtils.isNotBlank(realname),"realname",realname);
 		Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
 		//根据公司id过滤
 //        LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
 //        queryWrapper.lambda().like(SysUser::getPkOrg,sysUser.getOrgCode());
-        if(StringUtils.isNotBlank(syHireType) && syHireType.equals("在职")){
-            queryWrapper.last("and IFNULL(sy_Hire_Type,'在职') !='离职' order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
-        }else{
-            queryWrapper.last("order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
-        }
+//        if(StringUtils.isNotBlank(syHireType) && syHireType.equals("在职")){
+//            queryWrapper.last("and IFNULL(sy_Hire_Type,'在职') !='离职' order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
+//        }else{
+//            queryWrapper.last("order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
+//        }
 
         if(StringUtils.isNotBlank(deptName)){
             SysUser user2 = new SysUser();
@@ -390,22 +407,22 @@ public class SysUserController {
 	/**
 	 * 删除用户
 	 */
-	@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
-	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
-		sysBaseAPI.addLog("删除用户,id: " +id ,CommonConstant.LOG_TYPE_2, 3);
-		this.sysUserService.deleteUser(id);
-		return Result.ok("删除用户成功");
-	}
+//	@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
+//	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+//		sysBaseAPI.addLog("删除用户,id: " +id ,CommonConstant.LOG_TYPE_2, 3);
+//		this.sysUserService.deleteUser(id);
+//		return Result.ok("删除用户成功");
+//	}
 
 	/**
 	 * 批量删除用户
 	 */
-	@RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
-	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		sysBaseAPI.addLog("批量删除用户, ids: " +ids ,CommonConstant.LOG_TYPE_2, 3);
-		this.sysUserService.deleteBatchUsers(ids);
-		return Result.ok("批量删除用户成功");
-	}
+//	@RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
+//	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+//		sysBaseAPI.addLog("批量删除用户, ids: " +ids ,CommonConstant.LOG_TYPE_2, 3);
+//		this.sysUserService.deleteBatchUsers(ids);
+//		return Result.ok("批量删除用户成功");
+//	}
 
 	/**
 	  * 冻结&解冻用户
@@ -434,18 +451,18 @@ public class SysUserController {
 
     }
 
-    @RequestMapping(value = "/queryById", method = RequestMethod.GET)
-    public Result<SysUser> queryById(@RequestParam(name = "id", required = true) String id) {
-        Result<SysUser> result = new Result<SysUser>();
-        SysUser sysUser = sysUserService.getById(id);
-        if (sysUser == null) {
-            result.error500("未找到对应实体");
-        } else {
-            result.setResult(sysUser);
-            result.setSuccess(true);
-        }
-        return result;
-    }
+//    @RequestMapping(value = "/queryById", method = RequestMethod.GET)
+//    public Result<SysUser> queryById(@RequestParam(name = "id", required = true) String id) {
+//        Result<SysUser> result = new Result<SysUser>();
+//        SysUser sysUser = sysUserService.getById(id);
+//        if (sysUser == null) {
+//            result.error500("未找到对应实体");
+//        } else {
+//            result.setResult(sysUser);
+//            result.setSuccess(true);
+//        }
+//        return result;
+//    }
 
 
     @RequestMapping(value = "/queryByUsername", method = RequestMethod.GET)
@@ -1790,4 +1807,115 @@ public class SysUserController {
         return result;
 
     }
+
+
+    /**
+     *  编辑
+     *
+     * @param sysUserPage
+     * @return
+     */
+    @AutoLog(value = "用户-编辑")
+    @ApiOperation(value="用户-编辑", notes="用户-编辑")
+    @PutMapping(value = "/editNew")
+    public Result<?> editNew(@RequestBody SysUserPage sysUserPage) {
+        SysUser sysUser = new SysUser();
+        org.springframework.beans.BeanUtils.copyProperties(sysUserPage, sysUser);
+        SysUser sysUserEntity = sysUserService.getById(sysUser.getId());
+        if(sysUserEntity==null) {
+            return Result.error("未找到对应数据");
+        }
+        try {
+            sysUserService.updateMain(sysUser, sysUserPage.getSysUserJobList(),sysUserPage.getSysUserContactList(),sysUserPage.getSysUserEduList());
+        } catch (Exception e) {
+            Result.error(e.getMessage());
+        }
+        return Result.ok("编辑成功!");
+    }
+
+    /**
+     *   通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "用户-通过id删除")
+    @ApiOperation(value="用户-通过id删除", notes="用户-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+        sysUserService.delMain(id);
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     *  批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "用户-批量删除")
+    @ApiOperation(value="用户-批量删除", notes="用户-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+        this.sysUserService.delBatchMain(Arrays.asList(ids.split(",")));
+        return Result.ok("批量删除成功!");
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "用户-通过id查询")
+    @ApiOperation(value="用户-通过id查询", notes="用户-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+        SysUser sysUser = sysUserService.getById(id);
+        if(sysUser==null) {
+            return Result.error("未找到对应数据");
+        }
+        return Result.ok(sysUser);
+
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "用户工作经历集合-通过id查询")
+    @ApiOperation(value="用户工作经历集合-通过id查询", notes="用户工作经历-通过id查询")
+    @GetMapping(value = "/querySysUserJobByMainId")
+    public Result<?> querySysUserJobListByMainId(@RequestParam(name="id",required=true) String id) {
+        List<SysUserJob> sysUserJobList = sysUserJobService.selectByMainId(id);
+        return Result.ok(sysUserJobList);
+    }
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "用户联系人集合-通过id查询")
+    @ApiOperation(value="用户联系人集合-通过id查询", notes="用户联系人-通过id查询")
+    @GetMapping(value = "/querySysUserContactByMainId")
+    public Result<?> querySysUserContactListByMainId(@RequestParam(name="id",required=true) String id) {
+        List<SysUserContact> sysUserContactList = sysUserContactService.selectByMainId(id);
+        return Result.ok(sysUserContactList);
+    }
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "用户学习经历集合-通过id查询")
+    @ApiOperation(value="用户学习经历集合-通过id查询", notes="用户学习经历-通过id查询")
+    @GetMapping(value = "/querySysUserEduByMainId")
+    public Result<?> querySysUserEduListByMainId(@RequestParam(name="id",required=true) String id) {
+        List<SysUserEdu> sysUserEduList = sysUserEduService.selectByMainId(id);
+        return Result.ok(sysUserEduList);
+    }
 }

+ 103 - 2
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java

@@ -94,8 +94,8 @@ public class SysUser implements Serializable {
     /**
      * 电话
      */
-    @Excel(name = "电话", width = 15)
-    private String phone;
+//    @Excel(name = "电话", width = 15)
+//    private String phone;
 
     /**
      * 部门code(当前选择登录部门)
@@ -411,4 +411,105 @@ public class SysUser implements Serializable {
      */
     private java.lang.String fileName;
 
+
+//    /**姓名*/
+//    @Excel(name = "姓名", width = 15)
+//    @ApiModelProperty(value = "姓名")
+//    private java.lang.String realname;
+//    /**用户账号*/
+//    @Excel(name = "用户账号", width = 15)
+//    @ApiModelProperty(value = "用户账号")
+//    private java.lang.String username;
+//    /**性别*/
+//    @Excel(name = "性别", width = 15)
+//    @ApiModelProperty(value = "性别")
+//    private java.lang.Integer gender;
+//    /**证件类型*/
+//    @Excel(name = "证件类型", width = 15)
+//    @ApiModelProperty(value = "证件类型")
+//    private java.lang.String idType;
+    /**证件号码*/
+    @Excel(name = "证件号码", width = 15)
+    @ApiModelProperty(value = "证件号码")
+    private java.lang.String idNo;
+    /**生日*/
+//    @Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
+//    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+//    @DateTimeFormat(pattern="yyyy-MM-dd")
+//    @ApiModelProperty(value = "生日")
+//    private java.util.Date birthday;
+    /**入职日期*/
+    @Excel(name = "入职日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "入职日期")
+    private java.util.Date joinDate;
+    /**职务*/
+//    @Excel(name = "职务", width = 15)
+//    @ApiModelProperty(value = "职务")
+//    private java.lang.String post;
+    /**职级*/
+    @Excel(name = "职级", width = 15)
+    @ApiModelProperty(value = "职级")
+    private java.lang.String postLevel;
+    /**学历*/
+    @Excel(name = "学历", width = 15)
+    @ApiModelProperty(value = "学历")
+    private java.lang.String education;
+    /**岗位类型*/
+    @Excel(name = "岗位类型", width = 15)
+    @ApiModelProperty(value = "岗位类型")
+    private java.lang.String positionType;
+    /**部门*/
+//    @Excel(name = "部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
+//    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
+//    @ApiModelProperty(value = "部门")
+//    private java.lang.String departIds;
+    /**手机号码*/
+    @Excel(name = "手机号码", width = 15)
+    @ApiModelProperty(value = "手机号码")
+    private java.lang.String mobile;
+    /**座机*/
+    @Excel(name = "座机", width = 15)
+    @ApiModelProperty(value = "座机")
+    private java.lang.String phone;
+    /**联系地址*/
+    @Excel(name = "联系地址", width = 15)
+    @ApiModelProperty(value = "联系地址")
+    private java.lang.String address;
+    /**试用结束日期*/
+    @Excel(name = "试用结束日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "试用结束日期")
+    private java.util.Date probationEnd;
+    /**合同起始日期*/
+    @Excel(name = "合同起始日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "合同起始日期")
+    private java.util.Date contractStart;
+    /**合同结束日期*/
+    @Excel(name = "合同结束日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "合同终止日期")
+    private java.util.Date contractEnd;
+    /**备注*/
+    @Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+    private java.lang.String remark;
+    /**身份*/
+//    @Excel(name = "身份", width = 15)
+//    @ApiModelProperty(value = "身份")
+//    private java.lang.Integer identity;
+    /**签字图片*/
+    @Excel(name = "签字图片", width = 15)
+    @ApiModelProperty(value = "签字图片")
+    private java.lang.String signature;
+    /**附件*/
+    @Excel(name = "附件", width = 15)
+    @ApiModelProperty(value = "附件")
+    private java.lang.String attachment;
+
 }

+ 78 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUserContact.java

@@ -0,0 +1,78 @@
+package org.jeecg.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 用户管理联系人
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+@ApiModel(value="sysUser对象", description="用户管理")
+@Data
+@TableName("sys_user_contact")
+public class SysUserContact implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+	@ApiModelProperty(value = "主键")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+	@ApiModelProperty(value = "更新人")
+	private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新日期")
+	private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+	@ApiModelProperty(value = "所属部门")
+	private java.lang.String sysOrgCode;
+	/**登记id*/
+	@ApiModelProperty(value = "登记id")
+	private java.lang.String sysUserId;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+	@ApiModelProperty(value = "姓名")
+	private java.lang.String name;
+	/**关系*/
+	@Excel(name = "关系", width = 15)
+	@ApiModelProperty(value = "关系")
+	private java.lang.String relation;
+	/**性别*/
+	@Excel(name = "性别", width = 15)
+	@ApiModelProperty(value = "性别")
+	private java.lang.Integer sex;
+	/**联系方式*/
+	@Excel(name = "联系方式", width = 15)
+	@ApiModelProperty(value = "联系方式")
+	private java.lang.String phone;
+	/**职业*/
+	@Excel(name = "职业", width = 15)
+	@ApiModelProperty(value = "职业")
+	private java.lang.String career;
+}

+ 74 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUserEdu.java

@@ -0,0 +1,74 @@
+package org.jeecg.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 用户管理学习经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+@ApiModel(value="sysUser对象", description="用户管理")
+@Data
+@TableName("sys_user_edu")
+public class SysUserEdu implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+	@ApiModelProperty(value = "主键")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+	@ApiModelProperty(value = "更新人")
+	private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新日期")
+	private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+	@ApiModelProperty(value = "所属部门")
+	private java.lang.String sysOrgCode;
+	/**登记id*/
+	@ApiModelProperty(value = "登记id")
+	private java.lang.String sysUserId;
+	/**学校*/
+	@Excel(name = "学校", width = 15)
+	@ApiModelProperty(value = "学校")
+	private java.lang.String school;
+	/**起始日期*/
+	@Excel(name = "起始日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "起始日期")
+	private java.util.Date startDate;
+	/**截止日期*/
+	@Excel(name = "截止日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "截止日期")
+	private java.util.Date endDate;
+}

+ 78 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUserJob.java

@@ -0,0 +1,78 @@
+package org.jeecg.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 用户管理工作经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+@ApiModel(value="sysUser对象", description="用户管理")
+@Data
+@TableName("sys_user_job")
+public class SysUserJob implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+	@ApiModelProperty(value = "主键")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+	@ApiModelProperty(value = "更新人")
+	private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新日期")
+	private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+	@ApiModelProperty(value = "所属部门")
+	private java.lang.String sysOrgCode;
+	/**登记id*/
+	@ApiModelProperty(value = "登记id")
+	private java.lang.String sysUserId;
+	/**单位*/
+	@Excel(name = "单位", width = 15)
+	@ApiModelProperty(value = "单位")
+	private java.lang.String company;
+	/**职位*/
+	@Excel(name = "职位", width = 15)
+	@ApiModelProperty(value = "职位")
+	private java.lang.String position;
+	/**起始日期*/
+	@Excel(name = "起始日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "起始日期")
+	private java.util.Date startDate;
+	/**截止日期*/
+	@Excel(name = "截止日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "截止日期")
+	private java.util.Date endDate;
+}

+ 20 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserContactMapper.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.system.entity.SysUserContact;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理联系人
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+public interface SysUserContactMapper extends BaseMapper<SysUserContact> {
+
+	public boolean deleteByMainId(@Param("mainId") String mainId);
+    
+	public List<SysUserContact> selectByMainId(@Param("mainId") String mainId);
+}

+ 20 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserEduMapper.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.system.entity.SysUserEdu;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理学习经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+public interface SysUserEduMapper extends BaseMapper<SysUserEdu> {
+
+	public boolean deleteByMainId(@Param("mainId") String mainId);
+    
+	public List<SysUserEdu> selectByMainId(@Param("mainId") String mainId);
+}

+ 20 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserJobMapper.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.system.entity.SysUserJob;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理工作经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+public interface SysUserJobMapper extends BaseMapper<SysUserJob> {
+
+	public boolean deleteByMainId(@Param("mainId") String mainId);
+    
+	public List<SysUserJob> selectByMainId(@Param("mainId") String mainId);
+}

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserContactMapper.xml

@@ -0,0 +1,16 @@
+<?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">
+<mapper namespace="org.jeecg.modules.system.mapper.SysUserContactMapper">
+
+	<delete id="deleteByMainId" parameterType="java.lang.String">
+		DELETE 
+		FROM  sys_user_contact
+		WHERE
+		sys_user_id = #{mainId} 	</delete>
+	
+	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.system.entity.SysUserContact">
+		SELECT * 
+		FROM  sys_user_contact
+		WHERE
+		sys_user_id = #{mainId} 	</select>
+</mapper>

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserEduMapper.xml

@@ -0,0 +1,16 @@
+<?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">
+<mapper namespace="org.jeecg.modules.system.mapper.SysUserEduMapper">
+
+	<delete id="deleteByMainId" parameterType="java.lang.String">
+		DELETE 
+		FROM  sys_user_edu
+		WHERE
+			 sys_user_id = #{mainId} 	</delete>
+	
+	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.system.entity.SysUserEdu">
+		SELECT * 
+		FROM  sys_user_edu
+		WHERE
+		sys_user_id = #{mainId} 	</select>
+</mapper>

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserJobMapper.xml

@@ -0,0 +1,16 @@
+<?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">
+<mapper namespace="org.jeecg.modules.system.mapper.SysUserJobMapper">
+
+	<delete id="deleteByMainId" parameterType="java.lang.String">
+		DELETE 
+		FROM  sys_user_job
+		WHERE
+		sys_user_id = #{mainId} 	</delete>
+	
+	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.system.entity.SysUserJob">
+		SELECT * 
+		FROM  sys_user_job
+		WHERE
+		sys_user_id = #{mainId} 	</select>
+</mapper>

+ 17 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserContactService.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.SysUserContact;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理联系人
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+public interface ISysUserContactService extends IService<SysUserContact> {
+
+	public List<SysUserContact> selectByMainId(String mainId);
+}

+ 17 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserEduService.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.SysUserEdu;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理学习经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+public interface ISysUserEduService extends IService<SysUserEdu> {
+
+	public List<SysUserEdu> selectByMainId(String mainId);
+}

+ 17 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserJobService.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.SysUserJob;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理工作经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+public interface ISysUserJobService extends IService<SysUserJob> {
+
+	public List<SysUserJob> selectByMainId(String mainId);
+}

+ 33 - 8
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -1,21 +1,24 @@
 package org.jeecg.modules.system.service;
 
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
+import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.vo.SysUserCacheInfo;
 import org.jeecg.modules.system.entity.SysUser;
-
-import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.SysUserContact;
+import org.jeecg.modules.system.entity.SysUserEdu;
+import org.jeecg.modules.system.entity.SysUserJob;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
-import org.springframework.context.annotation.DependsOn;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -248,4 +251,26 @@ public interface ISysUserService extends IService<SysUser> {
 	List<SysUser> queryAllUserInfo();
 
 	List<SysUser> getUserByRoleCode(String roleCode,String username);
+
+
+	/**
+	 * 添加一对多
+	 *
+	 */
+
+	@Transactional
+	void saveMain(SysUser sysUser, List<SysUserJob> sysUserJobList, List<SysUserContact> sysUserContactList, List<SysUserEdu> sysUserEduList);
+
+	@Transactional
+	void updateMain(SysUser sysUser, List<SysUserJob> sysUserJobList, List<SysUserContact> sysUserContactList, List<SysUserEdu> sysUserEduList) throws Exception;
+
+	/**
+	 * 删除一对多
+	 */
+	public void delMain (String id);
+
+	/**
+	 * 批量删除一对多
+	 */
+	public void delBatchMain (Collection<? extends Serializable> idList);
 }

+ 28 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserContactServiceImpl.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.system.entity.SysUserContact;
+import org.jeecg.modules.system.mapper.SysUserContactMapper;
+import org.jeecg.modules.system.service.ISysUserContactService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理联系人
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+@Service
+public class SysUserContactServiceImpl extends ServiceImpl<SysUserContactMapper, SysUserContact> implements ISysUserContactService {
+	
+	@Autowired
+	private SysUserContactMapper sysUserContactMapper;
+	
+	@Override
+	public List<SysUserContact> selectByMainId(String mainId) {
+		return sysUserContactMapper.selectByMainId(mainId);
+	}
+}

+ 28 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserEduServiceImpl.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.system.entity.SysUserEdu;
+import org.jeecg.modules.system.mapper.SysUserEduMapper;
+import org.jeecg.modules.system.service.ISysUserEduService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理学习经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+@Service
+public class SysUserEduServiceImpl extends ServiceImpl<SysUserEduMapper, SysUserEdu> implements ISysUserEduService {
+	
+	@Autowired
+	private SysUserEduMapper sysUserEduMapper;
+	
+	@Override
+	public List<SysUserEdu> selectByMainId(String mainId) {
+		return sysUserEduMapper.selectByMainId(mainId);
+	}
+}

+ 28 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserJobServiceImpl.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.system.entity.SysUserJob;
+import org.jeecg.modules.system.mapper.SysUserJobMapper;
+import org.jeecg.modules.system.service.ISysUserJobService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理工作经历
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+@Service
+public class SysUserJobServiceImpl extends ServiceImpl<SysUserJobMapper, SysUserJob> implements ISysUserJobService {
+	
+	@Autowired
+	private SysUserJobMapper sysUserJobMapper;
+	
+	@Override
+	public List<SysUserJob> selectByMainId(String mainId) {
+		return sysUserJobMapper.selectByMainId(mainId);
+	}
+}

+ 112 - 4
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -1,15 +1,12 @@
 package org.jeecg.modules.system.service.impl;
 
-import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
-import org.apache.ibatis.annotations.Param;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
@@ -29,8 +26,8 @@ import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.io.Serializable;
 import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -56,6 +53,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	private ISysBaseAPI sysBaseAPI;
 	@Autowired
 	private SysDepartMapper sysDepartMapper;
+	@Autowired
+	private SysUserJobMapper sysUserJobMapper;
+	@Autowired
+	private SysUserContactMapper sysUserContactMapper;
+	@Autowired
+	private SysUserEduMapper sysUserEduMapper;
 
     @Override
 	public int updateUserBatch(String id,Double gongJiJin, Double sheBao){
@@ -428,4 +431,109 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	public List<SysUser> getUserByRoleCode(String roleCode,String username){
 		return userMapper.getUserByRoleCode(roleCode,username);
 	}
+
+	@Override
+	@Transactional
+	public void saveMain(SysUser sysUser, List<SysUserJob> sysUserJobList, List<SysUserContact> sysUserContactList, List<SysUserEdu> sysUserEduList) {
+
+		String password2 = MD5Util.MD5Encode(sysUser.getPassword(),"");
+		sysUser.setPassword2(password2);
+		sysUser.setCreateTime(new Date());//设置创建时间
+		String salt = oConvertUtils.randomGen(8);
+		sysUser.setSalt(salt);
+		String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), "123456", salt);
+		sysUser.setPassword(passwordEncode);
+		sysUser.setStatus(1);
+		sysUser.setDelFlag("0");
+
+		this.save(sysUser);
+		this.addUserWithDepart(sysUser, sysUser.getDepartIds());
+
+		if(sysUserJobList!=null && sysUserJobList.size()>0) {
+			for(SysUserJob entity:sysUserJobList) {
+				//外键设置
+				entity.setSysUserId(sysUser.getId());
+				sysUserJobMapper.insert(entity);
+			}
+		}
+		if(sysUserContactList!=null && sysUserContactList.size()>0) {
+			for(SysUserContact entity:sysUserContactList) {
+				//外键设置
+				entity.setSysUserId(sysUser.getId());
+				sysUserContactMapper.insert(entity);
+			}
+		}
+		if(sysUserEduList!=null && sysUserEduList.size()>0) {
+			for(SysUserEdu entity:sysUserEduList) {
+				//外键设置
+				entity.setSysUserId(sysUser.getId());
+				sysUserEduMapper.insert(entity);
+			}
+		}
+	}
+
+	@Override
+	@Transactional
+	public void updateMain(SysUser sysUser, List<SysUserJob> sysUserJobList, List<SysUserContact> sysUserContactList, List<SysUserEdu> sysUserEduList) throws Exception {
+
+		SysUser existUser = this.getById(sysUser.getId());
+		sysBaseAPI.addLog("编辑用户,id: " +sysUser.getId() ,CommonConstant.LOG_TYPE_2, 2);
+		if(sysUser==null) {
+			throw new Exception("未找到对应实体");
+		}
+		sysUser.setUpdateTime(new Date());
+		sysUser.setPassword(existUser.getPassword());
+		String departs = sysUser.getDepartIds();
+		userMapper.updateById(sysUser);
+		this.editUserWithDepart(sysUser, departs);
+
+
+		//1.先删除子表数据
+		sysUserJobMapper.deleteByMainId(sysUser.getId());
+		sysUserContactMapper.deleteByMainId(sysUser.getId());
+		sysUserEduMapper.deleteByMainId(sysUser.getId());
+
+		//2.子表数据重新插入
+		if(sysUserJobList!=null && sysUserJobList.size()>0) {
+			for(SysUserJob entity:sysUserJobList) {
+				//外键设置
+				entity.setSysUserId(sysUser.getId());
+				sysUserJobMapper.insert(entity);
+			}
+		}
+		if(sysUserContactList!=null && sysUserContactList.size()>0) {
+			for(SysUserContact entity:sysUserContactList) {
+				//外键设置
+				entity.setSysUserId(sysUser.getId());
+				sysUserContactMapper.insert(entity);
+			}
+		}
+		if(sysUserEduList!=null && sysUserEduList.size()>0) {
+			for(SysUserEdu entity:sysUserEduList) {
+				//外键设置
+				entity.setSysUserId(sysUser.getId());
+				sysUserEduMapper.insert(entity);
+			}
+		}
+	}
+
+	@Override
+	@Transactional
+	public void delMain(String id) {
+		sysUserJobMapper.deleteByMainId(id);
+		sysUserContactMapper.deleteByMainId(id);
+		sysUserEduMapper.deleteByMainId(id);
+		userMapper.deleteById(id);
+	}
+
+	@Override
+	@Transactional
+	public void delBatchMain(Collection<? extends Serializable> idList) {
+		for(Serializable id:idList) {
+			sysUserJobMapper.deleteByMainId(id.toString());
+			sysUserContactMapper.deleteByMainId(id.toString());
+			sysUserEduMapper.deleteByMainId(id.toString());
+			userMapper.deleteById(id);
+		}
+	}
 }

+ 178 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/SysUserPage.java

@@ -0,0 +1,178 @@
+package org.jeecg.modules.system.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.modules.system.entity.SysUserContact;
+import org.jeecg.modules.system.entity.SysUserEdu;
+import org.jeecg.modules.system.entity.SysUserJob;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecgframework.poi.excel.annotation.ExcelCollection;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.List;
+
+/**
+ * @Description: 用户管理
+ * @Author: jeecg-boot
+ * @Date:   2023-05-28
+ * @Version: V1.0
+ */
+@Data
+@ApiModel(value="sysUserPage对象", description="用户管理")
+public class SysUserPage {
+	
+	/**主键*/
+	@ApiModelProperty(value = "主键")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+	@ApiModelProperty(value = "更新人")
+	private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新日期")
+	private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+	@ApiModelProperty(value = "所属部门")
+	private java.lang.String sysOrgCode;
+	/**登记人	*/
+	@Excel(name = "登记人	", width = 15)
+	@ApiModelProperty(value = "登记人	")
+	private java.lang.String operator;
+	/**登记部门*/
+	@Excel(name = "登记部门", width = 15)
+	@ApiModelProperty(value = "登记部门")
+	private java.lang.String operatorDept;
+	/**登记日期*/
+	@Excel(name = "登记日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "登记日期")
+	private java.util.Date operateDate;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+	@ApiModelProperty(value = "姓名")
+	private java.lang.String realname;
+	/**用户账号*/
+	@Excel(name = "用户账号", width = 15)
+	@ApiModelProperty(value = "用户账号")
+	private java.lang.String username;
+	/**性别*/
+	@ApiModelProperty(value = "性别")
+	@Excel(name = "性别", width = 15,dicCode="sex")
+	@Dict(dicCode = "sex")
+	private java.lang.Integer sex;
+	/**证件类型*/
+	@Excel(name = "证件类型", width = 15)
+	@ApiModelProperty(value = "证件类型")
+	private java.lang.String idType;
+	/**证件号码*/
+	@Excel(name = "证件号码", width = 15)
+	@ApiModelProperty(value = "证件号码")
+	private java.lang.String idNo;
+	/**生日*/
+	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "生日")
+	private java.util.Date birthday;
+	/**入职日期*/
+	@Excel(name = "入职日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "入职日期")
+	private java.util.Date joinDate;
+	/**职务*/
+	@Excel(name = "职务", width = 15)
+	@ApiModelProperty(value = "职务")
+	private java.lang.String post;
+	/**职级*/
+	@Excel(name = "职级", width = 15)
+	@ApiModelProperty(value = "职级")
+	private java.lang.String postLevel;
+	/**学历*/
+	@Excel(name = "学历", width = 15)
+	@ApiModelProperty(value = "学历")
+	private java.lang.String education;
+	/**岗位类型*/
+	@Excel(name = "岗位类型", width = 15)
+	@ApiModelProperty(value = "岗位类型")
+	private java.lang.String positionType;
+	/**部门*/
+	@Excel(name = "部门", width = 15)
+	@ApiModelProperty(value = "部门")
+	private java.lang.String departIds;
+	/**手机号码*/
+	@Excel(name = "手机号码", width = 15)
+	@ApiModelProperty(value = "手机号码")
+	private java.lang.String mobile;
+	/**座机*/
+	@Excel(name = "座机", width = 15)
+	@ApiModelProperty(value = "座机")
+	private java.lang.String phone;
+	/**联系地址*/
+	@Excel(name = "联系地址", width = 15)
+	@ApiModelProperty(value = "联系地址")
+	private java.lang.String address;
+	/**试用结束日期*/
+	@Excel(name = "试用结束日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "试用结束日期")
+	private java.util.Date probationEnd;
+	/**合同起始日期*/
+	@Excel(name = "合同起始日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "合同起始日期")
+	private java.util.Date contractStart;
+	/**合同结束日期*/
+	@Excel(name = "合同结束日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "合同结束日期")
+	private java.util.Date contractEnd;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+	@ApiModelProperty(value = "备注")
+	private java.lang.String remark;
+	/**身份*/
+	@Excel(name = "身份", width = 15)
+	@ApiModelProperty(value = "身份")
+	private java.lang.Integer identity;
+	/**签字图片*/
+	@Excel(name = "签字图片", width = 15)
+	@ApiModelProperty(value = "签字图片")
+	private java.lang.String signature;
+	/**附件*/
+	@Excel(name = "附件", width = 15)
+	@ApiModelProperty(value = "附件")
+	private java.lang.String attachment;
+	
+	@ExcelCollection(name="用户管理工作经历")
+	@ApiModelProperty(value = "用户管理工作经历")
+	private List<SysUserJob> sysUserJobList;
+	@ExcelCollection(name="用户管理联系人")
+	@ApiModelProperty(value = "用户管理联系人")
+	private List<SysUserContact> sysUserContactList;
+	@ExcelCollection(name="用户管理学习经历")
+	@ApiModelProperty(value = "用户管理学习经历")
+	private List<SysUserEdu> sysUserEduList;
+	
+}

+ 4 - 4
jeecg-boot/pom.xml

@@ -23,12 +23,12 @@
 	  	<repository>
             <id>jeecg</id>
             <name>jeecg Repository</name>
-            <url>http://maven.jeecg.com:8090/nexus/content/repositories/jeecg</url>
+            <url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url>
         </repository>
         <snapshotRepository>
 	        <id>jeecg-snapshots</id>
             <name>jeecg Snapshot Repository</name>
-            <url>http://maven.jeecg.com:8090/nexus/content/repositories/snapshots/</url>
+            <url>https://maven.jeecg.org/nexus/content/repositories/snapshots/</url>
 	    </snapshotRepository>
 	</distributionManagement>
 	
@@ -36,7 +36,7 @@
 		<repository>
             <id>aliyun</id>
             <name>aliyun Repository</name>
-            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
+            <url>https://maven.aliyun.com/nexus/content/groups/public</url>
             <snapshots>
 				<enabled>false</enabled>
 			</snapshots>
@@ -44,7 +44,7 @@
 		<repository>
             <id>jeecg</id>
             <name>jeecg Repository</name>
-            <url>http://maven.jeecg.org/nexus/content/repositories/jeecg</url>
+            <url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url>
             <snapshots>
 				<enabled>false</enabled>
 			</snapshots>