Commit 55bed93a authored by huyuchen's avatar huyuchen

Merge remote-tracking branch 'origin/MVP1.6.10' into develop

parents 6e7cc49d aa651dad
......@@ -34,7 +34,7 @@ spec: # 资源规范字段
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
dapr.io/http-max-request-size: "100" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "16" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/http-read-buffer-size: "100" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/sidecar-listen-addresses: "0.0.0.0"
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
......
/*
* 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;
/**
* 系统限制配置表
*
* @author hgw
* @date 2024-09-24 17:39:57
*/
@Data
@TableName("sys_config_limit")
@Schema(description = "系统限制配置表")
public class SysConfigLimit {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@Schema(description = "id")
private String id;
/**
* 限制键
*/
@ExcelAttribute(name = "限制键", isNotEmpty = true, errorInfo = "限制键不能为空", maxLength = 32)
@NotBlank(message = "限制键不能为空")
@Length(max = 32, message = "限制键不能超过32个字符")
@ExcelProperty("限制键")
@Schema(description = "限制键")
private String configKey;
/**
* 限制值
*/
@ExcelAttribute(name = "限制值", isNotEmpty = true, errorInfo = "限制值不能为空")
@NotBlank(message = "限制值不能为空")
@ExcelProperty("限制值")
@Schema(description = "限制值")
private Integer configValue;
/**
* 备注
*/
@ExcelAttribute(name = "备注", maxLength = 255)
@Length(max = 255, message = "备注不能超过255个字符")
@ExcelProperty("备注")
@Schema(description = "备注")
private String remark;
}
......@@ -80,4 +80,15 @@ public class TAttaInfo extends BaseEntity {
@Schema(description = "地址URL")
@TableField(exist = false)
private String attaUrl;
/**
* 附件变更类型:0 新增 1 更新 2 删除 3 不变 档案编辑附件时需要告知后端是增加还是减少
*/
@TableField(exist = false)
private String handleType;
/**
* 其他分租名称
*/
@TableField(exist = false)
private String groupName;
}
......@@ -77,5 +77,10 @@ public class TEmpOtherFile {
// 附件
@TableField(exist = false)
private List<TAttaInfo> attaList;
/**
* 档案编辑其他附件分租信息处理类型 0 新增 1 更新 2 删除 3 不变
*/
@TableField(exist = false)
private String handleType;
}
......@@ -561,4 +561,10 @@ public class TEmployeeInfo extends BaseEntity {
@ExcelAttribute(name = "是否有职业资格证书",isNotEmpty = true,isDataId = true, readConverterExp = "0=是,1=否")
@Schema(description ="是否有职业资格证书:0 是 1 否")
private String haveQualification;
/**
* 其他附件--C段二维码扫码数据
*/
@TableField(exist = false)
private List<TEmpOtherFile> otherFiles;
}
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.util.Date;
/**
* 风险管控统计
*
* @author huych
* @date 2024-09-25 10:01:06
*/
@Data
@TableName("t_risk_monitor")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "风险管控统计")
public class TRiskMonitor extends BaseEntity {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "主键")
private String id;
/**
* 结算主体名称
*/
@ExcelAttribute(name = "项目名称", isNotEmpty = true, errorInfo = "项目名称不能为空", maxLength = 50)
@ExcelProperty("项目名称")
@Schema(description = "项目名称")
private String departName;
/**
* 结算主体编码
*/
@ExcelAttribute(name = "项目编码", isNotEmpty = true, errorInfo = "项目编码不能为空", maxLength = 32)
@NotBlank(message = "项目编码不能为空")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
private String departNo;
/**
* 项目状态:0正常 1停止服务 2 已冻结
*/
@ExcelAttribute(name = "项目状态", isNotEmpty = true, errorInfo = "项目状态不能为空", maxLength = 1)
@NotBlank(message = "项目状态:0正常 1停止服务 2 已冻结不能为空")
@Length(max = 1, message = "项目状态:0正常 1停止服务 2 已冻结不能超过1个字符")
@ExcelProperty("项目状态")
@Schema(description = "项目状态:0正常 1停止服务 2 已冻结")
private String stopFlag;
/**
* 二级指标归属
*/
@ExcelAttribute(name = "二级指标归属", maxLength = 50)
@Length(max = 50, message = "二级指标归属不能超过50个字符")
@ExcelProperty("二级指标归属")
@Schema(description = "二级指标归属")
private String secondIndicatorBelong;
/**
* 是否存在风险 0 是 1否
*/
@ExcelAttribute(name = "是否存在风险", maxLength = 1)
@Length(max = 1, message = "是否存在风险 0 是 1否不能超过1个字符")
@ExcelProperty("是否存在风险")
@Schema(description = "是否存在风险 0 是 1否")
private String isRisk;
/**
* 可能风险点
*/
@ExcelAttribute(name = "可能风险点")
@ExcelProperty("可能风险点")
@Schema(description = "可能风险点")
private String riskType;
/**
* 在项人数
*/
@ExcelAttribute(name = "在项人数")
@ExcelProperty("在项人数")
@Schema(description = "在项人数")
private Integer projectNum;
/**
* 不在项人员有效合同数
*/
@ExcelAttribute(name = "不在项人员有效合同数")
@ExcelProperty("不在项人员有效合同数")
@Schema(description = "不在项人员有效合同数")
private Integer unproContractNum;
/**
* 在项人员有效合同数
*/
@ExcelAttribute(name = "在项人员有效合同数")
@ExcelProperty("在项人员有效合同数")
@Schema(description = "在项人员有效合同数")
private Integer proContractNum;
/**
* 不在项人员有效商险数
*/
@ExcelAttribute(name = "不在项人员有效商险数")
@ExcelProperty("不在项人员有效商险数")
@Schema(description = "不在项人员有效商险数")
private Integer unproInsuranceNum;
/**
* 在项人员有效商险数
*/
@ExcelAttribute(name = "在项人员有效商险数")
@ExcelProperty("在项人员有效商险数")
@Schema(description = "在项人员有效商险数")
private Integer proInsuranceNum;
/**
* 不在项人员有效社保数
*/
@ExcelAttribute(name = "不在项人员有效社保数")
@ExcelProperty("不在项人员有效社保数")
@Schema(description = "不在项人员有效社保数")
private Integer unproSocialNum;
/**
* 在项人员有效社保数
*/
@ExcelAttribute(name = "在项人员有效社保数")
@ExcelProperty("在项人员有效社保数")
@Schema(description = "在项人员有效社保数")
private Integer proSocialNum;
/**
* 不在项人员有效公积金数
*/
@ExcelAttribute(name = "不在项人员有效公积金数")
@ExcelProperty("不在项人员有效公积金数")
@Schema(description = "不在项人员有效公积金数")
private Integer unproFundNum;
/**
* 在项人员有效公积金数
*/
@ExcelAttribute(name = "在项人员有效公积金数")
@ExcelProperty("在项人员有效公积金数")
@Schema(description = "在项人员有效公积金数")
private Integer proFundNum;
/**
* 不在项人员有效发薪数
*/
@ExcelAttribute(name = "不在项人员最后一次发薪人数")
@ExcelProperty("不在项人员最后一次发薪人数")
@Schema(description = "不在项人员最后一次发薪人数")
private Integer unproSalaryNum;
/**
* 在项人员有效发薪数
*/
@ExcelAttribute(name = "在项人员最后一次发薪人数")
@ExcelProperty("在项人员最后一次发薪人数")
@Schema(description = "在项人员最后一次发薪人数")
private Integer proSalaryNum;
/**
* 最后发薪日期
*/
@ExcelAttribute(name = "最后一次发薪日期", isDate = true)
@ExcelProperty("最后一次发薪日期")
@Schema(description = "最后一次发薪日期")
private Date lastSalaryTime;
/**
* 所属客户名称
*/
@ExcelAttribute(name = "客户名称", maxLength = 50)
@Length(max = 50, message = "客户名称不能超过50个字符")
@ExcelProperty("客户名称")
@Schema(description = "客户名称")
private String customerName;
/**
* 所属客户编码
*/
@ExcelAttribute(name = "客户编码", maxLength = 50)
@Length(max = 50, message = "客户编码不能超过50个字符")
@ExcelProperty("客户编码")
@Schema(description = "客户编码")
private String customerNo;
/**
* 业务类型分类
*/
@ExcelAttribute(name = "业务类型", maxLength = 32)
@Length(max = 32, message = "业务类型不能超过32个字符")
@ExcelProperty("业务类型")
@Schema(description = "业务类型")
private String businessPrimaryType;
/**
* 业务类型二级分类
*/
@ExcelAttribute(name = "二级分类", maxLength = 32)
@Length(max = 32, message = "二级分类不能超过32个字符")
@ExcelProperty("二级分类")
@Schema(description = "二级分类")
private String businessSecondType;
/**
* 业务类型三级分类
*/
@ExcelAttribute(name = "三级分类", maxLength = 32)
@Length(max = 32, message = "三级分类不能超过32个字符")
@ExcelProperty("三级分类")
@Schema(description = "三级分类")
private String businessThirdType;
/**
* 条线类型
*/
@ExcelAttribute(name = "条线类型", maxLength = 20)
@Length(max = 20, message = "条线类型不能超过20个字符")
@ExcelProperty("条线类型")
@Schema(description = "条线类型")
private String lineType;
/**
* BU归属
*/
@ExcelAttribute(name = "BU归属", maxLength = 20)
@Length(max = 20, message = "BU归属不能超过20个字符")
@ExcelProperty("BU归属")
@Schema(description = "BU归属")
private String buBelong;
/**
* 是否删除(0否/1是)
*/
@Schema(description = "是否删除(0否/1是)")
private String deleteFlag;
}
......@@ -151,15 +151,15 @@ public class EmployeeInsertVO extends RowIndex implements Serializable {
@ExcelProperty(value = "户口性质")
private String empRegisType;
@ExcelAttribute(name = "档案所在省", isArea = true, isNotEmpty = true, errorInfo = "档案所在省不能为空")
@ExcelAttribute(name = "档案所在省", isArea = true)
@ExcelProperty("档案所在省")
private String fileProvince;
@ExcelAttribute(name = "档案所在市", isArea = true, parentField = "fileProvince", isNotEmpty = true, errorInfo = "档案所在市不能为空")
@ExcelAttribute(name = "档案所在市", isArea = true, parentField = "fileProvince")
@ExcelProperty("档案所在市")
private String fileCity;
@ExcelAttribute(name = "档案所在县", isArea = true, parentField = "fileCity", isNotEmpty = true, errorInfo = "档案所在县不能为空")
@ExcelAttribute(name = "档案所在县", isArea = true, parentField = "fileCity")
@ExcelProperty("档案所在县")
private String fileTown;
......@@ -215,11 +215,34 @@ public class EmployeeInsertVO extends RowIndex implements Serializable {
private String remark;
/**
* 通信地址
* 通信地址
*/
@Schema(description = "通信地址")
@ExcelAttribute(name = "通信地址-省",isArea = true)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "通信地址")
@ExcelProperty("通信地址-省")
private String contactProvince;
/**
* 通信地址市
*/
@ExcelAttribute(name = "通信地址-市",isArea = true,parentField = "contactProvince")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("通信地址-市")
private String contactCity;
/**
* 通信地址县
*/
@ExcelAttribute(name = "通信地址-区/县",isArea = true,parentField = "contactCity")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("通信地址-区/县")
private String contactTown;
/**
* 通信地址-详细地址 fxj 20240911 通信地址 调整为 通信地址-详细地址
*/
@ExcelAttribute(name = "通信地址-详细地址")
@Schema(description = "通信地址-详细地址")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "通信地址-详细地址")
private String contactAddress;
}
......@@ -34,4 +34,18 @@ public class TCompleteMonitorInfoVo implements Serializable {
@Schema(description = "人员档案id")
private String empInfoId;
@Schema(description = "项目编码")
private String deptNo;
/**
* 开始时间(查询专用)
*/
@Schema(description = "进项目时间开始")
private LocalDateTime inTimeStart;
/**
* 截止时间(查询专用)
*/
@Schema(description = "进项目时间结束")
private LocalDateTime inTimeEnd;
}
/*
* 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.TRiskMonitor;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 风险管控统计
*
* @author huych
* @date 2024-09-25 10:01:06
*/
@Data
public class TRiskMonitorSearchVo extends TRiskMonitor {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,id数组")
private List<String> idList;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
}
......@@ -14,10 +14,11 @@ public class EmployeeConstants {
public static final String VALIDITY_END_FORMAT = "身份证截止日期只能为日期格式:yyyy-MM-dd或者固定值:长期";
public static final String EMP_NATIONAL = "民族必填";
public static final String ID_PROVINCE = "户籍所在地必填";
public static final String FILE_PROVINCE = "档案所在地必填";
public static final String FILE_PROVINCE = "档案所在地(省市县)必填";
public static final String CONTACT_PROVINCE = "通信地址(省市县)必填";
public static final String EMP_REGIS_TYPE = "户口性质必填";
public static final String IS_COLLEGE = "是否大专及以上必填";
public static final String CONTACT_ADDRESS = "通信地址必填";
public static final String CONTACT_ADDRESS = "通信地址(详细地址)必填";
public static final String EMP_NATRUE_ZERO = "派遣";
public static final String EMP_NATRUE_ONE = "外包";
public static final String EMP_NATRUE_THREE = "内部员工";
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAttaInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.FileUploadService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TAttaInfoService;
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.OSSUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
......@@ -13,6 +14,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAttaVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
......@@ -61,8 +63,8 @@ public class FileUploadController {
@ApiImplicitParam(name = "domain", value = "实体id(传入就插入对应关系,用于编辑)", required = false, paramType = "form")
})*/
@PostMapping(value = "/ossUploadFile")
public R<FileVo> uploadImg(@RequestBody MultipartFile file, String filePath, Integer type, String domain) throws IOException {
return fileUploadService.uploadImg(file,filePath,type,domain);
public R<T> uploadImg(@RequestBody MultipartFile file, String filePath, Integer type, String domain) throws IOException {
return fileUploadService.uploadAsso(file,filePath,type,domain,CommonConstants.ZERO_STRING);
}
/**
......@@ -79,8 +81,8 @@ public class FileUploadController {
"\t\t\t@ApiImplicitParam(name = \"domain\", value = \"实体id(传入就插入对应关系,用于编辑)\", required = false, paramType = \"form\")\n" +
"\t")
@PostMapping(value = "/uploadFileReturnAtta")
public R<TAttaInfo> uploadFileReturnAtta(@RequestBody MultipartFile file, String filePath, Integer type, String domainId) throws IOException {
return fileUploadService.uploadFileReturnAtta(file,filePath,type,domainId);
public R<T> uploadFileReturnAtta(@RequestBody MultipartFile file, String filePath, Integer type, String domainId) throws IOException {
return fileUploadService.uploadAsso(file,filePath,type,domainId,CommonConstants.ONE_STRING);
}
/**
......
......@@ -70,13 +70,13 @@ public class TCompleteMonitorController {
/**
* 查询人员明细
* @param page 分页对象
* @param deptNo 查询人员明细
* @param completeMonitorInfoVo
* @return
*/
@Operation(description = "根据项目查询人员明细")
@GetMapping("/empPage")
public R<IPage<TCompleteMonitorInfoVo>> getMonitorEmpInfoListPage(Page<TCompleteMonitorInfoVo> page, String deptNo) {
return new R<>(tCompleteMonitorService.getMonitorEmpInfoListPage(page,deptNo));
public R<IPage<TCompleteMonitorInfoVo>> getMonitorEmpInfoListPage(Page<TCompleteMonitorInfoVo> page, TCompleteMonitorInfoVo completeMonitorInfoVo) {
return new R<>(tCompleteMonitorService.getMonitorEmpInfoListPage(page,completeMonitorInfoVo));
}
/**
......
......@@ -142,7 +142,7 @@ public class TEmployeeInfoController {
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
public R<TEmployeeInfo> getById(@PathVariable("id") String id) {
return R.ok(tEmployeeInfoService.getById(id));
return tEmployeeInfoService.getByIdAssociate(id);
}
/**
......@@ -343,8 +343,9 @@ public class TEmployeeInfoController {
@SysLog("批量更新人员档案")
@PostMapping("/batchUpdateEmployee")
@PreAuthorize("@pms.hasPermission('employee_batch_update')")
public R<List<ErrorMessage>> batchUpdateEmployee(@RequestBody MultipartFile file) {
return tEmployeeInfoService.batchUpdateEmployee(file.getInputStream());
public R<List<ErrorMessage>> batchUpdateEmployee(@RequestBody MultipartFile file,
@RequestParam(name = "exportFields", required = true) String[] exportFields) {
return tEmployeeInfoService.batchUpdateEmployee(file.getInputStream(),exportFields);
}
/**
......@@ -531,4 +532,18 @@ public class TEmployeeInfoController {
tEmployeeInfoService.updateEmployeeAgeTask();
}
/**
* @Author fxj
* @Description 人员档案附件信息导出
* @Date 15:15 2024/9/10
* @Param
* @return
**/
@Operation(summary = "导出人员档案附件信息ZIP包", description = "导出人员档案附件信息ZIP包")
@SysLog("导出人员档案附件信息ZIP包")
@PostMapping("/exportEmployeeFile/{id}")
public void exportEmployeeFile(@PathVariable("id") String id, HttpServletResponse response) throws Exception{
tEmployeeInfoService.exportEmployeeFile(id, response);
}
}
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.TRiskMonitor;
import com.yifu.cloud.plus.v1.yifu.archives.service.TRiskMonitorService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TRiskMonitorSearchVo;
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 org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
/**
* 风险管控统计
*
* @author huych
* @date 2024-09-25 10:01:06
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/triskmonitor")
@Tag(name = "风险管控统计管理")
public class TRiskMonitorController {
private final TRiskMonitorService tRiskMonitorService;
/**
* 通过id查询风险管控统计
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('archives_triskmonitor_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('archives_triskmonitor_get')")
public R<TRiskMonitor> getById(@PathVariable("id") String id) {
return R.ok(tRiskMonitorService.getById(id));
}
/**
* 简单分页查询
*
* @param page 分页对象
* @param tRiskMonitor 风险管控统计
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TRiskMonitor>> getTRiskMonitorPage(Page<TRiskMonitor> page, TRiskMonitorSearchVo tRiskMonitor) {
return new R<>(tRiskMonitorService.getTRiskMonitorPage(page, tRiskMonitor));
}
/**
* 新增风险管控统计
*
* @param tRiskMonitor 风险管控统计
* @return R
*/
@Operation(summary = "新增风险管控统计", description = "新增风险管控统计:hasPermission('archives_triskmonitor_add')")
@SysLog("新增风险管控统计")
@PostMapping
@PreAuthorize("@pms.hasPermission('archives_triskmonitor_add')")
public R<Boolean> save(@RequestBody TRiskMonitor tRiskMonitor) {
return R.ok(tRiskMonitorService.save(tRiskMonitor));
}
/**
* 通过id删除风险管控统计
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除风险管控统计", description = "通过id删除风险管控统计:hasPermission('archives_triskmonitor_del')")
@SysLog("通过id删除风险管控统计")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('archives_triskmonitor_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tRiskMonitorService.removeById(id));
}
/**
* 风险管控统计 批量导出
*
* @author huych
* @date 2024-09-25 10:01:06
**/
@Operation(description = "导出风险管控统计 hasPermission('archives_triskmonitor-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('archives_triskmonitor-export')")
public void export(HttpServletResponse response, @RequestBody TRiskMonitorSearchVo searchVo) {
tRiskMonitorService.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.yifu.cloud.plus.v1.yifu.archives.entity.SysConfigLimit;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 系统限制配置表
*
* @author hgw
* @date 2024-09-24 17:39:57
*/
@Mapper
public interface SysConfigLimitMapper extends BaseMapper<SysConfigLimit> {
/**
* 系统限制配置表简单分页查询
*
* @param configKey 键
* @return
*/
Integer getSysConfigLimitByKey(@Param("configKey") String configKey);
}
......@@ -60,10 +60,10 @@ public interface TCompleteMonitorMapper extends BaseMapper<TCompleteMonitor> {
/**
* 查询人员明细
* @param deptNo 项目编码
* @param completeMonitorInfoVo
* @return
*/
IPage<TCompleteMonitorInfoVo> getMonitorEmpInfoList(Page<TCompleteMonitorInfoVo> page,@Param("deptNo") String deptNo);
IPage<TCompleteMonitorInfoVo> getMonitorEmpInfoList(Page<TCompleteMonitorInfoVo> page,@Param("completeMonitorInfoVo") TCompleteMonitorInfoVo completeMonitorInfoVo);
/**
* 获取所有监控数据
......
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.TRiskMonitor;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TRiskMonitorSearchVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 风险管控统计
*
* @author huych
* @date 2024-09-25 10:01:06
*/
@Mapper
public interface TRiskMonitorMapper extends BaseMapper<TRiskMonitor> {
/**
* 风险管控统计简单分页查询
* @param tRiskMonitor 风险管控统计
* @return
*/
IPage<TRiskMonitor> getTRiskMonitorPage(Page<TRiskMonitor> page, @Param("tRiskMonitor") TRiskMonitorSearchVo tRiskMonitor);
/**
* 风险管控统计简单分页查询
* @param tRiskMonitor 风险管控统计
* @return
*/
long getTRiskMonitorExportCount(@Param("tRiskMonitor") TRiskMonitorSearchVo tRiskMonitor);
/**
* 风险管控统计导出查询
* @param tRiskMonitor 风险管控统计
* @return
*/
List<TRiskMonitor> getRiskMonitorExportList(@Param("tRiskMonitor") TRiskMonitorSearchVo tRiskMonitor);
}
......@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAttaInfo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.FileVo;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
......@@ -20,4 +21,6 @@ public interface FileUploadService {
R<TAttaInfo> uploadFileReturnAtta(MultipartFile file, String filePath, Integer type, String domainId) throws IOException;
R<FileVo> createQrCode(String domainId, String url, String name);
R<T> uploadAsso(MultipartFile file, String filePath, Integer type, String domain, String uploadType);
}
......@@ -55,10 +55,10 @@ public interface TCompleteMonitorService extends IService<TCompleteMonitor> {
/**
* 档案完整度监控简单分页查询
* @param deptNo 项目编码
* @param completeMonitorInfoVo
* @return
*/
IPage<TCompleteMonitorInfoVo> getMonitorEmpInfoListPage(Page<TCompleteMonitorInfoVo> page, String deptNo);
IPage<TCompleteMonitorInfoVo> getMonitorEmpInfoListPage(Page<TCompleteMonitorInfoVo> page, TCompleteMonitorInfoVo completeMonitorInfoVo);
// 导出全量
void exportAll(HttpServletResponse response, TCompleteMonitorSearchVo searchVo);
......
......@@ -92,13 +92,13 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> {
R<String> addNewEmployee(TEmployeeInfo employeeInfo);
/**
* @param employeeInfo
* @param tEmployeeInfo
* @Description: 更新档案信息
* @Author: hgw
* @Date: 2022/6/21 19:29
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Boolean>
**/
R<Boolean> updateEmployee(TEmployeeInfo employeeInfo);
R<Boolean> updateEmployee(TEmployeeInfo tEmployeeInfo);
/**
* @param id
......@@ -167,7 +167,7 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> {
* @Date: 2022/6/22 20:30
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.util.List < com.pig4cloud.plugin.excel.vo.ErrorMessage>>
**/
R<List<ErrorMessage>> batchUpdateEmployee(InputStream inputStream);
R<List<ErrorMessage>> batchUpdateEmployee(InputStream inputStream,String[] exportFields);
void updateEducationOfEmp(EmpEducationUpdateVO education);
......@@ -256,4 +256,8 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> {
void updateEmployeeAgeTask();
IPage<TEmployeeInfo> getPageAsso(Page<TEmployeeInfo> page, TEmployeeInfo tEmployeeInfo);
R<TEmployeeInfo> getByIdAssociate(String id);
void exportEmployeeFile(String id, HttpServletResponse response) throws Exception;
}
/*
* 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.TRiskMonitor;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TRiskMonitorSearchVo;
import javax.servlet.http.HttpServletResponse;
/**
* 风险管控统计
*
* @author huych
* @date 2024-09-25 10:01:06
*/
public interface TRiskMonitorService extends IService<TRiskMonitor> {
/**
* 风险管控统计简单分页查询
* @param tRiskMonitor 风险管控统计
* @return
*/
IPage<TRiskMonitor> getTRiskMonitorPage(Page<TRiskMonitor> page, TRiskMonitorSearchVo tRiskMonitor);
/**
* 风险管控统计导出
* @param searchVo 风险管控统计
* @return
*/
void listExport(HttpServletResponse response, TRiskMonitorSearchVo searchVo);
}
......@@ -2,10 +2,12 @@ package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAttaInfo;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.SysConfigLimitMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.FileUploadService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TAttaInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.utils.QrCodeUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.OSSUtil;
......@@ -26,6 +28,7 @@ import java.time.LocalDateTime;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
@Service
@RequiredArgsConstructor
......@@ -38,6 +41,12 @@ public class FileUploadServiceImpl implements FileUploadService {
private final QrCodeUtil codeUtil;
private AtomicInteger atomicInteger = new AtomicInteger(0);
//初始化附件上传队列上限值
private int maxLimit = 1;
private final SysConfigLimitMapper configLimitMapper;
@Override
public R<TAttaInfo> uploadFileReturnAtta(MultipartFile file, String filePath, Integer type, String domainId) throws IOException {
if (null == file) {
......@@ -239,4 +248,39 @@ public class FileUploadServiceImpl implements FileUploadService {
}
}
}
/**
* @Author fxj
* @Description 整合接口
* @Date 15:24 2024/9/24
* @Param
* @return
**/
@Override
public R uploadAsso(MultipartFile file, String filePath, Integer type, String domain, String uploadType){
return getR(file, filePath, type, domain, uploadType);
}
public R getR(MultipartFile file, String filePath, Integer type, String domain, String uploadType) {
maxLimit = configLimitMapper.getSysConfigLimitByKey("UPLOAD_MAX_LIMIT");
if (atomicInteger.incrementAndGet() <= maxLimit){
try {
if (CommonConstants.ZERO_STRING.equals(uploadType)){
return uploadImg(file, filePath, type, domain);
}else if (CommonConstants.ONE_STRING.equals(uploadType)){
return uploadFileReturnAtta(file, filePath, type, domain);
}
}catch (Exception e){
log.error("附件上传异常:",e);
}finally {
atomicInteger.decrementAndGet();
}
}else {
atomicInteger.decrementAndGet();
log.error("超出阈值:"+ResultConstants.FILE_UPLOADING_DATA);
return R.failed(ResultConstants.FILE_UPLOADING_DATA);
}
return null;
}
}
\ No newline at end of file
......@@ -180,12 +180,12 @@ public class TCompleteMonitorServiceImpl extends ServiceImpl<TCompleteMonitorMap
/**
* 档案完整度监控简单分页查询
* @param deptNo 项目编码
* @param completeMonitorInfoVo
* @return
*/
@Override
public IPage<TCompleteMonitorInfoVo> getMonitorEmpInfoListPage(Page<TCompleteMonitorInfoVo> page, String deptNo){
return baseMapper.getMonitorEmpInfoList(page,deptNo);
public IPage<TCompleteMonitorInfoVo> getMonitorEmpInfoListPage(Page<TCompleteMonitorInfoVo> page, TCompleteMonitorInfoVo completeMonitorInfoVo){
return baseMapper.getMonitorEmpInfoList(page,completeMonitorInfoVo);
}
@Override
......
......@@ -1447,7 +1447,6 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
employee.setEmpPhone(vo.getMobile());
}
if(Common.isEmpty(vo.getFlag())){
employee.setIsCollege(CommonConstants.ONE_INT);
if (Common.isNotNull(vo.getHighEducation())) {
employee.setHignEducation(vo.getHighEducation());
if ("5".equals(employee.getHignEducation())
......
package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TRiskMonitor;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TRiskMonitorMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TRiskMonitorService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TRiskMonitorSearchVo;
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.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ExcelUtil;
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.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* 风险管控统计
*
* @author huych
* @date 2024-09-25 10:01:06
*/
@Log4j2
@Service
public class TRiskMonitorServiceImpl extends ServiceImpl<TRiskMonitorMapper, TRiskMonitor> implements TRiskMonitorService {
/**
* 风险管控统计简单分页查询
*
* @param tRiskMonitor 风险管控统计
* @return
*/
@Override
public IPage<TRiskMonitor> getTRiskMonitorPage(Page<TRiskMonitor> page, TRiskMonitorSearchVo tRiskMonitor) {
return baseMapper.getTRiskMonitorPage(page, tRiskMonitor);
}
/**
* 风险管控统计批量导出
*
* @param searchVo 风险管控统计
* @return
*/
@Override
public void listExport(HttpServletResponse response, TRiskMonitorSearchVo searchVo) {
String fileName = "风险管控统计批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TRiskMonitor> list = new ArrayList<>();
long count = baseMapper.getTRiskMonitorExportCount(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,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcel.write(out, TRiskMonitor.class).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.getRiskMonitorExportList(searchVo);
if (Common.isNotNull(list)) {
ExcelUtil<TRiskMonitor> util = new ExcelUtil<>(TRiskMonitor.class);
for (TRiskMonitor vo : list) {
util.convertEntity(vo, null, null, null);
}
}
if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcel.writerSheet("运营风险管控" + index).build();
excelWriter.write(list, writeSheet);
index++;
}
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);
}
}
}
}
<?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.SysConfigLimitMapper">
<resultMap id="sysConfigLimitMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.SysConfigLimit">
<id property="id" column="ID"/>
<result property="configKey" column="CONFIG_KEY"/>
<result property="configValue" column="CONFIG_VALUE"/>
<result property="remark" column="REMARK"/>
</resultMap>
<!-- 根据key获取value -->
<select id="getSysConfigLimitByKey" resultType="java.lang.Integer">
SELECT a.CONFIG_VALUE
FROM sys_config_limit a
where a.CONFIG_KEY = #{configKey} limit 1
</select>
</mapper>
......@@ -150,7 +150,30 @@
from
t_employee_project a
left join t_employee_info b on a.EMP_ID = b.id
where a.DELETE_FLAG = '0' and a.project_status = 0 and a.dept_no = #{deptNo} order by a.CREATE_TIME desc
where a.DELETE_FLAG = '0'
and a.project_status = 0
<if test="completeMonitorInfoVo.deptNo != null and completeMonitorInfoVo.deptNo.trim() != ''">
and a.dept_no = #{completeMonitorInfoVo.deptNo}
</if>
<if test="completeMonitorInfoVo.empName != null and completeMonitorInfoVo.empName.trim() != ''">
and a.EMP_NAME = #{completeMonitorInfoVo.empName}
</if>
<if test="completeMonitorInfoVo.phone != null and completeMonitorInfoVo.phone.trim() != ''">
and b.EMP_PHONE = #{completeMonitorInfoVo.phone}
</if>
<if test="completeMonitorInfoVo.empIdCard != null and completeMonitorInfoVo.empIdCard.trim() != ''">
and a.EMP_IDCARD = #{completeMonitorInfoVo.empIdCard}
</if>
<if test="completeMonitorInfoVo.isComplete != null and completeMonitorInfoVo.isComplete.trim() != ''">
and a.IS_COMPLETE = #{completeMonitorInfoVo.isComplete}
</if>
<if test="completeMonitorInfoVo.inTimeStart != null">
AND a.CREATE_TIME <![CDATA[ >= ]]> #{completeMonitorInfoVo.inTimeStart}
</if>
<if test="completeMonitorInfoVo.inTimeEnd != null">
AND a.CREATE_TIME <![CDATA[ <= ]]> #{completeMonitorInfoVo.inTimeEnd}
</if>
order by a.CREATE_TIME desc
</select>
<!--生成数据封装-->
......
......@@ -1201,7 +1201,7 @@
<if test="tEmployeeInfo.major != null">MAJOR=#{tEmployeeInfo.major},</if>
<if test="tEmployeeInfo.gradutionDate != null">GRADUTION_DATE=#{tEmployeeInfo.gradutionDate},</if>
<if test="tEmployeeInfo.contactAddress != null">CONTACT_ADDRESS=#{tEmployeeInfo.contactAddress},</if>
<if test="tEmployeeInfo.isCollege != null">IS_COLLEGE='1',</if>
<if test="tEmployeeInfo.isCollege != null">IS_COLLEGE=#{tEmployeeInfo.isCollege},</if>
<if test="tEmployeeInfo.fileProvince != null">a.FILE_PROVINCE=#{tEmployeeInfo.fileProvince},</if>
<if test="tEmployeeInfo.fileCity != null">a.FILE_CITY=#{tEmployeeInfo.fileCity},</if>
<if test="tEmployeeInfo.fileCity != null">
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TRiskMonitorMapper">
<resultMap id="tRiskMonitorMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TRiskMonitor">
<id property="id" column="ID"/>
<result property="departNo" column="DEPART_NO"/>
<result property="departName" column="DEPART_NAME"/>
<result property="stopFlag" column="STOP_FLAG"/>
<result property="businessPrimaryType" column="BUSINESS_PRIMARY_TYPE"/>
<result property="businessSecondType" column="BUSINESS_SECOND_TYPE"/>
<result property="businessThirdType" column="BUSINESS_THIRD_TYPE"/>
<result property="customerName" column="CUSTOMER_NAME"/>
<result property="customerNo" column="CUSTOMER_NO"/>
<result property="secondIndicatorBelong" column="SECOND_INDICATOR_BELONG"/>
<result property="lineType" column="LINE_TYPE"/>
<result property="buBelong" column="BU_BELONG"/>
<result property="isRisk" column="IS_RISK"/>
<result property="riskType" column="RISK_TYPE"/>
<result property="projectNum" column="PROJECT_NUM"/>
<result property="unproContractNum" column="UNPRO_CONTRACT_NUM"/>
<result property="proContractNum" column="PRO_CONTRACT_NUM"/>
<result property="unproInsuranceNum" column="UNPRO_INSURANCE_NUM"/>
<result property="proInsuranceNum" column="PRO_INSURANCE_NUM"/>
<result property="unproSocialNum" column="UNPRO_SOCIAL_NUM"/>
<result property="proSocialNum" column="PRO_SOCIAL_NUM"/>
<result property="unproFundNum" column="UNPRO_FUND_NUM"/>
<result property="proFundNum" column="PRO_FUND_NUM"/>
<result property="unproSalaryNum" column="UNPRO_SALARY_NUM"/>
<result property="proSalaryNum" column="PRO_SALARY_NUM"/>
<result property="lastSalaryTime" column="LAST_SALARY_TIME"/>
<result property="deleteFlag" column="DELETE_FLAG"/>
<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"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.DEPART_NO,
a.DEPART_NAME,
a.STOP_FLAG,
a.BUSINESS_PRIMARY_TYPE,
a.BUSINESS_SECOND_TYPE,
a.BUSINESS_THIRD_TYPE,
a.CUSTOMER_NAME,
a.CUSTOMER_NO,
a.SECOND_INDICATOR_BELONG,
a.LINE_TYPE,
a.BU_BELONG,
a.IS_RISK,
a.RISK_TYPE,
a.PROJECT_NUM,
a.UNPRO_CONTRACT_NUM,
a.PRO_CONTRACT_NUM,
a.UNPRO_INSURANCE_NUM,
a.PRO_INSURANCE_NUM,
a.UNPRO_SOCIAL_NUM,
a.PRO_SOCIAL_NUM,
a.UNPRO_FUND_NUM,
a.PRO_FUND_NUM,
a.UNPRO_SALARY_NUM,
a.PRO_SALARY_NUM,
a.LAST_SALARY_TIME,
a.DELETE_FLAG,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
</sql>
<sql id="tRiskMonitor_where">
<if test="tRiskMonitor != null">
<if test="idList != null">
AND a.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
<if test="tRiskMonitor.id != null and tRiskMonitor.id.trim() != ''">
AND a.ID = #{tRiskMonitor.id}
</if>
<if test="tRiskMonitor.departNo != null and tRiskMonitor.departNo.trim() != ''">
AND a.DEPART_NO = #{tRiskMonitor.departNo}
</if>
<if test="tRiskMonitor.departName != null and tRiskMonitor.departName.trim() != ''">
AND a.DEPART_NAME like concat('%',#{tRiskMonitor.departName},'%')
</if>
<if test="tRiskMonitor.stopFlag != null and tRiskMonitor.stopFlag.trim() != ''">
AND a.STOP_FLAG = #{tRiskMonitor.stopFlag}
</if>
<if test="tRiskMonitor.businessPrimaryType != null and tRiskMonitor.businessPrimaryType.trim() != ''">
AND a.BUSINESS_PRIMARY_TYPE = #{tRiskMonitor.businessPrimaryType}
</if>
<if test="tRiskMonitor.businessSecondType != null and tRiskMonitor.businessSecondType.trim() != ''">
AND a.BUSINESS_SECOND_TYPE = #{tRiskMonitor.businessSecondType}
</if>
<if test="tRiskMonitor.businessThirdType != null and tRiskMonitor.businessThirdType.trim() != ''">
AND a.BUSINESS_THIRD_TYPE = #{tRiskMonitor.businessThirdType}
</if>
<if test="tRiskMonitor.customerName != null and tRiskMonitor.customerName.trim() != ''">
AND a.CUSTOMER_NAME = #{tRiskMonitor.customerName}
</if>
<if test="tRiskMonitor.customerNo != null and tRiskMonitor.customerNo.trim() != ''">
AND a.CUSTOMER_NO = #{tRiskMonitor.customerNo}
</if>
<if test="tRiskMonitor.secondIndicatorBelong != null and tRiskMonitor.secondIndicatorBelong.trim() != ''">
AND a.SECOND_INDICATOR_BELONG like concat('%',#{tRiskMonitor.secondIndicatorBelong},'%')
</if>
<if test="tRiskMonitor.lineType != null and tRiskMonitor.lineType.trim() != ''">
AND a.LINE_TYPE = #{tRiskMonitor.lineType}
</if>
<if test="tRiskMonitor.buBelong != null and tRiskMonitor.buBelong.trim() != ''">
AND a.BU_BELONG = #{tRiskMonitor.buBelong}
</if>
<if test="tRiskMonitor.isRisk != null and tRiskMonitor.isRisk.trim() != ''">
AND a.IS_RISK = #{tRiskMonitor.isRisk}
</if>
<if test="tRiskMonitor.riskType != null and tRiskMonitor.riskType.trim() != ''">
AND a.RISK_TYPE regexp #{tRiskMonitor.riskType}
</if>
</if>
</sql>
<!--tRiskMonitor简单分页查询-->
<select id="getTRiskMonitorPage" resultMap="tRiskMonitorMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_risk_monitor a
<where>
a.DELETE_FLAG = '0'
<include refid="tRiskMonitor_where"/>
</where>
</select>
<select id="getTRiskMonitorExportCount" resultType="java.lang.Long">
SELECT
count(1)
FROM t_risk_monitor a
<where>
a.DELETE_FLAG = '0'
<include refid="tRiskMonitor_where"/>
</where>
</select>
<!--tRiskMonitor导出查询-->
<select id="getRiskMonitorExportList" resultMap="tRiskMonitorMap">
SELECT
a.DEPART_NAME,
a.DEPART_NO,
CASE WHEN a.STOP_FLAG=0 THEN "正常"
WHEN a.STOP_FLAG =1 THEN "停止合作"
WHEN a.STOP_FLAG =2 THEN "已冻结"
ELSE a.STOP_FLAG END as STOP_FLAG,
a.SECOND_INDICATOR_BELONG,
CASE WHEN a.IS_RISK=0 THEN "是"
WHEN a.IS_RISK =1 THEN "否"
ELSE a.IS_RISK END as IS_RISK,
a.RISK_TYPE,
a.PROJECT_NUM,
a.UNPRO_CONTRACT_NUM,
a.PRO_CONTRACT_NUM,
a.UNPRO_INSURANCE_NUM,
a.PRO_INSURANCE_NUM,
a.UNPRO_SOCIAL_NUM,
a.PRO_SOCIAL_NUM,
a.UNPRO_FUND_NUM,
a.PRO_FUND_NUM,
a.UNPRO_SALARY_NUM,
a.PRO_SALARY_NUM,
a.LAST_SALARY_TIME,
a.CUSTOMER_NAME,
a.CUSTOMER_NO,
a.BUSINESS_PRIMARY_TYPE,
a.BUSINESS_SECOND_TYPE,
a.BUSINESS_THIRD_TYPE,
a.LINE_TYPE,
a.BU_BELONG
FROM t_risk_monitor a
<where>
a.DELETE_FLAG = '0'
<include refid="tRiskMonitor_where"/>
</where>
</select>
</mapper>
......@@ -17,6 +17,9 @@
package com.yifu.cloud.plus.v1.yifu.common.core.constant;
import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @author lengleng
......@@ -146,6 +149,16 @@ public interface CommonConstants {
String SIXTEEN_STRING = "16";
String TWENTY_TWO_STRING = "22";
String TWENTY_THREE_STRING = "23";
String TWENTY_FOUR_STRING = "24";
String TWENTY_FIVE_STRING = "25";
String TWENTY_SEVEN_STRING = "27";
public static final String DEFAULT_PASSWORD = "123456";
/**
......@@ -507,7 +520,7 @@ public interface CommonConstants {
public static final String TWENTY_STRING = "20";
public static final int TWENTY_ONE_STRING = 21;
public static final String TWENTY_ONE_STRING = "21";
public static final String ERROR_MSG_PRFIX = "error=";
......@@ -612,4 +625,8 @@ public interface CommonConstants {
Integer TEN_INTEGER = 10;
Integer ELEVEN_INTEGER =11;
List<String> socialStatus = Stream.of("3","4","6","7","9","11","12").collect(Collectors.toList());
List<String> socialInfoStatus = Stream.of("1","3","5","7").collect(Collectors.toList());
}
......@@ -23,4 +23,5 @@ public class ResultConstants {
public static final String NO_GETLOCK_DATA_SEARCH = "多用户同时请求中,请稍后重试!";
public static final String NO_ID = "操作失败,id不能为空!";
public static final String FILE_UPLOADING_DATA = "附件排队上传中,请稍后重试!";
}
......@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
**/
@Data
@Component
@PropertySource("classpath:ekpFundConfig.properties")
@PropertySource("classpath:ekpFundConfig-${spring.profiles.active}.properties")
@ConfigurationProperties(value = "ekpfund", ignoreInvalidFields = false)
public class EkpFundProperties {
......
......@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
**/
@Data
@Component
@PropertySource("classpath:ekpIncomeConfig.properties")
@PropertySource("classpath:ekpIncomeConfig-${spring.profiles.active}.properties")
@ConfigurationProperties(value = "income", ignoreInvalidFields = false)
public class EkpIncomeProperties {
......
......@@ -12,7 +12,7 @@ import org.springframework.stereotype.Component;
*/
@Data
@Component
@PropertySource("classpath:ekpInsuranceConfig.properties")
@PropertySource("classpath:ekpInsuranceConfig-${spring.profiles.active}.properties")
@ConfigurationProperties(value = "insurance",ignoreInvalidFields = false)
public class EkpInsuranceProperties {
......
......@@ -12,7 +12,7 @@ import org.springframework.stereotype.Component;
*/
@Data
@Component
@PropertySource("classpath:ekpOrderConfig.properties")
@PropertySource("classpath:ekpOrderConfig-${spring.profiles.active}.properties")
@ConfigurationProperties(value = "ekporder",ignoreInvalidFields = false)
public class EkpOrderProperties {
......
......@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
**/
@Data
@Component
@PropertySource("classpath:ekpSalaryConfig.properties")
@PropertySource("classpath:ekpSalaryConfig-${spring.profiles.active}.properties")
@ConfigurationProperties(value = "ekp", ignoreInvalidFields = false)
public class EkpSalaryProperties {
......
......@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
**/
@Data
@Component
@PropertySource("classpath:ekpSocialConfig.properties")
@PropertySource("classpath:ekpSocialConfig-${spring.profiles.active}.properties")
@ConfigurationProperties(value = "ekpsocial", ignoreInvalidFields = false)
public class EkpSocialProperties {
......
#ekpfund.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
ekpfund.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
ekpfund.fdModelId=181d741547a691aa68b16149a40de901
ekpfund.fdFlowId=18290af372be55308327273487abf72a
ekpfund.docStatus=20
ekpfund.LoginName=admin
ekpfund.docSubject=\u516C\u79EF\u91D1\u660E\u7EC6\u6570\u636E\u63A5\u53E3
#ekpfund.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
ekpfund.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
ekpfund.fdModelId=181d741547a691aa68b16149a40de901
ekpfund.fdFlowId=18290af372be55308327273487abf72a
ekpfund.docStatus=20
ekpfund.LoginName=admin
ekpfund.docSubject=\u516C\u79EF\u91D1\u660E\u7EC6\u6570\u636E\u63A5\u53E3
#income.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
income.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
income.fdModelIdManage=181d76db26e419a88dba97b0c406689e
income.fdFlowIdManage=182d3b6e522b2690119e70d4ff082136
income.fdModelIdRisk=181d76db26e4112e14b9bb4274d06ba1
income.fdFlowIdRisk=182d3bdadab3a52be024e154e99b5f8b
income.docStatus=20
income.loginName=admin
income.docSubject=\u6536\u5165\u660E\u7EC6\u6570\u636E\u63A5\u53E3
#income.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
income.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
income.fdModelIdManage=181d76db26e419a88dba97b0c406689e
income.fdFlowIdManage=182d3b6e522b2690119e70d4ff082136
income.fdModelIdRisk=181d76db26e4112e14b9bb4274d06ba1
income.fdFlowIdRisk=182d3bdadab3a52be024e154e99b5f8b
income.docStatus=20
income.loginName=admin
income.docSubject=\u6536\u5165\u660E\u7EC6\u6570\u636E\u63A5\u53E3
#insurance.insuranceUrl=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
insurance.insuranceUrl=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
insurance.insuranceFdModelId=181d73279372e5a55438a47d7436ab7e
insurance.insuranceFdFlowId=18267f206233f29cbd3c5ee425c9408a
insurance.insuranceDocStatus=20
insurance.insuranceLoginName=admin
insurance.insuranceDocSubject=\u5546\u9669\u63A8\u9001ekp\u63A5\u53E3
insurance.insuranceUpdateDocSubject=\u5546\u9669\u63A8\u9001ekp\u4FEE\u6539\u63A5\u53E3
insurance.insuranceUpdateFdModelId=1850410ac0201ed20e5f09b46b0b109c
insurance.insuranceUpdateFdFlowId=185189155a87e1d4739d82b4d3c80358
#insurance.insuranceUrl=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
insurance.insuranceUrl=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
insurance.insuranceFdModelId=181d73279372e5a55438a47d7436ab7e
insurance.insuranceFdFlowId=18267f206233f29cbd3c5ee425c9408a
insurance.insuranceDocStatus=20
insurance.insuranceLoginName=admin
insurance.insuranceDocSubject=\u5546\u9669\u63A8\u9001ekp\u63A5\u53E3
insurance.insuranceUpdateDocSubject=\u5546\u9669\u63A8\u9001ekp\u4FEE\u6539\u63A5\u53E3
insurance.insuranceUpdateFdModelId=1850410ac0201ed20e5f09b46b0b109c
insurance.insuranceUpdateFdFlowId=185189155a87e1d4739d82b4d3c80358
#ekporder.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
ekporder.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
ekporder.orderFdModelId=182f1b7ffe2e96f975564e44e559847d
ekporder.orderFdFlowId=182f1c098ce991ca96bc927408792beb
ekporder.replyFdModelId=182f1bb35bb2156fb9a02904bc88dd8a
ekporder.replyFdFlowId=182f1c3d6f5724e335b88d544be8c993
ekporder.replyAttachKey=fd_3ac904c9342fe2
ekporder.docStatus=20
ekporder.LoginName=admin
ekporder.orderDocSubject=\u7528\u4E8E\u9879\u76EE\u8BA2\u5355\u66F4\u65B0\u63A5\u53E3
ekporder.replyDocSubject=\u7528\u4E8E\u8BA2\u5355\u56DE\u590D\u63A5\u53E3
#ekporder.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
ekporder.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
ekporder.orderFdModelId=182f1b7ffe2e96f975564e44e559847d
ekporder.orderFdFlowId=182f1c098ce991ca96bc927408792beb
ekporder.replyFdModelId=182f1bb35bb2156fb9a02904bc88dd8a
ekporder.replyFdFlowId=182f1c3d6f5724e335b88d544be8c993
ekporder.replyAttachKey=fd_3ac904c9342fe2
ekporder.docStatus=20
ekporder.LoginName=admin
ekporder.orderDocSubject=\u7528\u4E8E\u9879\u76EE\u8BA2\u5355\u66F4\u65B0\u63A5\u53E3
ekporder.replyDocSubject=\u7528\u4E8E\u8BA2\u5355\u56DE\u590D\u63A5\u53E3
#ekp.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
ekp.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
ekp.fdModelId=181d7633ff8bc797276d0d3a54e80ad6
ekp.fdFlowId=182b40249c1bc940d7226b941c7a4183
ekp.docStatus=20
ekp.loginName=admin
ekp.docSubject=\u85AA\u8D44\u8BA2\u5355\u660E\u7EC6\u6570\u636E\u63A5\u53E3
ekp.standardFdModelId=184326e4b122e5fa3068628470285b71
ekp.standardFdFlowId=1843272d8103adae6d332a54bce88255
ekp.backSalaryFdModelId=18433d5df69433ea9073400476c9cb8b
ekp.backSalaryFdFlowId=18433d7d9f83e800bd292984488ac770
\ No newline at end of file
#ekp.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
ekp.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
ekp.fdModelId=181d7633ff8bc797276d0d3a54e80ad6
ekp.fdFlowId=182b40249c1bc940d7226b941c7a4183
ekp.docStatus=20
ekp.loginName=admin
ekp.docSubject=\u85AA\u8D44\u8BA2\u5355\u660E\u7EC6\u6570\u636E\u63A5\u53E3
ekp.standardFdModelId=184326e4b122e5fa3068628470285b71
ekp.standardFdFlowId=1843272d8103adae6d332a54bce88255
ekp.backSalaryFdModelId=18433d5df69433ea9073400476c9cb8b
ekp.backSalaryFdFlowId=18433d7d9f83e800bd292984488ac770
\ No newline at end of file
ekpsocial.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
#ekpsocial.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
ekpsocial.fdModelId=181d741547a69ba9dbc12377948e98fd
ekpsocial.fdFlowId=18233028fe91511376b00f74b3a8f3a7
ekpsocial.docStatus=20
ekpsocial.LoginName=admin
ekpsocial.docSubject=\u793E\u4FDD\u660E\u7EC6\u6570\u636E\u63A5\u53E3
ekpsocial.url=http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
#ekpsocial.url=http://192.168.0.228:8080/api/sys-modeling/appModelRestService/addModel
ekpsocial.fdModelId=181d741547a69ba9dbc12377948e98fd
ekpsocial.fdFlowId=18233028fe91511376b00f74b3a8f3a7
ekpsocial.docStatus=20
ekpsocial.LoginName=admin
ekpsocial.docSubject=\u793E\u4FDD\u660E\u7EC6\u6570\u636E\u63A5\u53E3
......@@ -140,8 +140,9 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
bizContent.setLanguage("zh_CN");
String fSeqNo = "AHWX" + System.currentTimeMillis();
bizContent.setfSeqno(fSeqNo);
bizContent.setAccountNo("1302010109024596014");
bizContent.setBeginDate(DateUtil.getThisDay());
bizContent.setAccountNo("1302015209250019444");
bizContent.setBeginDate(DateUtil.addDay(-10).replace("-",""));
bizContent.setEndDate(DateUtil.getThisDay());
bizContent.setDrcrf("2");
request.setServiceUrl(icbcConfigProperties.getServerUrl());
request.setBizContent(bizContent);
......
......@@ -7932,6 +7932,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (Common.isNotNull(idstr)){
searchVo.setIdList(Common.getList(idstr));
}
YifuUser user = SecurityUtils.getUser();
if ("许瑞玲".equals(user.getNickname()) || "1".equals(user.getId())) {
searchVo.setCreateBy(null);
} else {
searchVo.setCreateBy(user.getId());
}
long count = noPageCountDiy(searchVo);
ServletOutputStream out = null;
try {
......@@ -8040,7 +8046,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
@Override
public R<Integer> getUserInsuranceMessageWarnCount(String userName) {
InsuranceSearchVo searchVo = new InsuranceSearchVo();
searchVo.setCreateName(userName);
searchVo.setCreateBy(SecurityUtils.getUser().getId());
searchVo.setExpireIgnoreFlag(CommonConstants.ONE_STRING);
return R.ok(baseMapper.noPageCountDiy(searchVo));
}
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceWarnMapper">
<resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceAlert">
......@@ -77,7 +77,7 @@
a.DIE_DISABLE_QUOTA,
a.DEPT_ID,
a.POLICY_NO,
if(a.POLICY_END >= curdate(),0,1) IS_OVERDUE,
IF( a.POLICY_END >= curdate(), 0, 1 ) IS_OVERDUE,
a.REMARK,
a.CREATE_BY,
a.DELETE_FLAG,
......@@ -89,10 +89,11 @@
a.CREATE_USER_DEPT_NAME
FROM
t_insurance_detail a
WHERE
a.id IN (
INNER JOIN (
SELECT
l.id
h.endTime,
max( l.POLICY_START ) POLICY_START,
l.EMP_IDCARD_NO
FROM
(
SELECT
......@@ -101,8 +102,10 @@
FROM
t_insurance_detail b
WHERE
b.POLICY_START >= date_sub( date_add( curdate(), INTERVAL 1 DAY ), INTERVAL 1 YEAR )
b.POLICY_START BETWEEN date_sub( date_add( curdate(), INTERVAL 1 DAY ), INTERVAL 1 YEAR )
AND curdate()
AND b.IS_EFFECT = 0
AND b.DELETE_FLAG = '0'
AND NOT EXISTS (
SELECT
1
......@@ -111,6 +114,7 @@
WHERE
ea.POLICY_START >= date_sub( date_add( curdate(), INTERVAL 1 DAY ), INTERVAL 1 YEAR )
AND ea.IS_EFFECT = 0
AND ea.DELETE_FLAG = '0'
AND ea.POLICY_END >= date_add( curdate(), INTERVAL 1 MONTH )
AND ea.EMP_IDCARD_NO = b.EMP_IDCARD_NO
AND ea.INSURANCE_COMPANY_NAME = b.INSURANCE_COMPANY_NAME
......@@ -122,9 +126,20 @@
b.INSURANCE_TYPE_NAME
) h
INNER JOIN t_insurance_detail l ON h.EMP_IDCARD_NO = l.EMP_IDCARD_NO
AND l.DELETE_FLAG = '0'
AND h.endTime = l.POLICY_END
AND l.POLICY_START BETWEEN date_sub( date_add( curdate(), INTERVAL 1 DAY ), INTERVAL 1 YEAR )
AND curdate()
WHERE
l.EXPIRE_IGNORE_FLAG = '1'
)
GROUP BY
l.EMP_IDCARD_NO,
l.INSURANCE_COMPANY_NAME,
l.INSURANCE_TYPE_NAME,
l.POLICY_END
) ll ON ll.EMP_IDCARD_NO = a.EMP_IDCARD_NO
AND ll.POLICY_START = a.POLICY_START
AND ll.endTime = a.POLICY_END
where a.DELETE_FLAG = '0'
</select>
</mapper>
......@@ -490,6 +490,14 @@ public class TSalaryStandard extends BaseEntity {
@ExcelProperty("新员工是否更新:0否;1是")
private String newEmpUpdateFlag;
/**
* 是否固定列,1是,默认,0否
*/
@ExcelAttribute(name = "是否固定列")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否固定列")
private Integer isFixedColumn;
/**
* 工资月份-起
*/
......
......@@ -135,6 +135,14 @@ public class TSalaryStandardOriginal extends BaseEntity {
@ExcelProperty("数据所在行")
private Integer dateNum;
/**
* 是否固定列,1是,默认,0否
*/
@ExcelAttribute(name = "是否固定列")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否固定列")
private Integer isFixedColumn;
/**
* 明细
*/
......
......@@ -56,6 +56,22 @@ public class TSalaryStandardOriginalDetail {
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "原表表头")
private String excelName;
/**
* 原表计算规则,默认空为 等于,可选包含
*/
@Length(max = 50, message = "原表计算规则不能超过50个字符")
@ExcelAttribute(name = "原表计算规则", maxLength = 50)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "原表计算规则")
private String excelRule;
/**
* 原表表头关键字
*/
@Length(max = 50, message = "原表表头关键字不能超过50个字符")
@ExcelAttribute(name = "原表表头关键字", maxLength = 50)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "原表表头关键字")
private String excelKey;
/**
* 模板表头
*/
......
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes;
import lombok.Getter;
import lombok.Setter;
......@@ -47,4 +48,7 @@ public class SalaryUploadOriginalParamVo {
// 新员工是否更新:0否;1是
String newEmpUpdateFlag;
// @ExcelProperty("是否固定列")
Integer isFixedColumn;
}
......@@ -53,4 +53,7 @@ public class SalaryUploadParamVo {
// 新员工是否更新:0否;1是
String newEmpUpdateFlag;
// @ExcelProperty("是否固定列")
Integer isFixedColumn;
}
......@@ -63,4 +63,13 @@ public class TSalaryAccountSumVo {
private BigDecimal enterpriseAnnuity;
@ExcelProperty("单位年金合计")
private BigDecimal enterpriseAnnuityUnit;
@ExcelProperty("个人代扣金额合计")
private BigDecimal pdeduction;
@ExcelProperty("免个税个人代扣合计")
private BigDecimal exemptionPersionTax;
@ExcelProperty("工资月份")
private String salaryMonth;
@ExcelProperty("发薪人数")
private Integer num;
}
......@@ -360,6 +360,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
if (Common.isNotNull(vo.getOriginalSetName())){
salary.setOriginalSetName(vo.getOriginalSetName());
}
if (Common.isNotNull(vo.getIsFixedColumn())){
salary.setIsFixedColumn(vo.getIsFixedColumn());
}
// 薪资导入、删除前加锁:
TSalaryLock lock = salaryLockService.lambdaQuery()
.eq(TSalaryLock::getDeptId, dept.getId())
......
......@@ -70,6 +70,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 薪酬人员表
......@@ -488,6 +490,21 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
}
}
}
for (TSalaryEmployee employee : updateEmployeeBankList) {
if (Common.isNotNull(employee.getBankProvince()) && regNumber(employee.getBankProvince())) {
areaProvince = ExcelUtil.getRedisAreaValue(CacheConstants.AREA_VALUE + employee.getBankProvince().trim());
if (Common.isNotNull(areaProvince)) {
if (Common.isNotNull(employee.getBankCity()) && regNumber(employee.getBankCity())) {
areaCity = ExcelUtil.getRedisAreaValue(CacheConstants.AREA_VALUE + employee.getBankCity().trim()
+ CommonConstants.DOWN_LINE_STRING + employee.getBankProvince().trim());
if (Common.isNotNull(areaCity)) {
employee.setBankCity(areaCity);
}
}
employee.setBankProvince(areaProvince);
}
}
}
if (isFalse) {
return null;
}
......@@ -499,6 +516,16 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
return null;
}
private static boolean regNumber(String content) {
boolean flag = true;
Pattern p = Pattern.compile("^[0-9]*$");
Matcher m = p.matcher(content);
if (m.matches()) {
flag = false;
}
return flag;
}
/**
* @param employee
* @Description: 校验卡号与手机号
......
......@@ -774,7 +774,7 @@ public class SalaryAccountUtil implements Serializable {
} else {
emp.setBankProvince(entity.getBankProvince());
}
if (Common.isEmpty(emp.getBankCity())) {
if (Common.isEmpty(entity.getBankCity())) {
if (Common.isEmpty(emp.getBankCity())) {
error = "第" + i + SalaryConstants.LINE_EMP + emp.getEmpIdcard() + "-发放方式为银行发放,但是-开户行市-为空,请在工资模板正确填写!";
errorList.add(new ErrorMessage(i, error));
......
......@@ -1357,9 +1357,9 @@
<select id="getAccountSumBySalaryId" resultType="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountSumVo">
select
sum(a.RELAY_SALARY) RELAY_SALARY
,sum(a.ACTUAL_SALARY) ACTUAL_SALARY
,sum(a.SALARY_TAX) SALARY_TAX
sum(ifnull(a.RELAY_SALARY,0)) RELAY_SALARY
,sum(ifnull(a.ACTUAL_SALARY,0)) ACTUAL_SALARY
,sum(ifnull(a.SALARY_TAX,0)) SALARY_TAX
,sum(ifnull(annualBonus.SALARY_MONEY,0)) annual_Bonus
,sum(ifnull(a.ANNUAL_BONUS_TAX,0)) ANNUAL_BONUS_TAX
,sum(ifnull(a.UNIT_SOCIAL,0))+sum(ifnull(a.PERSON_SOCIAL,0)) ALL_SOCIAL
......@@ -1371,10 +1371,16 @@
,sum(ifnull(enterpriseAnnuity.SALARY_MONEY,0))+sum(ifnull(enterpriseAnnuityUnit.SALARY_MONEY,0)) ALL_enterprise_Annuity
,sum(ifnull(enterpriseAnnuity.SALARY_MONEY,0)) enterprise_Annuity
,sum(ifnull(enterpriseAnnuityUnit.SALARY_MONEY,0)) enterprise_Annuity_Unit
,sum(ifnull(pdeduction.SALARY_MONEY,0)) pdeduction
,sum(ifnull(exemptionPersionTax.SALARY_MONEY,0)) exemptionPersionTax
,max(a.SALARY_MONTH) salaryMonth
,count(distinct a.id) num
from t_salary_account a
left join t_salary_account_item annualBonus on annualBonus.SALARY_ACCOUNT_ID = a.id and annualBonus.JAVA_FIED_NAME = 'annualBonus'
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 enterpriseAnnuityUnit on enterpriseAnnuityUnit.SALARY_ACCOUNT_ID = a.id and enterpriseAnnuityUnit.JAVA_FIED_NAME='enterpriseAnnuityUnit'
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 exemptionPersionTax on exemptionPersionTax.SALARY_ACCOUNT_ID = a.id and exemptionPersionTax.JAVA_FIED_NAME='exemptionPersionTax'
where a.DELETE_FLAG='0' and a.SALARY_FORM_ID = #{salaryId}
</select>
......
......@@ -88,6 +88,7 @@
<result property="setName" column="SET_NAME"/>
<result property="originalSetName" column="ORIGINAL_SET_NAME"/>
<result property="newEmpUpdateFlag" column="NEW_EMP_UPDATE_FLAG"/>
<result property="isFixedColumn" column="IS_FIXED_COLUMN"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
......@@ -153,7 +154,8 @@
a.EXCEL_TYPE,
a.SET_NAME,
a.ORIGINAL_SET_NAME,
a.NEW_EMP_UPDATE_FLAG
a.NEW_EMP_UPDATE_FLAG,
a.IS_FIXED_COLUMN
</sql>
<sql id="tSalaryStandard_where">
<if test="tSalaryStandard != null">
......
......@@ -31,6 +31,8 @@
<result property="modelName" column="MODEL_NAME"/>
<result property="flag" column="FLAG"/>
<result property="formulaNo" column="FORMULA_NO"/>
<result property="excelRule" column="EXCEL_RULE"/>
<result property="excelKey" column="EXCEL_KEY"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
......@@ -39,7 +41,9 @@
a.EXCEL_NAME,
a.MODEL_NAME,
a.FLAG,
a.FORMULA_NO
a.FORMULA_NO,
a.EXCEL_RULE,
a.EXCEL_KEY
</sql>
<sql id="TSalaryStandardOriginalDetail_where">
<if test="tSalaryStandardOriginalDetail != null">
......
......@@ -42,6 +42,7 @@
<result property="attaType" column="ATTA_TYPE"/>
<result property="dateNum" column="DATE_NUM"/>
<result property="deleteFlag" column="DELETE_FLAG"/>
<result property="isFixedColumn" column="IS_FIXED_COLUMN"/>
</resultMap>
<resultMap id="TSalaryOriginalExportMap" type="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryOriginalExportVo">
......@@ -69,7 +70,8 @@
a.ATTA_SIZE,
a.ATTA_TYPE,
a.DATE_NUM,
a.DELETE_FLAG
a.DELETE_FLAG,
a.IS_FIXED_COLUMN
</sql>
<sql id="TSalaryStandardOriginal_where">
<if test="tSalaryStandardOriginal != null">
......
......@@ -227,6 +227,7 @@ public class TSocialFundInfo extends BaseEntity {
@Schema(description = "缴纳地-县" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("缴纳地-县" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String socialTown;
/**
* 公积金户
......
......@@ -4116,6 +4116,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if (Common.isNotNull(socialInfo) && Common.isNotNull(socialInfo.getId())) {
// 社保办理状态补充判断:
this.setSocialHandleStatus(handleStatus, socialType, flag, socialInfo, dis,sf, isAutoHandle);
socialInfo.setReduceHandleUser(user.getId());
socialInfo.setReduceHandleTime(now);
//社保派减办理成功才变更社保的办理状态
......@@ -4249,6 +4250,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
auditInfoMapper.insert(auditInfo);
}
baseMapper.updateById(dis);
//v1.8.9更新社保公积金缴纳地和户数据
socialFundMapper.updateById(sf);
//派减的申请审核完更新社保公积金查询快照表
if (CommonConstants.ONE_STRING.equals(dis.getType())) {
......
......@@ -1154,8 +1154,10 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
List<TSocialInfo> socialist;
TSettleDomain domain;
List<TSocialFundInfo> socialInfoList = socialFundInfoMapper.selectList(Wrappers.<TSocialFundInfo>query().lambda()
.in(TSocialFundInfo::getEmpIdcard, Common.listObjectToStrList(list, ExcelAttributeConstants.EMPIDCARD)));
.in(TSocialFundInfo::getEmpIdcard, Common.listObjectToStrList(list, ExcelAttributeConstants.EMPIDCARD))
.in(TSocialFundInfo::getSocialStatus,CommonConstants.socialStatus));
//已存在的社保数据
HashMap<String, TSocialFundInfo> socialMap = new HashMap<>();
......@@ -1213,7 +1215,9 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
socialist = socialInfoMapper.selectList(Wrappers.<TSocialInfo>query().lambda()
.eq(TSocialInfo::getEmpIdcard, infoVo.getEmpIdcard())
.eq(TSocialInfo::getSocialProvince, infoVo.getSocialProvince())
.eq(TSocialInfo::getSocialCity, infoVo.getSocialCity()));
.eq(TSocialInfo::getSocialCity, infoVo.getSocialCity())
.in(TSocialInfo::getHandleStatus,CommonConstants.socialInfoStatus)
);
if (CollectionUtils.isNotEmpty(socialist)) {
for (TSocialInfo socialInfo1 : socialist) {
if ((Common.isEmpty(infoVo.getSocialTown()) || (Common.isNotNull(infoVo.getSocialTown()) &&
......@@ -1485,6 +1489,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
if (Common.isEmpty(tSocialInfo)) {
tSocialInfo = socialInfoMapper.selectOne(Wrappers.<TSocialInfo>query().lambda()
.eq(TSocialInfo::getEmpIdcard, infoVo.getEmpIdcard()).groupBy(TSocialInfo::getCreateTime)
.in(TSocialInfo::getHandleStatus,CommonConstants.socialInfoStatus)
.last(CommonConstants.LAST_ONE_SQL));
}
......@@ -1781,7 +1786,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
@Override
public R<List<ErrorMessage>> importTaxSocialInfoDiy(InputStream inputStream) {
YifuUser user = SecurityUtils.getUser();
//养老插入的集合
ConcurrentHashMap<String,TPaymentInfo> batchYlInsertList = new ConcurrentHashMap<>();
//工伤插入的集合
......@@ -2820,7 +2825,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
TSettleDomain domain;
List<TSocialFundInfo> socialInfoList = socialFundInfoMapper.selectList(Wrappers.<TSocialFundInfo>query().lambda()
.in(TSocialFundInfo::getEmpIdcard, Common.listObjectToStrList(list, ExcelAttributeConstants.EMPIDCARD)));
.in(TSocialFundInfo::getEmpIdcard, Common.listObjectToStrList(list, ExcelAttributeConstants.EMPIDCARD))
.in(TSocialFundInfo::getSocialStatus,CommonConstants.socialStatus));
//已存在的社保数据
HashMap<String, TSocialFundInfo> socialMap = new HashMap<>();
......@@ -2874,7 +2880,9 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
socialist = socialInfoMapper.selectList(Wrappers.<TSocialInfo>query().lambda()
.eq(TSocialInfo::getEmpIdcard, infoVo.getEmpIdcard())
.eq(TSocialInfo::getSocialProvince, infoVo.getSocialProvince().toString())
.eq(TSocialInfo::getSocialCity, infoVo.getSocialCity().toString()));
.eq(TSocialInfo::getSocialCity, infoVo.getSocialCity().toString())
.in(TSocialInfo::getHandleStatus,CommonConstants.socialInfoStatus)
);
if (CollectionUtils.isNotEmpty(socialist)) {
for (TSocialInfo socialInfo1 : socialist) {
if ((Common.isEmpty(infoVo.getSocialTown()) || (Common.isNotNull(infoVo.getSocialTown()) &&
......@@ -3093,6 +3101,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
if (Common.isEmpty(tSocialInfo)) {
tSocialInfo = socialInfoMapper.selectOne(Wrappers.<TSocialInfo>query().lambda()
.eq(TSocialInfo::getEmpIdcard, infoVo.getEmpIdcard()).groupBy(TSocialInfo::getCreateTime)
.in(TSocialInfo::getHandleStatus,CommonConstants.socialInfoStatus)
.last(CommonConstants.LAST_ONE_SQL));
}
......@@ -3286,7 +3295,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
TSettleDomain domain;
List<TSocialFundInfo> socialInfoList = socialFundInfoMapper.selectList(Wrappers.<TSocialFundInfo>query().lambda()
.in(TSocialFundInfo::getEmpIdcard, Common.listObjectToStrList(list, ExcelAttributeConstants.EMPIDCARD)));
.in(TSocialFundInfo::getEmpIdcard, Common.listObjectToStrList(list, ExcelAttributeConstants.EMPIDCARD))
.in(TSocialFundInfo::getSocialStatus, CommonConstants.socialStatus));
//已存在的社保数据
HashMap<String, TSocialFundInfo> socialMap = new HashMap<>();
......@@ -3342,7 +3352,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
socialist = socialInfoMapper.selectList(Wrappers.<TSocialInfo>query().lambda()
.eq(TSocialInfo::getEmpIdcard, infoVo.getEmpIdcard())
.eq(TSocialInfo::getSocialProvince, infoVo.getSocialProvince().toString())
.eq(TSocialInfo::getSocialCity, infoVo.getSocialCity().toString()));
.eq(TSocialInfo::getSocialCity, infoVo.getSocialCity().toString())
.in(TSocialInfo::getHandleStatus, CommonConstants.socialInfoStatus));
if (CollectionUtils.isNotEmpty(socialist)) {
for (TSocialInfo socialInfo1 : socialist) {
if ((Common.isEmpty(infoVo.getSocialTown()) || (Common.isNotNull(infoVo.getSocialTown()) &&
......@@ -3369,6 +3380,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
if (Common.isEmpty(tSocialInfo)) {
tSocialInfo = socialInfoMapper.selectOne(Wrappers.<TSocialInfo>query().lambda()
.eq(TSocialInfo::getEmpIdcard, infoVo.getEmpIdcard()).groupBy(TSocialInfo::getCreateTime)
.in(TSocialInfo::getHandleStatus, CommonConstants.socialInfoStatus)
.last(CommonConstants.LAST_ONE_SQL));
}
......
......@@ -263,6 +263,7 @@ public class TSocialSoldierPushServiceImpl extends ServiceImpl<TSocialSoldierMap
this.getOneAppGetModuleDetail(socialIdList, file, socialType);
}
} catch (Exception e) {
log.error("提交社保士兵异常2:",e);
if (!logList.isEmpty()) {
for (TSocialSoldierLog logTemp : logList) {
logTemp.setRemark("提交社保士兵异常!");
......@@ -330,6 +331,7 @@ public class TSocialSoldierPushServiceImpl extends ServiceImpl<TSocialSoldierMap
this.getOneAppGetModuleDetail(socialIdList, file, socialType);
}
} catch (Exception e) {
log.error("提交社保士兵异常1:",e);
if (!logList.isEmpty()) {
for (TSocialSoldierLog logTemp : logList) {
logTemp.setRemark("提交社保士兵异常!");
......@@ -486,6 +488,7 @@ public class TSocialSoldierPushServiceImpl extends ServiceImpl<TSocialSoldierMap
try {
this.getOneAppGetModuleDetailByAudit(socialIdList, file, sheetName);
} catch (Exception e) {
log.error(errorRemark +"2:",e);
if (!logList.isEmpty()) {
// 异常时,更新日志
for (TSocialSoldierLog logTemp : logList) {
......@@ -524,6 +527,7 @@ public class TSocialSoldierPushServiceImpl extends ServiceImpl<TSocialSoldierMap
try {
this.getOneAppGetModuleDetailByAudit(socialIdList, file, sheetName);
} catch (Exception e) {
log.error(errorRemark +"1:",e);
if (!logList.isEmpty()) {
// 异常时,更新日志
for (TSocialSoldierLog logTemp : logList) {
......@@ -563,6 +567,7 @@ public class TSocialSoldierPushServiceImpl extends ServiceImpl<TSocialSoldierMap
try {
this.getOneAppGetModuleDetailByAudit(socialIdList, file, sheetName);
} catch (Exception e) {
log.error(errorRemark +"3:",e);
if (!logList.isEmpty()) {
// 异常时,更新日志
for (TSocialSoldierLog logTemp : logList) {
......
......@@ -56,5 +56,6 @@ soldier:
authorizations : Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJmODA2ZjRlYzYzZjY0NjVlOGFlZjRmZmVlOTYwMzcxNiIsInN1YiI6IjIiLCJ1c2VyX3Bob25lIjoiIiwidXNlcl90eXBlIjoiMTAiLCJ1c2VyX25hbWUiOiLmtYvor5UiLCJpc19hcHAiOiIxIiwiVXNlcklkIjoiMiIsIm5iZiI6MTcxMjg5Mjk1OCwiZXhwIjoxNzIzMjYwOTU4LCJpYXQiOjE3MTI4OTI5NTh9.oTmhLfv1tLq8aPOfO3LeqM1IDYT76YGXkqpz3dwBX4M
urlPre : http://172.16.24.66:55555
#线上社保士兵,一般不允许用,用之前要清理测试环境当月的社保自动化数据,否则有可能产生费用
#authorizations: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2MzcwYWIyZDRhZTI0NjQ2YTg0MTE0Mzk1Y2M2MTkzMiIsInN1YiI6IjQiLCJ1c2VyX3Bob25lIjoiIiwidXNlcl90eXBlIjoiMTAiLCJ1c2VyX25hbWUiOiLlkIjogqXnpL7kv53lo6vlhbVBUEkiLCJpc19hcHAiOiIxIiwiVXNlcklkIjoiNCIsIm5iZiI6MTcxNjE3OTIxOSwiZXhwIjoxNzI2NTQ3MjE5LCJpYXQiOjE3MTYxNzkyMTl9.Ei-52hRlfMLXLzpzmbP2xCVFZKE5sHHexzfX5PtmZ_M
#原先的老的 : authorizations: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2MzcwYWIyZDRhZTI0NjQ2YTg0MTE0Mzk1Y2M2MTkzMiIsInN1YiI6IjQiLCJ1c2VyX3Bob25lIjoiIiwidXNlcl90eXBlIjoiMTAiLCJ1c2VyX25hbWUiOiLlkIjogqXnpL7kv53lo6vlhbVBUEkiLCJpc19hcHAiOiIxIiwiVXNlcklkIjoiNCIsIm5iZiI6MTcxNjE3OTIxOSwiZXhwIjoxNzI2NTQ3MjE5LCJpYXQiOjE3MTYxNzkyMTl9.Ei-52hRlfMLXLzpzmbP2xCVFZKE5sHHexzfX5PtmZ_M
#authorizations: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3ZmRjOGJmYWM0Yjg0NTkzYmMzNjllYzAwN2ExODgzZCIsInN1YiI6IjQiLCJ1c2VyX3Bob25lIjoiIiwidXNlcl90eXBlIjoiMTAiLCJ1c2VyX25hbWUiOiLlkIjogqXnpL7kv53lo6vlhbVBUEkiLCJpc19hcHAiOiIxIiwiVXNlcklkIjoiNCIsIm5iZiI6MTcyNjcxMjQzOSwiZXhwIjo1NTExMDMyNDM5LCJpYXQiOjE3MjY3MTI0Mzl9.o91Ay4hRJofg76WCColUaixuyOyWvsuMDTWZMKSThc0
#urlPre: http://60.168.131.18:55555
\ No newline at end of file
......@@ -251,6 +251,8 @@
<select id="getSocialSoldierYsdAddAuditVoList" resultType="com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierYsdAuditVo">
SELECT
s.id as socialId,
a.EMP_NAME empName,
a.EMP_IDCARD empIdcard,
a.SOCIAL_HOUSEHOLD_NAME socialHouseholdName,
if(a.TYPE='0','职工新参保登记','参保人员减员申报') type,
DATE_FORMAT(a.AUDIT_TIME,'%Y%m%d') startDate,
......
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