fanxp 1 year ago
parent
commit
b018934390
46 changed files with 3999 additions and 2 deletions
  1. 0 2
      .gitignore
  2. 128 0
      src/main/java/com/xjrsoft/module/dev/controller/TeacherbaseManagerController.java
  3. 67 0
      src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherContactDto.java
  4. 166 0
      src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherDto.java
  5. 57 0
      src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherEducationDto.java
  6. 57 0
      src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherEmployDto.java
  7. 62 0
      src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherFamilyDto.java
  8. 79 0
      src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherFamilyMemberDto.java
  9. 71 0
      src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherRegularDto.java
  10. 139 0
      src/main/java/com/xjrsoft/module/dev/dto/AddXjrUserDto.java
  11. 72 0
      src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherContactDto.java
  12. 172 0
      src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherDto.java
  13. 62 0
      src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherEducationDto.java
  14. 62 0
      src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherEmployDto.java
  15. 67 0
      src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherFamilyDto.java
  16. 85 0
      src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherFamilyMemberDto.java
  17. 76 0
      src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherRegularDto.java
  18. 144 0
      src/main/java/com/xjrsoft/module/dev/dto/UpdateXjrUserDto.java
  19. 45 0
      src/main/java/com/xjrsoft/module/dev/dto/XjrUserPageDto.java
  20. 217 0
      src/main/java/com/xjrsoft/module/dev/entity/BaseTeacher.java
  21. 117 0
      src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherContact.java
  22. 107 0
      src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherEducation.java
  23. 107 0
      src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherEmploy.java
  24. 112 0
      src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherFamily.java
  25. 130 0
      src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherFamilyMember.java
  26. 121 0
      src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherRegular.java
  27. 196 0
      src/main/java/com/xjrsoft/module/dev/entity/XjrUser.java
  28. 17 0
      src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherContactMapper.java
  29. 17 0
      src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherEducationMapper.java
  30. 17 0
      src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherEmployMapper.java
  31. 17 0
      src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherFamilyMapper.java
  32. 17 0
      src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherFamilyMemberMapper.java
  33. 17 0
      src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherMapper.java
  34. 17 0
      src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherRegularMapper.java
  35. 16 0
      src/main/java/com/xjrsoft/module/dev/mapper/XjrUserMapper.java
  36. 40 0
      src/main/java/com/xjrsoft/module/dev/service/ITeacherbaseManagerService.java
  37. 310 0
      src/main/java/com/xjrsoft/module/dev/service/impl/TeacherbaseManagerServiceImpl.java
  38. 68 0
      src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherContactVo.java
  39. 58 0
      src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherEducationVo.java
  40. 58 0
      src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherEmployVo.java
  41. 81 0
      src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherFamilyMemberVo.java
  42. 63 0
      src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherFamilyVo.java
  43. 77 0
      src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherRegularVo.java
  44. 168 0
      src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherVo.java
  45. 83 0
      src/main/java/com/xjrsoft/module/dev/vo/XjrUserPageVo.java
  46. 140 0
      src/main/java/com/xjrsoft/module/dev/vo/XjrUserVo.java

+ 0 - 2
.gitignore

@@ -33,6 +33,4 @@ build/
 
 ### VS Code ###
 .vscode/
-/src/main/java/com/xjrsoft/module/jinayi
-/src/main/java/com/xjrsoft/module/dev
 /logs/

+ 128 - 0
src/main/java/com/xjrsoft/module/dev/controller/TeacherbaseManagerController.java

@@ -0,0 +1,128 @@
+package com.xjrsoft.module.dev.controller;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.constant.GlobalConstant;
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.model.result.R;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.authority.entity.DataAuth;
+import com.xjrsoft.module.authority.vo.DataAuthListVo;
+import com.xjrsoft.module.dev.dto.AddXjrUserDto;
+import com.xjrsoft.module.dev.dto.UpdateXjrUserDto;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+
+import com.xjrsoft.module.dev.dto.XjrUserPageDto;
+import com.xjrsoft.module.dev.entity.BaseTeacher;
+import com.xjrsoft.module.dev.entity.XjrUser;
+import com.xjrsoft.module.dev.service.ITeacherbaseManagerService;
+import com.xjrsoft.module.dev.vo.XjrUserPageVo;
+
+import com.xjrsoft.module.dev.vo.XjrUserVo;
+import com.xjrsoft.module.form.entity.FormTemplate;
+import com.xjrsoft.module.form.vo.FormTemplateListVo;
+import com.xjrsoft.module.oa.entity.NewsRelation;
+import com.xjrsoft.module.oa.vo.NewsPageVo;
+import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.system.entity.DictionaryDetail;
+import com.xjrsoft.module.system.service.IDictionarydetailService;
+import com.xjrsoft.module.system.vo.DictionaryItemDetailVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/dev" + "/teacherbasemanager")
+@Api(value = "/dev"  + "/teacherbasemanager",tags = "教职工基本信息管理代码")
+@AllArgsConstructor
+public class TeacherbaseManagerController {
+
+
+    private final ITeacherbaseManagerService teacherbaseManagerService;
+    private final IDictionarydetailService dictionarydetailService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="XjrUser列表(分页)")
+    @SaCheckPermission("teacherbasemanager:detail")
+    public R page(@Valid XjrUserPageDto dto){
+
+        MPJLambdaWrapper<XjrUser> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper
+                .disableSubLogicDel()
+                .like(StrUtil.isNotBlank(dto.getUserName()),XjrUser::getUserName,dto.getUserName())
+                .like(StrUtil.isNotBlank(dto.getMobile()),XjrUser::getMobile,dto.getMobile())
+                .like(StrUtil.isNotBlank(dto.getName()),XjrUser::getName,dto.getName())
+                .like(StrUtil.isNotBlank(dto.getEmail()),XjrUser::getEmail,dto.getEmail())
+                    .orderByDesc(XjrUser::getId)
+                .select(XjrUser::getId)
+                .select(XjrUser.class,x -> VoToColumnUtil.fieldsToColumns(XjrUserPageVo.class).contains(x.getProperty()))
+                .innerJoin(BaseTeacher.class,BaseTeacher::getUserId,XjrUser::getId)
+                .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode,BaseTeacher::getJobState,ext->ext.selectAs(DictionaryDetail::getName, XjrUserPageVo::getJobState))
+                .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode,BaseTeacher::getCredentialType,ext->ext.selectAs(DictionaryDetail::getName, XjrUserPageVo::getCredentialType))
+                .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode,BaseTeacher::getEmployWay,ext->ext.selectAs(DictionaryDetail::getName, XjrUserPageVo::getEmployWay))
+                .selectAsClass(BaseTeacher.class, XjrUserPageVo.class);
+
+        IPage<XjrUser> page = teacherbaseManagerService.page(ConventPage.getPage(dto), queryWrapper);
+        PageOutput<XjrUserPageVo> pageOutput = ConventPage.getPageOutput(page, XjrUserPageVo.class);
+
+        return R.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询XjrUser信息")
+    @SaCheckPermission("teacherbasemanager:detail")
+    public R info(@RequestParam Long id){
+        XjrUser xjrUser = teacherbaseManagerService.getByIdDeep(id);
+        if (xjrUser == null) {
+           return R.error("找不到此数据!");
+        }
+        return R.ok(BeanUtil.toBean(xjrUser, XjrUserVo.class));
+    }
+
+
+    @PostMapping
+    @ApiOperation(value = "新增XjrUser")
+    @SaCheckPermission("teacherbasemanager:add")
+    public R add(@Valid @RequestBody AddXjrUserDto dto){
+        XjrUser xjrUser = BeanUtil.toBean(dto, XjrUser.class);
+        return R.ok(teacherbaseManagerService.add(xjrUser));
+
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改XjrUser")
+    @SaCheckPermission("teacherbasemanager:edit")
+    public R update(@Valid @RequestBody UpdateXjrUserDto dto){
+
+        XjrUser xjrUser = BeanUtil.toBean(dto, XjrUser.class);
+        return R.ok(teacherbaseManagerService.update(xjrUser));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除")
+    @SaCheckPermission("teacherbasemanager:delete")
+    public R delete(@Valid @RequestBody List<Long> ids){
+        return R.ok(teacherbaseManagerService.delete(ids));
+
+    }
+
+}

+ 67 - 0
src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherContactDto.java

@@ -0,0 +1,67 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class AddBaseTeacherContactDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 办公室电话
+    */
+    @ApiModelProperty("办公室电话")
+    private String officeTel;
+    /**
+    * 办公室地址
+    */
+    @ApiModelProperty("办公室地址")
+    private String officeAddress;
+    /**
+    * 现住地址
+    */
+    @ApiModelProperty("现住地址")
+    private String address;
+    /**
+    * QQ&MSN
+    */
+    @ApiModelProperty("QQ&MSN")
+    private String qqMsn;
+    /**
+    * 微信号
+    */
+    @ApiModelProperty("微信号")
+    private String wechat;
+    /**
+    * 微博地址
+    */
+    @ApiModelProperty("微博地址")
+    private String microblog;
+    /**
+    * 住址邮编
+    */
+    @ApiModelProperty("住址邮编")
+    private String zipCode;
+
+}

+ 166 - 0
src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherDto.java

@@ -0,0 +1,166 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class AddBaseTeacherDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 别名
+    */
+    @ApiModelProperty("别名")
+    private String asName;
+    /**
+    * 英文姓名
+    */
+    @ApiModelProperty("英文姓名")
+    private String enName;
+    /**
+    * 姓名拼音
+    */
+    @ApiModelProperty("姓名拼音")
+    private String pyName;
+    /**
+    * 曾用名
+    */
+    @ApiModelProperty("曾用名")
+    private String formerName;
+    /**
+    * 在职状态(xjr_dictionary_item[job_state])
+    */
+    @ApiModelProperty("在职状态(xjr_dictionary_item[job_state])")
+    private String jobState;
+    /**
+    * 证件类型(xjr_dictionary_item[credential_type])
+    */
+    @ApiModelProperty("证件类型(xjr_dictionary_item[credential_type])")
+    private String credentialType;
+    /**
+    * 证件号码
+    */
+    @ApiModelProperty("证件号码")
+    private String credentialNumber;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date dayOfBirth;
+    /**
+    * 生日类型(xjr_dictionary_item[date_type])
+    */
+    @ApiModelProperty("生日类型(xjr_dictionary_item[date_type])")
+    private String birthType;
+    /**
+    * 民族(xjr_dictionary_item[nation])
+    */
+    @ApiModelProperty("民族(xjr_dictionary_item[nation])")
+    private String nation;
+    /**
+    * 血型(xjr_dictionary_item[blood_type])
+    */
+    @ApiModelProperty("血型(xjr_dictionary_item[blood_type])")
+    private String bloodType;
+    /**
+    * 健康状况(xjr_dictionary_item[health])
+    */
+    @ApiModelProperty("健康状况(xjr_dictionary_item[health])")
+    private String health;
+    /**
+    * 婚姻状况(xjr_dictionary_item[marital_state])
+    */
+    @ApiModelProperty("婚姻状况(xjr_dictionary_item[marital_state])")
+    private String maritalState;
+    /**
+    * 政治面貌(xjr_dictionary_item[political_state])
+    */
+    @ApiModelProperty("政治面貌(xjr_dictionary_item[political_state])")
+    private String politicalState;
+    /**
+    * 国籍地区(xjr_dictionary_item[nationality])
+    */
+    @ApiModelProperty("国籍地区(xjr_dictionary_item[nationality])")
+    private String nationality;
+    /**
+    * 港澳台侨外(xjr_dictionary_item[chinese_type])
+    */
+    @ApiModelProperty("港澳台侨外(xjr_dictionary_item[chinese_type])")
+    private String chineseType;
+    /**
+    * 户口类别(xjr_dictionary_item[house_hold_type])
+    */
+    @ApiModelProperty("户口类别(xjr_dictionary_item[house_hold_type])")
+    private String houseHoldType;
+    /**
+    * 省(xjr_area)
+    */
+    @ApiModelProperty("省(xjr_area)")
+    private Long provinces;
+    /**
+    * 市(xjr_area)
+    */
+    @ApiModelProperty("市(xjr_area)")
+    private Long city;
+    /**
+    * 区/县(xjr_area)
+    */
+    @ApiModelProperty("区/县(xjr_area)")
+    private Long district;
+    /**
+    * 户籍地址
+    */
+    @ApiModelProperty("户籍地址")
+    private String houseHoldAddress;
+    /**
+    * 参加工作年月
+    */
+    @ApiModelProperty("参加工作年月")
+    @JsonFormat(pattern = "yyyy-MM")
+    private Date startWorkTime;
+    /**
+    * 来校年月
+    */
+    @ApiModelProperty("来校年月")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date joinTime;
+    /**
+    * 是否在编
+    */
+    @ApiModelProperty("是否在编")
+    private Short isOrganized;
+    /**
+    * 聘用类型(xjr_dictionary_item[employ_type])
+    */
+    @ApiModelProperty("聘用类型(xjr_dictionary_item[employ_type])")
+    private String employType;
+    /**
+    * 聘用方式(xjr_dictionary_item[employ_type])上级聘用类型
+    */
+    @ApiModelProperty("聘用方式(xjr_dictionary_item[employ_type])上级聘用类型")
+    private String employWay;
+
+}

+ 57 - 0
src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherEducationDto.java

@@ -0,0 +1,57 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class AddBaseTeacherEducationDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 所学专业
+    */
+    @ApiModelProperty("所学专业")
+    private String specialty;
+    /**
+    * 最高学历(xjr_dictionary_item[education])
+    */
+    @ApiModelProperty("最高学历(xjr_dictionary_item[education])")
+    private String education;
+    /**
+    * 获得最高学历的院校
+    */
+    @ApiModelProperty("获得最高学历的院校")
+    private String educationCollege;
+    /**
+    * 最高学位(xjr_dictionary_item[degree])
+    */
+    @ApiModelProperty("最高学位(xjr_dictionary_item[degree])")
+    private String degree;
+    /**
+    * 获得最高学位的院校
+    */
+    @ApiModelProperty("获得最高学位的院校")
+    private String degreeCollege;
+
+}

+ 57 - 0
src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherEmployDto.java

@@ -0,0 +1,57 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class AddBaseTeacherEmployDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 岗位类型 (1:校内主岗 2:校内兼职岗位 3:事业制单位主岗)
+    */
+    @ApiModelProperty("岗位类型 (1:校内主岗 2:校内兼职岗位 3:事业制单位主岗)")
+    private Integer type;
+    /**
+    * 校内主岗位类别(xjr_dictionary_item[school_job_type])
+    */
+    @ApiModelProperty("校内主岗位类别(xjr_dictionary_item[school_job_type])")
+    private String jobCategory;
+    /**
+    * 校内主岗位(xjr_dictionary_item[school_job_type])上级校内主岗位类别
+    */
+    @ApiModelProperty("校内主岗位(xjr_dictionary_item[school_job_type])上级校内主岗位类别")
+    private String jobPost;
+    /**
+    * 岗位等级(xjr_dictionary_item[school_job_level])
+    */
+    @ApiModelProperty("岗位等级(xjr_dictionary_item[school_job_level])")
+    private String jobLevel;
+    /**
+    * 岗位等级类型(xjr_dictionary_item[school_job_level_type])
+    */
+    @ApiModelProperty("岗位等级类型(xjr_dictionary_item[school_job_level_type])")
+    private String jobLevelType;
+
+}

+ 62 - 0
src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherFamilyDto.java

@@ -0,0 +1,62 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class AddBaseTeacherFamilyDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 家庭邮编
+    */
+    @ApiModelProperty("家庭邮编")
+    private String zipCode;
+    /**
+    * 家庭电话
+    */
+    @ApiModelProperty("家庭电话")
+    private String telephone;
+    /**
+    * 联系人姓名
+    */
+    @ApiModelProperty("联系人姓名")
+    private String contact;
+    /**
+    * 家庭人口
+    */
+    @ApiModelProperty("家庭人口")
+    private Integer population;
+    /**
+    * 家庭住址
+    */
+    @ApiModelProperty("家庭住址")
+    private String address;
+    /**
+    * 家庭经济情况
+    */
+    @ApiModelProperty("家庭经济情况")
+    private String finance;
+
+}

+ 79 - 0
src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherFamilyMemberDto.java

@@ -0,0 +1,79 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class AddBaseTeacherFamilyMemberDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 与本人关系(xjr_dictionary_item[relationship])
+    */
+    @ApiModelProperty("与本人关系(xjr_dictionary_item[relationship])")
+    private String relationship;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 性别(xjr_dictionary_item[gender])
+    */
+    @ApiModelProperty("性别(xjr_dictionary_item[gender])")
+    private String gender;
+    /**
+    * 是否为监护人
+    */
+    @ApiModelProperty("是否为监护人")
+    private Integer isGuardian;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date dayOfBirth;
+    /**
+    * 政治面貌(xjr_dictionary_item[political_state])
+    */
+    @ApiModelProperty("政治面貌(xjr_dictionary_item[political_state])")
+    private String politicalState;
+    /**
+    * 职业
+    */
+    @ApiModelProperty("职业")
+    private String occupation;
+    /**
+    * 工作单位
+    */
+    @ApiModelProperty("工作单位")
+    private String workUnit;
+    /**
+    * 联系电话
+    */
+    @ApiModelProperty("联系电话")
+    private String mobile;
+
+}

+ 71 - 0
src/main/java/com/xjrsoft/module/dev/dto/AddBaseTeacherRegularDto.java

@@ -0,0 +1,71 @@
+package com.xjrsoft.module.dev.dto;
+
+import com.alibaba.fastjson.JSONArray;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class AddBaseTeacherRegularDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 教师资格证种类(xjr_dictionary_item[certificate_Type])
+    */
+    @ApiModelProperty("教师资格证种类(xjr_dictionary_item[certificate_Type])")
+    private String certificateType;
+    /**
+    * 所属系统(xjr_dictionary_item[belong_org])
+    */
+    @ApiModelProperty("所属系统(xjr_dictionary_item[belong_org])")
+    private String belongOrg;
+    /**
+    * 普通话等级(xjr_dictionary_item[mandarin_level])
+    */
+    @ApiModelProperty("普通话等级(xjr_dictionary_item[mandarin_level])")
+    private String mandarinLevel;
+    /**
+    * 从教起始年月
+    */
+    @ApiModelProperty("从教起始年月")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startTeachTime;
+    /**
+    * 任课状况(xjr_dictionary_item[teaching_status])多选
+    */
+    @ApiModelProperty("任课状况(xjr_dictionary_item[teaching_status])多选")
+    private JSONArray teachingStatus;
+    /**
+    * 任教学科类别(base_major_categor)
+    */
+    @ApiModelProperty("任教学科类别(base_major_categor)")
+    private Long majorCategorId;
+    /**
+    * 是否双师型教师
+    */
+    @ApiModelProperty("是否双师型教师")
+    private Integer isDoubleTeacher;
+    /**
+    * 任教学科(base_course_subject)
+    */
+    @ApiModelProperty("任教学科(base_course_subject)")
+    private Long courseSubjectId;
+
+}

+ 139 - 0
src/main/java/com/xjrsoft/module/dev/dto/AddXjrUserDto.java

@@ -0,0 +1,139 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import com.xjrsoft.module.dev.entity.BaseTeacher;
+import com.xjrsoft.module.dev.entity.BaseTeacherContact;
+import com.xjrsoft.module.dev.entity.BaseTeacherEducation;
+import com.xjrsoft.module.dev.entity.BaseTeacherEmploy;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamily;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamilyMember;
+import com.xjrsoft.module.dev.entity.BaseTeacherRegular;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class AddXjrUserDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 账户
+    */
+    @ApiModelProperty("账户")
+    private String userName;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 编号
+    */
+    @ApiModelProperty("编号")
+    private String code;
+    /**
+    * 昵称
+    */
+    @ApiModelProperty("昵称")
+    private String nickName;
+    /**
+    * 密码
+    */
+    @ApiModelProperty("密码")
+    private String password;
+    /**
+    * 性别
+    */
+    @ApiModelProperty("性别")
+    private Integer gender;
+    /**
+    * 手机号
+    */
+    @ApiModelProperty("手机号")
+    private String mobile;
+    /**
+    * 头像
+    */
+    @ApiModelProperty("头像")
+    private String avatar;
+    /**
+    * 邮箱
+    */
+    @ApiModelProperty("邮箱")
+    private String email;
+    /**
+    * 地址
+    */
+    @ApiModelProperty("地址")
+    private String address;
+    /**
+    * 经度
+    */
+    @ApiModelProperty("经度")
+    private Double longitude;
+    /**
+    * 纬度
+    */
+    @ApiModelProperty("纬度")
+    private Double latitude;
+    /**
+    * 排序码
+    */
+    @ApiModelProperty("排序码")
+    private Integer sortCode;
+    /**
+    * 备注
+    */
+    @ApiModelProperty("备注")
+    private String remark;
+
+    /**
+    * baseTeacher
+    */
+    @ApiModelProperty("baseTeacher子表")
+    private List<AddBaseTeacherDto> baseTeacherList;
+    /**
+    * baseTeacherContact
+    */
+    @ApiModelProperty("baseTeacherContact子表")
+    private List<AddBaseTeacherContactDto> baseTeacherContactList;
+    /**
+    * baseTeacherEducation
+    */
+    @ApiModelProperty("baseTeacherEducation子表")
+    private List<AddBaseTeacherEducationDto> baseTeacherEducationList;
+    /**
+    * baseTeacherEmploy
+    */
+    @ApiModelProperty("baseTeacherEmploy子表")
+    private List<AddBaseTeacherEmployDto> baseTeacherEmployList;
+    /**
+    * baseTeacherFamily
+    */
+    @ApiModelProperty("baseTeacherFamily子表")
+    private List<AddBaseTeacherFamilyDto> baseTeacherFamilyList;
+    /**
+    * baseTeacherFamilyMember
+    */
+    @ApiModelProperty("baseTeacherFamilyMember子表")
+    private List<AddBaseTeacherFamilyMemberDto> baseTeacherFamilyMemberList;
+    /**
+    * baseTeacherRegular
+    */
+    @ApiModelProperty("baseTeacherRegular子表")
+    private List<AddBaseTeacherRegularDto> baseTeacherRegularList;
+}

+ 72 - 0
src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherContactDto.java

@@ -0,0 +1,72 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseTeacherContactDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 办公室电话
+    */
+    @ApiModelProperty("办公室电话")
+    private String officeTel;
+    /**
+    * 办公室地址
+    */
+    @ApiModelProperty("办公室地址")
+    private String officeAddress;
+    /**
+    * 现住地址
+    */
+    @ApiModelProperty("现住地址")
+    private String address;
+    /**
+    * QQ&MSN
+    */
+    @ApiModelProperty("QQ&MSN")
+    private String qqMsn;
+    /**
+    * 微信号
+    */
+    @ApiModelProperty("微信号")
+    private String wechat;
+    /**
+    * 微博地址
+    */
+    @ApiModelProperty("微博地址")
+    private String microblog;
+    /**
+    * 住址邮编
+    */
+    @ApiModelProperty("住址邮编")
+    private String zipCode;
+
+}

+ 172 - 0
src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherDto.java

@@ -0,0 +1,172 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseTeacherDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 别名
+    */
+    @ApiModelProperty("别名")
+    private String asName;
+    /**
+    * 英文姓名
+    */
+    @ApiModelProperty("英文姓名")
+    private String enName;
+    /**
+    * 姓名拼音
+    */
+    @ApiModelProperty("姓名拼音")
+    private String pyName;
+    /**
+    * 曾用名
+    */
+    @ApiModelProperty("曾用名")
+    private String formerName;
+    /**
+    * 在职状态(xjr_dictionary_item[job_state])
+    */
+    @ApiModelProperty("在职状态(xjr_dictionary_item[job_state])")
+    private String jobState;
+    /**
+    * 证件类型(xjr_dictionary_item[credential_type])
+    */
+    @ApiModelProperty("证件类型(xjr_dictionary_item[credential_type])")
+    private String credentialType;
+    /**
+    * 证件号码
+    */
+    @ApiModelProperty("证件号码")
+    private String credentialNumber;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime dayOfBirth;
+    /**
+    * 生日类型(xjr_dictionary_item[date_type])
+    */
+    @ApiModelProperty("生日类型(xjr_dictionary_item[date_type])")
+    private String birthType;
+    /**
+    * 民族(xjr_dictionary_item[nation])
+    */
+    @ApiModelProperty("民族(xjr_dictionary_item[nation])")
+    private String nation;
+    /**
+    * 血型(xjr_dictionary_item[blood_type])
+    */
+    @ApiModelProperty("血型(xjr_dictionary_item[blood_type])")
+    private String bloodType;
+    /**
+    * 健康状况(xjr_dictionary_item[health])
+    */
+    @ApiModelProperty("健康状况(xjr_dictionary_item[health])")
+    private String health;
+    /**
+    * 婚姻状况(xjr_dictionary_item[marital_state])
+    */
+    @ApiModelProperty("婚姻状况(xjr_dictionary_item[marital_state])")
+    private String maritalState;
+    /**
+    * 政治面貌(xjr_dictionary_item[political_state])
+    */
+    @ApiModelProperty("政治面貌(xjr_dictionary_item[political_state])")
+    private String politicalState;
+    /**
+    * 国籍地区(xjr_dictionary_item[nationality])
+    */
+    @ApiModelProperty("国籍地区(xjr_dictionary_item[nationality])")
+    private String nationality;
+    /**
+    * 港澳台侨外(xjr_dictionary_item[chinese_type])
+    */
+    @ApiModelProperty("港澳台侨外(xjr_dictionary_item[chinese_type])")
+    private String chineseType;
+    /**
+    * 户口类别(xjr_dictionary_item[house_hold_type])
+    */
+    @ApiModelProperty("户口类别(xjr_dictionary_item[house_hold_type])")
+    private String houseHoldType;
+    /**
+    * 省(xjr_area)
+    */
+    @ApiModelProperty("省(xjr_area)")
+    private Long provinces;
+    /**
+    * 市(xjr_area)
+    */
+    @ApiModelProperty("市(xjr_area)")
+    private Long city;
+    /**
+    * 区/县(xjr_area)
+    */
+    @ApiModelProperty("区/县(xjr_area)")
+    private Long district;
+    /**
+    * 户籍地址
+    */
+    @ApiModelProperty("户籍地址")
+    private String houseHoldAddress;
+    /**
+    * 参加工作年月
+    */
+    @ApiModelProperty("参加工作年月")
+    @JsonFormat(pattern = "yyyy-MM")
+    private Date startWorkTime;
+    /**
+    * 来校年月
+    */
+    @ApiModelProperty("来校年月")
+    @JsonFormat(pattern = "yyyy-MM")
+    private Date joinTime;
+    /**
+    * 是否在编
+    */
+    @ApiModelProperty("是否在编")
+    private Short isOrganized;
+    /**
+    * 聘用类型(xjr_dictionary_item[employ_type])
+    */
+    @ApiModelProperty("聘用类型(xjr_dictionary_item[employ_type])")
+    private String employType;
+    /**
+    * 聘用方式(xjr_dictionary_item[employ_type])上级聘用类型
+    */
+    @ApiModelProperty("聘用方式(xjr_dictionary_item[employ_type])上级聘用类型")
+    private String employWay;
+
+}

+ 62 - 0
src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherEducationDto.java

@@ -0,0 +1,62 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseTeacherEducationDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 所学专业
+    */
+    @ApiModelProperty("所学专业")
+    private String specialty;
+    /**
+    * 最高学历(xjr_dictionary_item[education])
+    */
+    @ApiModelProperty("最高学历(xjr_dictionary_item[education])")
+    private String education;
+    /**
+    * 获得最高学历的院校
+    */
+    @ApiModelProperty("获得最高学历的院校")
+    private String educationCollege;
+    /**
+    * 最高学位(xjr_dictionary_item[degree])
+    */
+    @ApiModelProperty("最高学位(xjr_dictionary_item[degree])")
+    private String degree;
+    /**
+    * 获得最高学位的院校
+    */
+    @ApiModelProperty("获得最高学位的院校")
+    private String degreeCollege;
+
+}

+ 62 - 0
src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherEmployDto.java

@@ -0,0 +1,62 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseTeacherEmployDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 岗位类型 (1:校内主岗 2:校内兼职岗位 3:事业制单位主岗)
+    */
+    @ApiModelProperty("岗位类型 (1:校内主岗 2:校内兼职岗位 3:事业制单位主岗)")
+    private Integer type;
+    /**
+    * 校内主岗位类别(xjr_dictionary_item[school_job_type])
+    */
+    @ApiModelProperty("校内主岗位类别(xjr_dictionary_item[school_job_type])")
+    private String jobCategory;
+    /**
+    * 校内主岗位(xjr_dictionary_item[school_job_type])上级校内主岗位类别
+    */
+    @ApiModelProperty("校内主岗位(xjr_dictionary_item[school_job_type])上级校内主岗位类别")
+    private String jobPost;
+    /**
+    * 岗位等级(xjr_dictionary_item[school_job_level])
+    */
+    @ApiModelProperty("岗位等级(xjr_dictionary_item[school_job_level])")
+    private String jobLevel;
+    /**
+    * 岗位等级类型(xjr_dictionary_item[school_job_level_type])
+    */
+    @ApiModelProperty("岗位等级类型(xjr_dictionary_item[school_job_level_type])")
+    private String jobLevelType;
+
+}

+ 67 - 0
src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherFamilyDto.java

@@ -0,0 +1,67 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseTeacherFamilyDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 家庭邮编
+    */
+    @ApiModelProperty("家庭邮编")
+    private String zipCode;
+    /**
+    * 家庭电话
+    */
+    @ApiModelProperty("家庭电话")
+    private String telephone;
+    /**
+    * 联系人姓名
+    */
+    @ApiModelProperty("联系人姓名")
+    private String contact;
+    /**
+    * 家庭人口
+    */
+    @ApiModelProperty("家庭人口")
+    private Integer population;
+    /**
+    * 家庭住址
+    */
+    @ApiModelProperty("家庭住址")
+    private String address;
+    /**
+    * 家庭经济情况
+    */
+    @ApiModelProperty("家庭经济情况")
+    private String finance;
+
+}

+ 85 - 0
src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherFamilyMemberDto.java

@@ -0,0 +1,85 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+import java.util.List;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseTeacherFamilyMemberDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 与本人关系(xjr_dictionary_item[relationship])
+    */
+    @ApiModelProperty("与本人关系(xjr_dictionary_item[relationship])")
+    private String relationship;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 性别(xjr_dictionary_item[gender])
+    */
+    @ApiModelProperty("性别(xjr_dictionary_item[gender])")
+    private String gender;
+    /**
+    * 是否为监护人
+    */
+    @ApiModelProperty("是否为监护人")
+    private Integer isGuardian;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date dayOfBirth;
+    /**
+    * 政治面貌(xjr_dictionary_item[political_state])
+    */
+    @ApiModelProperty("政治面貌(xjr_dictionary_item[political_state])")
+    private String politicalState;
+    /**
+    * 职业
+    */
+    @ApiModelProperty("职业")
+    private String occupation;
+    /**
+    * 工作单位
+    */
+    @ApiModelProperty("工作单位")
+    private String workUnit;
+    /**
+    * 联系电话
+    */
+    @ApiModelProperty("联系电话")
+    private String mobile;
+
+}

+ 76 - 0
src/main/java/com/xjrsoft/module/dev/dto/UpdateBaseTeacherRegularDto.java

@@ -0,0 +1,76 @@
+package com.xjrsoft.module.dev.dto;
+
+import com.alibaba.fastjson.JSONArray;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseTeacherRegularDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 教师资格证种类(xjr_dictionary_item[certificate_Type])
+    */
+    @ApiModelProperty("教师资格证种类(xjr_dictionary_item[certificate_Type])")
+    private String certificateType;
+    /**
+    * 所属系统(xjr_dictionary_item[belong_org])
+    */
+    @ApiModelProperty("所属系统(xjr_dictionary_item[belong_org])")
+    private String belongOrg;
+    /**
+    * 普通话等级(xjr_dictionary_item[mandarin_level])
+    */
+    @ApiModelProperty("普通话等级(xjr_dictionary_item[mandarin_level])")
+    private String mandarinLevel;
+    /**
+    * 从教起始年月
+    */
+    @ApiModelProperty("从教起始年月")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startTeachTime;
+    /**
+    * 任课状况(xjr_dictionary_item[teaching_status])多选
+    */
+    @ApiModelProperty("任课状况(xjr_dictionary_item[teaching_status])多选")
+    private JSONArray teachingStatus;
+    /**
+    * 任教学科类别(base_major_categor)
+    */
+    @ApiModelProperty("任教学科类别(base_major_categor)")
+    private Long majorCategorId;
+    /**
+    * 是否双师型教师
+    */
+    @ApiModelProperty("是否双师型教师")
+    private Integer isDoubleTeacher;
+    /**
+    * 任教学科(base_course_subject)
+    */
+    @ApiModelProperty("任教学科(base_course_subject)")
+    private Long courseSubjectId;
+
+}

+ 144 - 0
src/main/java/com/xjrsoft/module/dev/dto/UpdateXjrUserDto.java

@@ -0,0 +1,144 @@
+package com.xjrsoft.module.dev.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+import com.xjrsoft.module.dev.entity.BaseTeacher;
+import com.xjrsoft.module.dev.entity.BaseTeacherContact;
+import com.xjrsoft.module.dev.entity.BaseTeacherEducation;
+import com.xjrsoft.module.dev.entity.BaseTeacherEmploy;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamily;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamilyMember;
+import com.xjrsoft.module.dev.entity.BaseTeacherRegular;
+
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class UpdateXjrUserDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+    /**
+    * 账户
+    */
+    @ApiModelProperty("账户")
+    private String userName;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 编号
+    */
+    @ApiModelProperty("编号")
+    private String code;
+    /**
+    * 昵称
+    */
+    @ApiModelProperty("昵称")
+    private String nickName;
+    /**
+    * 密码
+    */
+    @ApiModelProperty("密码")
+    private String password;
+    /**
+    * 性别
+    */
+    @ApiModelProperty("性别")
+    private Integer gender;
+    /**
+    * 手机号
+    */
+    @ApiModelProperty("手机号")
+    private String mobile;
+    /**
+    * 头像
+    */
+    @ApiModelProperty("头像")
+    private String avatar;
+    /**
+    * 邮箱
+    */
+    @ApiModelProperty("邮箱")
+    private String email;
+    /**
+    * 地址
+    */
+    @ApiModelProperty("地址")
+    private String address;
+    /**
+    * 经度
+    */
+    @ApiModelProperty("经度")
+    private Double longitude;
+    /**
+    * 纬度
+    */
+    @ApiModelProperty("纬度")
+    private Double latitude;
+    /**
+    * 排序码
+    */
+    @ApiModelProperty("排序码")
+    private Integer sortCode;
+    /**
+    * 备注
+    */
+    @ApiModelProperty("备注")
+    private String remark;
+
+    /**
+    * baseTeacher
+    */
+    @ApiModelProperty("baseTeacher子表")
+    private List<UpdateBaseTeacherDto> baseTeacherList;
+    /**
+    * baseTeacherContact
+    */
+    @ApiModelProperty("baseTeacherContact子表")
+    private List<UpdateBaseTeacherContactDto> baseTeacherContactList;
+    /**
+    * baseTeacherEducation
+    */
+    @ApiModelProperty("baseTeacherEducation子表")
+    private List<UpdateBaseTeacherEducationDto> baseTeacherEducationList;
+    /**
+    * baseTeacherEmploy
+    */
+    @ApiModelProperty("baseTeacherEmploy子表")
+    private List<UpdateBaseTeacherEmployDto> baseTeacherEmployList;
+    /**
+    * baseTeacherFamily
+    */
+    @ApiModelProperty("baseTeacherFamily子表")
+    private List<UpdateBaseTeacherFamilyDto> baseTeacherFamilyList;
+    /**
+    * baseTeacherFamilyMember
+    */
+    @ApiModelProperty("baseTeacherFamilyMember子表")
+    private List<UpdateBaseTeacherFamilyMemberDto> baseTeacherFamilyMemberList;
+    /**
+    * baseTeacherRegular
+    */
+    @ApiModelProperty("baseTeacherRegular子表")
+    private List<UpdateBaseTeacherRegularDto> baseTeacherRegularList;
+}

+ 45 - 0
src/main/java/com/xjrsoft/module/dev/dto/XjrUserPageDto.java

@@ -0,0 +1,45 @@
+package com.xjrsoft.module.dev.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+
+/**
+* @title: 分页查询入参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class XjrUserPageDto extends PageInput {
+
+    /**
+    * 账户
+    */
+    @ApiModelProperty("账户")
+    private String userName;
+    /**
+    * 手机号
+    */
+    @ApiModelProperty("手机号")
+    private String mobile;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 邮箱
+    */
+    @ApiModelProperty("邮箱")
+    private String email;
+
+}

+ 217 - 0
src/main/java/com/xjrsoft/module/dev/entity/BaseTeacher.java

@@ -0,0 +1,217 @@
+package com.xjrsoft.module.dev.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@TableName("base_teacher")
+@ApiModel(value = "教职工基本信息管理对象", description = "教职工基本信息管理")
+public class BaseTeacher implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 别名
+    */
+    @ApiModelProperty("别名")
+    private String asName;
+    /**
+    * 英文姓名
+    */
+    @ApiModelProperty("英文姓名")
+    private String enName;
+    /**
+    * 姓名拼音
+    */
+    @ApiModelProperty("姓名拼音")
+    private String pyName;
+    /**
+    * 曾用名
+    */
+    @ApiModelProperty("曾用名")
+    private String formerName;
+    /**
+    * 在职状态(xjr_dictionary_item[job_state])
+    */
+    @ApiModelProperty("在职状态(xjr_dictionary_item[job_state])")
+    private String jobState;
+    /**
+    * 证件类型(xjr_dictionary_item[credential_type])
+    */
+    @ApiModelProperty("证件类型(xjr_dictionary_item[credential_type])")
+    private String credentialType;
+    /**
+    * 证件号码
+    */
+    @ApiModelProperty("证件号码")
+    private String credentialNumber;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date dayOfBirth;
+    /**
+    * 生日类型(xjr_dictionary_item[date_type])
+    */
+    @ApiModelProperty("生日类型(xjr_dictionary_item[date_type])")
+    private String birthType;
+    /**
+    * 民族(xjr_dictionary_item[nation])
+    */
+    @ApiModelProperty("民族(xjr_dictionary_item[nation])")
+    private String nation;
+    /**
+    * 血型(xjr_dictionary_item[blood_type])
+    */
+    @ApiModelProperty("血型(xjr_dictionary_item[blood_type])")
+    private String bloodType;
+    /**
+    * 健康状况(xjr_dictionary_item[health])
+    */
+    @ApiModelProperty("健康状况(xjr_dictionary_item[health])")
+    private String health;
+    /**
+    * 婚姻状况(xjr_dictionary_item[marital_state])
+    */
+    @ApiModelProperty("婚姻状况(xjr_dictionary_item[marital_state])")
+    private String maritalState;
+    /**
+    * 政治面貌(xjr_dictionary_item[political_state])
+    */
+    @ApiModelProperty("政治面貌(xjr_dictionary_item[political_state])")
+    private String politicalState;
+    /**
+    * 国籍地区(xjr_dictionary_item[nationality])
+    */
+    @ApiModelProperty("国籍地区(xjr_dictionary_item[nationality])")
+    private String nationality;
+    /**
+    * 港澳台侨外(xjr_dictionary_item[chinese_type])
+    */
+    @ApiModelProperty("港澳台侨外(xjr_dictionary_item[chinese_type])")
+    private String chineseType;
+    /**
+    * 户口类别(xjr_dictionary_item[house_hold_type])
+    */
+    @ApiModelProperty("户口类别(xjr_dictionary_item[house_hold_type])")
+    private String houseHoldType;
+    /**
+    * 省(xjr_area)
+    */
+    @ApiModelProperty("省(xjr_area)")
+    private Long provinces;
+    /**
+    * 市(xjr_area)
+    */
+    @ApiModelProperty("市(xjr_area)")
+    private Long city;
+    /**
+    * 区/县(xjr_area)
+    */
+    @ApiModelProperty("区/县(xjr_area)")
+    private Long district;
+    /**
+    * 户籍地址
+    */
+    @ApiModelProperty("户籍地址")
+    private String houseHoldAddress;
+    /**
+    * 参加工作年月
+    */
+    @ApiModelProperty("参加工作年月")
+    private Date startWorkTime;
+    /**
+    * 来校年月
+    */
+    @ApiModelProperty("来校年月")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date joinTime;
+    /**
+    * 是否在编
+    */
+    @ApiModelProperty("是否在编")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Short isOrganized;
+    /**
+    * 聘用类型(xjr_dictionary_item[employ_type])
+    */
+    @ApiModelProperty("聘用类型(xjr_dictionary_item[employ_type])")
+    private String employType;
+    /**
+    * 聘用方式(xjr_dictionary_item[employ_type])上级聘用类型
+    */
+    @ApiModelProperty("聘用方式(xjr_dictionary_item[employ_type])上级聘用类型")
+    private String employWay;
+
+
+}

+ 117 - 0
src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherContact.java

@@ -0,0 +1,117 @@
+package com.xjrsoft.module.dev.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@TableName("base_teacher_contact")
+@ApiModel(value = "教职工基本信息管理对象", description = "教职工基本信息管理")
+public class BaseTeacherContact implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 办公室电话
+    */
+    @ApiModelProperty("办公室电话")
+    private String officeTel;
+    /**
+    * 办公室地址
+    */
+    @ApiModelProperty("办公室地址")
+    private String officeAddress;
+    /**
+    * 现住地址
+    */
+    @ApiModelProperty("现住地址")
+    private String address;
+    /**
+    * QQ&MSN
+    */
+    @ApiModelProperty("QQ&MSN")
+    private String qqMsn;
+    /**
+    * 微信号
+    */
+    @ApiModelProperty("微信号")
+    private String wechat;
+    /**
+    * 微博地址
+    */
+    @ApiModelProperty("微博地址")
+    private String microblog;
+    /**
+    * 住址邮编
+    */
+    @ApiModelProperty("住址邮编")
+    private String zipCode;
+
+
+}

+ 107 - 0
src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherEducation.java

@@ -0,0 +1,107 @@
+package com.xjrsoft.module.dev.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@TableName("base_teacher_education")
+@ApiModel(value = "教职工基本信息管理对象", description = "教职工基本信息管理")
+public class BaseTeacherEducation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 所学专业
+    */
+    @ApiModelProperty("所学专业")
+    private String specialty;
+    /**
+    * 最高学历(xjr_dictionary_item[education])
+    */
+    @ApiModelProperty("最高学历(xjr_dictionary_item[education])")
+    private String education;
+    /**
+    * 获得最高学历的院校
+    */
+    @ApiModelProperty("获得最高学历的院校")
+    private String educationCollege;
+    /**
+    * 最高学位(xjr_dictionary_item[degree])
+    */
+    @ApiModelProperty("最高学位(xjr_dictionary_item[degree])")
+    private String degree;
+    /**
+    * 获得最高学位的院校
+    */
+    @ApiModelProperty("获得最高学位的院校")
+    private String degreeCollege;
+
+
+}

+ 107 - 0
src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherEmploy.java

@@ -0,0 +1,107 @@
+package com.xjrsoft.module.dev.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@TableName("base_teacher_employ")
+@ApiModel(value = "教职工基本信息管理对象", description = "教职工基本信息管理")
+public class BaseTeacherEmploy implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 岗位类型 (1:校内主岗 2:校内兼职岗位 3:事业制单位主岗)
+    */
+    @ApiModelProperty("岗位类型 (1:校内主岗 2:校内兼职岗位 3:事业制单位主岗)")
+    private Integer type;
+    /**
+    * 校内主岗位类别(xjr_dictionary_item[school_job_type])
+    */
+    @ApiModelProperty("校内主岗位类别(xjr_dictionary_item[school_job_type])")
+    private String jobCategory;
+    /**
+    * 校内主岗位(xjr_dictionary_item[school_job_type])上级校内主岗位类别
+    */
+    @ApiModelProperty("校内主岗位(xjr_dictionary_item[school_job_type])上级校内主岗位类别")
+    private String jobPost;
+    /**
+    * 岗位等级(xjr_dictionary_item[school_job_level])
+    */
+    @ApiModelProperty("岗位等级(xjr_dictionary_item[school_job_level])")
+    private String jobLevel;
+    /**
+    * 岗位等级类型(xjr_dictionary_item[school_job_level_type])
+    */
+    @ApiModelProperty("岗位等级类型(xjr_dictionary_item[school_job_level_type])")
+    private String jobLevelType;
+
+
+}

+ 112 - 0
src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherFamily.java

@@ -0,0 +1,112 @@
+package com.xjrsoft.module.dev.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@TableName("base_teacher_family")
+@ApiModel(value = "教职工基本信息管理对象", description = "教职工基本信息管理")
+public class BaseTeacherFamily implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 家庭邮编
+    */
+    @ApiModelProperty("家庭邮编")
+    private String zipCode;
+    /**
+    * 家庭电话
+    */
+    @ApiModelProperty("家庭电话")
+    private String telephone;
+    /**
+    * 联系人姓名
+    */
+    @ApiModelProperty("联系人姓名")
+    private String contact;
+    /**
+    * 家庭人口
+    */
+    @ApiModelProperty("家庭人口")
+    private Integer population;
+    /**
+    * 家庭住址
+    */
+    @ApiModelProperty("家庭住址")
+    private String address;
+    /**
+    * 家庭经济情况
+    */
+    @ApiModelProperty("家庭经济情况")
+    private String finance;
+
+
+}

+ 130 - 0
src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherFamilyMember.java

@@ -0,0 +1,130 @@
+package com.xjrsoft.module.dev.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@TableName("base_teacher_family_member")
+@ApiModel(value = "教职工基本信息管理对象", description = "教职工基本信息管理")
+public class BaseTeacherFamilyMember implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 与本人关系(xjr_dictionary_item[relationship])
+    */
+    @ApiModelProperty("与本人关系(xjr_dictionary_item[relationship])")
+    private String relationship;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 性别(xjr_dictionary_item[gender])
+    */
+    @ApiModelProperty("性别(xjr_dictionary_item[gender])")
+    private String gender;
+    /**
+    * 是否为监护人
+    */
+    @ApiModelProperty("是否为监护人")
+    private Integer isGuardian;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date dayOfBirth;
+    /**
+    * 政治面貌(xjr_dictionary_item[political_state])
+    */
+    @ApiModelProperty("政治面貌(xjr_dictionary_item[political_state])")
+    private String politicalState;
+    /**
+    * 职业
+    */
+    @ApiModelProperty("职业")
+    private String occupation;
+    /**
+    * 工作单位
+    */
+    @ApiModelProperty("工作单位")
+    private String workUnit;
+    /**
+    * 联系电话
+    */
+    @ApiModelProperty("联系电话")
+    private String mobile;
+
+
+}

+ 121 - 0
src/main/java/com/xjrsoft/module/dev/entity/BaseTeacherRegular.java

@@ -0,0 +1,121 @@
+package com.xjrsoft.module.dev.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.alibaba.fastjson.JSONArray;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@TableName(value = "base_teacher_regular",autoResultMap = true)
+@ApiModel(value = "教职工基本信息管理对象", description = "教职工基本信息管理")
+public class BaseTeacherRegular implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 教师资格证种类(xjr_dictionary_item[certificate_Type])
+    */
+    @ApiModelProperty("教师资格证种类(xjr_dictionary_item[certificate_Type])")
+    private String certificateType;
+    /**
+    * 所属系统(xjr_dictionary_item[belong_org])
+    */
+    @ApiModelProperty("所属系统(xjr_dictionary_item[belong_org])")
+    private String belongOrg;
+    /**
+    * 普通话等级(xjr_dictionary_item[mandarin_level])
+    */
+    @ApiModelProperty("普通话等级(xjr_dictionary_item[mandarin_level])")
+    private String mandarinLevel;
+    /**
+    * 从教起始年月
+    */
+    @ApiModelProperty("从教起始年月")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startTeachTime;
+    /**
+    * 任课状况(xjr_dictionary_item[teaching_status])多选
+    */
+    @ApiModelProperty("任课状况(xjr_dictionary_item[teaching_status])多选")
+    @TableField(typeHandler = FastjsonTypeHandler.class)
+    private JSONArray teachingStatus;
+    /**
+    * 任教学科类别(base_major_categor)
+    */
+    @ApiModelProperty("任教学科类别(base_major_categor)")
+    private Long majorCategorId;
+    /**
+    * 是否双师型教师
+    */
+    @ApiModelProperty("是否双师型教师")
+    private Integer isDoubleTeacher;
+    /**
+    * 任教学科(base_course_subject)
+    */
+    @ApiModelProperty("任教学科(base_course_subject)")
+    private Long courseSubjectId;
+
+
+}

+ 196 - 0
src/main/java/com/xjrsoft/module/dev/entity/XjrUser.java

@@ -0,0 +1,196 @@
+package com.xjrsoft.module.dev.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+* @title: 教职工基本信息管理
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+@TableName("xjr_user")
+@ApiModel(value = "教职工基本信息管理对象", description = "教职工基本信息管理")
+public class XjrUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableId
+    private Long id;
+    /**
+    * 账户
+    */
+    @ApiModelProperty("账户")
+    private String userName;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 编号
+    */
+    @ApiModelProperty("编号")
+    private String code;
+    /**
+    * 昵称
+    */
+    @ApiModelProperty("昵称")
+    private String nickName;
+    /**
+    * 密码
+    */
+    @ApiModelProperty("密码")
+    private String password;
+    /**
+    * 性别
+    */
+    @ApiModelProperty("性别")
+    private Integer gender;
+    /**
+    * 手机号
+    */
+    @ApiModelProperty("手机号")
+    private String mobile;
+    /**
+    * 头像
+    */
+    @ApiModelProperty("头像")
+    private String avatar;
+    /**
+    * 邮箱
+    */
+    @ApiModelProperty("邮箱")
+    private String email;
+    /**
+    * 地址
+    */
+    @ApiModelProperty("地址")
+    private String address;
+    /**
+    * 经度
+    */
+    @ApiModelProperty("经度")
+    private Double longitude;
+    /**
+    * 纬度
+    */
+    @ApiModelProperty("纬度")
+    private Double latitude;
+    /**
+    * 排序码
+    */
+    @ApiModelProperty("排序码")
+    private Integer sortCode;
+    /**
+    * 备注
+    */
+    @ApiModelProperty("备注")
+    private String remark;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+
+    /**
+    * baseTeacher
+    */
+    @ApiModelProperty("baseTeacher子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "userId")
+    private List<BaseTeacher> baseTeacherList;
+    /**
+    * baseTeacherContact
+    */
+    @ApiModelProperty("baseTeacherContact子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "userId")
+    private List<BaseTeacherContact> baseTeacherContactList;
+    /**
+    * baseTeacherEducation
+    */
+    @ApiModelProperty("baseTeacherEducation子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "userId")
+    private List<BaseTeacherEducation> baseTeacherEducationList;
+    /**
+    * baseTeacherEmploy
+    */
+    @ApiModelProperty("baseTeacherEmploy子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "userId")
+    private List<BaseTeacherEmploy> baseTeacherEmployList;
+    /**
+    * baseTeacherFamily
+    */
+    @ApiModelProperty("baseTeacherFamily子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "userId")
+    private List<BaseTeacherFamily> baseTeacherFamilyList;
+    /**
+    * baseTeacherFamilyMember
+    */
+    @ApiModelProperty("baseTeacherFamilyMember子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "userId")
+    private List<BaseTeacherFamilyMember> baseTeacherFamilyMemberList;
+    /**
+    * baseTeacherRegular
+    */
+    @ApiModelProperty("baseTeacherRegular子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "userId")
+    private List<BaseTeacherRegular> baseTeacherRegularList;
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherContactMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.dev.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherContact;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Mapper
+public interface BaseTeacherContactMapper extends MPJBaseMapper<BaseTeacherContact> {
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherEducationMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.dev.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherEducation;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Mapper
+public interface BaseTeacherEducationMapper extends MPJBaseMapper<BaseTeacherEducation> {
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherEmployMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.dev.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherEmploy;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Mapper
+public interface BaseTeacherEmployMapper extends MPJBaseMapper<BaseTeacherEmploy> {
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherFamilyMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.dev.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamily;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Mapper
+public interface BaseTeacherFamilyMapper extends MPJBaseMapper<BaseTeacherFamily> {
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherFamilyMemberMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.dev.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamilyMember;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Mapper
+public interface BaseTeacherFamilyMemberMapper extends MPJBaseMapper<BaseTeacherFamilyMember> {
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.dev.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacher;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Mapper
+public interface BaseTeacherMapper extends MPJBaseMapper<BaseTeacher> {
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/dev/mapper/BaseTeacherRegularMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.dev.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherRegular;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Mapper
+public interface BaseTeacherRegularMapper extends MPJBaseMapper<BaseTeacherRegular> {
+
+}

+ 16 - 0
src/main/java/com/xjrsoft/module/dev/mapper/XjrUserMapper.java

@@ -0,0 +1,16 @@
+package com.xjrsoft.module.dev.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.dev.entity.XjrUser;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Mapper
+public interface XjrUserMapper extends MPJBaseMapper<XjrUser> {
+
+}

+ 40 - 0
src/main/java/com/xjrsoft/module/dev/service/ITeacherbaseManagerService.java

@@ -0,0 +1,40 @@
+package com.xjrsoft.module.dev.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.dev.entity.XjrUser;
+import lombok.Data;
+import java.util.List;
+
+/**
+* @title: service
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+
+public interface ITeacherbaseManagerService extends MPJBaseService<XjrUser> {
+    /**
+    * 新增
+    *
+    * @param xjrUser
+    * @return
+    */
+    Boolean add(XjrUser xjrUser);
+
+    /**
+    * 更新
+    *
+    * @param xjrUser
+    * @return
+    */
+    Boolean update(XjrUser xjrUser);
+
+    /**
+    * 删除
+    *
+    * @param ids
+    * @return
+    */
+    Boolean delete(List<Long> ids);
+}

+ 310 - 0
src/main/java/com/xjrsoft/module/dev/service/impl/TeacherbaseManagerServiceImpl.java

@@ -0,0 +1,310 @@
+package com.xjrsoft.module.dev.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.dev.entity.BaseTeacher;
+import com.xjrsoft.module.dev.mapper.BaseTeacherMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherContact;
+import com.xjrsoft.module.dev.mapper.BaseTeacherContactMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherEducation;
+import com.xjrsoft.module.dev.mapper.BaseTeacherEducationMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherEmploy;
+import com.xjrsoft.module.dev.mapper.BaseTeacherEmployMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamily;
+import com.xjrsoft.module.dev.mapper.BaseTeacherFamilyMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamilyMember;
+import com.xjrsoft.module.dev.mapper.BaseTeacherFamilyMemberMapper;
+import com.xjrsoft.module.dev.entity.BaseTeacherRegular;
+import com.xjrsoft.module.dev.mapper.BaseTeacherRegularMapper;
+import com.xjrsoft.module.dev.entity.XjrUser;
+import com.xjrsoft.module.dev.mapper.XjrUserMapper;
+import com.xjrsoft.module.dev.service.ITeacherbaseManagerService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+/**
+* @title: service
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMapper, XjrUser> implements ITeacherbaseManagerService {
+    private final XjrUserMapper teacherbaseManagerXjrUserMapper;
+
+    private final BaseTeacherMapper teacherbaseManagerBaseTeacherMapper;
+    private final BaseTeacherContactMapper teacherbaseManagerBaseTeacherContactMapper;
+    private final BaseTeacherEducationMapper teacherbaseManagerBaseTeacherEducationMapper;
+    private final BaseTeacherEmployMapper teacherbaseManagerBaseTeacherEmployMapper;
+    private final BaseTeacherFamilyMapper teacherbaseManagerBaseTeacherFamilyMapper;
+    private final BaseTeacherFamilyMemberMapper teacherbaseManagerBaseTeacherFamilyMemberMapper;
+    private final BaseTeacherRegularMapper teacherbaseManagerBaseTeacherRegularMapper;
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean add(XjrUser xjrUser) {
+        teacherbaseManagerXjrUserMapper.insert(xjrUser);
+        for (BaseTeacher baseTeacher : xjrUser.getBaseTeacherList()) {
+            baseTeacher.setUserId(xjrUser.getId());
+            teacherbaseManagerBaseTeacherMapper.insert(baseTeacher);
+        }
+        for (BaseTeacherContact baseTeacherContact : xjrUser.getBaseTeacherContactList()) {
+            baseTeacherContact.setUserId(xjrUser.getId());
+            teacherbaseManagerBaseTeacherContactMapper.insert(baseTeacherContact);
+        }
+        for (BaseTeacherEducation baseTeacherEducation : xjrUser.getBaseTeacherEducationList()) {
+            baseTeacherEducation.setUserId(xjrUser.getId());
+            teacherbaseManagerBaseTeacherEducationMapper.insert(baseTeacherEducation);
+        }
+        for (BaseTeacherEmploy baseTeacherEmploy : xjrUser.getBaseTeacherEmployList()) {
+            baseTeacherEmploy.setUserId(xjrUser.getId());
+            teacherbaseManagerBaseTeacherEmployMapper.insert(baseTeacherEmploy);
+        }
+        for (BaseTeacherFamily baseTeacherFamily : xjrUser.getBaseTeacherFamilyList()) {
+            baseTeacherFamily.setUserId(xjrUser.getId());
+            teacherbaseManagerBaseTeacherFamilyMapper.insert(baseTeacherFamily);
+        }
+        for (BaseTeacherFamilyMember baseTeacherFamilyMember : xjrUser.getBaseTeacherFamilyMemberList()) {
+            baseTeacherFamilyMember.setUserId(xjrUser.getId());
+            teacherbaseManagerBaseTeacherFamilyMemberMapper.insert(baseTeacherFamilyMember);
+        }
+        for (BaseTeacherRegular baseTeacherRegular : xjrUser.getBaseTeacherRegularList()) {
+            baseTeacherRegular.setUserId(xjrUser.getId());
+            teacherbaseManagerBaseTeacherRegularMapper.insert(baseTeacherRegular);
+        }
+
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean update(XjrUser xjrUser) {
+        teacherbaseManagerXjrUserMapper.updateById(xjrUser);
+        //********************************* BaseTeacher  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<BaseTeacher> baseTeacherList = teacherbaseManagerBaseTeacherMapper.selectList(Wrappers.lambdaQuery(BaseTeacher.class).eq(BaseTeacher::getUserId, xjrUser.getId()).select(BaseTeacher::getId));
+            List<Long> baseTeacherIds = baseTeacherList.stream().map(BaseTeacher::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> baseTeacherOldIds = xjrUser.getBaseTeacherList().stream().map(BaseTeacher::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> baseTeacherRemoveIds = baseTeacherIds.stream().filter(item -> !baseTeacherOldIds.contains(item)).collect(Collectors.toList());
+
+            for (BaseTeacher baseTeacher : xjrUser.getBaseTeacherList()) {
+                //如果不等于空则修改
+                if (baseTeacher.getId() != null) {
+                    teacherbaseManagerBaseTeacherMapper.updateById(baseTeacher);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    baseTeacher.setUserId(xjrUser.getId());
+                    teacherbaseManagerBaseTeacherMapper.insert(baseTeacher);
+                }
+            }
+            //已经不存在的id 删除
+            if(baseTeacherRemoveIds.size() > 0){
+                teacherbaseManagerBaseTeacherMapper.deleteBatchIds(baseTeacherRemoveIds);
+            }
+        }
+        //********************************* BaseTeacher  增删改  结束 *******************************************/
+
+        //********************************* BaseTeacherContact  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<BaseTeacherContact> baseTeacherContactList = teacherbaseManagerBaseTeacherContactMapper.selectList(Wrappers.lambdaQuery(BaseTeacherContact.class).eq(BaseTeacherContact::getUserId, xjrUser.getId()).select(BaseTeacherContact::getId));
+            List<Long> baseTeacherContactIds = baseTeacherContactList.stream().map(BaseTeacherContact::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> baseTeacherContactOldIds = xjrUser.getBaseTeacherContactList().stream().map(BaseTeacherContact::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> baseTeacherContactRemoveIds = baseTeacherContactIds.stream().filter(item -> !baseTeacherContactOldIds.contains(item)).collect(Collectors.toList());
+
+            for (BaseTeacherContact baseTeacherContact : xjrUser.getBaseTeacherContactList()) {
+                //如果不等于空则修改
+                if (baseTeacherContact.getId() != null) {
+                    teacherbaseManagerBaseTeacherContactMapper.updateById(baseTeacherContact);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    baseTeacherContact.setUserId(xjrUser.getId());
+                    teacherbaseManagerBaseTeacherContactMapper.insert(baseTeacherContact);
+                }
+            }
+            //已经不存在的id 删除
+            if(baseTeacherContactRemoveIds.size() > 0){
+                teacherbaseManagerBaseTeacherContactMapper.deleteBatchIds(baseTeacherContactRemoveIds);
+            }
+        }
+        //********************************* BaseTeacherContact  增删改  结束 *******************************************/
+
+        //********************************* BaseTeacherEducation  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<BaseTeacherEducation> baseTeacherEducationList = teacherbaseManagerBaseTeacherEducationMapper.selectList(Wrappers.lambdaQuery(BaseTeacherEducation.class).eq(BaseTeacherEducation::getUserId, xjrUser.getId()).select(BaseTeacherEducation::getId));
+            List<Long> baseTeacherEducationIds = baseTeacherEducationList.stream().map(BaseTeacherEducation::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> baseTeacherEducationOldIds = xjrUser.getBaseTeacherEducationList().stream().map(BaseTeacherEducation::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> baseTeacherEducationRemoveIds = baseTeacherEducationIds.stream().filter(item -> !baseTeacherEducationOldIds.contains(item)).collect(Collectors.toList());
+
+            for (BaseTeacherEducation baseTeacherEducation : xjrUser.getBaseTeacherEducationList()) {
+                //如果不等于空则修改
+                if (baseTeacherEducation.getId() != null) {
+                    teacherbaseManagerBaseTeacherEducationMapper.updateById(baseTeacherEducation);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    baseTeacherEducation.setUserId(xjrUser.getId());
+                    teacherbaseManagerBaseTeacherEducationMapper.insert(baseTeacherEducation);
+                }
+            }
+            //已经不存在的id 删除
+            if(baseTeacherEducationRemoveIds.size() > 0){
+                teacherbaseManagerBaseTeacherEducationMapper.deleteBatchIds(baseTeacherEducationRemoveIds);
+            }
+        }
+        //********************************* BaseTeacherEducation  增删改  结束 *******************************************/
+
+        //********************************* BaseTeacherEmploy  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<BaseTeacherEmploy> baseTeacherEmployList = teacherbaseManagerBaseTeacherEmployMapper.selectList(Wrappers.lambdaQuery(BaseTeacherEmploy.class).eq(BaseTeacherEmploy::getUserId, xjrUser.getId()).select(BaseTeacherEmploy::getId));
+            List<Long> baseTeacherEmployIds = baseTeacherEmployList.stream().map(BaseTeacherEmploy::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> baseTeacherEmployOldIds = xjrUser.getBaseTeacherEmployList().stream().map(BaseTeacherEmploy::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> baseTeacherEmployRemoveIds = baseTeacherEmployIds.stream().filter(item -> !baseTeacherEmployOldIds.contains(item)).collect(Collectors.toList());
+
+            for (BaseTeacherEmploy baseTeacherEmploy : xjrUser.getBaseTeacherEmployList()) {
+                //如果不等于空则修改
+                if (baseTeacherEmploy.getId() != null) {
+                    teacherbaseManagerBaseTeacherEmployMapper.updateById(baseTeacherEmploy);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    baseTeacherEmploy.setUserId(xjrUser.getId());
+                    teacherbaseManagerBaseTeacherEmployMapper.insert(baseTeacherEmploy);
+                }
+            }
+            //已经不存在的id 删除
+            if(baseTeacherEmployRemoveIds.size() > 0){
+                teacherbaseManagerBaseTeacherEmployMapper.deleteBatchIds(baseTeacherEmployRemoveIds);
+            }
+        }
+        //********************************* BaseTeacherEmploy  增删改  结束 *******************************************/
+
+        //********************************* BaseTeacherFamily  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<BaseTeacherFamily> baseTeacherFamilyList = teacherbaseManagerBaseTeacherFamilyMapper.selectList(Wrappers.lambdaQuery(BaseTeacherFamily.class).eq(BaseTeacherFamily::getUserId, xjrUser.getId()).select(BaseTeacherFamily::getId));
+            List<Long> baseTeacherFamilyIds = baseTeacherFamilyList.stream().map(BaseTeacherFamily::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> baseTeacherFamilyOldIds = xjrUser.getBaseTeacherFamilyList().stream().map(BaseTeacherFamily::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> baseTeacherFamilyRemoveIds = baseTeacherFamilyIds.stream().filter(item -> !baseTeacherFamilyOldIds.contains(item)).collect(Collectors.toList());
+
+            for (BaseTeacherFamily baseTeacherFamily : xjrUser.getBaseTeacherFamilyList()) {
+                //如果不等于空则修改
+                if (baseTeacherFamily.getId() != null) {
+                    teacherbaseManagerBaseTeacherFamilyMapper.updateById(baseTeacherFamily);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    baseTeacherFamily.setUserId(xjrUser.getId());
+                    teacherbaseManagerBaseTeacherFamilyMapper.insert(baseTeacherFamily);
+                }
+            }
+            //已经不存在的id 删除
+            if(baseTeacherFamilyRemoveIds.size() > 0){
+                teacherbaseManagerBaseTeacherFamilyMapper.deleteBatchIds(baseTeacherFamilyRemoveIds);
+            }
+        }
+        //********************************* BaseTeacherFamily  增删改  结束 *******************************************/
+
+        //********************************* BaseTeacherFamilyMember  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<BaseTeacherFamilyMember> baseTeacherFamilyMemberList = teacherbaseManagerBaseTeacherFamilyMemberMapper.selectList(Wrappers.lambdaQuery(BaseTeacherFamilyMember.class).eq(BaseTeacherFamilyMember::getUserId, xjrUser.getId()).select(BaseTeacherFamilyMember::getId));
+            List<Long> baseTeacherFamilyMemberIds = baseTeacherFamilyMemberList.stream().map(BaseTeacherFamilyMember::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> baseTeacherFamilyMemberOldIds = xjrUser.getBaseTeacherFamilyMemberList().stream().map(BaseTeacherFamilyMember::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> baseTeacherFamilyMemberRemoveIds = baseTeacherFamilyMemberIds.stream().filter(item -> !baseTeacherFamilyMemberOldIds.contains(item)).collect(Collectors.toList());
+
+            for (BaseTeacherFamilyMember baseTeacherFamilyMember : xjrUser.getBaseTeacherFamilyMemberList()) {
+                //如果不等于空则修改
+                if (baseTeacherFamilyMember.getId() != null) {
+                    teacherbaseManagerBaseTeacherFamilyMemberMapper.updateById(baseTeacherFamilyMember);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    baseTeacherFamilyMember.setUserId(xjrUser.getId());
+                    teacherbaseManagerBaseTeacherFamilyMemberMapper.insert(baseTeacherFamilyMember);
+                }
+            }
+            //已经不存在的id 删除
+            if(baseTeacherFamilyMemberRemoveIds.size() > 0){
+                teacherbaseManagerBaseTeacherFamilyMemberMapper.deleteBatchIds(baseTeacherFamilyMemberRemoveIds);
+            }
+        }
+        //********************************* BaseTeacherFamilyMember  增删改  结束 *******************************************/
+
+        //********************************* BaseTeacherRegular  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<BaseTeacherRegular> baseTeacherRegularList = teacherbaseManagerBaseTeacherRegularMapper.selectList(Wrappers.lambdaQuery(BaseTeacherRegular.class).eq(BaseTeacherRegular::getUserId, xjrUser.getId()).select(BaseTeacherRegular::getId));
+            List<Long> baseTeacherRegularIds = baseTeacherRegularList.stream().map(BaseTeacherRegular::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> baseTeacherRegularOldIds = xjrUser.getBaseTeacherRegularList().stream().map(BaseTeacherRegular::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> baseTeacherRegularRemoveIds = baseTeacherRegularIds.stream().filter(item -> !baseTeacherRegularOldIds.contains(item)).collect(Collectors.toList());
+
+            for (BaseTeacherRegular baseTeacherRegular : xjrUser.getBaseTeacherRegularList()) {
+                //如果不等于空则修改
+                if (baseTeacherRegular.getId() != null) {
+                    teacherbaseManagerBaseTeacherRegularMapper.updateById(baseTeacherRegular);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    baseTeacherRegular.setUserId(xjrUser.getId());
+                    teacherbaseManagerBaseTeacherRegularMapper.insert(baseTeacherRegular);
+                }
+            }
+            //已经不存在的id 删除
+            if(baseTeacherRegularRemoveIds.size() > 0){
+                teacherbaseManagerBaseTeacherRegularMapper.deleteBatchIds(baseTeacherRegularRemoveIds);
+            }
+        }
+        //********************************* BaseTeacherRegular  增删改  结束 *******************************************/
+
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean delete(List<Long> ids) {
+        teacherbaseManagerXjrUserMapper.deleteBatchIds(ids);
+        teacherbaseManagerBaseTeacherMapper.delete(Wrappers.lambdaQuery(BaseTeacher.class).in(BaseTeacher::getUserId, ids));
+        teacherbaseManagerBaseTeacherContactMapper.delete(Wrappers.lambdaQuery(BaseTeacherContact.class).in(BaseTeacherContact::getUserId, ids));
+        teacherbaseManagerBaseTeacherEducationMapper.delete(Wrappers.lambdaQuery(BaseTeacherEducation.class).in(BaseTeacherEducation::getUserId, ids));
+        teacherbaseManagerBaseTeacherEmployMapper.delete(Wrappers.lambdaQuery(BaseTeacherEmploy.class).in(BaseTeacherEmploy::getUserId, ids));
+        teacherbaseManagerBaseTeacherFamilyMapper.delete(Wrappers.lambdaQuery(BaseTeacherFamily.class).in(BaseTeacherFamily::getUserId, ids));
+        teacherbaseManagerBaseTeacherFamilyMemberMapper.delete(Wrappers.lambdaQuery(BaseTeacherFamilyMember.class).in(BaseTeacherFamilyMember::getUserId, ids));
+        teacherbaseManagerBaseTeacherRegularMapper.delete(Wrappers.lambdaQuery(BaseTeacherRegular.class).in(BaseTeacherRegular::getUserId, ids));
+
+        return true;
+    }
+}

+ 68 - 0
src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherContactVo.java

@@ -0,0 +1,68 @@
+package com.xjrsoft.module.dev.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class BaseTeacherContactVo {
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 办公室电话
+    */
+    @ApiModelProperty("办公室电话")
+    private String officeTel;
+    /**
+    * 办公室地址
+    */
+    @ApiModelProperty("办公室地址")
+    private String officeAddress;
+    /**
+    * 现住地址
+    */
+    @ApiModelProperty("现住地址")
+    private String address;
+    /**
+    * QQ&MSN
+    */
+    @ApiModelProperty("QQ&MSN")
+    private String qqMsn;
+    /**
+    * 微信号
+    */
+    @ApiModelProperty("微信号")
+    private String wechat;
+    /**
+    * 微博地址
+    */
+    @ApiModelProperty("微博地址")
+    private String microblog;
+    /**
+    * 住址邮编
+    */
+    @ApiModelProperty("住址邮编")
+    private String zipCode;
+
+
+
+}

+ 58 - 0
src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherEducationVo.java

@@ -0,0 +1,58 @@
+package com.xjrsoft.module.dev.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class BaseTeacherEducationVo {
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 所学专业
+    */
+    @ApiModelProperty("所学专业")
+    private String specialty;
+    /**
+    * 最高学历(xjr_dictionary_item[education])
+    */
+    @ApiModelProperty("最高学历(xjr_dictionary_item[education])")
+    private String education;
+    /**
+    * 获得最高学历的院校
+    */
+    @ApiModelProperty("获得最高学历的院校")
+    private String educationCollege;
+    /**
+    * 最高学位(xjr_dictionary_item[degree])
+    */
+    @ApiModelProperty("最高学位(xjr_dictionary_item[degree])")
+    private String degree;
+    /**
+    * 获得最高学位的院校
+    */
+    @ApiModelProperty("获得最高学位的院校")
+    private String degreeCollege;
+
+
+
+}

+ 58 - 0
src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherEmployVo.java

@@ -0,0 +1,58 @@
+package com.xjrsoft.module.dev.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class BaseTeacherEmployVo {
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 岗位类型 (1:校内主岗 2:校内兼职岗位 3:事业制单位主岗)
+    */
+    @ApiModelProperty("岗位类型 (1:校内主岗 2:校内兼职岗位 3:事业制单位主岗)")
+    private Integer type;
+    /**
+    * 校内主岗位类别(xjr_dictionary_item[school_job_type])
+    */
+    @ApiModelProperty("校内主岗位类别(xjr_dictionary_item[school_job_type])")
+    private String jobCategory;
+    /**
+    * 校内主岗位(xjr_dictionary_item[school_job_type])上级校内主岗位类别
+    */
+    @ApiModelProperty("校内主岗位(xjr_dictionary_item[school_job_type])上级校内主岗位类别")
+    private String jobPost;
+    /**
+    * 岗位等级(xjr_dictionary_item[school_job_level])
+    */
+    @ApiModelProperty("岗位等级(xjr_dictionary_item[school_job_level])")
+    private String jobLevel;
+    /**
+    * 岗位等级类型(xjr_dictionary_item[school_job_level_type])
+    */
+    @ApiModelProperty("岗位等级类型(xjr_dictionary_item[school_job_level_type])")
+    private String jobLevelType;
+
+
+
+}

+ 81 - 0
src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherFamilyMemberVo.java

@@ -0,0 +1,81 @@
+package com.xjrsoft.module.dev.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class BaseTeacherFamilyMemberVo {
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 与本人关系(xjr_dictionary_item[relationship])
+    */
+    @ApiModelProperty("与本人关系(xjr_dictionary_item[relationship])")
+    private String relationship;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 性别(xjr_dictionary_item[gender])
+    */
+    @ApiModelProperty("性别(xjr_dictionary_item[gender])")
+    private String gender;
+    /**
+    * 是否为监护人
+    */
+    @ApiModelProperty("是否为监护人")
+    private Integer isGuardian;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date dayOfBirth;
+    /**
+    * 政治面貌(xjr_dictionary_item[political_state])
+    */
+    @ApiModelProperty("政治面貌(xjr_dictionary_item[political_state])")
+    private String politicalState;
+    /**
+    * 职业
+    */
+    @ApiModelProperty("职业")
+    private String occupation;
+    /**
+    * 工作单位
+    */
+    @ApiModelProperty("工作单位")
+    private String workUnit;
+    /**
+    * 联系电话
+    */
+    @ApiModelProperty("联系电话")
+    private String mobile;
+
+
+
+}

+ 63 - 0
src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherFamilyVo.java

@@ -0,0 +1,63 @@
+package com.xjrsoft.module.dev.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class BaseTeacherFamilyVo {
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 家庭邮编
+    */
+    @ApiModelProperty("家庭邮编")
+    private String zipCode;
+    /**
+    * 家庭电话
+    */
+    @ApiModelProperty("家庭电话")
+    private String telephone;
+    /**
+    * 联系人姓名
+    */
+    @ApiModelProperty("联系人姓名")
+    private String contact;
+    /**
+    * 家庭人口
+    */
+    @ApiModelProperty("家庭人口")
+    private Integer population;
+    /**
+    * 家庭住址
+    */
+    @ApiModelProperty("家庭住址")
+    private String address;
+    /**
+    * 家庭经济情况
+    */
+    @ApiModelProperty("家庭经济情况")
+    private String finance;
+
+
+
+}

+ 77 - 0
src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherRegularVo.java

@@ -0,0 +1,77 @@
+package com.xjrsoft.module.dev.vo;
+
+import com.alibaba.fastjson.JSONArray;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class BaseTeacherRegularVo {
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 教师资格证种类(xjr_dictionary_item[certificate_Type])
+    */
+    @ApiModelProperty("教师资格证种类(xjr_dictionary_item[certificate_Type])")
+    private String certificateType;
+    /**
+    * 所属系统(xjr_dictionary_item[belong_org])
+    */
+    @ApiModelProperty("所属系统(xjr_dictionary_item[belong_org])")
+    private String belongOrg;
+    /**
+    * 普通话等级(xjr_dictionary_item[mandarin_level])
+    */
+    @ApiModelProperty("普通话等级(xjr_dictionary_item[mandarin_level])")
+    private String mandarinLevel;
+    /**
+    * 从教起始年月
+    */
+    @ApiModelProperty("从教起始年月")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startTeachTime;
+    /**
+    * 任课状况(xjr_dictionary_item[teaching_status])多选
+    */
+    @ApiModelProperty("任课状况(xjr_dictionary_item[teaching_status])多选")
+    private JSONArray teachingStatus;
+    /**
+    * 任教学科类别(base_major_categor)
+    */
+    @ApiModelProperty("任教学科类别(base_major_categor)")
+    private Long majorCategorId;
+    /**
+    * 是否双师型教师
+    */
+    @ApiModelProperty("是否双师型教师")
+    private Integer isDoubleTeacher;
+    /**
+    * 任教学科(base_course_subject)
+    */
+    @ApiModelProperty("任教学科(base_course_subject)")
+    private Long courseSubjectId;
+
+
+
+}

+ 168 - 0
src/main/java/com/xjrsoft/module/dev/vo/BaseTeacherVo.java

@@ -0,0 +1,168 @@
+package com.xjrsoft.module.dev.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class BaseTeacherVo {
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+    * 用户ID(xjr_user)
+    */
+    @ApiModelProperty("用户ID(xjr_user)")
+    private Long userId;
+    /**
+    * 别名
+    */
+    @ApiModelProperty("别名")
+    private String asName;
+    /**
+    * 英文姓名
+    */
+    @ApiModelProperty("英文姓名")
+    private String enName;
+    /**
+    * 姓名拼音
+    */
+    @ApiModelProperty("姓名拼音")
+    private String pyName;
+    /**
+    * 曾用名
+    */
+    @ApiModelProperty("曾用名")
+    private String formerName;
+    /**
+    * 在职状态(xjr_dictionary_item[job_state])
+    */
+    @ApiModelProperty("在职状态(xjr_dictionary_item[job_state])")
+    private String jobState;
+    /**
+    * 证件类型(xjr_dictionary_item[credential_type])
+    */
+    @ApiModelProperty("证件类型(xjr_dictionary_item[credential_type])")
+    private String credentialType;
+    /**
+    * 证件号码
+    */
+    @ApiModelProperty("证件号码")
+    private String credentialNumber;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date dayOfBirth;
+    /**
+    * 生日类型(xjr_dictionary_item[date_type])
+    */
+    @ApiModelProperty("生日类型(xjr_dictionary_item[date_type])")
+    private String birthType;
+    /**
+    * 民族(xjr_dictionary_item[nation])
+    */
+    @ApiModelProperty("民族(xjr_dictionary_item[nation])")
+    private String nation;
+    /**
+    * 血型(xjr_dictionary_item[blood_type])
+    */
+    @ApiModelProperty("血型(xjr_dictionary_item[blood_type])")
+    private String bloodType;
+    /**
+    * 健康状况(xjr_dictionary_item[health])
+    */
+    @ApiModelProperty("健康状况(xjr_dictionary_item[health])")
+    private String health;
+    /**
+    * 婚姻状况(xjr_dictionary_item[marital_state])
+    */
+    @ApiModelProperty("婚姻状况(xjr_dictionary_item[marital_state])")
+    private String maritalState;
+    /**
+    * 政治面貌(xjr_dictionary_item[political_state])
+    */
+    @ApiModelProperty("政治面貌(xjr_dictionary_item[political_state])")
+    private String politicalState;
+    /**
+    * 国籍地区(xjr_dictionary_item[nationality])
+    */
+    @ApiModelProperty("国籍地区(xjr_dictionary_item[nationality])")
+    private String nationality;
+    /**
+    * 港澳台侨外(xjr_dictionary_item[chinese_type])
+    */
+    @ApiModelProperty("港澳台侨外(xjr_dictionary_item[chinese_type])")
+    private String chineseType;
+    /**
+    * 户口类别(xjr_dictionary_item[house_hold_type])
+    */
+    @ApiModelProperty("户口类别(xjr_dictionary_item[house_hold_type])")
+    private String houseHoldType;
+    /**
+    * 省(xjr_area)
+    */
+    @ApiModelProperty("省(xjr_area)")
+    private Long provinces;
+    /**
+    * 市(xjr_area)
+    */
+    @ApiModelProperty("市(xjr_area)")
+    private Long city;
+    /**
+    * 区/县(xjr_area)
+    */
+    @ApiModelProperty("区/县(xjr_area)")
+    private Long district;
+    /**
+    * 户籍地址
+    */
+    @ApiModelProperty("户籍地址")
+    private String houseHoldAddress;
+    /**
+    * 参加工作年月
+    */
+    @ApiModelProperty("参加工作年月")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startWorkTime;
+    /**
+    * 来校年月
+    */
+    @ApiModelProperty("来校年月")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date joinTime;
+    /**
+    * 是否在编
+    */
+    @ApiModelProperty("是否在编")
+    private Short isOrganized;
+    /**
+    * 聘用类型(xjr_dictionary_item[employ_type])
+    */
+    @ApiModelProperty("聘用类型(xjr_dictionary_item[employ_type])")
+    private String employType;
+    /**
+    * 聘用方式(xjr_dictionary_item[employ_type])上级聘用类型
+    */
+    @ApiModelProperty("聘用方式(xjr_dictionary_item[employ_type])上级聘用类型")
+    private String employWay;
+
+
+
+}

+ 83 - 0
src/main/java/com/xjrsoft/module/dev/vo/XjrUserPageVo.java

@@ -0,0 +1,83 @@
+package com.xjrsoft.module.dev.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import com.xjrsoft.common.annotation.Trans;
+import com.xjrsoft.common.enums.TransType;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+/**
+* @title: 分页列表出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class XjrUserPageVo {
+
+    /**
+     *
+     */
+    @ApiModelProperty("")
+    private String id;
+
+    /**
+     * 工号
+     */
+    @ApiModelProperty("工号")
+    private String userName;
+
+    /**
+     * 姓名
+     */
+    @ApiModelProperty("姓名")
+    private String name;
+
+    /**
+     * 别名
+     */
+    @ApiModelProperty("别名")
+    private String asName;
+
+    /**
+     * 性别
+     */
+    @ApiModelProperty("性别")
+    private String gender;
+
+    /**
+     * 证件类型
+     */
+    @ApiModelProperty("证件类型")
+    private String credentialType;
+    /**
+     * 证件号码
+     */
+    @ApiModelProperty("证件类型")
+    private String credentialNumber;
+    /**
+     * 主组织机构
+     */
+    @ApiModelProperty("主组织机构")
+    private String deptId;
+    /**
+     * 内主岗位类别-岗位
+     */
+    @ApiModelProperty("内主岗位类别-岗位")
+    private String jobCategory;
+    /**
+     * 在职状态
+     */
+    @ApiModelProperty("在职状态")
+    private String jobState;
+    /**
+     * 聘用方式
+     */
+    @ApiModelProperty("聘用方式")
+    private String employWay;
+
+}

+ 140 - 0
src/main/java/com/xjrsoft/module/dev/vo/XjrUserVo.java

@@ -0,0 +1,140 @@
+package com.xjrsoft.module.dev.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import com.xjrsoft.module.dev.entity.BaseTeacher;
+import com.xjrsoft.module.dev.entity.BaseTeacherContact;
+import com.xjrsoft.module.dev.entity.BaseTeacherEducation;
+import com.xjrsoft.module.dev.entity.BaseTeacherEmploy;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamily;
+import com.xjrsoft.module.dev.entity.BaseTeacherFamilyMember;
+import com.xjrsoft.module.dev.entity.BaseTeacherRegular;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2023-08-08
+* @Version 1.0
+*/
+@Data
+public class XjrUserVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+    /**
+    * 账户
+    */
+    @ApiModelProperty("账户")
+    private String userName;
+    /**
+    * 姓名
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 编号
+    */
+    @ApiModelProperty("编号")
+    private String code;
+    /**
+    * 昵称
+    */
+    @ApiModelProperty("昵称")
+    private String nickName;
+    /**
+    * 密码
+    */
+    @ApiModelProperty("密码")
+    private String password;
+    /**
+    * 性别
+    */
+    @ApiModelProperty("性别")
+    private Integer gender;
+    /**
+    * 手机号
+    */
+    @ApiModelProperty("手机号")
+    private String mobile;
+    /**
+    * 头像
+    */
+    @ApiModelProperty("头像")
+    private String avatar;
+    /**
+    * 邮箱
+    */
+    @ApiModelProperty("邮箱")
+    private String email;
+    /**
+    * 地址
+    */
+    @ApiModelProperty("地址")
+    private String address;
+    /**
+    * 经度
+    */
+    @ApiModelProperty("经度")
+    private Double longitude;
+    /**
+    * 纬度
+    */
+    @ApiModelProperty("纬度")
+    private Double latitude;
+    /**
+    * 排序码
+    */
+    @ApiModelProperty("排序码")
+    private Integer sortCode;
+    /**
+    * 备注
+    */
+    @ApiModelProperty("备注")
+    private String remark;
+
+
+    /**
+    * baseTeacher
+    */
+    @ApiModelProperty("baseTeacher子表")
+    private List<BaseTeacherVo> baseTeacherList;
+    /**
+    * baseTeacherContact
+    */
+    @ApiModelProperty("baseTeacherContact子表")
+    private List<BaseTeacherContactVo> baseTeacherContactList;
+    /**
+    * baseTeacherEducation
+    */
+    @ApiModelProperty("baseTeacherEducation子表")
+    private List<BaseTeacherEducationVo> baseTeacherEducationList;
+    /**
+    * baseTeacherEmploy
+    */
+    @ApiModelProperty("baseTeacherEmploy子表")
+    private List<BaseTeacherEmployVo> baseTeacherEmployList;
+    /**
+    * baseTeacherFamily
+    */
+    @ApiModelProperty("baseTeacherFamily子表")
+    private List<BaseTeacherFamilyVo> baseTeacherFamilyList;
+    /**
+    * baseTeacherFamilyMember
+    */
+    @ApiModelProperty("baseTeacherFamilyMember子表")
+    private List<BaseTeacherFamilyMemberVo> baseTeacherFamilyMemberList;
+    /**
+    * baseTeacherRegular
+    */
+    @ApiModelProperty("baseTeacherRegular子表")
+    private List<BaseTeacherRegularVo> baseTeacherRegularList;
+
+}