Commit 0b4eee29 authored by huyuchen's avatar huyuchen

Merge remote-tracking branch 'origin/develop'

# Conflicts:
#	yifu-common/yifu-common-ekp/src/main/resources/ekpFundConfig.properties
#	yifu-common/yifu-common-ekp/src/main/resources/ekpIncomeConfig.properties
#	yifu-common/yifu-common-ekp/src/main/resources/ekpInsuranceConfig.properties
#	yifu-common/yifu-common-ekp/src/main/resources/ekpOrderConfig.properties
#	yifu-common/yifu-common-ekp/src/main/resources/ekpSalaryConfig.properties
#	yifu-common/yifu-common-ekp/src/main/resources/ekpSocialConfig.properties
parents ce4d1bdd 4df9dcbc
...@@ -157,4 +157,10 @@ public class ArchivesConstants { ...@@ -157,4 +157,10 @@ public class ArchivesConstants {
public static final int MYEAR_MONTH=-717; public static final int MYEAR_MONTH=-717;
public static final int WYEAR_MONTH=-597; public static final int WYEAR_MONTH=-597;
/**
* @Author fxj
* 合同之前
**/
public static final String CONTRACT_CREATE_TYPE="合同之后";
} }
/*
* 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 com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* 收入证明 中的 单位信息维护表
*
* @author fxj
* @date 2023-08-23 17:31:05
*/
@Data
@TableName("t_company_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "收入证明 中的 单位信息维护表")
public class TCompanyInfo extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@Schema(description = "id")
private String id;
/**
* 公司名称
*/
@ExcelAttribute(name = "公司名称", isNotEmpty = true, errorInfo = "公司名称不能为空", maxLength = 50)
@NotBlank(message = "公司名称不能为空")
@Length(max = 50, message = "公司名称不能超过50个字符")
@ExcelProperty("公司名称")
@Schema(description = "公司名称")
private String companyName;
/**
* 公司地址
*/
@ExcelAttribute(name = "公司地址", isNotEmpty = true, errorInfo = "公司地址不能为空", maxLength = 200)
@NotBlank(message = "公司地址不能为空")
@Length(max = 200, message = "公司地址不能超过200个字符")
@ExcelProperty("公司地址")
@Schema(description = "公司地址")
private String companyAddress;
/**
* 公司电话
*/
@ExcelAttribute(name = "公司电话", isNotEmpty = true, errorInfo = "公司电话不能为空", maxLength = 20)
@NotBlank(message = "公司电话不能为空")
@Length(max = 20, message = "公司电话不能超过20个字符")
@ExcelProperty("公司电话")
@Schema(description = "公司电话")
private String companyTel;
/**
* 创建人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 createBy;
/**
* 创建人姓名
*/
@ExcelAttribute(name = "创建人姓名", maxLength = 32)
@Length(max = 32, message = "创建人姓名不能超过32个字符")
@ExcelProperty("创建人姓名")
@Schema(description = "创建人姓名")
private String createName;
/**
* 创建时间
*/
@ExcelAttribute(name = "创建时间", isNotEmpty = true, errorInfo = "创建时间不能为空", isDate = true)
@NotBlank(message = "创建时间不能为空")
@ExcelProperty("创建时间")
@Schema(description = "创建时间")
private LocalDateTime createTime;
/**
* 更新人id
*/
@ExcelAttribute(name = "更新人id", maxLength = 32)
@Length(max = 32, message = "更新人id不能超过32个字符")
@ExcelProperty("更新人id")
@Schema(description = "更新人id")
private String updateBy;
/**
* 更新时间
*/
@ExcelAttribute(name = "更新时间", isDate = true)
@ExcelProperty("更新时间")
@Schema(description = "更新时间")
private LocalDateTime updateTime;
/**
* 0 未删除 1 已删除
*/
@ExcelAttribute(name = "0 未删除 1 已删除", maxLength = 1)
@Length(max = 1, message = "0 未删除 1 已删除不能超过1个字符")
@ExcelProperty("0 未删除 1 已删除")
@Schema(description = "0 未删除 1 已删除")
private String deleteFlag;
}
...@@ -312,8 +312,9 @@ public class TEmployeeProject extends BaseEntity { ...@@ -312,8 +312,9 @@ public class TEmployeeProject extends BaseEntity {
/** /**
* 公积金状态(字典) * 公积金状态(字典)
* 0无公积金;1处理中;2正常;3已派减
*/ */
@Schema(description = "公积金状态(字典): 0 无公积金 1 处理中 2.部分购买 3.正常 4.已派减") @Schema(description = "公积金状态(字典): 0无公积金;1处理中;2正常;3已派减")
private Integer fundStatus; private Integer fundStatus;
/** /**
......
/*
* 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.yifu.cloud.plus.v1.yifu.archives.entity.TCompanyInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 收入证明 中的 单位信息维护表
*
* @author fxj
* @date 2023-08-23 17:31:05
*/
@Data
public class TCompanyInfoSearchVo extends TCompanyInfo {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
}
/*
* 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.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.vo.RowIndex;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
/**
* 收入证明 中的 单位信息维护表
*
* @author fxj
* @date 2023-08-23 17:31:05
*/
@Data
public class TCompanyInfoVo extends RowIndex implements Serializable {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@NotBlank(message = "id 不能为空")
@Length(max = 32, message = "id 不能超过32 个字符")
@ExcelAttribute(name = "id", isNotEmpty = true, errorInfo = "id 不能为空", maxLength = 32)
@Schema(description = "id")
@ExcelProperty("id")
private String id;
/**
* 公司名称
*/
@NotBlank(message = "公司名称 不能为空")
@Length(max = 50, message = "公司名称 不能超过50 个字符")
@ExcelAttribute(name = "公司名称", isNotEmpty = true, errorInfo = "公司名称 不能为空", maxLength = 50)
@Schema(description = "公司名称")
@ExcelProperty("公司名称")
private String 公司名称;
/**
* 公司地址
*/
@NotBlank(message = "公司地址 不能为空")
@Length(max = 200, message = "公司地址 不能超过200 个字符")
@ExcelAttribute(name = "公司地址", isNotEmpty = true, errorInfo = "公司地址 不能为空", maxLength = 200)
@Schema(description = "公司地址")
@ExcelProperty("公司地址")
private String companyAddress;
/**
* 公司电话
*/
@NotBlank(message = "公司电话 不能为空")
@Length(max = 20, message = "公司电话 不能超过20 个字符")
@ExcelAttribute(name = "公司电话", isNotEmpty = true, errorInfo = "公司电话 不能为空", maxLength = 20)
@Schema(description = "公司电话")
@ExcelProperty("公司电话")
private String companyTel;
/**
* 创建人id
*/
@NotBlank(message = "创建人id 不能为空")
@Length(max = 32, message = "创建人id 不能超过32 个字符")
@ExcelAttribute(name = "创建人id", isNotEmpty = true, errorInfo = "创建人id 不能为空", maxLength = 32)
@Schema(description = "创建人id")
@ExcelProperty("创建人id")
private String createBy;
/**
* 创建人姓名
*/
@Length(max = 32, message = "创建人姓名 不能超过32 个字符")
@ExcelAttribute(name = "创建人姓名", maxLength = 32)
@Schema(description = "创建人姓名")
@ExcelProperty("创建人姓名")
private String createName;
/**
* 创建时间
*/
@NotBlank(message = "创建时间 不能为空")
@ExcelAttribute(name = "创建时间", isNotEmpty = true, errorInfo = "创建时间 不能为空", isDate = true)
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private Date createTime;
/**
* 更新人id
*/
@Length(max = 32, message = "更新人id 不能超过32 个字符")
@ExcelAttribute(name = "更新人id", maxLength = 32)
@Schema(description = "更新人id")
@ExcelProperty("更新人id")
private String updateBy;
/**
* 更新时间
*/
@ExcelAttribute(name = "更新时间", isDate = true)
@Schema(description = "更新时间")
@ExcelProperty("更新时间")
private Date updateTime;
/**
* 0 未删除 1 已删除
*/
@Length(max = 1, message = "0 未删除 1 已删除 不能超过1 个字符")
@ExcelAttribute(name = "0 未删除 1 已删除", maxLength = 1)
@Schema(description = "0 未删除 1 已删除")
@ExcelProperty("0 未删除 1 已删除")
private String deleteFlag;
}
/*
* 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.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCompanyInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TCompanyInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TCompanyInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 收入证明 中的 单位信息维护表
*
* @author fxj
* @date 2023-08-23 17:31:05
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tcompanyinfo")
@Tag(name = "收入证明 中的 单位信息维护表管理")
public class TCompanyInfoController {
private final TCompanyInfoService tCompanyInfoService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tCompanyInfo 收入证明 中的 单位信息维护表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TCompanyInfo>> getTCompanyInfoPage(Page<TCompanyInfo> page, TCompanyInfoSearchVo tCompanyInfo) {
return new R<>(tCompanyInfoService.getTCompanyInfoPage(page, tCompanyInfo));
}
/**
* 不分页查询
*
* @param tCompanyInfo 收入证明 中的 单位信息维护表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('demo_tcompanyinfo_get')" )
public R<List<TCompanyInfo>> getTCompanyInfoNoPage(@RequestBody TCompanyInfoSearchVo tCompanyInfo) {
return R.ok(tCompanyInfoService.noPageDiy(tCompanyInfo));
}
/**
* 通过id查询收入证明 中的 单位信息维护表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('demo_tcompanyinfo_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('demo_tcompanyinfo_get')")
public R<TCompanyInfo> getById(@PathVariable("id") String id) {
return R.ok(tCompanyInfoService.getById(id));
}
/**
* 新增收入证明 中的 单位信息维护表
*
* @param tCompanyInfo 收入证明 中的 单位信息维护表
* @return R
*/
@Operation(summary = "新增收入证明 中的 单位信息维护表", description = "新增收入证明 中的 单位信息维护表:hasPermission('demo_tcompanyinfo_add')")
@SysLog("新增收入证明 中的 单位信息维护表")
@PostMapping
@PreAuthorize("@pms.hasPermission('demo_tcompanyinfo_add')")
public R<Boolean> save(@RequestBody TCompanyInfo tCompanyInfo) {
TCompanyInfo exits = tCompanyInfoService.getOne(Wrappers.<TCompanyInfo>query().lambda()
.eq(TCompanyInfo::getDeleteFlag,CommonConstants.ZERO_STRING)
.eq(TCompanyInfo::getCompanyName,tCompanyInfo.getCompanyName()).last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(exits)){
return R.failed("已存在相同公司名称的有效数据!");
}
return R.ok(tCompanyInfoService.save(tCompanyInfo));
}
/**
* 修改收入证明 中的 单位信息维护表
*
* @param tCompanyInfo 收入证明 中的 单位信息维护表
* @return R
*/
@Operation(summary = "修改收入证明 中的 单位信息维护表", description = "修改收入证明 中的 单位信息维护表:hasPermission('demo_tcompanyinfo_edit')")
@SysLog("修改收入证明 中的 单位信息维护表")
@PutMapping
@PreAuthorize("@pms.hasPermission('demo_tcompanyinfo_edit')")
public R<Boolean> updateById(@RequestBody TCompanyInfo tCompanyInfo) {
TCompanyInfo exits = tCompanyInfoService.getOne(Wrappers.<TCompanyInfo>query().lambda()
.eq(TCompanyInfo::getDeleteFlag,CommonConstants.ZERO_STRING)
.ne(TCompanyInfo::getId,tCompanyInfo.getId())
.eq(TCompanyInfo::getCompanyName,tCompanyInfo.getCompanyName()).last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(exits)){
return R.failed("已存在相同公司名称的有效数据!");
}
return R.ok(tCompanyInfoService.updateById(tCompanyInfo));
}
/**
* 通过id删除收入证明 中的 单位信息维护表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除收入证明 中的 单位信息维护表", description = "通过id删除收入证明 中的 单位信息维护表:hasPermission('demo_tcompanyinfo_del')")
@SysLog("通过id删除收入证明 中的 单位信息维护表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('demo_tcompanyinfo_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tCompanyInfoService.removeById(id));
}
/**
* 收入证明 中的 单位信息维护表 批量导入
*
* @author fxj
* @date 2023-08-23 17:31:05
**/
@SneakyThrows
@Operation(description = "批量新增收入证明 中的 单位信息维护表 hasPermission('demo_tcompanyinfo-batch-import')")
@SysLog("批量新增收入证明 中的 单位信息维护表")
@PostMapping("/importListAdd")
@PreAuthorize("@pms.hasPermission('demo_tcompanyinfo-batch-import')")
public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file) {
return tCompanyInfoService.importDiy(file.getInputStream());
}
/**
* 收入证明 中的 单位信息维护表 批量导出
*
* @author fxj
* @date 2023-08-23 17:31:05
**/
@Operation(description = "导出收入证明 中的 单位信息维护表 hasPermission('demo_tcompanyinfo-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('demo_tcompanyinfo-export')")
public void export(HttpServletResponse response, @RequestBody TCompanyInfoSearchVo searchVo) {
tCompanyInfoService.listExport(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.mapper;
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.TCompanyInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 收入证明 中的 单位信息维护表
*
* @author fxj
* @date 2023-08-23 17:31:05
*/
@Mapper
public interface TCompanyInfoMapper extends BaseMapper<TCompanyInfo> {
/**
* 收入证明 中的 单位信息维护表简单分页查询
*
* @param tCompanyInfo 收入证明 中的 单位信息维护表
* @return
*/
IPage<TCompanyInfo> getTCompanyInfoPage(Page<TCompanyInfo> page, @Param("tCompanyInfo") TCompanyInfo tCompanyInfo);
}
...@@ -115,5 +115,5 @@ public interface TEmployeeProjectMapper extends BaseMapper<TEmployeeProject> { ...@@ -115,5 +115,5 @@ public interface TEmployeeProjectMapper extends BaseMapper<TEmployeeProject> {
int updateChangeById(@Param("project")TEmployeeProject project); int updateChangeById(@Param("project")TEmployeeProject project);
void updateContractStatus(@Param("empId") String empId, @Param("status")int status); void updateContractStatus(@Param("empId") String empId, @Param("deptId") String deptId, @Param("status")int status);
} }
/*
* 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.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.TCompanyInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TCompanyInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
/**
* 收入证明 中的 单位信息维护表
*
* @author fxj
* @date 2023-08-23 17:31:05
*/
public interface TCompanyInfoService extends IService<TCompanyInfo> {
/**
* 收入证明 中的 单位信息维护表简单分页查询
*
* @param tCompanyInfo 收入证明 中的 单位信息维护表
* @return
*/
IPage<TCompanyInfo> getTCompanyInfoPage(Page<TCompanyInfo> page, TCompanyInfoSearchVo tCompanyInfo);
R<List<ErrorMessage>> importDiy(InputStream inputStream);
void listExport(HttpServletResponse response, TCompanyInfoSearchVo searchVo);
List<TCompanyInfo> noPageDiy(TCompanyInfoSearchVo searchVo);
}
...@@ -260,5 +260,5 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> { ...@@ -260,5 +260,5 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
void updateChangeById(TEmployeeProject oldEmpProject); void updateChangeById(TEmployeeProject oldEmpProject);
void updateContractStatus(String empId, int status); void updateContractStatus(String empId, String deptId, int status);
} }
/*
* 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 cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ArrayUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCompanyInfo;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TCompanyInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TCompanyInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TCompanyInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TCompanyInfoVo;
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.mybatis.base.BaseEntity;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* 收入证明 中的 单位信息维护表
*
* @author fxj
* @date 2023-08-23 17:31:05
*/
@Log4j2
@Service
public class TCompanyInfoServiceImpl extends ServiceImpl<TCompanyInfoMapper, TCompanyInfo> implements TCompanyInfoService {
/**
* 收入证明 中的 单位信息维护表简单分页查询
* @param tCompanyInfo 收入证明 中的 单位信息维护表
* @return
*/
@Override
public IPage<TCompanyInfo> getTCompanyInfoPage(Page<TCompanyInfo> page, TCompanyInfoSearchVo tCompanyInfo){
return baseMapper.getTCompanyInfoPage(page,tCompanyInfo);
}
/**
* 收入证明 中的 单位信息维护表批量导出
* @param searchVo 收入证明 中的 单位信息维护表
* @return
*/
@Override
public void listExport(HttpServletResponse response, TCompanyInfoSearchVo searchVo){
String fileName = "收入证明 中的 单位信息维护表批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TCompanyInfo> list = new ArrayList<>();
long count = noPageCountDiy(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,然后文件流会自动关闭
//EasyExcel.write(out, TEmpBadRecord.class).sheet("不良记录").doWrite(list);
ExcelWriter excelWriter = EasyExcel.write(out, TCompanyInfo.class).build();
int index = 0;
if (count > CommonConstants.ZERO_INT){
for (int i = 0; i <= count; ) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = noPageDiy(searchVo);
if (Common.isNotNull(list)){
ExcelUtil<TCompanyInfo> util = new ExcelUtil<>(TCompanyInfo.class);
for (TCompanyInfo vo:list){
util.convertEntity(vo,null,null,null);
}
}
if (Common.isNotNull(list)){
WriteSheet writeSheet = EasyExcel.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();
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);
}
}
}
@Override
public List<TCompanyInfo> noPageDiy(TCompanyInfoSearchVo searchVo) {
LambdaQueryWrapper<TCompanyInfo> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)){
wrapper.in(TCompanyInfo::getId,idList);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0){
wrapper.last(" limit "+ searchVo.getLimitStart() +","+ searchVo.getLimitEnd());
}
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
}
private Long noPageCountDiy(TCompanyInfoSearchVo searchVo) {
LambdaQueryWrapper<TCompanyInfo> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)){
wrapper.in(TCompanyInfo::getId,idList);
}
return baseMapper.selectCount(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TCompanyInfoSearchVo entity){
LambdaQueryWrapper<TCompanyInfo> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TCompanyInfo::getCreateTime, entity.getCreateTimes()[0])
.le(TCompanyInfo::getCreateTime,
entity.getCreateTimes()[1]);
}
if (Common.isNotNull(entity.getCreateName())){
wrapper.eq(TCompanyInfo::getCreateName,entity.getCreateName());
}
return wrapper;
}
@Override
public R<List<ErrorMessage>> importDiy(InputStream inputStream) {
List<ErrorMessage> errorMessageList = new ArrayList<>();
ExcelUtil<TCompanyInfoVo> util1 = new ExcelUtil<>(TCompanyInfoVo.class);;
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try {
EasyExcel.read(inputStream, TCompanyInfoVo.class, new ReadListener<TCompanyInfoVo>() {
/**
* 单次缓存的数据量
*/
public static final int BATCH_COUNT = CommonConstants.BATCH_COUNT;
/**
*临时存储
*/
private List<TCompanyInfoVo> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
@Override
public void invoke(TCompanyInfoVo data, AnalysisContext context) {
ReadRowHolder readRowHolder = context.readRowHolder();
Integer rowIndex = readRowHolder.getRowIndex();
data.setRowIndex(rowIndex+1);
ErrorMessage errorMessage = util1.checkEntity(data, data.getRowIndex());
if (Common.isNotNull(errorMessage)){
errorMessageList.add(errorMessage);
}else {
cachedDataList.add(data);
}
if (cachedDataList.size() >= BATCH_COUNT) {
saveData();
// 存储完成清理 list
cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
saveData();
}
/**
* 加上存储数据库
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
importTCompanyInfo(cachedDataList,errorMessageList);
log.info("存储数据库成功!");
}
}).sheet().doRead();
}catch (Exception e){
log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR,e);
return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR);
}
return R.ok(errorMessageList);
}
private void importTCompanyInfo(List<TCompanyInfoVo> excelVOList, List<ErrorMessage> errorMessageList) {
// 个性化校验逻辑
ErrorMessage errorMsg;
// 执行数据插入操作 组装
for (int i = 0; i < excelVOList.size(); i++) {
TCompanyInfoVo excel = excelVOList.get(i);
// 数据合法情况 TODO
// 插入
insertExcel(excel);
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),CommonConstants.SAVE_SUCCESS));
}
}
/**
* 插入excel bad record
*/
private void insertExcel(TCompanyInfoVo excel) {
TCompanyInfo insert = new TCompanyInfo();
BeanUtil.copyProperties(excel, insert);
this.save(insert);
}
}
...@@ -172,6 +172,8 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -172,6 +172,8 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
errorMessageList.forEach(errorMessage -> errorMsgMap.put(errorMessage.getLineNum(),errorMessage)); errorMessageList.forEach(errorMessage -> errorMsgMap.put(errorMessage.getLineNum(),errorMessage));
} }
// 老项目已减项,划转后将删除 hgw 2023-8-22 10:47:41
List<TEmployeeProject> oldUpdateList = new ArrayList<>();
List<TEmployeeProject> updateList = new ArrayList<>(); List<TEmployeeProject> updateList = new ArrayList<>();
Set<String> errorMsg; Set<String> errorMsg;
//对象声明 //对象声明
...@@ -216,10 +218,14 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -216,10 +218,14 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
//待划转员工已在目标项目下不可划转 //待划转员工已在目标项目下不可划转
employeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda() employeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getEmpIdcard, excel.getEmpIdcard()).eq(TEmployeeProject::getDeptNo,excel.getNewSettleCode()) .eq(TEmployeeProject::getEmpIdcard, excel.getEmpIdcard()).eq(TEmployeeProject::getDeptNo,excel.getNewSettleCode())
.eq(TEmployeeProject::getDeleteFlag,CommonConstants.STATUS_NORMAL) .eq(TEmployeeProject::getDeleteFlag,CommonConstants.STATUS_NORMAL));
.eq(TEmployeeProject::getProjectStatus,CommonConstants.ZERO_INT));
if (Common.isNotNull(employeeProject)) { if (Common.isNotNull(employeeProject)) {
errorMsg.add(MsgUtils.getMessage(ErrorCodes.CHECKS_CHANGE_EMP_PROJECT, excel.getNewSettleCode())); if (CommonConstants.ZERO_INT == employeeProject.getProjectStatus()) {
errorMsg.add(MsgUtils.getMessage(ErrorCodes.CHECKS_CHANGE_EMP_PROJECT, excel.getNewSettleCode()));
} else {
employeeProject.setDeleteFlag(CommonConstants.STATUS_DEL);
oldUpdateList.add(employeeProject);
}
} }
// 数据合法情况 // 数据合法情况
if (CollUtil.isEmpty(errorMsg)) { if (CollUtil.isEmpty(errorMsg)) {
...@@ -265,9 +271,15 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -265,9 +271,15 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
if (CollUtil.isNotEmpty(errorMessageList)) { if (CollUtil.isNotEmpty(errorMessageList)) {
return R.failed(errorMessageList); return R.failed(errorMessageList);
} else { } else {
// 将已减项的目标项目删除,免得出现两条同项目在项
if (!oldUpdateList.isEmpty()) {
tEmployeeProjectService.updateBatchById(oldUpdateList);
}
tEmployeeProjectService.updateBatchById(updateList); tEmployeeProjectService.updateBatchById(updateList);
// 循环里的申明
UpdateSocialFoundVo updateSocialFoundVo;
for (TEmployeeProject tEmployeeProject: updateList) { for (TEmployeeProject tEmployeeProject: updateList) {
UpdateSocialFoundVo updateSocialFoundVo = new UpdateSocialFoundVo(); updateSocialFoundVo = new UpdateSocialFoundVo();
updateSocialFoundVo.setOldDeptId(tEmployeeProject.getOdlDeptId()); updateSocialFoundVo.setOldDeptId(tEmployeeProject.getOdlDeptId());
updateSocialFoundVo.setEmpIdcard(tEmployeeProject.getEmpIdcard()); updateSocialFoundVo.setEmpIdcard(tEmployeeProject.getEmpIdcard());
updateSocialFoundVo.setSettleDomainCode(tEmployeeProject.getDeptNo()); updateSocialFoundVo.setSettleDomainCode(tEmployeeProject.getDeptNo());
...@@ -423,9 +435,12 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -423,9 +435,12 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
TEmployeeProject newEmpProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda() TEmployeeProject newEmpProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getEmpIdcard, vo.getEmpIdcard()).eq(TEmployeeProject::getDeptNo,vo.getNewDeptNo()) .eq(TEmployeeProject::getEmpIdcard, vo.getEmpIdcard()).eq(TEmployeeProject::getDeptNo,vo.getNewDeptNo())
.eq(TEmployeeProject::getDeleteFlag,CommonConstants.STATUS_NORMAL)); .eq(TEmployeeProject::getDeleteFlag,CommonConstants.STATUS_NORMAL));
// hgw 2023-8-21 16:31:18 目标项目是否已减项false:否。——2023-8-23 18:02:57 改为 目标的单个服务项 已派减,可以划过去
//boolean isSubtraction = false
if (Common.isNotNull(newEmpProject) if (Common.isNotNull(newEmpProject)
&& Common.isNotNull(newEmpProject.getProjectStatus()) && Common.isNotNull(newEmpProject.getProjectStatus())
&& newEmpProject.getProjectStatus().intValue() == CommonConstants.ONE_INT){ && newEmpProject.getProjectStatus().intValue() == CommonConstants.ONE_INT){
//isSubtraction = true
return R.failed("目标项目档案已减项,请复项后重新划转!"); return R.failed("目标项目档案已减项,请复项后重新划转!");
} }
//社保公积金派单处需要直接修改为最新的项目 //社保公积金派单处需要直接修改为最新的项目
...@@ -504,7 +519,8 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -504,7 +519,8 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
resStr.append("社保项不存在,无法划转! <br>"); resStr.append("社保项不存在,无法划转! <br>");
}else { }else {
if (Common.isEmpty(newEmpProject.getSocialStatus()) if (Common.isEmpty(newEmpProject.getSocialStatus())
|| CommonConstants.ZERO_INT == newEmpProject.getSocialStatus()){ || CommonConstants.ZERO_INT == newEmpProject.getSocialStatus()
|| CommonConstants.FOUR_INT == newEmpProject.getSocialStatus()){
newEmpProject.setSocialStatus(oldEmpProject.getSocialStatus()); newEmpProject.setSocialStatus(oldEmpProject.getSocialStatus());
newEmpProject.setSocialProvince(oldEmpProject.getSocialProvince()); newEmpProject.setSocialProvince(oldEmpProject.getSocialProvince());
newEmpProject.setSocialCity(oldEmpProject.getSocialCity()); newEmpProject.setSocialCity(oldEmpProject.getSocialCity());
...@@ -528,13 +544,14 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -528,13 +544,14 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
resStr.append("公积金项不存在,无法划转! <br>"); resStr.append("公积金项不存在,无法划转! <br>");
}else{ }else{
if (Common.isEmpty(newEmpProject.getFundStatus()) if (Common.isEmpty(newEmpProject.getFundStatus())
|| CommonConstants.ZERO_INT == newEmpProject.getFundStatus()){ || CommonConstants.ZERO_INT == newEmpProject.getFundStatus()
|| CommonConstants.THREE_INT == newEmpProject.getFundStatus()){
newEmpProject.setFundStatus(oldEmpProject.getFundStatus()); newEmpProject.setFundStatus(oldEmpProject.getFundStatus());
updatesf.setFlag(CommonConstants.ONE_STRING); updatesf.setFlag(CommonConstants.ONE_STRING);
socialDaprUtils.updateSocialAndFoundInfo(updatesf); socialDaprUtils.updateSocialAndFoundInfo(updatesf);
oldEmpProject.setFundStatus(CommonConstants.ZERO_INT); oldEmpProject.setFundStatus(CommonConstants.ZERO_INT);
resStr.append("公积金划转成功! <br>"); resStr.append("公积金划转成功! <br>");
}else { } else {
resStr.append("目标项目档案存在公积金数据,公积金划转失败! <br>"); resStr.append("目标项目档案存在公积金数据,公积金划转失败! <br>");
} }
} }
...@@ -558,6 +575,10 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -558,6 +575,10 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
} }
} }
} }
/*if (isSubtraction) {
oldEmpProject.setProjectStatus(CommonConstants.ONE_INT)
newEmpProject.setProjectStatus(CommonConstants.ZERO_INT)
}*/
// 变更老的项目档案 // 变更老的项目档案
tEmployeeProjectService.updateChangeById(oldEmpProject); tEmployeeProjectService.updateChangeById(oldEmpProject);
//新增或变更新的项目档案 //新增或变更新的项目档案
......
...@@ -295,6 +295,7 @@ public class TEmpEducationServiceImpl extends ServiceImpl<TEmpEducationMapper, T ...@@ -295,6 +295,7 @@ public class TEmpEducationServiceImpl extends ServiceImpl<TEmpEducationMapper, T
exist.setGradutionDate(education.getGradutionDate()); exist.setGradutionDate(education.getGradutionDate());
baseMapper.updateById(exist); baseMapper.updateById(exist);
}else { }else {
education.setSettleDomain(CommonConstants.ZERO_STRING);
baseMapper.insert(education); baseMapper.insert(education);
} }
return R.ok(); return R.ok();
......
...@@ -2256,7 +2256,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -2256,7 +2256,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
contractAudit.setRemark(vo.getRemarkTemp()); contractAudit.setRemark(vo.getRemarkTemp());
contractAudit.setRootName("合同审核"); contractAudit.setRootName("合同审核");
contractServicer.updateInUseStatusById(c.getEmpId(),c.getDeptNo(),c.getId()); contractServicer.updateInUseStatusById(c.getEmpId(),c.getDeptNo(),c.getId());
tEmployeeProjectService.updateContractStatus(c.getEmpId(),CommonConstants.ONE_INT); tEmployeeProjectService.updateContractStatus(c.getEmpId(), c.getSettleDomain(), CommonConstants.ONE_INT);
baseMapper.updateContractStatus(c.getEmpId(),CommonConstants.ONE_INT); baseMapper.updateContractStatus(c.getEmpId(),CommonConstants.ONE_INT);
//审核不同 //审核不同
}else if (CommonConstants.ONE_STRING.equals(vo.getType())){ }else if (CommonConstants.ONE_STRING.equals(vo.getType())){
......
...@@ -1848,8 +1848,8 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap ...@@ -1848,8 +1848,8 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
} }
@Override @Override
public void updateContractStatus(String empId, int status) { public void updateContractStatus(String empId, String deptId, int status) {
baseMapper.updateContractStatus(empId,status); baseMapper.updateContractStatus(empId,deptId,status);
} }
/** /**
......
...@@ -288,9 +288,10 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T ...@@ -288,9 +288,10 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
/*if ( Common.isEmpty(domain.getCreateType())){ /*if ( Common.isEmpty(domain.getCreateType())){
return "创建类型不可为空"; return "创建类型不可为空";
}*/ }*/
if (Common.isEmpty(domain.getBusinessPrimaryType()) if (ArchivesConstants.CONTRACT_CREATE_TYPE.equals(domain.getCreateType())
&& (Common.isEmpty(domain.getBusinessPrimaryType())
|| Common.isEmpty(domain.getBusinessSecondType()) || Common.isEmpty(domain.getBusinessSecondType())
|| Common.isEmpty(domain.getBusinessThirdType())){ || Common.isEmpty(domain.getBusinessThirdType()))){
return ArchivesConstants.SETTLE_DOMAIN_BUSINESS_TYPE_NOT_EMPTY; return ArchivesConstants.SETTLE_DOMAIN_BUSINESS_TYPE_NOT_EMPTY;
} }
if (Common.isEmpty(domain.getStopFlag())){ if (Common.isEmpty(domain.getStopFlag())){
......
<?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.TCompanyInfoMapper">
<resultMap id="tCompanyInfoMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TCompanyInfo">
<id property="id" column="id"/>
<result property="companyName" column="COMPANY_NAME"/>
<result property="companyAddress" column="COMPANY_ADDRESS"/>
<result property="companyTel" column="COMPANY_TEL"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="deleteFlag" column="DELETE_FLAG"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.COMPANY_NAME,
a.COMPANY_ADDRESS,
a.COMPANY_TEL,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.DELETE_FLAG
</sql>
<sql id="tCompanyInfo_where">
<if test="tCompanyInfo != null">
<if test="tCompanyInfo.id != null and tCompanyInfo.id.trim() != ''">
AND a.id = #{tCompanyInfo.id}
</if>
<if test="tCompanyInfo.companyName != null and tCompanyInfo.companyName.trim() != ''">
AND a.COMPANY_NAME = #{tCompanyInfo.companyName}
</if>
<if test="tCompanyInfo.companyAddress != null and tCompanyInfo.companyAddress.trim() != ''">
AND a.COMPANY_ADDRESS = #{tCompanyInfo.companyAddress}
</if>
<if test="tCompanyInfo.companyTel != null and tCompanyInfo.companyTel.trim() != ''">
AND a.COMPANY_TEL = #{tCompanyInfo.companyTel}
</if>
<if test="tCompanyInfo.createBy != null and tCompanyInfo.createBy.trim() != ''">
AND a.CREATE_BY = #{tCompanyInfo.createBy}
</if>
<if test="tCompanyInfo.createName != null and tCompanyInfo.createName.trim() != ''">
AND a.CREATE_NAME = #{tCompanyInfo.createName}
</if>
<if test="tCompanyInfo.createTime != null">
AND a.CREATE_TIME = #{tCompanyInfo.createTime}
</if>
<if test="tCompanyInfo.updateBy != null and tCompanyInfo.updateBy.trim() != ''">
AND a.UPDATE_BY = #{tCompanyInfo.updateBy}
</if>
<if test="tCompanyInfo.updateTime != null">
AND a.UPDATE_TIME = #{tCompanyInfo.updateTime}
</if>
<if test="tCompanyInfo.deleteFlag != null and tCompanyInfo.deleteFlag.trim() != ''">
AND a.DELETE_FLAG = #{tCompanyInfo.deleteFlag}
</if>
</if>
</sql>
<!--tCompanyInfo简单分页查询-->
<select id="getTCompanyInfoPage" resultMap="tCompanyInfoMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_company_info a
<where>
1=1
<include refid="tCompanyInfo_where"/>
order by a.UPDATE_TIME desc
</where>
</select>
</mapper>
...@@ -1064,6 +1064,6 @@ ...@@ -1064,6 +1064,6 @@
<update id="updateContractStatus" > <update id="updateContractStatus" >
update t_employee_project a update t_employee_project a
set CONTRACT_STATUS = #{status} set CONTRACT_STATUS = #{status}
WHERE a.EMP_ID=#{empId} WHERE a.EMP_ID=#{empId} and a.DEPT_ID=#{deptId}
</update> </update>
</mapper> </mapper>
...@@ -1599,4 +1599,31 @@ public class DateUtil { ...@@ -1599,4 +1599,31 @@ public class DateUtil {
return null; return null;
} }
} }
public static boolean isDate(String dateText) {
if (dateText == null) {
return true;
}
DateFormat df = null;
try {
if (dateText.indexOf("-") >= 0) {
df = new SimpleDateFormat(ISO_EXPANDED_DATE_FORMAT);
df.setLenient(false);
df.parse(dateText);
}else if (dateText.indexOf("/") >= 0) {
df = new SimpleDateFormat(DateUtil.DATETIME_PATTERN_XIEGANG);
df.setLenient(false);
df.parse(dateText);
}else{
df = new SimpleDateFormat(ISO_DATE_FORMAT);
df.setLenient(false);
df.parse( dateText.replace("/","").replace("-","")
.replace(CommonConstants.YEAR,"").replace(CommonConstants.MONTH,"")
.replace(CommonConstants.DAY,""));
}
} catch (ParseException e) {
return true;
}
return false;
}
} }
...@@ -21,7 +21,7 @@ spring: ...@@ -21,7 +21,7 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
username: root username: root
password: ll_mysql password: ll_mysql
jdbc-url: jdbc:mysql://192.168.1.106:23306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true jdbc-url: jdbc:mysql://192.168.1.122:33306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari: hikari:
minimum-idle: 10 # 最小空闲连接数量 minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟) idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
......
...@@ -16,5 +16,5 @@ public interface MesConstants { ...@@ -16,5 +16,5 @@ public interface MesConstants {
**/ **/
//String orderUrl ="http://ekp.wanxinwork.com/sys/modeling/main/modelingAppView.do?method=modelView&listviewId=185943766d6e9ff50d8fea1414eaf460&fdId="; //String orderUrl ="http://ekp.wanxinwork.com/sys/modeling/main/modelingAppView.do?method=modelView&listviewId=185943766d6e9ff50d8fea1414eaf460&fdId=";
String orderUrl ="http://36.7.147.19:28080/sys/modeling/main/modelingAppView.do?method=modelView&listviewId=185943766d6e9ff50d8fea1414eaf460&fdId="; String orderUrl ="http://36.7.147.29:27007/sys/modeling/main/modelingAppView.do?method=modelView&listviewId=185943766d6e9ff50d8fea1414eaf460&fdId=";
} }
...@@ -14,7 +14,7 @@ spring: ...@@ -14,7 +14,7 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
username: root username: root
password: ll_mysql password: ll_mysql
url: jdbc:mysql://192.168.1.106:23306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true url: jdbc:mysql://192.168.1.122:33306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari: hikari:
driver-class-name: ${spring.datasource.driver-class-name} driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url} jdbc-url: ${spring.datasource.url}
......
...@@ -15,7 +15,7 @@ spring: ...@@ -15,7 +15,7 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
username: root username: root
password: ll_mysql password: ll_mysql
url: jdbc:mysql://192.168.1.106:23306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true url: jdbc:mysql://192.168.1.122:33306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari: hikari:
driver-class-name: ${spring.datasource.driver-class-name} driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url} jdbc-url: ${spring.datasource.url}
......
...@@ -39,6 +39,12 @@ public class OrderDetailVO implements Serializable { ...@@ -39,6 +39,12 @@ public class OrderDetailVO implements Serializable {
@Schema(description = "项目编码") @Schema(description = "项目编码")
private String deptNo; private String deptNo;
/**
* 项目ID
*/
@Schema(description = "项目ID")
private String deptId;
/** /**
* 项目名称 * 项目名称
*/ */
......
...@@ -459,6 +459,13 @@ public class TSalaryStandard extends BaseEntity { ...@@ -459,6 +459,13 @@ public class TSalaryStandard extends BaseEntity {
@Schema(description = "删除时间") @Schema(description = "删除时间")
private Date deleteDate; private Date deleteDate;
@Schema(description = "业务类型分类")
private String businessPrimaryType;
@Schema(description = "业务类型二级分类")
private String businessSecondType;
@Schema(description = "业务类型三级分类")
private String businessThirdType;
/** /**
* 工资月份-起 * 工资月份-起
*/ */
......
...@@ -53,6 +53,12 @@ public class TSalaryAccountExportVo { ...@@ -53,6 +53,12 @@ public class TSalaryAccountExportVo {
private String salaryMonth; private String salaryMonth;
@ExcelProperty("出账单位") @ExcelProperty("出账单位")
private String invoiceTitle; private String invoiceTitle;
@ExcelProperty("业务类型分类")
private String businessPrimaryType;
@ExcelProperty("业务类型二级分类")
private String businessSecondType;
@ExcelProperty("业务类型三级分类")
private String businessThirdType;
@ExcelProperty("结算单位") @ExcelProperty("结算单位")
private String unitName; private String unitName;
@ExcelProperty("结算单位编码") @ExcelProperty("结算单位编码")
...@@ -98,12 +104,14 @@ public class TSalaryAccountExportVo { ...@@ -98,12 +104,14 @@ public class TSalaryAccountExportVo {
private BigDecimal sumContinuingEducationMoney; private BigDecimal sumContinuingEducationMoney;
@ExcelProperty(value = "赡养老人专项扣除") @ExcelProperty(value = "赡养老人专项扣除")
private BigDecimal sumSupportElderlyMoney; private BigDecimal sumSupportElderlyMoney;
@ExcelProperty(value = "婴幼儿照护费")
private BigDecimal sumBabyMoney;
@ExcelProperty(value = "累计个人养老金") @ExcelProperty(value = "累计个人养老金")
private BigDecimal sumPrivatePension; private BigDecimal sumPrivatePension;
@ExcelProperty(value = "婴幼儿照护费")
private BigDecimal sumBabyMoney;
@ExcelProperty("减除费用") @ExcelProperty("减除费用")
private BigDecimal costReduction; private BigDecimal costReduction;
@ExcelProperty("通讯补贴(不计税)")
private BigDecimal phoneSubsidy;
@ExcelProperty("表单上传人") @ExcelProperty("表单上传人")
private String createName; private String createName;
...@@ -120,4 +128,5 @@ public class TSalaryAccountExportVo { ...@@ -120,4 +128,5 @@ public class TSalaryAccountExportVo {
@ExcelProperty("薪酬状态") @ExcelProperty("薪酬状态")
private String status; private String status;
} }
...@@ -294,6 +294,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper, ...@@ -294,6 +294,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
s.setStatus(SalaryConstants.AUDIT_STATUS[0]); s.setStatus(SalaryConstants.AUDIT_STATUS[0]);
s.setBpoFlag(dept.getBpoFlag()); s.setBpoFlag(dept.getBpoFlag());
s.setIncomeMonth(sav.getSalaryMonth()); s.setIncomeMonth(sav.getSalaryMonth());
s.setBusinessPrimaryType(dept.getBusinessPrimaryType());
s.setBusinessSecondType(dept.getBusinessSecondType());
s.setBusinessThirdType(dept.getBusinessThirdType());
if (configSalary != null) { if (configSalary != null) {
s.setSetId(configSalary.getId()); s.setSetId(configSalary.getId());
if (Common.isNotNull(configSalary.getIncomeMonth())) { if (Common.isNotNull(configSalary.getIncomeMonth())) {
......
...@@ -844,6 +844,10 @@ ...@@ -844,6 +844,10 @@
sum(ifnull(pdeduction.SALARY_MONEY,0)) pdeductionMoney, sum(ifnull(pdeduction.SALARY_MONEY,0)) pdeductionMoney,
if(a.PAY_SETTLE_FLAG = '0','已结算',if(a.PAY_SETTLE_FLAG = '1','结算中',if(a.PAY_SETTLE_FLAG = '2','未结算','-'))) paySettleFlag, if(a.PAY_SETTLE_FLAG = '0','已结算',if(a.PAY_SETTLE_FLAG = '1','结算中',if(a.PAY_SETTLE_FLAG = '2','未结算','-'))) paySettleFlag,
case s.STATUS when 0 then '待提交' when 1 then '待审核' when 2 then '待推送明细' when 3 then '已推送待发放' when 4 then '已发放' when 5 then '审核不通过' when 6 then '确认不通过' when 7 then '财务退回' when 10 then '推送失败' when 11 then '已审核生成收入中' when 12 then '已审核生成收入失败' else '-' end as status case s.STATUS when 0 then '待提交' when 1 then '待审核' when 2 then '待推送明细' when 3 then '已推送待发放' when 4 then '已发放' when 5 then '审核不通过' when 6 then '确认不通过' when 7 then '财务退回' when 10 then '推送失败' when 11 then '已审核生成收入中' when 12 then '已审核生成收入失败' else '-' end as status
,phoneSubsidy.SALARY_MONEY as phoneSubsidy
,s.BUSINESS_PRIMARY_TYPE as businessPrimaryType
,s.BUSINESS_SECOND_TYPE as businessSecondType
,s.BUSINESS_THIRD_TYPE as businessThirdType
from from
t_salary_account a t_salary_account a
left join t_salary_standard s on a.SALARY_FORM_ID = s.id left join t_salary_standard s on a.SALARY_FORM_ID = s.id
...@@ -851,6 +855,7 @@ ...@@ -851,6 +855,7 @@
left join t_salary_account_item exemptionPersionTax on exemptionPersionTax.SALARY_ACCOUNT_ID = a.id and exemptionPersionTax.JAVA_FIED_NAME='exemptionPersionTax' left join t_salary_account_item exemptionPersionTax on exemptionPersionTax.SALARY_ACCOUNT_ID = a.id and exemptionPersionTax.JAVA_FIED_NAME='exemptionPersionTax'
left join t_salary_account_item enterpriseAnnuity on enterpriseAnnuity.SALARY_ACCOUNT_ID = a.id and enterpriseAnnuity.JAVA_FIED_NAME='enterpriseAnnuity' left join t_salary_account_item enterpriseAnnuity on enterpriseAnnuity.SALARY_ACCOUNT_ID = a.id and enterpriseAnnuity.JAVA_FIED_NAME='enterpriseAnnuity'
left join t_salary_account_item pdeduction on pdeduction.SALARY_ACCOUNT_ID = a.id and pdeduction.JAVA_FIED_NAME='pdeduction' left join t_salary_account_item pdeduction on pdeduction.SALARY_ACCOUNT_ID = a.id and pdeduction.JAVA_FIED_NAME='pdeduction'
left join t_salary_account_item phoneSubsidy on phoneSubsidy.SALARY_ACCOUNT_ID = a.id and phoneSubsidy.JAVA_FIED_NAME='phoneSubsidy'
<where> <where>
a.DELETE_FLAG = 0 a.DELETE_FLAG = 0
<include refid="where_export"/> <include refid="where_export"/>
......
...@@ -45,4 +45,5 @@ public class PreDispatchConstants { ...@@ -45,4 +45,5 @@ public class PreDispatchConstants {
public static final String NO_SOCIAL_FUND_ADDRESS_REDUCE = "派减:养老城市和公积金城市不可同时为空,请确认表中有‘养老城市’和‘公积金城市’数据列及数据!"; public static final String NO_SOCIAL_FUND_ADDRESS_REDUCE = "派减:养老城市和公积金城市不可同时为空,请确认表中有‘养老城市’和‘公积金城市’数据列及数据!";
public static final String GET_AREA_INFO = "获取区域数据失败!"; public static final String GET_AREA_INFO = "获取区域数据失败!";
public static final String TEL_NOT_EMPTY = "联系电话2不可为空!"; public static final String TEL_NOT_EMPTY = "联系电话2不可为空!";
public static final String LEAVE_DATE_FORMAT_ERROR = "离职日期格式错误,正确格式为'yyyy-MM-dd'";
} }
...@@ -616,7 +616,7 @@ public class TDispatchInfoController { ...@@ -616,7 +616,7 @@ public class TDispatchInfoController {
@PostMapping("/doexportFundRecordChange") @PostMapping("/doexportFundRecordChange")
@Operation(description = "导出公积金变更清册 hasPermission('wxhr:tdispatchinfo_doexportFundRecordChange')") @Operation(description = "导出公积金变更清册 hasPermission('wxhr:tdispatchinfo_doexportFundRecordChange')")
@SysLog("导出公积金变更清册") @SysLog("导出公积金变更清册")
@PreAuthorize("@pms.hasPermission('wxhr:tdispatchinfo_doexportFundRecordChange')") //@PreAuthorize("@pms.hasPermission('wxhr:tdispatchinfo_doexportFundRecordChange')")
public void doexportFundRecordChange(HttpServletResponse response, HttpServletRequest request, public void doexportFundRecordChange(HttpServletResponse response, HttpServletRequest request,
@RequestBody SocialHandleSearchVo searchVo) { @RequestBody SocialHandleSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
...@@ -637,7 +637,7 @@ public class TDispatchInfoController { ...@@ -637,7 +637,7 @@ public class TDispatchInfoController {
@GetMapping("/doExportFundSupplementaryRecord") @GetMapping("/doExportFundSupplementaryRecord")
@Operation(description = "导出公积金补缴清册 hasPermission('wxhr:tdispatchinfo_doExportFundSupplementaryRecord')") @Operation(description = "导出公积金补缴清册 hasPermission('wxhr:tdispatchinfo_doExportFundSupplementaryRecord')")
@SysLog("导出公积金补缴清册") @SysLog("导出公积金补缴清册")
@PreAuthorize("@pms.hasPermission('wxhr:tdispatchinfo_doExportFundSupplementaryRecord')") //@PreAuthorize("@pms.hasPermission('wxhr:tdispatchinfo_doExportFundSupplementaryRecord')")
public R<List<FundSupplementaryExportVo>> doExportFundSupplementaryRecord(HttpServletResponse response, HttpServletRequest request, public R<List<FundSupplementaryExportVo>> doExportFundSupplementaryRecord(HttpServletResponse response, HttpServletRequest request,
@RequestParam(name = "idStr", required = false) String idStr, @RequestParam(name = "idStr", required = false) String idStr,
@RequestBody SocialHandleSearchVo searchVo) { @RequestBody SocialHandleSearchVo searchVo) {
...@@ -765,7 +765,7 @@ public class TDispatchInfoController { ...@@ -765,7 +765,7 @@ public class TDispatchInfoController {
@PostMapping("/doexportMedicalInfo") @PostMapping("/doexportMedicalInfo")
@Operation(description = "导出医保花名册") @Operation(description = "导出医保花名册")
@SysLog("导出医保花名册") @SysLog("导出医保花名册")
@PreAuthorize("@pms.hasPermission('wxhr:tdispatchinfo_doexportFundRecordChange')") //@PreAuthorize("@pms.hasPermission('wxhr:tdispatchinfo_doexportFundRecordChange')")
public void doexportMedicalInfo(HttpServletResponse response, HttpServletRequest request, public void doexportMedicalInfo(HttpServletResponse response, HttpServletRequest request,
@RequestBody SocialHandleSearchVo searchVo) { @RequestBody SocialHandleSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
...@@ -787,7 +787,7 @@ public class TDispatchInfoController { ...@@ -787,7 +787,7 @@ public class TDispatchInfoController {
@PostMapping("/doexportPensionInfo") @PostMapping("/doexportPensionInfo")
@Operation(description = "导出三险花名册") @Operation(description = "导出三险花名册")
@SysLog("导出三险花名册") @SysLog("导出三险花名册")
@PreAuthorize("@pms.hasPermission('wxhr:tdispatchinfo_doexportFundRecordChange')") //@PreAuthorize("@pms.hasPermission('wxhr:tdispatchinfo_doexportFundRecordChange')")
public void doexportPensionInfo(HttpServletResponse response, HttpServletRequest request, public void doexportPensionInfo(HttpServletResponse response, HttpServletRequest request,
@RequestBody SocialHandleSearchVo searchVo) { @RequestBody SocialHandleSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
......
...@@ -1634,6 +1634,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -1634,6 +1634,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
//地区数据 //地区数据
HashMap<String, String> areaMap = new HashMap<>(); HashMap<String, String> areaMap = new HashMap<>();
HashMap<String, String> areaMap2 = new HashMap<>(); HashMap<String, String> areaMap2 = new HashMap<>();
//公积金唯一性检验条件:身份证编码+公积金缴纳月份
HashMap<String, Object> paymentInfoMap = new HashMap<>();
R<AreaVo> areaListR = upmsDaprUtils.getAreaListR(); R<AreaVo> areaListR = upmsDaprUtils.getAreaListR();
if (Common.isNotNull(areaListR)) { if (Common.isNotNull(areaListR)) {
AreaVo areaList = areaListR.getData(); AreaVo areaList = areaListR.getData();
...@@ -1688,7 +1690,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -1688,7 +1690,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
*/ */
private void saveData() { private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size()); log.info("{}条数据,开始存储数据库!", cachedDataList.size());
batchSavePaymentFundInfo(cachedDataList, errorMessageList, batchInsertList, areaMap, areaMap2,domainMap); batchSavePaymentFundInfo(cachedDataList, errorMessageList, batchInsertList, areaMap, areaMap2
,domainMap, paymentInfoMap);
log.info("存储数据库成功!"); log.info("存储数据库成功!");
} }
}).sheet().doRead(); }).sheet().doRead();
...@@ -1709,7 +1712,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -1709,7 +1712,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
private void batchSavePaymentFundInfo(List<TPaymentInfoVo> list, List<ErrorDetailVO> errorMessageList, private void batchSavePaymentFundInfo(List<TPaymentInfoVo> list, List<ErrorDetailVO> errorMessageList,
List<TPaymentInfo> batchInsertList,HashMap<String, String> areaMap, List<TPaymentInfo> batchInsertList,HashMap<String, String> areaMap,
HashMap<String, String> areaMap2,Map<String,TSettleDomainSelectVo> domainMap) { HashMap<String, String> areaMap2,Map<String,TSettleDomainSelectVo> domainMap,
HashMap<String, Object> paymentInfoMap) {
try { try {
if (Common.isNotNull(list)) { if (Common.isNotNull(list)) {
TPaymentInfo paymentInfo = null; TPaymentInfo paymentInfo = null;
...@@ -1731,8 +1735,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -1731,8 +1735,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
//已存在社保缴费库数据 非删除状态 //已存在社保缴费库数据 非删除状态
List<TPaymentInfo> paymentInfos = baseMapper.selectListForPaymentImport1(monthList, idcards); List<TPaymentInfo> paymentInfos = baseMapper.selectListForPaymentImport1(monthList, idcards);
//公积金唯一性检验条件:身份证编码+公积金缴纳月份
HashMap<String, Object> paymentInfoMap = new HashMap<>();
if (Common.isNotNull(paymentInfos)) { if (Common.isNotNull(paymentInfos)) {
for (TPaymentInfo info : paymentInfos) { for (TPaymentInfo info : paymentInfos) {
paymentInfoMap.put(info.getProvidentPayAddr() paymentInfoMap.put(info.getProvidentPayAddr()
......
...@@ -629,7 +629,11 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -629,7 +629,11 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
} }
} }
if (Common.isNotNull(errorMsgList)) { if (Common.isNotNull(errorMsgList)) {
return R.ok(errorMsgList,"操作成功,存在异常数据,请核实"); for (ErrorMessage msg:errorMsgList){
if (CommonConstants.RED.equals(msg.getColor())){
return R.ok(errorMsgList,"操作成功,存在异常数据,请核实");
}
}
} }
return R.ok(); return R.ok();
} }
...@@ -755,6 +759,10 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -755,6 +759,10 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
if (checkAddRepeat(errorList, existsMap, i, info)) { if (checkAddRepeat(errorList, existsMap, i, info)) {
continue; continue;
} }
if (Common.isNotNull(info.getLeaveDate()) && DateUtil.isDate(info.getLeaveDate())){
errorList.add(new ErrorMessage(i, PreDispatchConstants.LEAVE_DATE_FORMAT_ERROR));
continue;
}
// 2.基础封装 其他 // 2.基础封装 其他
initReduceBaseInfo(null, info); initReduceBaseInfo(null, info);
// 3.先校验已有数据 // 3.先校验已有数据
...@@ -2264,7 +2272,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -2264,7 +2272,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
errorMsgList.add(new ErrorMessage(i, errorMsgList.add(new ErrorMessage(i,
pre.getEmpIdcard() + pre.getEmpIdcard() +
CommonConstants.COLON_STRING + CommonConstants.COLON_STRING +
errorMessage.getMessage())); errorMessage.getMessage(),errorMessage.getColor()));
} }
} }
} }
......
...@@ -1254,17 +1254,6 @@ ...@@ -1254,17 +1254,6 @@
</where>) a </where>) a
</select> </select>
<!--tDispatchInfo 社保花名册派单数据count-->
<select id="getSocialDisRecordCount" resultType="java.lang.Integer">
SELECT count(1) from (
SELECT 1
FROM t_dispatch_info a
<where>
<include refid="where_getSocialDisRecord"/>
</where>
group by a.EMP_IDCARD) h
</select>
<select id="getFCount" resultType="java.lang.Integer"> <select id="getFCount" resultType="java.lang.Integer">
SELECT count(1) from ( SELECT count(1) from (
SELECT 1 SELECT 1
......
...@@ -492,7 +492,6 @@ ...@@ -492,7 +492,6 @@
<if test="tPaymentInfo.providentPayAddr != null and tPaymentInfo.providentPayAddr.trim() != ''"> <if test="tPaymentInfo.providentPayAddr != null and tPaymentInfo.providentPayAddr.trim() != ''">
AND a.PROVIDENT_PAY_ADDR = #{tPaymentInfo.providentPayAddr} AND a.PROVIDENT_PAY_ADDR = #{tPaymentInfo.providentPayAddr}
</if> </if>
<!-- 区域 默认精准查询 0 包含下级查询 1 开始 2023-03-02 fxj --> <!-- 区域 默认精准查询 0 包含下级查询 1 开始 2023-03-02 fxj -->
<if test='tPaymentInfo.areaFlag == null || tPaymentInfo.areaFlag == "1"'> <if test='tPaymentInfo.areaFlag == null || tPaymentInfo.areaFlag == "1"'>
<if test="tPaymentInfo.socialTown == null"> <if test="tPaymentInfo.socialTown == null">
...@@ -678,6 +677,9 @@ ...@@ -678,6 +677,9 @@
</foreach> </foreach>
</if> </if>
<if test="tPaymentInfo.idList == null"> <if test="tPaymentInfo.idList == null">
<if test="tPaymentInfo.pushStatus != null and tPaymentInfo.pushStatus.trim() != ''">
AND a.PUSH_STATUS = #{tPaymentInfo.pushStatus}
</if>
<if test="tPaymentInfo.id != null and tPaymentInfo.id.trim() != ''"> <if test="tPaymentInfo.id != null and tPaymentInfo.id.trim() != ''">
AND a.ID = #{tPaymentInfo.id} AND a.ID = #{tPaymentInfo.id}
</if> </if>
......
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