Commit fbfbdd3c authored by hongguangwu's avatar hongguangwu

MVP1.6.6-预入职接口提交

parent e9374c97
......@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
......@@ -204,6 +205,14 @@ public class TPreEmpMain extends BaseEntity {
@ExcelProperty("审核时间")
@Schema(description = "审核时间")
private Date auditTime;
/**
* 审核理由
*/
@ExcelAttribute(name = "审核理由", maxLength = 200)
@Length(max = 200, message = "审核理由不能超过200个字符")
@ExcelProperty("审核理由")
@Schema(description = "审核理由")
private String auditRemark;
/**
* 结算主体ID
*/
......@@ -221,4 +230,32 @@ public class TPreEmpMain extends BaseEntity {
@Schema(description = "员工申明表ID,新申明要加一条新数据,关联这个主表")
private String declarationId;
@Schema(description = "状态多个")
@TableField(exist = false)
private String[] statusArray;
@Schema(description = "员工类型多个")
@TableField(exist = false)
private String[] empNatureArray;
@Schema(description = "提交时间起")
@TableField(exist = false)
private String createTimeStart;
@Schema(description = "提交时间止")
@TableField(exist = false)
private String createTimeEnd;
@Schema(description = "查询limit 开始")
@TableField(exist = false)
private int limitStart;
@Schema(description = "查询limit 数据条数")
@TableField(exist = false)
private int limitEnd;
@Schema(description = "选中ID,多个逗号分割")
@TableField(exist = false)
private String ids;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
/**
* 预入职审批记录表
*
* @author hgw
* @date 2024-06-24 14:27:15
*/
@Data
@TableName("t_pre_emp_main_log")
@Schema(description = "预入职审批记录表")
public class TPreEmpMainLog implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@Schema(description = "主键")
private String id;
/**
* 实体id
*/
@ExcelAttribute(name = "实体id", isNotEmpty = true, errorInfo = "实体id不能为空", maxLength = 32)
@NotBlank(message = "实体id不能为空")
@Length(max = 32, message = "实体id不能超过32个字符")
@ExcelProperty("实体id")
@Schema(description = "实体id")
private String mainId;
/**
* 审核人id
*/
@ExcelAttribute(name = "审核人id", isNotEmpty = true, errorInfo = "审核人id不能为空", maxLength = 32)
@NotBlank(message = "审核人id不能为空")
@Length(max = 32, message = "审核人id不能超过32个字符")
@ExcelProperty("审核人id")
@Schema(description = "审核人id")
private String auditId;
/**
* 审核人姓名
*/
@ExcelAttribute(name = "审核人姓名", isNotEmpty = true, errorInfo = "审核人姓名不能为空", maxLength = 50)
@NotBlank(message = "审核人姓名不能为空")
@Length(max = 50, message = "审核人姓名不能超过50个字符")
@ExcelProperty("审核人姓名")
@Schema(description = "审核人姓名")
private String auditName;
/**
* 审核时间
*/
@ExcelAttribute(name = "审核时间", isDate = true)
@ExcelProperty("审核时间")
@Schema(description = "审核时间")
private Date auditTime;
/**
* 审核结果 3审核不通过;4审核通过
*/
@ExcelAttribute(name = "审核结果", maxLength = 1)
@Length(max = 1, message = "审核结果不能超过1个字符")
@ExcelProperty("审核结果3审核不通过;4审核通过")
@Schema(description = "审核结果3审核不通过;4审核通过")
private String auditResult;
/**
* 审核意见
*/
@ExcelAttribute(name = "审核意见", maxLength = 200)
@Length(max = 200, message = "审核意见不能超过200个字符")
@ExcelProperty("审核意见")
@Schema(description = "审核意见")
private String auditRemark;
}
......@@ -36,12 +36,6 @@ public class TPreEmpMainSearchVo extends TPreEmpMain {
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import lombok.Data;
/**
* 预入职导出全量信息
*
* @author hgw
* @date 2024-6-24 16:37:28
*/
@Data
@ColumnWidth(15)
public class TPreMainExportAllVO {
private static final long serialVersionUID = 1L;
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "状态")
private String field1;
@ExcelProperty(value = "提交时间")
private String field2;
@ExcelProperty(value = "员工主码")
private String field3;
@ExcelProperty(value = "员工类型")
private String field4;
@ExcelProperty(value = "员工姓名")
private String field5;
@ExcelProperty(value = "身份证号")
private String field6;
@ExcelProperty(value = "性别")
private String field7;
@ExcelProperty(value = "身份证期限")
private String field8;
@ExcelProperty(value = "身份证开始日期")
private String field9;
@ExcelProperty(value = "身份证截止日期")
private String field10;
@ExcelProperty(value = "出生日期")
private String field11;
@ExcelProperty(value = "年龄")
private String field12;
@ExcelProperty(value = "婚姻状况")
private String field13;
@ExcelProperty(value = "民族")
private String field14;
@ExcelProperty(value = "政治面貌")
private String field15;
@ExcelProperty(value = "手机号码")
private String field16;
@ExcelProperty(value = "邮箱")
private String field17;
@ExcelProperty(value = "户籍所在地")
private String field18;
@ExcelProperty(value = "户口性质")
private String field19;
@ExcelProperty(value = "档案所在地")
private String field20;
@ExcelProperty(value = "档案状态")
private String field21;
@ExcelProperty(value = "通信地址")
private String field22;
@ExcelProperty(value = "客户名称")
private String field23;
@ExcelProperty(value = "项目名称")
private String field24;
@ExcelProperty(value = "业务类型")
private String field25;
@ExcelProperty(value = "合同类型")
private String field26;
@ExcelProperty(value = "工时制")
private String field27;
@ExcelProperty(value = "就职岗位")
private String field28;
@ExcelProperty(value = "入职日期")
private String field29;
@ExcelProperty(value = "试用期")
private String field30;
@ExcelProperty(value = "标签")
private String field31;
@ExcelProperty(value = "姓名")
private String field32;
@ExcelProperty(value = "与本人关系")
private String field33;
@ExcelProperty(value = "联系地址")
private String field34;
@ExcelProperty(value = "联系电话")
private String field35;
@ExcelProperty(value = "学校")
private String field36;
@ExcelProperty(value = "专业")
private String field37;
@ExcelProperty(value = "学历")
private String field38;
@ExcelProperty(value = "是否大专及以上")
private String field39;
@ExcelProperty(value = "最高学历")
private String field40;
@ExcelProperty(value = "入学时间")
private String field41;
@ExcelProperty(value = "毕业时间")
private String field42;
@ExcelProperty(value = "是否为首份工作")
private String field43;
@ExcelProperty(value = "工作单位")
private String field44;
@ExcelProperty(value = "工作岗位")
private String field45;
@ExcelProperty(value = "开始工作日期")
private String field46;
@ExcelProperty(value = "结束工作日期")
private String field47;
@ExcelProperty(value = "成员姓名")
private String field48;
@ExcelProperty(value = "与本人关系")
private String field49;
@ExcelProperty(value = "手机号码")
private String field50;
@ExcelProperty(value = "是否有职业资格证书")
private String field51;
@ExcelProperty(value = "申报年度")
private String field52;
@ExcelProperty(value = "职业资格名称")
private String field53;
@ExcelProperty(value = "是否曾被认定为工伤")
private String field54;
@ExcelProperty(value = "是否有职业病")
private String field55;
@ExcelProperty(value = "职业病名称")
private String field56;
@ExcelProperty(value = "是否有传染性疾病")
private String field57;
@ExcelProperty(value = "传染病名称")
private String field58;
@ExcelProperty(value = "是否持有残疾人证明")
private String field59;
@ExcelProperty(value = "伤残病名称")
private String field60;
@ExcelProperty(value = "伤残等级")
private String field61;
@ExcelProperty(value = "是否从事过井下、高空、高温、特别繁重体力劳动以及有毒有害工种")
private String field62;
@ExcelProperty(value = "不良记录描述")
private String field63;
}
......@@ -20,8 +20,8 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMain;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TPreEmpMainService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.PreEmpMainDetailVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPreEmpMainSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
......@@ -66,7 +66,7 @@ public class TPreEmpMainController {
* @param tPreEmpMain 预入职-主表
* @return
*/
@Operation(description = "简单分页查询")
@Operation(summary = "简单分页查询", description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TPreEmpMain>> getTPreEmpMainPage(Page<TPreEmpMain> page, TPreEmpMainSearchVo tPreEmpMain) {
YifuUser user = SecurityUtils.getUser();
......@@ -130,7 +130,7 @@ public class TPreEmpMainController {
* @date 2024-6-21 15:25:20
**/
@SneakyThrows
@Operation(description = "预入职批量完善信息hasPermission('archives_tpreempmain-batch-import')")
@Operation(summary = "预入职批量完善信息", description = "预入职批量完善信息hasPermission('archives_tpreempmain-batch-import')")
@SysLog("预入职批量完善信息")
@PostMapping("/importListAdd")
@PreAuthorize("@pms.hasPermission('archives_tpreempmain-batch-import')")
......@@ -138,15 +138,41 @@ public class TPreEmpMainController {
return tPreEmpMainService.importDiy(file.getInputStream());
}
/**
* 预入职单个审核
* hgw
* 2024-6-24 11:52:14
*/
@Operation(summary = "预入职单个审核", description = "预入职单个审核status:3审核不通过;4审核通过")
@SysLog("预入职单个审核")
@PostMapping("/doAudit")
public R<String> doAudit(@RequestParam String id, @RequestParam String status, @RequestParam(required = false) String auditRemark) {
return tPreEmpMainService.doAudit(id, status, auditRemark);
}
/**
* 预入职批量审核
* @author hgw
* @date 2024-6-24 12:00:53
**/
@SneakyThrows
@Operation(summary = "预入职批量审核", description = "预入职批量审核hasPermission('archives_tpreempmain-batch-audit');status:3审核不通过;4审核通过")
@SysLog("预入职批量审核")
@PostMapping("/doBatchAudit")
@PreAuthorize("@pms.hasPermission('archives_tpreempmain-batch-audit')")
public R<List<ErrorVO>> doBatchAudit(@RequestBody List<String> idList, @RequestParam String status, @RequestParam(required = false) String auditRemark) {
return tPreEmpMainService.doBatchAudit(idList, status, auditRemark);
}
/**
* 草稿预入职
* hgw
* 2024-6-17 17:39:15
*/
@Operation(summary = "草稿预入职", description = "草稿预入职:hasPermission('archives_tpreempmain_draft')")
@Operation(summary = "草稿预入职", description = "草稿预入职:hasPermission('archives_tpreempmain_add')")
@SysLog("草稿预入职")
@PostMapping("/saveDraftPreEmpMain")
@PreAuthorize("@pms.hasPermission('archives_tpreempmain_draft')")
@PreAuthorize("@pms.hasPermission('archives_tpreempmain_add')")
public R<String> saveDraftPreEmpMain(@RequestBody PreEmpMainDetailVo vo) {
return tPreEmpMainService.saveDraftPreEmpMain(vo);
}
......@@ -196,12 +222,26 @@ public class TPreEmpMainController {
* 预入职-主表 批量导出
*
* @author hgw
* @date 2024-06-17 11:31:08
* @date 2024-6-24 16:01:50
**/
@Operation(description = "导出预入职-主表 hasPermission('archives_tpreempmain-export')")
@Operation(summary = "导出预入职-主表", description = "导出预入职-主表 hasPermission('archives_tpreempmain-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('archives_tpreempmain-export')")
public void export(HttpServletResponse response, @RequestBody TPreEmpMainSearchVo searchVo) {
tPreEmpMainService.listExport(response, searchVo);
}
/**
* 预入职-全量 批量导出
*
* @author hgw
* @date 2024-6-24 16:01:47
**/
@Operation(summary = "导出预入职-全量", description = "导出预入职-全量 hasPermission('archives_tpreempmain-export-all')")
@PostMapping("/exportAll")
//@PreAuthorize("@pms.hasPermission('archives_tpreempmain-export-all')")
public void exportAll(HttpServletResponse response, @RequestBody TPreEmpMainSearchVo searchVo) {
tPreEmpMainService.exportAll(response, searchVo);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.controller;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMainLog;
import com.yifu.cloud.plus.v1.yifu.archives.service.TPreEmpMainLogService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 预入职审批记录表
*
* @author hgw
* @date 2024-06-24 14:27:15
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tpreempmainlog")
@Tag(name = "预入职审批记录表管理")
public class TPreEmpMainLogController {
private final TPreEmpMainLogService tPreEmpMainLogService;
/**
* 不分页查询
*
* @return
*/
@Operation(summary = "获取list", description = "获取list")
@PostMapping("/getTPreEmpMainLogList")
public R<List<TPreEmpMainLog>> getTPreEmpMainLogList(@RequestParam String mainId) {
return R.ok(tPreEmpMainLogService.getTPreEmpMainLogList(mainId));
}
}
......@@ -35,7 +35,6 @@ public interface TPreEmpFamilyMapper extends BaseMapper<TPreEmpFamily> {
/**
* 预入职-员工家庭信息表简单分页查询
*
* @param tPreEmpFamily 预入职-员工家庭信息表
* @return
*/
List<TPreEmpFamily> getTPreEmpFamilyList(@Param("preMainId") String preMainId);
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMainLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 预入职审批记录表
*
* @author hgw
* @date 2024-06-24 14:27:15
*/
@Mapper
public interface TPreEmpMainLogMapper extends BaseMapper<TPreEmpMainLog> {
/**
* 预入职审批记录表简单分页查询
*
* @return
*/
List<TPreEmpMainLog> getTPreEmpMainLogList(@Param("mainIid") String mainIid);
}
......@@ -21,9 +21,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMain;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 预入职-主表
*
......@@ -40,6 +43,14 @@ public interface TPreEmpMainMapper extends BaseMapper<TPreEmpMain> {
*/
IPage<TPreEmpMain> getTPreEmpMainPage(Page<TPreEmpMain> page, @Param("tPreEmpMain") TPreEmpMain tPreEmpMain);
int getTPreEmpMainCount(@Param("tPreEmpMain") TPreEmpMain tPreEmpMain);
List<TPreEmpMain> getTPreEmpMainList(@Param("tPreEmpMain") TPreEmpMain tPreEmpMain);
int getTPreEmpMainAllCount(@Param("tPreEmpMain") TPreEmpMain tPreEmpMain);
List<TPreMainExportAllVO> getTPreEmpMainAllList(@Param("tPreEmpMain") TPreEmpMain tPreEmpMain);
TPreEmpMain getTPreEmpMainByCardAndDept(@Param("empIdCard") String empIdCard, @Param("deptId") String deptId);
TPreEmpMain getTPreEmpMainByCardAndDeptNo(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo);
......
......@@ -35,7 +35,6 @@ public interface TPreEmpProfessionalQualificationMapper extends BaseMapper<TPreE
/**
* 预入职-员工职业资格信息表简单分页查询
*
* @param tPreEmpProfessionalQualification 预入职-员工职业资格信息表
* @return
*/
List<TPreEmpProfessionalQualification> getTPreEmpProfessionalQualificationList(@Param("preMainId") String preMainId);
......
......@@ -35,7 +35,6 @@ public interface TPreEmpWorkRecordingMapper extends BaseMapper<TPreEmpWorkRecord
/**
* 预入职-员工工作履历信息表简单分页查询
*
* @param tPreEmpWorkRecording 预入职-员工工作履历信息表
* @return
*/
List<TPreEmpWorkRecording> getTPreEmpWorkRecordingList(@Param("preMainId") String preMainId);
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMainLog;
import java.util.List;
/**
* 预入职审批记录表
*
* @author hgw
* @date 2024-06-24 14:27:15
*/
public interface TPreEmpMainLogService extends IService<TPreEmpMainLog> {
/**
* 预入职审批记录表简单分页查询
*
* @return
*/
List<TPreEmpMainLog> getTPreEmpMainLogList(String mainId);
}
......@@ -21,7 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMain;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.PreEmpMainDetailVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPreEmpMainSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
......@@ -72,7 +72,17 @@ public interface TPreEmpMainService extends IService<TPreEmpMain> {
// 批量完善信息
R<List<ErrorMessage>> importDiy(InputStream inputStream);
// 导出
void listExport(HttpServletResponse response, TPreEmpMainSearchVo searchVo);
// 导出全量
void exportAll(HttpServletResponse response, TPreEmpMainSearchVo searchVo);
List<TPreEmpMain> noPageDiy(TPreEmpMainSearchVo searchVo);
// 审核
R<String> doAudit(String id, String status, String auditRemark);
// 批量审核
R<List<ErrorVO>> doBatchAudit(List<String> ids, String status, String auditRemark);
}
......@@ -53,7 +53,7 @@ public class FileUploadServiceImpl implements FileUploadService {
key = System.currentTimeMillis() + fileName;
}
if (!Common.checkFile(key)) {
return R.failed("非法上传类型!");
return R.failed("非法上传类型:"+fileName);
}
boolean flag = ossUtil.uploadFileByStream(file.getInputStream(), key, null);
TAttaInfo attaInfo;
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMainLog;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TPreEmpMainLogMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TPreEmpMainLogService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 预入职审批记录表
*
* @author hgw
* @date 2024-06-24 14:27:15
*/
@Log4j2
@Service
public class TPreEmpMainLogServiceImpl extends ServiceImpl<TPreEmpMainLogMapper, TPreEmpMainLog> implements TPreEmpMainLogService {
@Override
public List<TPreEmpMainLog> getTPreEmpMainLogList(String mainId) {
return baseMapper.getTPreEmpMainLogList(mainId);
}
}
......@@ -18,7 +18,8 @@ package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ArrayUtil;
import com.alibaba.excel.EasyExcel;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
......@@ -33,16 +34,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TPreEmpMainMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.*;
import com.yifu.cloud.plus.v1.yifu.archives.vo.PreEmpMainDetailVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPreEmpMainSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPreEmpMainVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import io.netty.util.internal.StringUtil;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
......@@ -111,6 +112,8 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
private final TEmpProfessionalQualificationService tEmpProfessionalQualificationService;
// 项目
private final TSettleDomainService tSettleDomainService;
// 审核日志
private final TPreEmpMainLogService tPreEmpMainLogService;
private final OSSUtil ossUtil;
......@@ -138,18 +141,42 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
return R.failed("未找到项目信息!");
}
TPreEmpMain main = baseMapper.getTPreEmpMainByCardAndDept(empIdCard, deptId);
// 是否为新建
boolean isNew = false;
TEmployeeInfo employee = null;
String empId = null;
TEmployeeProject project = null;
TEmployeeProject project;
PreEmpMainDetailVo vo = new PreEmpMainDetailVo();
if (main != null) {
if (CommonConstants.FOUR_STRING.equals(main.getStatus())) {
return R.failed("信息已填写,请勿重复操作!");
}
TPreEmployeeInfo tPreEmployeeInfo = tPreEmployeeInfoService.getTPreEmployeeInfoList(main.getId());
if (tPreEmployeeInfo != null && Common.isNotNull(tPreEmployeeInfo.getId())) {
empId = tPreEmployeeInfo.getId();
vo.setTPreEmployeeInfo(tPreEmployeeInfo);
} else {
tPreEmployeeInfo = new TPreEmployeeInfo();
tPreEmployeeInfo.setEmpIdcard(main.getEmpIdcard());
tPreEmployeeInfo.setEmpName(main.getEmpName());
tPreEmployeeInfo.setPreMainId(main.getId());
tPreEmployeeInfoService.save(tPreEmployeeInfo);
vo.setTPreEmployeeInfo(tPreEmployeeInfo);
}
TPreEmployeeProject tPreEmployeeProject = tPreEmployeeProjectService.getTPreEmployeeProjectList(main.getId());
// 预入职-项目档案表
if (tPreEmployeeProject != null) {
vo.setTPreEmployeeProject(tPreEmployeeProject);
} else {
tPreEmployeeProject = new TPreEmployeeProject();
tPreEmployeeProject.setEmpIdcard(main.getEmpIdcard());
tPreEmployeeProject.setEmpName(main.getEmpName());
tPreEmployeeProject.setDeptId(main.getDeptId());
tPreEmployeeProject.setDeptName(main.getDeptName());
tPreEmployeeProject.setDeptNo(main.getDeptNo());
tPreEmployeeProject.setPreMainId(main.getId());
tPreEmployeeProjectService.save(tPreEmployeeProject);
vo.setTPreEmployeeProject(tPreEmployeeProject);
}
} else {
isNew = true;
main = new TPreEmpMain();
main.setEmpIdcard(empIdCard);
main.setDeptId(dept.getId());
......@@ -174,19 +201,39 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
this.save(main);
// 查询档案信息
employee = tEmployeeInfoService.getInfoByIdcard(empIdCard);
TPreEmployeeInfo tPreEmployeeInfo;
TPreEmployeeProject tPreEmployeeProject;
if (employee != null) {
empId = employee.getId();
TPreEmployeeInfo tPreEmployeeInfo = new TPreEmployeeInfo();
tPreEmployeeInfo = new TPreEmployeeInfo();
BeanUtil.copyProperties(employee, tPreEmployeeInfo);
tPreEmployeeInfo.setOldId(employee.getId());
tPreEmployeeInfo.setPreMainId(main.getId());
tPreEmployeeInfoService.save(tPreEmployeeInfo);
vo.setTPreEmployeeInfo(tPreEmployeeInfo);
project = tEmployeeProjectService.getByEmpIdAndDeptId(empIdCard, deptId);
project = tEmployeeProjectService.getByEmpIdAndDeptId(empId, deptId);
if (project != null) {
TPreEmployeeProject tPreEmployeeProject = new TPreEmployeeProject();
tPreEmployeeProject = new TPreEmployeeProject();
BeanUtil.copyProperties(project, tPreEmployeeProject);
tPreEmployeeProject.setOldId(project.getId());
tPreEmployeeProject.setPreMainId(main.getId());
tPreEmployeeProjectService.save(tPreEmployeeProject);
vo.setTPreEmployeeProject(tPreEmployeeProject);
}
} else {
tPreEmployeeInfo = new TPreEmployeeInfo();
tPreEmployeeInfo.setEmpIdcard(main.getEmpIdcard());
tPreEmployeeInfo.setPreMainId(main.getId());
tPreEmployeeInfoService.save(tPreEmployeeInfo);
vo.setTPreEmployeeInfo(tPreEmployeeInfo);
tPreEmployeeProject = new TPreEmployeeProject();
tPreEmployeeProject.setEmpIdcard(main.getEmpIdcard());
tPreEmployeeProject.setDeptId(main.getDeptId());
tPreEmployeeProject.setDeptName(main.getDeptName());
tPreEmployeeProject.setDeptNo(main.getDeptNo());
tPreEmployeeProject.setPreMainId(main.getId());
tPreEmployeeProjectService.save(tPreEmployeeProject);
vo.setTPreEmployeeProject(tPreEmployeeProject);
}
}
String id = main.getId();
......@@ -287,7 +334,7 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
vo.setTPreEmpEducation(tPreEmpEducation);
// 预入职-员工家庭信息表
List<TPreEmpFamily> tPreEmpFamilyList = tPreEmpFamilyService.getTPreEmpFamilyList(id);
if (tPreEmpFamilyList == null) {
if (tPreEmpFamilyList == null || tPreEmpFamilyList.isEmpty()) {
tPreEmpFamilyList = new ArrayList<>();
if (Common.isNotNull(empId)) {
List<TEmpFamily> infoList = tEmpFamilyService.getListByEmpId(empId);
......@@ -304,11 +351,25 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
record.setEmpCode(employee.getEmpCode());
}
record.setEmpIdcard(empIdCard);
record.setPreMainId(id);
tPreEmpFamilyList.add(record);
}
tPreEmpFamilyService.saveBatch(tPreEmpFamilyList);
}
}
if (tPreEmpFamilyList == null || tPreEmpFamilyList.isEmpty()) {
TPreEmpFamily record = new TPreEmpFamily();
record.setSettleDomain(deptId);
if (employee != null) {
record.setEmpId(employee.getId());
record.setEmpName(employee.getEmpName());
record.setEmpCode(employee.getEmpCode());
}
record.setEmpIdcard(empIdCard);
record.setPreMainId(id);
tPreEmpFamilyService.save(record);
tPreEmpFamilyList.add(record);
}
}
vo.setTPreEmpFamilyList(tPreEmpFamilyList);
// 预入职-人员档案表
......@@ -323,12 +384,12 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
}
// 预入职-员工职业资格信息表
List<TPreEmpProfessionalQualification> tPreEmpProfessionalQualificationList = tPreEmpProfessionalQualificationService.getTPreEmpProfessionalQualificationList(id);
if (tPreEmpProfessionalQualificationList == null) {
if (tPreEmpProfessionalQualificationList == null || tPreEmpProfessionalQualificationList.isEmpty()) {
tPreEmpProfessionalQualificationList = new ArrayList<>();
if (Common.isNotNull(empId)) {
List<TEmpProfessionalQualification> infoList = tEmpProfessionalQualificationService.getListByEmpId(empId);
if (infoList != null && !infoList.isEmpty()) {
TPreEmpProfessionalQualification record;
if (infoList != null && !infoList.isEmpty()) {
for (TEmpProfessionalQualification info : infoList) {
record = new TPreEmpProfessionalQualification();
BeanUtil.copyProperties(info, record);
......@@ -350,23 +411,36 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
}
}
record.setAttaList(attaInfoList);
record.setPreMainId(id);
record.setEmpIdcard(empIdCard);
tPreEmpProfessionalQualificationList.add(record);
}
tPreEmpProfessionalQualificationService.saveBatch(tPreEmpProfessionalQualificationList);
}
}
if (tPreEmpProfessionalQualificationList == null || tPreEmpProfessionalQualificationList.isEmpty()) {
TPreEmpProfessionalQualification record = new TPreEmpProfessionalQualification();
record.setSettleDomain(deptId);
if (employee != null) {
record.setEmpId(employee.getId());
record.setEmpName(employee.getEmpName());
record.setEmpCode(employee.getEmpCode());
}
record.setEmpIdcard(empIdCard);
record.setPreMainId(id);
tPreEmpProfessionalQualificationService.save(record);
tPreEmpProfessionalQualificationList.add(record);
}
}
vo.setTPreEmpProfessionalQualificationList(tPreEmpProfessionalQualificationList);
// 预入职-员工工作履历信息表
List<TPreEmpWorkRecording> tPreEmpWorkRecordingList = tPreEmpWorkRecordingService.getTPreEmpWorkRecordingList(id);
if (tPreEmpWorkRecordingList == null) {
if (tPreEmpWorkRecordingList == null || tPreEmpWorkRecordingList.isEmpty()) {
tPreEmpWorkRecordingList = new ArrayList<>();
if (Common.isNotNull(empId)) {
List<TEmpWorkRecording> infoList = tEmpWorkRecordingService.getListByEmpId(empId);
if (infoList != null && !infoList.isEmpty()) {
TPreEmpWorkRecording record;
if (infoList != null && !infoList.isEmpty()) {
for (TEmpWorkRecording info : infoList) {
record = new TPreEmpWorkRecording();
BeanUtil.copyProperties(info, record);
......@@ -378,11 +452,25 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
record.setEmpCode(employee.getEmpCode());
}
record.setEmpIdcard(empIdCard);
record.setPreMainId(id);
tPreEmpWorkRecordingList.add(record);
}
tPreEmpWorkRecordingService.saveBatch(tPreEmpWorkRecordingList);
}
}
if (tPreEmpWorkRecordingList == null || tPreEmpWorkRecordingList.isEmpty()) {
TPreEmpWorkRecording record = new TPreEmpWorkRecording();
record.setSettleDomain(deptId);
if (employee != null) {
record.setEmpId(employee.getId());
record.setEmpName(employee.getEmpName());
record.setEmpCode(employee.getEmpCode());
}
record.setEmpIdcard(empIdCard);
record.setPreMainId(id);
tPreEmpWorkRecordingService.save(record);
tPreEmpWorkRecordingList.add(record);
}
}
vo.setTPreEmpWorkRecordingList(tPreEmpWorkRecordingList);
......@@ -1087,10 +1175,10 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
*/
@Override
public void listExport(HttpServletResponse response, TPreEmpMainSearchVo searchVo) {
String fileName = "预入职-主表批量导出" + DateUtil.getThisTime() + ".xlsx";
String fileName = "预入职导出主表" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TPreEmpMain> list = new ArrayList<>();
long count = noPageCountDiy(searchVo);
long count = baseMapper.getTPreEmpMainCount(searchVo);
ServletOutputStream out = null;
try {
out = response.getOutputStream();
......@@ -1098,14 +1186,14 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcel.write(out, TPreEmpMain.class).build();
ExcelWriter excelWriter = EasyExcelFactory.write(out, TPreEmpMain.class).build();
int index = 0;
if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; ) {
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = noPageDiy(searchVo);
list = baseMapper.getTPreEmpMainList(searchVo);
if (Common.isNotNull(list)) {
ExcelUtil<TPreEmpMain> util = new ExcelUtil<>(TPreEmpMain.class);
for (TPreEmpMain vo : list) {
......@@ -1113,17 +1201,16 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
}
}
if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcel.writerSheet("预入职-主表" + index).build();
WriteSheet writeSheet = EasyExcelFactory.writerSheet("预入职-主表" + index).build();
excelWriter.write(list, writeSheet);
index++;
}
i = i + CommonConstants.EXCEL_EXPORT_LIMIT;
if (Common.isNotNull(list)) {
list.clear();
}
}
} else {
WriteSheet writeSheet = EasyExcel.writerSheet("预入职-主表" + index).build();
WriteSheet writeSheet = EasyExcelFactory.writerSheet("预入职-主表" + index).build();
excelWriter.write(list, writeSheet);
}
if (Common.isNotNull(list)) {
......@@ -1158,21 +1245,19 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
return baseMapper.selectList(wrapper);
}
private Long noPageCountDiy(TPreEmpMainSearchVo searchVo) {
LambdaQueryWrapper<TPreEmpMain> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TPreEmpMain::getId, idList);
}
return baseMapper.selectCount(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TPreEmpMainSearchVo entity) {
LambdaQueryWrapper<TPreEmpMain> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TPreEmpMain::getCreateTime, entity.getCreateTimes()[0])
.le(TPreEmpMain::getCreateTime,
entity.getCreateTimes()[1]);
if (ArrayUtil.isNotEmpty(entity.getCreateTimeStart())) {
wrapper.ge(TPreEmpMain::getCreateTime, entity.getCreateTimeStart());
}
if (ArrayUtil.isNotEmpty(entity.getCreateTimeEnd())) {
wrapper.le(TPreEmpMain::getCreateTime, entity.getCreateTimeEnd());
}
if (Common.isNotNull(entity.getStatusArray())) {
wrapper.in(TPreEmpMain::getStatus, entity.getStatusArray());
}
if (Common.isNotNull(entity.getEmpNatureArray())) {
wrapper.in(TPreEmpMain::getEmpNatrue, entity.getEmpNatureArray());
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(TPreEmpMain::getCreateName, entity.getCreateName());
......@@ -1194,7 +1279,7 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try {
EasyExcel.read(inputStream, TPreEmpMainVo.class, new ReadListener<TPreEmpMainVo>() {
EasyExcelFactory.read(inputStream, TPreEmpMainVo.class, new ReadListener<TPreEmpMainVo>() {
/**
* 单次缓存的数据量
*/
......@@ -1307,4 +1392,236 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
}
}
@Override
public R<String> doAudit(String id, String status, String auditRemark) {
if (Common.isEmpty(id) && Common.isEmpty(status)) {
return R.failed("id、status不可为空!");
}
TPreEmpMain preEmpMain = this.getById(id);
if (preEmpMain == null || Common.isEmpty(preEmpMain.getStatus()) || !CommonConstants.TWO_STRING.equals(preEmpMain.getStatus())) {
return R.failed("请确认ID与状态!");
}
if (!CommonConstants.THREE_STRING.equals(status) && !CommonConstants.FOUR_STRING.equals(status)) {
return R.failed("审核状态不对!");
}
if (CommonConstants.THREE_STRING.equals(status) && Common.isEmpty(auditRemark)) {
return R.failed("审核不通过,原因必填!");
}
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed("未找到登录信息!");
}
preEmpMain.setStatus(status);
preEmpMain.setAuditId(user.getId());
preEmpMain.setAuditRemark(auditRemark);
preEmpMain.setAuditName(user.getNickname());
preEmpMain.setAuditTime(new Date());
this.updateById(preEmpMain);
// 审核日志
TPreEmpMainLog auditLog = new TPreEmpMainLog();
auditLog.setAuditId(user.getId());
auditLog.setAuditName(user.getNickname());
auditLog.setAuditTime(new Date());
auditLog.setAuditRemark(auditRemark);
auditLog.setMainId(preEmpMain.getId());
auditLog.setAuditResult(status);
tPreEmpMainLogService.save(auditLog);
return R.ok("已审核!");
}
@Override
public R<List<ErrorVO>> doBatchAudit(List<String> ids, String status, String auditRemark) {
if (Common.isEmpty(ids) && Common.isEmpty(status)) {
return R.failed("id、status不可为空!");
}
if (!CommonConstants.THREE_STRING.equals(status) && !CommonConstants.FOUR_STRING.equals(status)) {
return R.failed("审核状态不对!");
}
if (CommonConstants.THREE_STRING.equals(status) && Common.isEmpty(auditRemark)) {
return R.failed("审核不通过,原因必填!");
}
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed("未找到登录信息!");
}
List<ErrorVO> returnList = new ArrayList<>();
TPreEmpMain preEmpMain;
ErrorVO errorVo;
int i = 1;
boolean isTrue = true;
for (String id : ids) {
errorVo = new ErrorVO();
errorVo.setResult(CommonConstants.ZERO_INT);
errorVo.setLineNum(i++);
preEmpMain = this.getById(id);
if (preEmpMain == null || Common.isEmpty(preEmpMain.getStatus()) || !CommonConstants.TWO_STRING.equals(preEmpMain.getStatus())) {
errorVo.setErrorInfo("请确认ID与状态!");
returnList.add(errorVo);
isTrue = false;
} else {
errorVo.setResult(CommonConstants.ONE_INT);
errorVo.setMainName(preEmpMain.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING + preEmpMain.getDeptNo());
returnList.add(errorVo);
preEmpMain.setStatus(status);
preEmpMain.setAuditId(user.getId());
preEmpMain.setAuditRemark(auditRemark);
preEmpMain.setAuditName(user.getNickname());
preEmpMain.setAuditTime(new Date());
this.updateById(preEmpMain);
// 审核日志
TPreEmpMainLog auditLog = new TPreEmpMainLog();
auditLog.setAuditId(user.getId());
auditLog.setAuditName(user.getNickname());
auditLog.setAuditTime(new Date());
auditLog.setAuditRemark(auditRemark);
auditLog.setMainId(preEmpMain.getId());
auditLog.setAuditResult(status);
tPreEmpMainLogService.save(auditLog);
}
}
if (isTrue) {
return R.ok(returnList);
} else {
return R.failed(returnList);
}
}
private List<String> getNewArrayList(String[] strArr) {
List<String> aList = Lists.newArrayList();
for (String str : strArr) {
aList.add(str);
}
return aList;
}
/**
* 预入职导出全量
*
* @return
*/
@Override
public void exportAll(HttpServletResponse response, TPreEmpMainSearchVo searchVo) {
String fileName = "预入职导出全量" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TPreMainExportAllVO> list = Lists.newArrayList();
long count = baseMapper.getTPreEmpMainAllCount(searchVo);
ServletOutputStream out = null;
try {
out = response.getOutputStream();
response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
List<List<String>> headList = Lists.newArrayList();
headList.add(this.getNewArrayList(new String[]{"状态","状态"}));
headList.add(this.getNewArrayList(new String[]{"提交时间","提交时间"}));
String oneTitle = "员工基本信息";
headList.add(this.getNewArrayList(new String[]{oneTitle,"员工主码"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"员工类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"员工姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"身份证号"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"性别"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"身份证期限"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"身份证开始日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"身份证截止日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"出生日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"年龄"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"婚姻状况"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"民族"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"政治面貌"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"手机号码"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"邮箱"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"户籍所在地"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"户口性质"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"档案所在地"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"档案状态"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"通信地址"}));
oneTitle = "在项信息";
headList.add(this.getNewArrayList(new String[]{oneTitle,"客户名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"项目名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"业务类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"合同类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"工时制"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"就职岗位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"入职日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"试用期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"标签"}));
oneTitle = "紧急联络人";
headList.add(this.getNewArrayList(new String[]{oneTitle,"姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"与本人关系"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"联系地址"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"联系电话"}));
oneTitle = "最高教育经历";
headList.add(this.getNewArrayList(new String[]{oneTitle,"学校"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"专业"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"学历"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"是否大专及以上"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"最高学历"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"入学时间"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"毕业时间"}));
oneTitle = "主要工作经历";
headList.add(this.getNewArrayList(new String[]{oneTitle,"是否为首份工作"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"工作单位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"工作岗位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"开始工作日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"结束工作日期"}));
oneTitle = "主要家庭成员信息";
headList.add(this.getNewArrayList(new String[]{oneTitle,"成员姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"与本人关系"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"手机号码"}));
oneTitle = "职业资格信息";
headList.add(this.getNewArrayList(new String[]{oneTitle,"是否有职业资格证书"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"申报年度"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"职业资格名称"}));
oneTitle = "伤残信息";
headList.add(this.getNewArrayList(new String[]{oneTitle,"是否曾被认定为工伤"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"是否有职业病"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"职业病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"是否有传染性疾病"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"传染病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"是否持有残疾人证明"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"伤残病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"伤残等级"}));
headList.add(this.getNewArrayList(new String[]{oneTitle,"是否从事过井下、高空、高温、特别繁重体力劳动以及有毒有害工种"}));
oneTitle = "不良记录";
headList.add(this.getNewArrayList(new String[]{oneTitle,"不良记录描述"}));
ExcelWriter excelWriter = EasyExcelFactory.write(out).head(headList).build();
int index = 0;
if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTPreEmpMainAllList(searchVo);
if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcelFactory.writerSheet("预入职导出全量" + index).build();
excelWriter.write(list, writeSheet);
index++;
}
if (Common.isNotNull(list)) {
list.clear();
}
}
} else {
WriteSheet writeSheet = EasyExcelFactory.writerSheet("预入职导出全量" + index).build();
excelWriter.write(list, writeSheet);
}
if (Common.isNotNull(list)) {
list.clear();
}
out.flush();
excelWriter.finish();
} catch (Exception e) {
log.error("执行异常", e);
} finally {
try {
if (null != out) {
out.close();
}
} catch (IOException e) {
log.error("执行异常", e);
}
}
}
}
......@@ -123,10 +123,7 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_bad_record a
<where>
1=1
<include refid="tPreEmpBadRecord_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
limit 1
</select>
</mapper>
......@@ -95,10 +95,7 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_contact_info a
<where>
1=1
<include refid="tPreEmpContactInfo_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
limit 1
</select>
</mapper>
......@@ -148,10 +148,7 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_disability_info a
<where>
1=1
<include refid="tPreEmpDisabilityInfo_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
limit 1
</select>
</mapper>
......@@ -163,10 +163,7 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_education a
<where>
1=1
<include refid="tPreEmpEducation_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
limit 1
</select>
</mapper>
......@@ -133,9 +133,6 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_family a
<where>
1=1
<include refid="tPreEmpFamily_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TPreEmpMainLogMapper">
<resultMap id="tPreEmpMainLogMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMainLog">
<id property="id" column="id"/>
<result property="mainId" column="main_id"/>
<result property="auditId" column="audit_id"/>
<result property="auditName" column="audit_name"/>
<result property="auditTime" column="audit_time"/>
<result property="auditResult" column="audit_result"/>
<result property="auditRemark" column="audit_remark"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.main_id,
a.audit_id,
a.audit_name,
a.audit_time,
a.audit_result,
a.audit_remark
</sql>
<sql id="tPreEmpMainLog_where">
<if test="tPreEmpMainLog != null">
<if test="tPreEmpMainLog.id != null and tPreEmpMainLog.id.trim() != ''">
AND a.id = #{tPreEmpMainLog.id}
</if>
<if test="tPreEmpMainLog.mainId != null and tPreEmpMainLog.mainId.trim() != ''">
AND a.main_id = #{tPreEmpMainLog.mainId}
</if>
<if test="tPreEmpMainLog.auditId != null and tPreEmpMainLog.auditId.trim() != ''">
AND a.audit_id = #{tPreEmpMainLog.auditId}
</if>
<if test="tPreEmpMainLog.auditName != null and tPreEmpMainLog.auditName.trim() != ''">
AND a.audit_name = #{tPreEmpMainLog.auditName}
</if>
<if test="tPreEmpMainLog.auditTime != null">
AND a.audit_time = #{tPreEmpMainLog.auditTime}
</if>
<if test="tPreEmpMainLog.auditResult != null and tPreEmpMainLog.auditResult.trim() != ''">
AND a.audit_result = #{tPreEmpMainLog.auditResult}
</if>
<if test="tPreEmpMainLog.auditRemark != null and tPreEmpMainLog.auditRemark.trim() != ''">
AND a.audit_remark = #{tPreEmpMainLog.auditRemark}
</if>
</if>
</sql>
<!--list-->
<select id="getTPreEmpMainLogList" resultMap="tPreEmpMainLogMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_main_log a
where main_id = #{mainIid}
</select>
</mapper>
......@@ -86,17 +86,30 @@
<if test="tPreEmpMain.id != null and tPreEmpMain.id.trim() != ''">
AND a.ID = #{tPreEmpMain.id}
</if>
<if test="tPreEmpMain.ids != null and tPreEmpMain.ids.length > 0">
AND a.ID in
<foreach item="idStr" index="index" collection="tPreEmpMain.ids" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
<if test="tPreEmpMain.status != null and tPreEmpMain.status.trim() != ''">
AND a.STATUS = #{tPreEmpMain.status}
</if>
<if test="tPreEmpMain.statusArray != null and tPreEmpMain.statusArray.length > 0">
AND a.STATUS in
<foreach item="idStr" index="index" collection="tPreEmpMain.statusArray" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
<if test="tPreEmpMain.empId != null and tPreEmpMain.empId.trim() != ''">
AND a.EMP_ID = #{tPreEmpMain.empId}
</if>
<if test="tPreEmpMain.empName != null and tPreEmpMain.empName.trim() != ''">
AND a.EMP_NAME = #{tPreEmpMain.empName}
AND a.EMP_NAME like concat('%',#{tPreEmpMain.empName},'%')
</if>
<if test="tPreEmpMain.empIdcard != null and tPreEmpMain.empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{tPreEmpMain.empIdcard}
AND a.EMP_IDCARD like concat('%',#{tPreEmpMain.empIdcard},'%')
</if>
<if test="tPreEmpMain.empPhone != null and tPreEmpMain.empPhone.trim() != ''">
AND a.EMP_PHONE = #{tPreEmpMain.empPhone}
......@@ -134,6 +147,12 @@
<if test="tPreEmpMain.empNatrue != null and tPreEmpMain.empNatrue.trim() != ''">
AND a.EMP_NATRUE = #{tPreEmpMain.empNatrue}
</if>
<if test="tPreEmpMain.empNatureArray != null and tPreEmpMain.empNatureArray.length > 0">
AND a.EMP_NATRUE in
<foreach item="idStr" index="index" collection="tPreEmpMain.empNatureArray" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
<if test="tPreEmpMain.auditId != null and tPreEmpMain.auditId.trim() != ''">
AND a.AUDIT_ID = #{tPreEmpMain.auditId}
</if>
......@@ -161,6 +180,12 @@
<if test="tPreEmpMain.settleDomain != null and tPreEmpMain.settleDomain.trim() != ''">
AND a.SETTLE_DOMAIN = #{tPreEmpMain.settleDomain}
</if>
<if test="tPreEmpMain.createTimeStart != null">
AND a.CREATE_TIME >= #{tPreEmpMain.createTimeStart}
</if>
<if test="tPreEmpMain.createTimeEnd != null">
AND a.CREATE_TIME <![CDATA[ <= ]]> #{tPreEmpMain.createTimeEnd}
</if>
</if>
</sql>
<!--tPreEmpMain简单分页查询-->
......@@ -178,6 +203,84 @@
</if>
</where>
</select>
<select id="getTPreEmpMainCount" resultType="java.lang.Integer">
SELECT
count(1)
FROM t_pre_emp_main a
<where>
a.STATUS != '5'
<include refid="tPreEmpMain_where"/>
<if test="tPreEmpMain != null">
<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
${tPreEmpMain.authSql}
</if>
</if>
</where>
</select>
<!--list-->
<select id="getTPreEmpMainList" resultMap="tPreEmpMainMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_main a
<where>
a.STATUS != '5'
<include refid="tPreEmpMain_where"/>
<if test="tPreEmpMain != null">
<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
${tPreEmpMain.authSql}
</if>
</if>
<if test="tPreEmpMain != null">
<if test="tPreEmpMain.limitStart != null">
limit #{tPreEmpMain.limitStart},#{tPreEmpMain.limitEnd}
</if>
</if>
</where>
</select>
<select id="getTPreEmpMainAllCount" resultType="java.lang.Integer">
SELECT
count(1)
FROM t_pre_emp_main a
<where>
a.STATUS != '5'
<include refid="tPreEmpMain_where"/>
<if test="tPreEmpMain != null">
<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
${tPreEmpMain.authSql}
</if>
</if>
</where>
</select>
<!--list-->
<select id="getTPreEmpMainAllList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO">
SELECT
a.status field1
,a.create_time field2
,'员工主码' field3
,a.emp_Natrue field4
,a.emp_name field5
,a.emp_idcard field6
FROM t_pre_emp_main a
<where>
a.STATUS != '5'
<include refid="tPreEmpMain_where"/>
<if test="tPreEmpMain != null">
<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
${tPreEmpMain.authSql}
</if>
</if>
<if test="tPreEmpMain != null">
<if test="tPreEmpMain.limitStart != null">
limit #{tPreEmpMain.limitStart},#{tPreEmpMain.limitEnd}
</if>
</if>
</where>
</select>
<!--tPreEmpMain简单分页查询-->
<select id="getTPreEmpMainByCardAndDept" resultMap="tPreEmpMainMap">
SELECT
......
......@@ -143,9 +143,6 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_professional_qualification a
<where>
1=1
<include refid="tPreEmpProfessionalQualification_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
</select>
</mapper>
......@@ -143,9 +143,6 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_emp_work_recording a
<where>
1=1
<include refid="tPreEmpWorkRecording_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
</select>
</mapper>
......@@ -297,10 +297,7 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_employee_info a
<where>
1=1
<include refid="tPreEmployeeInfo_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
limit 1
</select>
</mapper>
......@@ -288,10 +288,7 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_pre_employee_project a
<where>
1=1
<include refid="tPreEmployeeProject_where"/>
</where>
where PRE_MAIN_ID = #{preMainId}
limit 1
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment