brealinxx преди 1 година
родител
ревизия
1db666d337

+ 89 - 0
src/main/java/com/xjrsoft/module/personnel/controller/LaborManagementController.java

@@ -0,0 +1,89 @@
+package com.xjrsoft.module.personnel.controller;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.module.personnel.entity.LaborManagement;
+import com.xjrsoft.module.personnel.vo.LaborManagementPageVo;
+import com.xjrsoft.module.personnel.mapper.LaborManagementMapper;
+import com.xjrsoft.module.personnel.dto.AddLaborManagementDto;
+import com.xjrsoft.module.personnel.dto.UpdateLaborManagementDto;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo;
+import com.xjrsoft.module.weekly.vo.WeeklyDutyScheduleListVo;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import java.io.ByteArrayOutputStream;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+
+import com.xjrsoft.module.personnel.dto.LaborManagementPageDto;
+import com.xjrsoft.module.personnel.service.ILaborManagementService;
+import com.xjrsoft.module.personnel.vo.LaborManagementPageVo;
+
+import com.xjrsoft.module.personnel.vo.LaborManagementVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+* @title: 劳资管理信息表
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/personnel" + "/laborManagement")
+@Api(value = "/personnel"  + "/laborManagement",tags = "劳资管理")
+@AllArgsConstructor
+public class LaborManagementController {
+
+
+    private final ILaborManagementService laborManagementService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="劳资管理列表(分页)")
+    @SaCheckPermission("baseteacher:detail")
+    public RT<PageOutput<LaborManagementPageVo>> page(@Valid LaborManagementPageDto dto){
+        Page<LaborManagementPageVo> page = laborManagementService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<LaborManagementPageVo> pageOutput = ConventPage.getPageOutput(page, LaborManagementPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping("/export")
+    @ApiOperation(value = "导出")
+    public ResponseEntity<byte[]> exportData(@Valid LaborManagementPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
+        List<LaborManagement> list = laborManagementService.list();
+
+        List<LaborManagementPageVo> customerList = new ArrayList<>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
+
+        for (LaborManagement vo : list) {
+            LaborManagementPageVo listVo = BeanUtil.toBean(vo, LaborManagementPageVo.class);
+//            LaborManagementPageDto listDto = BeanUtil.toBean(vo, LaborManagementPageDto.class);
+//            listDto.setStartWorkTime(sdf.format(dto.getStartWorkTime()));
+
+            customerList.add(listVo);
+        }
+
+        // 写入Excel
+        ByteArrayOutputStream bot = new ByteArrayOutputStream();
+        EasyExcel.write(bot, LaborManagementPageVo.class)
+                .automaticMergeHead(false)
+                .excelType(ExcelTypeEnum.XLSX)
+                .sheet()
+                .doWrite(customerList);
+
+        // 返回文件流
+        return RT.fileStream(bot.toByteArray(), "LaborManagement" + ExcelTypeEnum.XLSX.getValue());
+    }
+}

+ 148 - 0
src/main/java/com/xjrsoft/module/personnel/dto/AddLaborManagementDto.java

@@ -0,0 +1,148 @@
+package com.xjrsoft.module.personnel.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.util.Date;
+
+
+
+/**
+* @title: 教职工基本信息表
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+@Data
+public class AddLaborManagementDto 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;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    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("来校年月")
+    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;
+
+}

+ 44 - 0
src/main/java/com/xjrsoft/module/personnel/dto/LaborManagementPageDto.java

@@ -0,0 +1,44 @@
+package com.xjrsoft.module.personnel.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 劳资管理信息表表分页查询入参
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class LaborManagementPageDto extends PageInput {
+    @ApiModelProperty("工号")
+    public String userName;
+
+    @ApiModelProperty("姓名")
+    public String name;
+
+    @ApiModelProperty("性别代号")
+    public int gender;
+
+    @ApiModelProperty("入职时间")
+    public String startWorkTime;
+
+    @ApiModelProperty("离职时间")
+    public String endWorkTime;
+
+    @ApiModelProperty("在职状态")
+    public String jobState;
+
+    @ApiModelProperty("人员类别")
+    public String natureOrganization;
+
+    @ApiModelProperty("任职部门")
+    public String departName;
+
+    @ApiModelProperty("工作岗位")
+    public String job;
+}

+ 23 - 0
src/main/java/com/xjrsoft/module/personnel/dto/UpdateLaborManagementDto.java

@@ -0,0 +1,23 @@
+package com.xjrsoft.module.personnel.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+* @title: 教职工基本信息表
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+@Data
+public class UpdateLaborManagementDto extends AddLaborManagementDto {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @ApiModelProperty("主键")
+    private Long id;
+}

+ 65 - 0
src/main/java/com/xjrsoft/module/personnel/entity/LaborManagement.java

@@ -0,0 +1,65 @@
+package com.xjrsoft.module.personnel.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 io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+* @title: 教职工基本信息表
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+@Data
+@TableName("base_teacher")
+@ApiModel(value = "base_teacher", description = "劳资管理教职工基本信息表")
+public class LaborManagement implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键编号
+     */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+
+    @ApiModelProperty("工号")
+    @TableField(fill = FieldFill.INSERT)
+    private String userName;
+
+    @ApiModelProperty("姓名")
+    @TableField(fill = FieldFill.INSERT)
+    private String  name;
+
+    @ApiModelProperty("性别代号")
+    @TableField(fill = FieldFill.UPDATE)
+    private int gender;
+
+    @ApiModelProperty("入职时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private String startWorkTime;
+
+    @ApiModelProperty("在职状态")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private String jobState;
+
+    @ApiModelProperty("人员类别")
+    @TableField(fill = FieldFill.INSERT)
+    private String natureOrganization;
+
+    @ApiModelProperty("任职部门")
+    private String departName;
+
+    @ApiModelProperty("工作岗位")
+    private String job;
+
+}

+ 22 - 0
src/main/java/com/xjrsoft/module/personnel/mapper/LaborManagementMapper.java

@@ -0,0 +1,22 @@
+package com.xjrsoft.module.personnel.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.personnel.dto.LaborManagementPageDto;
+import com.xjrsoft.module.personnel.vo.LaborManagementPageVo;
+import com.xjrsoft.module.personnel.entity.LaborManagement;
+import com.xjrsoft.module.textbook.dto.TextbookIssueRecordPageDto;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 劳资管理信息表
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+@Mapper
+public interface LaborManagementMapper extends MPJBaseMapper<LaborManagement> {
+    Page<LaborManagementPageVo> getPage(Page<LaborManagementPageDto> page, LaborManagementPageDto dto);
+}

+ 24 - 0
src/main/java/com/xjrsoft/module/personnel/service/ILaborManagementService.java

@@ -0,0 +1,24 @@
+package com.xjrsoft.module.personnel.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.personnel.dto.AddBasePersonnelLabourCapitalDto;
+import com.xjrsoft.module.personnel.dto.LaborManagementPageDto;
+import com.xjrsoft.module.personnel.dto.UpdateLaborManagementDto;
+import com.xjrsoft.module.personnel.vo.LaborManagementPageVo;
+import com.xjrsoft.module.personnel.vo.LaborManagementVo;
+import com.xjrsoft.module.personnel.entity.LaborManagement;
+import com.xjrsoft.module.textbook.dto.TextbookIssueRecordPageDto;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo;
+import com.xjrsoft.module.weekly.entity.WeeklyDutySchedule;
+
+/**
+* @title: 劳资管理信息表
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+
+public interface ILaborManagementService extends MPJBaseService<LaborManagement>  {
+    Page<LaborManagementPageVo> getPage(Page<LaborManagementPageDto> page, LaborManagementPageDto dto);
+}

+ 34 - 0
src/main/java/com/xjrsoft/module/personnel/service/impl/LaborManagementServiceImpl.java

@@ -0,0 +1,34 @@
+package com.xjrsoft.module.personnel.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.evaluate.vo.EvaluateTemplatePageVo;
+import com.xjrsoft.module.personnel.dto.LaborManagementPageDto;
+import com.xjrsoft.module.personnel.entity.LaborManagement;
+import com.xjrsoft.module.personnel.mapper.LaborManagementMapper;
+import com.xjrsoft.module.personnel.service.ILaborManagementService;
+import com.xjrsoft.module.personnel.vo.LaborManagementPageVo;
+import com.xjrsoft.module.textbook.dto.TextbookIssueRecordPageDto;
+import com.xjrsoft.module.textbook.mapper.TextbookIssueRecordMapper;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * @title: 劳资管理信息表
+ * @Author brealinxx
+ * @Date: 2024-01-23
+ * @Version 1.0
+ */
+@Service
+@AllArgsConstructor
+public class LaborManagementServiceImpl extends MPJBaseServiceImpl<LaborManagementMapper, LaborManagement> implements ILaborManagementService {
+
+    private final LaborManagementMapper laborManagementMapper;
+
+    @Override
+    public Page<LaborManagementPageVo> getPage(Page<LaborManagementPageDto> page, LaborManagementPageDto dto) {
+        return laborManagementMapper.getPage(page, dto);
+    }
+
+}

+ 71 - 0
src/main/java/com/xjrsoft/module/personnel/vo/LaborManagementPageVo.java

@@ -0,0 +1,71 @@
+package com.xjrsoft.module.personnel.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+* @title: 劳资管理信息表分页列表出参
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+@Data
+public class LaborManagementPageVo {
+
+    /**
+    * 主键
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("主键")
+    @ApiModelProperty("主键")
+    private String id;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("工号")
+    @ApiModelProperty("工号")
+    private String userName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("姓名")
+    @ApiModelProperty("姓名")
+    private String name;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("性别")
+    @ApiModelProperty("性别")
+    private String gender;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入职时间")
+    @ApiModelProperty("入职时间")
+    private String startWorkTime;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("离职时间")
+    @ApiModelProperty("离职时间")
+    private String endWorkTime;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("在职状态")
+    @ApiModelProperty("在职状态")
+    private String jobState;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("人员类别")
+    @ApiModelProperty("人员类别")
+    private String natureOrganization;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("任职部门")
+    @ApiModelProperty("任职部门")
+    private String departName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("工作岗位")
+    @ApiModelProperty("工作岗位")
+    private String job;
+}

+ 150 - 0
src/main/java/com/xjrsoft/module/personnel/vo/LaborManagementVo.java

@@ -0,0 +1,150 @@
+package com.xjrsoft.module.personnel.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+* @title: 教职工基本信息表表单出参
+* @Author brealinxx
+* @Date: 2024-01-23
+* @Version 1.0
+*/
+@Data
+public class LaborManagementVo {
+
+    /**
+    * 主键
+    */
+    @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;
+    /**
+    * 出生日期
+    */
+    @ApiModelProperty("出生日期")
+    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("来校年月")
+    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;
+
+
+
+}

+ 26 - 1
src/main/resources/mapper/evaluate/EvaluateTemplateMapper.xml

@@ -25,4 +25,29 @@
         ORDER BY t.id
     </select>
 
-</mapper>
+</mapper>
+
+
+        <!--    SELECT t.id, t.name,-->
+        <!--    (SELECT t1.name-->
+        <!--    FROM xjr_dictionary_detail t1-->
+        <!--    JOIN xjr_dictionary_item t2 ON t1.item_id = t2.id-->
+        <!--    WHERE t2.code = 'evaluate_type'-->
+        <!--    AND t1.code = t.evaluate_type) AS evaluate_type,-->
+        <!--    t.dept_ids, t.total, t.remark, t.status-->
+        <!--    FROM evaluate_template t-->
+        <!--    WHERE t.delete_mark = 0-->
+        <!--    <if test="dto.deptIds != null and dto.deptIds != ''">-->
+        <!--        AND t.dept_ids = #{dto.deptIds}-->
+        <!--    </if>-->
+        <!--    <if test="dto.evaluateType != null and dto.evaluateType != ''">-->
+        <!--        AND t.evaluate_type = #{dto.evaluateType}-->
+        <!--    </if>-->
+        <!--    <if test="dto.name != null">-->
+        <!--        AND t.name = #{dto.name}-->
+        <!--    </if>-->
+        <!--    <if test="dto.status != null">-->
+        <!--        AND t.status = #{dto.status}-->
+        <!--    </if>-->
+        <!--    ORDER BY t.id-->
+        <!--</select>-->

+ 69 - 0
src/main/resources/mapper/personnel/LaborManagementMapper.xml

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.personnel.mapper.LaborManagementMapper">
+    <select id="getPage" parameterType="com.xjrsoft.module.personnel.dto.LaborManagementPageDto" resultType="com.xjrsoft.module.personnel.vo.LaborManagementPageVo">
+        SELECT
+        t.id, t.user_name, t.name, t1.name AS gender, t2.start_work_time, t3.name AS jobState, t4.nature_organization, t5.name, t6.name AS job
+        FROM xjr_user t
+        LEFT JOIN base_teacher t2 ON t2.user_id = t.id
+        LEFT JOIN xjr_dictionary_detail t1 ON t1.item_id = (SELECT id FROM xjr_dictionary_item WHERE code = 'gender') AND t1.code = (CASE t.gender
+            WHEN 1 THEN 'SB10001'
+            WHEN 2 THEN 'SB10002'
+            WHEN 3 THEN 'SB10003'
+            ELSE t.gender END)
+        LEFT JOIN xjr_dictionary_detail t3 ON t3.item_id = (SELECT id FROM xjr_dictionary_item WHERE code = 'job_state') AND t3.value = t2.job_state
+        LEFT JOIN wf_teacher_depart t4 ON t4.applicant_user_id = t2.user_id
+        LEFT JOIN xjr_department t5 ON t4.dept_name = t5.id
+        LEFT JOIN xjr_dictionary_detail t6 ON t6.code = t4.job
+        WHERE t.delete_mark = 0
+        <if test="dto.userName != null">
+            AND t.user_name = #{dto.userName}
+        </if>
+        <if test="dto.name != null">
+            AND t.name = #{dto.name}
+        </if>
+        <if test="dto.gender != null">
+            AND t1.code =
+            <choose>
+                <when test="dto.gender == 1">
+                    'SB10001'
+                </when>
+                <when test="dto.gender == 2">
+                    'SB10002'
+                </when>
+                <when test="dto.gender == 3">
+                    'SB10003'
+                </when>
+                <otherwise>
+                    #{dto.gender}
+                </otherwise>
+            </choose>
+        </if>
+        <if test="dto.startWorkTime != null and dto.endWorkTime != null">
+            AND t2.start_work_time BETWEEN #{dto.startWorkTime} AND #{dto.endWorkTime}
+        </if>
+        <if test="dto.jobState != null">
+            and t2.job_state = #{dto.jobState}
+        </if>
+        <if test="dto.natureOrganization != null">
+            and t4.nature_organization = #{dto.natureOrganization}
+        </if>
+        <if test="dto.job != null">
+            and t4.job = #{dto.job}
+        </if>
+        ORDER BY t.id;
+
+    </select>
+<!--
+工号:xjruser-username;
+姓名:xjruser-name;
+性别:xjruser-gender->xjritem-性别id->sjrdition-itemid-code;
+入职时间:baseteacher-startworktime
+在职状态:baseteacher-jobstate
+人员类别:wf_teacher_depart-natureorigan 1
+任职部门:wf_teacher_depart-deptname-xjrdepart->name
+工作岗位:wf_teacher_depart-job
+-->
+</mapper>

+ 24 - 0
src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

@@ -2048,5 +2048,29 @@ public class FreeMarkerGeneratorTest {
 
     }
 
+    @Test
+    public void gcLaborManagement() throws IOException {
+        List<TableConfig> tableConfigs = new ArrayList<>();
+        TableConfig mainTable = new TableConfig();
+        mainTable.setTableName("base_teacher");//init_sql中的表名
+        mainTable.setIsMain(true);//是否是主表,一般默认为true
+        mainTable.setPkField(GlobalConstant.DEFAULT_PK);//设置主键
+        mainTable.setPkType(GlobalConstant.DEFAULT_PK_TYPE);//设置主键类型
+        tableConfigs.add(mainTable);
 
+        ApiGenerateCodesDto params = new ApiGenerateCodesDto();
+        params.setAuthor("brealinxx");//作者名称
+        params.setPackageName("personnel");//包名
+        params.setTableConfigs(tableConfigs);
+        params.setPage(true);//是否生成分页接口
+        params.setImport(false);//是否生成导入接口
+        params.setExport(true);//是否生成导出接口
+        params.setOutMainDir(true);//是否生成在主目录,前期测试可设置成false
+        params.setDs(ds);
+
+        IApiGeneratorService apiGeneratorService = new ApiGeneratorServiceImpl();
+
+        apiGeneratorService.generateCodes(params);
+
+    }
 }