Commit beb5cb5a authored by hongguangwu's avatar hongguangwu

Merge branch 'MVP1.6.5' into MVP1.6.6

parents 3db2b3db 29a95cb7
...@@ -347,7 +347,6 @@ public interface CommonConstants { ...@@ -347,7 +347,6 @@ public interface CommonConstants {
public static final String JAR_TYPE = "jar"; public static final String JAR_TYPE = "jar";
int BATCH_COUNT = 100; int BATCH_COUNT = 100;
int BATCH_COUNT_TAX = 400;
int BATCH_COUNT1 = 2000; int BATCH_COUNT1 = 2000;
String IMPORT_DATA_ANALYSIS_ERROR = "数据导入解析异常,请检查表数据格式(常见错误:1.日期格式:yyyy-MM-dd,2.比例为整数且不含%)"; String IMPORT_DATA_ANALYSIS_ERROR = "数据导入解析异常,请检查表数据格式(常见错误:1.日期格式:yyyy-MM-dd,2.比例为整数且不含%)";
......
...@@ -32,6 +32,14 @@ public class EkpPushSocialParam implements Serializable { ...@@ -32,6 +32,14 @@ public class EkpPushSocialParam implements Serializable {
* 项目名称 * 项目名称
**/ **/
private String fd_3adfe8c8468e54; private String fd_3adfe8c8468e54;
/**
* 项目编码-原
**/
private String fd_3cfe2da7e35daa;
/**
* 项目名称-原
**/
private String fd_3cfe2db5015d6e;
/** /**
* 单号 * 单号
**/ **/
......
...@@ -39,6 +39,15 @@ public class EkpSocialInfo { ...@@ -39,6 +39,15 @@ public class EkpSocialInfo {
@Schema(description ="项目名称") @Schema(description ="项目名称")
private String fd_3adfe8c8468e54; private String fd_3adfe8c8468e54;
/**
* 项目编码-原
**/
private String fd_3cfe2da7e35daa;
/**
* 项目名称-原
**/
private String fd_3cfe2db5015d6e;
@Schema(description ="单号") @Schema(description ="单号")
private String fd_3adfe95c169c48; private String fd_3adfe95c169c48;
......
package com.yifu.cloud.plus.v1.ekp.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
/**
* @auther huyc
* @date 2024/5/24
* 聚富通基本配置
*/
@RefreshScope
@ConfigurationProperties(prefix = "icbc")
@Data
public class IcbcConfigProperties {
/**
* @Description: 聚富通分配的接入id
**/
private String appId;
/**
* @Description: 聚富通分配的应用方私钥
**/
private String appPrivateKey;
/**
* @Description: 指定环境请求url
**/
private String serverUrl;
/**
* @Description: 网关公钥
**/
private String apigwPublicKey;
/**
* @Description: 应用方加密串
**/
private String aesKey;
/**
* @Description: 企业编号
**/
private String companyNo;
/**
* 异步通知地址
*/
private String notifyUrl="/fdd/notifyUrl";
}
package com.yifu.cloud.plus.v1.ekp.controller;
import com.yifu.cloud.plus.v1.ekp.service.IcbcTransactionFlowIssueService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 聚富通代发工资相关
*
* @author huyc
* @date 2024-05-23 10:24:12
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/icbcIssue" )
@Tag(name = "聚富通代发工资相关")
public class IcbcTransactionFlowIssueController {
private final IcbcTransactionFlowIssueService icbcTransactionFlowIssueService;
/**
* 聚富通代发工资确认提交
*
* @param
* @param
* @return
*/
@Operation(summary = "聚富通代发工资确认提交接口", description = "聚富通代发工资确认提交接口")
@PostMapping("/submit")
public R submitIcbcTransactionFlow() {
return icbcTransactionFlowIssueService.submitIcbcTransactionFlow();
}
/**
* 代发工资明细查询
*
* @param
* @param
* @return
*/
@Operation(summary = "代发工资明细查询", description = "代发工资明细查询")
@PostMapping("/page")
public R selectIcbcTransactionFlowInfo() {
return icbcTransactionFlowIssueService.selectIcbcTransactionFlowInfo();
}
}
package com.yifu.cloud.plus.v1.ekp.controller;
import com.yifu.cloud.plus.v1.ekp.service.IcbcTransactionFlowQueryService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 聚富通到账通知交易流水查询
*
* @author huyc
* @date 2024-05-23 10:24:12
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/icbcQuery" )
@Tag(name = "聚富通到账通知交易流水查询")
public class IcbcTransactionFlowQueryController {
private final IcbcTransactionFlowQueryService icbcTransactionFlowQueryService;
/**
* 交易流水查询
*
* @param
* @return
*/
@Operation(summary = "交易流水查询", description = "交易流水查询")
@PostMapping("/page")
public R getIcbcTransactionFlow() {
return icbcTransactionFlowQueryService.getIcbcTransactionFlow();
}
/**
* 预订单接口
*
* @param
* @return
*/
@Operation(summary = "预订单接口", description = "预订单接口")
@PostMapping("/save")
public R saveIcbcManagerCard() {
return icbcTransactionFlowQueryService.saveIcbcManagerCard();
}
}
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSocialInfo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
/**
* 聚富通代发工资相关
*
* @author huyc
* @date 2024-05-24 10:55:24
*/
public interface IcbcTransactionFlowIssueService extends IService<EkpSocialInfo> {
R submitIcbcTransactionFlow();
R selectIcbcTransactionFlowInfo();
}
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSocialInfo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
/**
* 聚富通到账通知交易流水查询
*
* @author huyc
* @date 2024-05-23 11:21:56
*/
public interface IcbcTransactionFlowQueryService extends IService<EkpSocialInfo> {
R getIcbcTransactionFlow();
R saveIcbcManagerCard();
}
...@@ -261,6 +261,10 @@ public class EkpSocialInfoServiceImpl extends ServiceImpl<EkpSocialInfoMapper, E ...@@ -261,6 +261,10 @@ public class EkpSocialInfoServiceImpl extends ServiceImpl<EkpSocialInfoMapper, E
socialInfo.setFd_3adfe8c70d3fd4(socialParam.getFd_3adfe8c70d3fd4()); socialInfo.setFd_3adfe8c70d3fd4(socialParam.getFd_3adfe8c70d3fd4());
//项目名称 //项目名称
socialInfo.setFd_3adfe8c8468e54(socialParam.getFd_3adfe8c8468e54()); socialInfo.setFd_3adfe8c8468e54(socialParam.getFd_3adfe8c8468e54());
//项目编码-原 fxj 20240527 add
socialInfo.setFd_3cfe2da7e35daa(socialParam.getFd_3adfe8c70d3fd4());
//项目名称-原 fxj 20240527 add
socialInfo.setFd_3cfe2db5015d6e(socialParam.getFd_3adfe8c8468e54());
//单号 //单号
socialInfo.setFd_3adfe95c169c48(socialParam.getFd_3adfe95c169c48()); socialInfo.setFd_3adfe95c169c48(socialParam.getFd_3adfe95c169c48());
//客户编码 //客户编码
......
package com.yifu.cloud.plus.v1.ekp.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.icbc.api.DefaultIcbcClient;
import com.icbc.api.IcbcApiException;
import com.icbc.api.IcbcConstants;
import com.icbc.api.UiIcbcClient;
import com.icbc.api.request.JftApiPayrollQueryDetailRequestV1;
import com.icbc.api.request.JftUiPayrollComfirmSubmitRequestV1;
import com.icbc.api.response.JftApiPayrollQueryDetailResponseV1;
import com.yifu.cloud.plus.v1.ekp.config.IcbcConfigProperties;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSocialInfo;
import com.yifu.cloud.plus.v1.ekp.mapper.EkpSocialInfoMapper;
import com.yifu.cloud.plus.v1.ekp.service.IcbcTransactionFlowIssueService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Service;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* 聚富通到账通知交易流水查询
*
* @author huyc
* @date 2024-05-23 11:21:56
*/
@Log4j2
@Service
@RequiredArgsConstructor
@EnableConfigurationProperties(IcbcConfigProperties.class)
public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialInfoMapper, EkpSocialInfo> implements IcbcTransactionFlowIssueService {
@Autowired
private IcbcConfigProperties icbcConfigProperties;
public R submitIcbcTransactionFlow() {
UiIcbcClient client = new UiIcbcClient(icbcConfigProperties.getAppId(), IcbcConstants.SIGN_TYPE_RSA2, icbcConfigProperties.getAppPrivateKey(),
IcbcConstants.CHARSET_UTF8);
JftUiPayrollComfirmSubmitRequestV1 request = new JftUiPayrollComfirmSubmitRequestV1();
request.setServiceUrl("https://apipcs3.dccnet.com.cn/ui/jft/ui/payroll/comfirmsubmit/V1");
JftUiPayrollComfirmSubmitRequestV1.JjftUiPayrolComfirmSubmitRequestV1BizV1 bizContent =
new JftUiPayrollComfirmSubmitRequestV1.JjftUiPayrolComfirmSubmitRequestV1BizV1();
bizContent.setAppId(icbcConfigProperties.getAppId());
//HR系统名称
bizContent.setAppName("HRO");
//企业编号
bizContent.setOutVendorId(icbcConfigProperties.getCompanyNo());
//操作类型:1-受理 2-审核
bizContent.setOprType("1");
bizContent.setTotalAmt("1000");
bizContent.setTotalCount("1");
bizContent.setAppSerialno("21900");
bizContent.setLocalFilepath("D:/icbcFile/955888_21900_0_20240524.xls");
bizContent.setFileMdcode(getMdCode("D:/icbcFile/955888_21900_0_20240524.xls"));
bizContent.setFileType("1");
bizContent.setNotifyUrl(null);
bizContent.setAppRemark("备注");
bizContent.setBusinessType(null);
bizContent.setFileCheckSign(null);
request.setBizContent(bizContent);
try {
String result = client.buildPostForm(request);
if (Common.isNotNull(result)) {
return R.ok();
}
} catch (IcbcApiException e) {
e.printStackTrace();
return R.failed();
}
return R.ok();
}
public R selectIcbcTransactionFlowInfo() {
DefaultIcbcClient client = new DefaultIcbcClient(icbcConfigProperties.getAppId(), IcbcConstants.SIGN_TYPE_RSA2,
icbcConfigProperties.getAppPrivateKey(), IcbcConstants.CHARSET_UTF8, IcbcConstants.FORMAT_JSON,
icbcConfigProperties.getApigwPublicKey(), IcbcConstants.ENCRYPT_TYPE_AES, icbcConfigProperties.getAesKey(), null, null);
JftApiPayrollQueryDetailRequestV1 request = new JftApiPayrollQueryDetailRequestV1();
request.setServiceUrl("https://apipcs3.dccnet.com.cn/api/jft/api/payroll/querydetail/V1");
JftApiPayrollQueryDetailRequestV1.JftApiPayrollQueryDetailRequestV1Biz bizContent = new
JftApiPayrollQueryDetailRequestV1.JftApiPayrollQueryDetailRequestV1Biz();
bizContent.setAppId(icbcConfigProperties.getAppId());
bizContent.setOutVendorId(icbcConfigProperties.getCompanyNo());
bizContent.setType("2");
//批次号,appSerialno为空时,必输
bizContent.setAppBatserialno("21900");
//内部批次号,组成规则:批次号-顺序号,appBatserialno为空时必输
// bizContent.setAppSerialno("230921");
bizContent.setStartId("0");
bizContent.setEndId("10");
request.setBizContent(bizContent);
try {
JftApiPayrollQueryDetailResponseV1 responseV1 = client.execute(request);
if (Common.isNotNull(responseV1)) {
return R.ok();
}
} catch (IcbcApiException e) {
e.printStackTrace();
return R.failed();
}
return R.ok();
}
public String getMdCode(String filePath) {
try {
MessageDigest md5Digest = MessageDigest.getInstance("MD5");
byte[] buffer = new byte[8192];
try (FileInputStream fis = new FileInputStream(filePath)) {
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
md5Digest.update(buffer, 0, bytesRead);
}
}
byte[] md5Bytes = md5Digest.digest();
// Convert the byte to hex format
StringBuilder result = new StringBuilder();
for (byte md5Byte : md5Bytes) {
result.append(Integer.toString((md5Byte & 0xff) + 0x100, 16).substring(1));
}
return result.toString();
} catch (NoSuchAlgorithmException | IOException e) {
//Handle the exception according to your requirements
e.printStackTrace();
return null;
}
}
}
...@@ -4463,6 +4463,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -4463,6 +4463,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
util = new ExcelUtil<>(InsuredListVo.class); util = new ExcelUtil<>(InsuredListVo.class);
TInsuranceReplace one; TInsuranceReplace one;
TInsuranceDetail byId; TInsuranceDetail byId;
ProjectSetInfoVo coverObject = null;
for (InsuredListVo vo:list){ for (InsuredListVo vo:list){
//被替换人 //被替换人
one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda() one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
...@@ -4487,9 +4488,14 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -4487,9 +4488,14 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
vo.setCoverEmpName(byId.getEmpName()); vo.setCoverEmpName(byId.getEmpName());
vo.setCoverEmpIdcardNo(byId.getEmpIdcardNo()); vo.setCoverEmpIdcardNo(byId.getEmpIdcardNo());
vo.setCoverProjectName(byId.getDeptName()); vo.setCoverProjectName(byId.getDeptName());
ProjectSetInfoVo coverObject = dataReplace.get(byId.getDeptNo()); coverObject = null;
if (Common.isNotNull(dataReplace)){
coverObject = dataReplace.get(byId.getDeptNo());
}
if (null != coverObject) { if (null != coverObject) {
vo.setCoverInvoiceTitle(Optional.ofNullable(coverObject.getInvoiceTitleInsurance()).orElse("")); vo.setCoverInvoiceTitle(Optional.ofNullable(coverObject.getInvoiceTitleInsurance()).orElse(""));
}else {
vo.setCoverInvoiceTitle("未获取到对应项目信息");
} }
} }
} }
......
...@@ -194,5 +194,64 @@ public class SocialTask { ...@@ -194,5 +194,64 @@ public class SocialTask {
log.info("------------2定时任务推送社保士兵-定时任务结束------------"); log.info("------------2定时任务推送社保士兵-定时任务结束------------");
} }
/**
* @Description: 3每日定时任务推送社保士兵审核结果查询
* @Author: hgw
* @Date: 2024-5-30 17:33:35
* @return: void
**/
public void doInnerPushSoldierByAudit() {
log.info("------------3每日定时任务推送社保士兵审核结果查询-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialsoldier/inner/doInnerPushSoldierByAudit","", Object.class, SecurityConstants.FROM_IN);
log.info("------------3每日定时任务推送社保士兵审核结果查询-定时任务结束------------");
}
/**
* @Description: 4每日定时任务获取社保士兵审核结果查询
* @Author: hgw
* @Date: 2024-5-30 17:33:35
* @return: void
**/
public void doInnerGetSixJobByAudit() {
log.info("------------4每日定时任务获取社保士兵审核结果查询-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialsoldier/inner/doInnerGetSixJobByAudit","", Object.class, SecurityConstants.FROM_IN);
log.info("------------4每日定时任务获取社保士兵审核结果查询-定时任务结束------------");
}
/**
* @Description: 5每月5号推送工资申报、调整(实缴使用)
* @Author: hgw
* @Date: 2024-5-30 17:33:35
* @return: void
**/
public void doInnerPushSalaryByShenBao() {
log.info("------------5每月5号推送工资申报、调整(实缴使用)-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialsoldier/inner/doInnerPushSalaryByShenBao","", Object.class, SecurityConstants.FROM_IN);
log.info("------------5每月5号推送工资申报、调整(实缴使用)-定时任务结束------------");
}
/**
* @Description: 6每月6号0点推送实缴3张表查询
* @Author: hgw
* @Date: 2024-6-6 10:54:39
* @return: void
**/
public void doPushPaymentThree() {
log.info("------------6每月6号1点推送实缴3张表查询-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialsoldier/inner/doPushPaymentThree","", Object.class, SecurityConstants.FROM_IN);
log.info("------------6每月6号1点推送实缴3张表查询-定时任务结束------------");
}
/**
* @Description: 7每月6号3点定时任务获取社保士兵实缴3张表
* @Author: hgw
* @Date: 2024-6-6 10:54:43
* @return: void
**/
public void doInnerGetPaymentThree() {
log.info("------------7每月6号3点定时任务获取社保士兵实缴3张表-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialsoldier/inner/doInnerGetPaymentThree","", Object.class, SecurityConstants.FROM_IN);
log.info("------------7每月6号3点定时任务获取社保士兵实缴3张表-定时任务结束------------");
}
} }
...@@ -451,9 +451,17 @@ public class TSalaryStandard extends BaseEntity { ...@@ -451,9 +451,17 @@ public class TSalaryStandard extends BaseEntity {
*/ */
@Schema(description = "收入月份") @Schema(description = "收入月份")
private String incomeMonth; private String incomeMonth;
//方案名称ID
@Schema(description = "配置ID") @Schema(description = "配置ID")
private String setId; private String setId;
//方案名称
@Schema(description = "方案名称")
private String setName;
//原表类型
@Schema(description = "原表类型")
private String originalSetName;
@Schema(description = "删除人(汉字名)") @Schema(description = "删除人(汉字名)")
private String deleteUser; private String deleteUser;
@Schema(description = "删除时间") @Schema(description = "删除时间")
......
...@@ -44,4 +44,10 @@ public class SalaryUploadParamVo { ...@@ -44,4 +44,10 @@ public class SalaryUploadParamVo {
// 表格类型 0 薪资原表 1 系统模板 // 表格类型 0 薪资原表 1 系统模板
String excelType; String excelType;
// 方案名称
String setName;
// 原表类型
String originalSetName;
} }
/*
* 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.salary.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
* 薪资详情里的报账导出-EKP附件专用
* 薪资详情里的报账导出,是前端导出,此处后端导出,给EKP项目订单获取附件使用的
*
* @author hgw
* @date 2024-4-18 17:04:21
*/
@Data
@Schema(description = "薪资详情里的报账导出-EKP附件专用")
@HeadFontStyle(fontHeightInPoints = 11)
public class TSalaryTypeFourExportEkpVo {
//薪酬状态,项目名称,项目编码,发放月份,薪酬月份,员工姓名,身份证号,手机号码,银行卡号,开户行总行
// 开户行省,开户行市,开户行支行,稿酬,个税,个人实收,本月是否重复金额,是否自有员工,是否发薪员工,支出结算状态
@ExcelProperty("薪酬状态")
@HeadFontStyle(fontHeightInPoints = 11)
private String status;
@ExcelProperty("项目名称")
@HeadFontStyle(fontHeightInPoints = 11)
private String deptName;
@ExcelProperty("项目编码")
@HeadFontStyle(fontHeightInPoints = 11)
private String deptNo;
@ExcelProperty("发放月份")
@HeadFontStyle(fontHeightInPoints = 11)
private String settlementMonth;
@ExcelProperty("薪酬月份")
@HeadFontStyle(fontHeightInPoints = 11)
private String salaryMonth;
@ExcelProperty("员工姓名")
@HeadFontStyle(fontHeightInPoints = 11)
private String empName;
@ExcelProperty("身份证号")
@HeadFontStyle(fontHeightInPoints = 11)
private String empIdcard;
@ExcelProperty("手机号码")
@HeadFontStyle(fontHeightInPoints = 11)
private String empPhone;
// 银行卡号
@ExcelProperty("银行卡号")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankNo;
// 开户行总行
@ExcelProperty("开户行总行")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankName;
// 开户行省
@ExcelProperty("开户行省")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankProvince;
// ,开户行市,开户行支行,工资发放方式,工资发放时间,社保缴纳月份,公积金缴纳月份,社保优先级,公积金优先级,是否扣除社保,是否扣除公积金
// 开户行市
@ExcelProperty("开户行市")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankCity;
// 开户行支行
@ExcelProperty("开户行支行")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankSubName;
// 劳务费 应发薪酬(劳务费、稿酬)
@ExcelProperty("稿酬")
@HeadFontStyle(fontHeightInPoints = 11)
private String relaySalary;
/**
* 个税金额(个人承担)
*/
@ExcelProperty("个税")
@HeadFontStyle(fontHeightInPoints = 11)
private BigDecimal salaryTax;
/**
* 实发(个人实收)
*/
@ExcelProperty("个人实收")
@HeadFontStyle(fontHeightInPoints = 11)
private BigDecimal actualSalary;
//稿酬,个税,个人实收,本月是否重复金额,是否自有员工,是否发薪员工,支出结算状态
// ,本月是否重复金额,是否自有员工,是否薪资特殊值,支出结算状态
// 本月是否重复金额0:否;1:是重复导入的
@ExcelProperty("本月是否重复金额")
@HeadFontStyle(fontHeightInPoints = 11)
private String isRepeat;
// 是否自有员工0:否;1:是自有员工
@ExcelProperty("是否自有员工")
@HeadFontStyle(fontHeightInPoints = 11)
private String ownFlag;
//劳务费、稿酬是否含有发薪0:否;1:是
@ExcelProperty("是否发薪员工")
@HeadFontStyle(fontHeightInPoints = 11)
private String haveSalaryFlag;
@ExcelProperty("支出结算状态")
@HeadFontStyle(fontHeightInPoints = 11)
private String paySettleFlag;
}
/*
* 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.salary.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
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 java.math.BigDecimal;
/**
* 薪资详情里的报账导出-EKP附件专用
* 薪资详情里的报账导出,是前端导出,此处后端导出,给EKP项目订单获取附件使用的
*
* @author hgw
* @date 2024-4-18 17:04:21
*/
@Data
@Schema(description = "薪资详情里的报账导出-EKP附件专用")
@HeadFontStyle(fontHeightInPoints = 11)
public class TSalaryTypeThreeExportEkpVo {
//薪酬状态,项目名称,项目编码,发放月份,薪酬月份,员工姓名,身份证号,手机号码,银行卡号,开户行总行
// 开户行省,开户行市,开户行支行,劳务费,工资发放时间,是否个人承担部分税费
// 个税-个人承担,个税-单位承担,公司应发,个人实收,本月是否重复金额,是否自有员工,是否发薪员工,支出结算状态
@ExcelProperty("薪酬状态")
@HeadFontStyle(fontHeightInPoints = 11)
private String status;
@ExcelProperty("项目名称")
@HeadFontStyle(fontHeightInPoints = 11)
private String deptName;
@ExcelProperty("项目编码")
@HeadFontStyle(fontHeightInPoints = 11)
private String deptNo;
@ExcelProperty("发放月份")
@HeadFontStyle(fontHeightInPoints = 11)
private String settlementMonth;
@ExcelProperty("薪酬月份")
@HeadFontStyle(fontHeightInPoints = 11)
private String salaryMonth;
@ExcelProperty("员工姓名")
@HeadFontStyle(fontHeightInPoints = 11)
private String empName;
@ExcelProperty("身份证号")
@HeadFontStyle(fontHeightInPoints = 11)
private String empIdcard;
@ExcelProperty("手机号码")
@HeadFontStyle(fontHeightInPoints = 11)
private String empPhone;
// 银行卡号
@ExcelProperty("银行卡号")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankNo;
// 开户行总行
@ExcelProperty("开户行总行")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankName;
// 开户行省
@ExcelProperty("开户行省")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankProvince;
// ,开户行市,开户行支行,工资发放方式,工资发放时间,社保缴纳月份,公积金缴纳月份,社保优先级,公积金优先级,是否扣除社保,是否扣除公积金
// 开户行市
@ExcelProperty("开户行市")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankCity;
// 开户行支行
@ExcelProperty("开户行支行")
@HeadFontStyle(fontHeightInPoints = 11)
private String bankSubName;
// 劳务费 应发薪酬(劳务费、稿酬)
@ExcelProperty("劳务费")
@HeadFontStyle(fontHeightInPoints = 11)
private String relaySalary;
// 工资发放时间(0立即发、1暂停发)
@ExcelProperty("工资发放时间")
@HeadFontStyle(fontHeightInPoints = 11)
private String salaryGiveTime;
/**
* 是否个人承担部分税费
* 公司承担全部税费0
* 个人承担部分税费1
* 个人承担全部税费2
*/
@ExcelProperty("是否个人承担部分税费")
@HeadFontStyle(fontHeightInPoints = 11)
private String isPersonTax;
/**
* 个税金额(个人承担)
*/
@ExcelProperty("个税-个人承担")
@HeadFontStyle(fontHeightInPoints = 11)
private BigDecimal salaryTax;
/**
* 个税-单位承担
*/
@ExcelProperty("个税-单位承担")
@HeadFontStyle(fontHeightInPoints = 11)
private BigDecimal salaryTaxUnit;
/**
* 公司应发
*/
@ExcelProperty("公司应发")
@HeadFontStyle(fontHeightInPoints = 11)
private BigDecimal relaySalaryUnit;
/**
* 实发(个人实收)
*/
@ExcelProperty("个人实收")
@HeadFontStyle(fontHeightInPoints = 11)
private BigDecimal actualSalary;
// ,本月是否重复金额,是否自有员工,是否薪资特殊值,支出结算状态
// 本月是否重复金额0:否;1:是重复导入的
@ExcelProperty("本月是否重复金额")
@HeadFontStyle(fontHeightInPoints = 11)
private String isRepeat;
// 是否自有员工0:否;1:是自有员工
@ExcelProperty("是否自有员工")
@HeadFontStyle(fontHeightInPoints = 11)
private String ownFlag;
//劳务费、稿酬是否含有发薪0:否;1:是
@ExcelProperty("是否发薪员工")
@HeadFontStyle(fontHeightInPoints = 11)
private String haveSalaryFlag;
@ExcelProperty("支出结算状态")
@HeadFontStyle(fontHeightInPoints = 11)
private String paySettleFlag;
}
...@@ -197,4 +197,7 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> { ...@@ -197,4 +197,7 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> {
**/ **/
List<TSalaryAccount> allYearExport(@Param("tSalaryAccount") TSalaryAccountSearchVo tSalaryAccount); List<TSalaryAccount> allYearExport(@Param("tSalaryAccount") TSalaryAccountSearchVo tSalaryAccount);
List<TSalaryTypeThreeExportEkpVo> getAccountThreeListByApplyNo(String applyNo);
List<TSalaryTypeFourExportEkpVo> getAccountFourListByApplyNo(String applyNo);
} }
...@@ -213,4 +213,8 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> { ...@@ -213,4 +213,8 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> {
TSalaryAccountSumVo getAccountSumBySalaryId(String salaryId); TSalaryAccountSumVo getAccountSumBySalaryId(String salaryId);
List<TSalaryAccount> allYearExport(TSalaryAccountSearchVo tSalaryAccount); List<TSalaryAccount> allYearExport(TSalaryAccountSearchVo tSalaryAccount);
List<TSalaryTypeThreeExportEkpVo> getAccountThreeListByApplyNo(String applyNo);
List<TSalaryTypeFourExportEkpVo> getAccountFourListByApplyNo(String applyNo);
} }
...@@ -299,6 +299,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper, ...@@ -299,6 +299,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
s.setBusinessThirdType(dept.getBusinessThirdType()); s.setBusinessThirdType(dept.getBusinessThirdType());
if (configSalary != null) { if (configSalary != null) {
s.setSetId(configSalary.getId()); s.setSetId(configSalary.getId());
s.setSetName(configSalary.getName());
if (Common.isNotNull(configSalary.getIncomeMonth())) { if (Common.isNotNull(configSalary.getIncomeMonth())) {
s.setIncomeMonth(DateUtil.addMonth(configSalary.getIncomeMonth())); s.setIncomeMonth(DateUtil.addMonth(configSalary.getIncomeMonth()));
} }
...@@ -352,6 +353,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper, ...@@ -352,6 +353,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
if (Common.isNotNull(vo.getExcelType())) { if (Common.isNotNull(vo.getExcelType())) {
salary.setExcelType(vo.getExcelType()); salary.setExcelType(vo.getExcelType());
} }
if (Common.isNotNull(vo.getOriginalSetName())){
salary.setOriginalSetName(vo.getOriginalSetName());
}
// 薪资导入、删除前加锁: // 薪资导入、删除前加锁:
TSalaryLock lock = salaryLockService.lambdaQuery() TSalaryLock lock = salaryLockService.lambdaQuery()
.eq(TSalaryLock::getDeptId, dept.getId()) .eq(TSalaryLock::getDeptId, dept.getId())
......
...@@ -396,4 +396,14 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper, ...@@ -396,4 +396,14 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
public List<TSalaryAccount> allYearExport(TSalaryAccountSearchVo tSalaryAccount) { public List<TSalaryAccount> allYearExport(TSalaryAccountSearchVo tSalaryAccount) {
return baseMapper.allYearExport(tSalaryAccount); return baseMapper.allYearExport(tSalaryAccount);
} }
@Override
public List<TSalaryTypeThreeExportEkpVo> getAccountThreeListByApplyNo(String applyNo) {
return baseMapper.getAccountThreeListByApplyNo(applyNo);
}
@Override
public List<TSalaryTypeFourExportEkpVo> getAccountFourListByApplyNo(String applyNo) {
return baseMapper.getAccountFourListByApplyNo(applyNo);
}
} }
...@@ -30,14 +30,19 @@ import com.yifu.cloud.plus.v1.yifu.common.core.vo.FileVo; ...@@ -30,14 +30,19 @@ import com.yifu.cloud.plus.v1.yifu.common.core.vo.FileVo;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAtta; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAtta;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAttaMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAttaMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountService; import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAttaService; import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAttaService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardService; import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAttaVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAttaVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountExportByEkpVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountExportByEkpVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryTypeFourExportEkpVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryTypeThreeExportEkpVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -291,46 +296,79 @@ public class TSalaryAttaServiceImpl extends ServiceImpl<TSalaryAttaMapper, TSala ...@@ -291,46 +296,79 @@ public class TSalaryAttaServiceImpl extends ServiceImpl<TSalaryAttaMapper, TSala
* @Date: 2024/4/18 17:05 * @Date: 2024/4/18 17:05
* @return: com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAttaVo * @return: com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAttaVo
**/ **/
@Async
@Override @Override
public synchronized SalaryAttaVo getSalaryAccountToExcel(String applyNo) { public synchronized SalaryAttaVo getSalaryAccountToExcel(String applyNo) {
SalaryAttaVo returnVo = new SalaryAttaVo(); SalaryAttaVo returnVo = new SalaryAttaVo();
List<TSalaryAccountExportByEkpVo> accountList = tSalaryAccountService.getAccountListByApplyNo(applyNo); TSalaryStandard standard = tSalaryStandardService.getOne(Wrappers.<TSalaryStandard>query().lambda()
if (accountList != null) { .eq(TSalaryStandard::getApplyNo,applyNo).last(CommonConstants.LAST_ONE_SQL));
String filePath = "salaryAccountFile"; // 默认薪资
String fileName = "薪资报表"+ applyNo + DateUtil.getThisTime() + CommonConstants.XLSX; String formType = CommonConstants.ZERO_STRING;
String key = filePath + "/" + fileName; String preFileName = "薪资";
EasyExcelFactory.write(filePath, TSalaryAccountExportByEkpVo.class).sheet("薪资报表生成").doWrite(accountList); if (Common.isNotNull(standard)){
try { formType = standard.getFormType();
File file = new File(filePath); }
InputStream inputStream = new FileInputStream(file); //薪资
// 调用上传服务 if (CommonConstants.ZERO_STRING.equals(formType)){
boolean flag = ossUtil.uploadFileByStream(inputStream, key,null); List<TSalaryAccountExportByEkpVo> accountList = tSalaryAccountService.getAccountListByApplyNo(applyNo);
if (flag) { if (accountList != null) {
log.info("文件:" + fileName + "上传至存储空间" + ossUtil.getBucketName() + "成功!"); returnVo = getSalaryAttaVo(applyNo, returnVo, preFileName, accountList,TSalaryAccountExportByEkpVo.class);
TSalaryAtta salaryAtta = this.saveTSalaryAtta(fileName, key, file.length(), applyNo, 14, null, null, null); }
try { }
this.save(salaryAtta); //劳务费
} catch (Exception e) { if (CommonConstants.THREE_STRING.equals(formType)){
log.error("OSS文件上传接口异常:" + e.getMessage()); List<TSalaryTypeThreeExportEkpVo> accountList = tSalaryAccountService.getAccountThreeListByApplyNo(applyNo);
ossUtil.deleteObject(null, key); if (accountList != null) {
} returnVo = getSalaryAttaVo(applyNo, returnVo, preFileName, accountList,TSalaryTypeThreeExportEkpVo.class);
URL url = ossUtil.getObjectUrl(null, salaryAtta.getAttaSrc()); }
returnVo.setAttaUrl(url.toString()); }
returnVo.setAttaName(salaryAtta.getAttaName()); //稿酬
return returnVo; if (CommonConstants.FOUR_STRING.equals(formType)){
} List<TSalaryTypeFourExportEkpVo> accountList = tSalaryAccountService.getAccountFourListByApplyNo(applyNo);
} catch (Exception e) { if (accountList != null) {
e.printStackTrace(); returnVo = getSalaryAttaVo(applyNo, returnVo, preFileName, accountList,TSalaryTypeFourExportEkpVo.class);
} finally { }
//删除临时文件 }
return returnVo;
}
private <T> SalaryAttaVo getSalaryAttaVo(String applyNo, SalaryAttaVo returnVo, String preFileName, List<T> accountList,Class<T> tClass) {
String filePath = "salaryAccountFile";
String fileName = preFileName + "报表"+ applyNo + DateUtil.getThisTime() + CommonConstants.XLSX;
String key = filePath + "/" + fileName;
;
EasyExcelFactory.write(filePath, tClass).sheet(preFileName + "报表生成").doWrite(accountList);
try {
File file = new File(filePath);
InputStream inputStream = new FileInputStream(file);
// 调用上传服务
boolean flag = ossUtil.uploadFileByStream(inputStream, key,null);
if (flag) {
log.info("文件:" + fileName + "上传至存储空间" + ossUtil.getBucketName() + "成功!");
TSalaryAtta salaryAtta = this.saveTSalaryAtta(fileName, key, file.length(), applyNo, 14, null, null, null);
try { try {
org.apache.commons.io.FileUtils.forceDelete(new File(filePath)); this.save(salaryAtta);
} catch (IOException e) { } catch (Exception e) {
e.printStackTrace(); log.error("OSS文件上传接口异常:" + e.getMessage());
ossUtil.deleteObject(null, key);
} }
URL url = ossUtil.getObjectUrl(null, salaryAtta.getAttaSrc());
returnVo.setAttaUrl(url.toString());
returnVo.setAttaName(salaryAtta.getAttaName());
return returnVo;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//删除临时文件
try {
org.apache.commons.io.FileUtils.forceDelete(new File(filePath));
} catch (IOException e) {
e.printStackTrace();
} }
} }
return returnVo; return null;
} }
} }
...@@ -574,6 +574,25 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe ...@@ -574,6 +574,25 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
**/ **/
private HashMap<String, Object> setSendEkpStandardParam(TSalaryStandard s) { private HashMap<String, Object> setSendEkpStandardParam(TSalaryStandard s) {
HashMap<String, Object> sendMap = new HashMap<>(); HashMap<String, Object> sendMap = new HashMap<>();
//表单类型 fd_3cfb06799adc3a 表单类型0:薪资;1:绩效;2:其他;3:劳务费;4:稿酬 fxj 20240523
if (CommonConstants.ZERO_STRING.equals(s.getFormType())){
sendMap.put("fd_3cfb06799adc3a", "薪资");
}
if (CommonConstants.ONE_STRING.equals(s.getFormType())){
sendMap.put("fd_3cfb06799adc3a", "绩效");
}
if (CommonConstants.TWO_STRING.equals(s.getFormType())){
sendMap.put("fd_3cfb06799adc3a", "其他");
}
if (CommonConstants.THREE_STRING.equals(s.getFormType())){
sendMap.put("fd_3cfb06799adc3a", "劳务费");
}
if (CommonConstants.FOUR_STRING.equals(s.getFormType())){
sendMap.put("fd_3cfb06799adc3a", "稿酬");
}
//表格类型 fd_3cfb067af80082 表格类型 0 薪资原表 1 系统模板 fxj 20240523
sendMap.put("fd_3cfb067af80082", CommonConstants.ZERO_STRING.equals(s.getExcelType())?"薪资原表":"系统模板");
sendMap.put("fd_3b3bf2c3b1a6cc", s.getDeptName()); sendMap.put("fd_3b3bf2c3b1a6cc", s.getDeptName());
sendMap.put("fd_3b3bf2c426cfc8", s.getDeptNo()); sendMap.put("fd_3b3bf2c426cfc8", s.getDeptNo());
sendMap.put("fd_3b3bf2c4975776", s.getApplyNo() == null ? "" : s.getApplyNo()); sendMap.put("fd_3b3bf2c4975776", s.getApplyNo() == null ? "" : s.getApplyNo());
...@@ -658,6 +677,10 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe ...@@ -658,6 +677,10 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
socialParam.setFd_3adfe8c70d3fd4(account.getFd_3adfedf98ccba2()); socialParam.setFd_3adfe8c70d3fd4(account.getFd_3adfedf98ccba2());
//项目名称 //项目名称
socialParam.setFd_3adfe8c8468e54(account.getFd_3adfedf9d2bf1c()); socialParam.setFd_3adfe8c8468e54(account.getFd_3adfedf9d2bf1c());
//项目编码-原 fxj 20240527 add
socialParam.setFd_3cfe2da7e35daa(account.getFd_3adfedf98ccba2());
//项目名称-原 fxj 20240527 add
socialParam.setFd_3cfe2db5015d6e(account.getFd_3adfedf9d2bf1c());
//单号 //单号
socialParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING); socialParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING);
//客户编码 //客户编码
......
...@@ -1409,4 +1409,80 @@ ...@@ -1409,4 +1409,80 @@
order by a.SALARY_MONTH desc order by a.SALARY_MONTH desc
</select> </select>
<!-- 导出报账专用hgw -->
<select id="getAccountThreeListByApplyNo" resultType="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryTypeThreeExportEkpVo">
select
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
,
a.DEPT_NAME as deptName,
a.DEPT_NO as deptNo,
a.SETTLEMENT_MONTH as settlementMonth,
a.SALARY_MONTH as salaryMonth,
a.EMP_NAME as empName,
a.EMP_IDCARD as empIdcard,
a.EMP_PHONE as empPhone,
a.BANK_NO as bankNo,
a.BANK_NAME as bankName,
ap.AREA_NAME as bankProvince,
ac.AREA_NAME as bankCity,
a.BANK_SUB_NAME as bankSubName,
a.RELAY_SALARY as relaySalary,
if(a.SALARY_GIVE_TIME='1','暂停发','立即发') as salaryGiveTime,
if(a.IS_PERSON_TAX='1','个人承担部分税费',if(a.IS_PERSON_TAX='2','个人承担全部税费','公司承担全部税费')) as isPersonTax,
a.SALARY_TAX as salaryTax,
a.SALARY_TAX_UNIT as salaryTaxUnit,
a.RELAY_SALARY_UNIT as relaySalaryUnit,
a.ACTUAL_SALARY as actualSalary,
if(a.IS_REPEAT='0','否','是') as isRepeat,
if(a.OWN_FLAG='0','否','是') as ownFlag,
if(a.HAVE_SALARY_FLAG='0','否','是') as haveSalaryFlag,
if(a.PAY_SETTLE_FLAG = '0','已结算',if(a.PAY_SETTLE_FLAG = '1','结算中',if(a.PAY_SETTLE_FLAG = '2','未结算','-'))) paySettleFlag
from
t_salary_account a
left join t_salary_standard s on a.SALARY_FORM_ID = s.id
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 pdeduction on pdeduction.SALARY_ACCOUNT_ID = a.id and pdeduction.JAVA_FIED_NAME='pdeduction'
left join sys_area ap on ap.id=a.BANK_PROVINCE
left join sys_area ac on ac.id=a.BANK_CITY
where s.APPLY_NO = #{applyNo} and a.DELETE_FLAG = 0
GROUP BY a.id ORDER BY a.ROW_INDEX ASC
</select>
<!-- 导出报账专用hgw -->
<select id="getAccountFourListByApplyNo" resultType="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryTypeFourExportEkpVo">
select
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
,
a.DEPT_NAME as deptName,
a.DEPT_NO as deptNo,
a.SETTLEMENT_MONTH as settlementMonth,
a.SALARY_MONTH as salaryMonth,
a.EMP_NAME as empName,
a.EMP_IDCARD as empIdcard,
a.EMP_PHONE as empPhone,
a.BANK_NO as bankNo,
a.BANK_NAME as bankName,
ap.AREA_NAME as bankProvince,
ac.AREA_NAME as bankCity,
a.BANK_SUB_NAME as bankSubName,
a.RELAY_SALARY as relaySalary,
a.SALARY_TAX as salaryTax,
a.ACTUAL_SALARY as actualSalary,
if(a.IS_REPEAT='0','否','是') as isRepeat,
if(a.OWN_FLAG='0','否','是') as ownFlag,
if(a.HAVE_SALARY_FLAG='0','否','是') as haveSalaryFlag,
if(a.PAY_SETTLE_FLAG = '0','已结算',if(a.PAY_SETTLE_FLAG = '1','结算中',if(a.PAY_SETTLE_FLAG = '2','未结算','-'))) paySettleFlag
from
t_salary_account a
left join t_salary_standard s on a.SALARY_FORM_ID = s.id
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 pdeduction on pdeduction.SALARY_ACCOUNT_ID = a.id and pdeduction.JAVA_FIED_NAME='pdeduction'
left join sys_area ap on ap.id=a.BANK_PROVINCE
left join sys_area ac on ac.id=a.BANK_CITY
where s.APPLY_NO = #{applyNo} and a.DELETE_FLAG = 0
GROUP BY a.id ORDER BY a.ROW_INDEX ASC
</select>
</mapper> </mapper>
...@@ -85,6 +85,8 @@ ...@@ -85,6 +85,8 @@
<result property="deleteUser" column="DELETE_USER"/> <result property="deleteUser" column="DELETE_USER"/>
<result property="deleteDate" column="DELETE_DATE"/> <result property="deleteDate" column="DELETE_DATE"/>
<result property="excelType" column="EXCEL_TYPE"/> <result property="excelType" column="EXCEL_TYPE"/>
<result property="setName" column="SET_NAME"/>
<result property="originalSetName" column="ORIGINAL_SET_NAME"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
...@@ -147,7 +149,9 @@ ...@@ -147,7 +149,9 @@
a.SET_ID, a.SET_ID,
a.DELETE_USER, a.DELETE_USER,
a.DELETE_DATE, a.DELETE_DATE,
a.EXCEL_TYPE a.EXCEL_TYPE,
a.SET_NAME,
a.ORIGINAL_SET_NAME
</sql> </sql>
<sql id="tSalaryStandard_where"> <sql id="tSalaryStandard_where">
<if test="tSalaryStandard != null"> <if test="tSalaryStandard != null">
...@@ -298,6 +302,12 @@ ...@@ -298,6 +302,12 @@
<if test="tSalaryStandard.excelType != null and tSalaryStandard.excelType.trim() != ''"> <if test="tSalaryStandard.excelType != null and tSalaryStandard.excelType.trim() != ''">
AND a.EXCEL_TYPE = #{tSalaryStandard.excelType} AND a.EXCEL_TYPE = #{tSalaryStandard.excelType}
</if> </if>
<if test="tSalaryStandard.setName != null and tSalaryStandard.setName.trim() != ''">
AND a.SET_NAME = #{tSalaryStandard.setName}
</if>
<if test="tSalaryStandard.originalSetName != null and tSalaryStandard.originalSetName.trim() != ''">
AND a.ORIGINAL_SET_NAME = #{tSalaryStandard.originalSetName}
</if>
</if> </if>
</sql> </sql>
<!--tSalaryStandard简单分页查询--> <!--tSalaryStandard简单分页查询-->
......
/*
* 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.social.entity;
import com.alibaba.excel.annotation.ExcelIgnore;
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.math.BigDecimal;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@Data
@TableName("t_auto_payment_detail")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "自动化实缴记录表")
public class TAutoPaymentDetail extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelIgnore
@Schema(description = "id")
private String id;
/**
* 是否重新办理 0 是 1 否
*/
@ExcelAttribute(name = "是否重新办理 0 是 1 否", maxLength = 1)
@Length(max = 1, message = "是否重新办理 0 是 1 否不能超过1个字符")
@ExcelProperty("是否重新办理")
@Schema(description = "是否重新办理 0 是 1 否")
private String repeatHandleFlag;
/**
* 姓名
*/
@ExcelAttribute(name = "姓名", maxLength = 32)
@Length(max = 32, message = "姓名不能超过32个字符")
@ExcelProperty("姓名")
@Schema(description = "姓名")
private String empName;
/**
* 证件类型
*/
@ExcelAttribute(name = "证件类型", maxLength = 50)
@Length(max = 50, message = "证件类型不能超过50个字符")
@ExcelProperty("证件类型")
@Schema(description = "证件类型")
private String certType;
/**
* 证件号码
*/
@ExcelAttribute(name = "证件号码", maxLength = 50)
@Length(max = 50, message = "证件号码不能超过50个字符")
@ExcelProperty("证件号码")
@Schema(description = "证件号码")
private String certNum;
/**
* 缴费工资
*/
@ExcelAttribute(name = "缴费工资")
@ExcelProperty("缴费工资")
@Schema(description = "缴费工资")
private BigDecimal paymentSalary;
/**
* 缴费基数
*/
@ExcelAttribute(name = "缴费基数")
@ExcelProperty("缴费基数")
@Schema(description = "缴费基数")
private BigDecimal paymentBase;
/**
* 费率
*/
@ExcelAttribute(name = "费率", maxLength = 10)
@Length(max = 10, message = "费率不能超过10个字符")
@ExcelProperty("费率")
@Schema(description = "费率")
private String rate;
/**
* 应缴费额
*/
@ExcelAttribute(name = "应缴费额")
@ExcelProperty("应缴费额")
@Schema(description = "应缴费额")
private BigDecimal payLimit;
/**
* 人员编号
*/
@ExcelAttribute(name = "人员编号", maxLength = 32)
@Length(max = 32, message = "人员编号不能超过32个字符")
@ExcelProperty("人员编号")
@Schema(description = "人员编号")
private String empCode;
/**
* 险种
*/
@ExcelAttribute(name = "险种", maxLength = 50)
@Length(max = 50, message = "险种不能超过50个字符")
@ExcelProperty("险种")
@Schema(description = "险种")
private String insuranceType;
/**
* 社保缴纳月份
*/
@ExcelAttribute(name = "社保缴纳月份", maxLength = 10)
@Length(max = 10, message = "社保缴纳月份不能超过10个字符")
@ExcelProperty("社保缴纳月份")
@Schema(description = "社保缴纳月份")
private String payMonth;
/**
* 社保生成月份
*/
@ExcelAttribute(name = "社保生成月份", maxLength = 10)
@Length(max = 10, message = "社保生成月份不能超过10个字符")
@ExcelProperty("社保生成月份")
@Schema(description = "社保生成月份")
private String createMonth;
/**
* 社保缴纳地
*/
@ExcelAttribute(name = "社保缴纳地", maxLength = 50)
@Length(max = 50, message = "社保缴纳地不能超过50个字符")
@ExcelProperty("社保缴纳地")
@Schema(description = "社保缴纳地")
private String socialAddress;
/**
* 社保户
*/
@ExcelAttribute(name = "社保户", maxLength = 100)
@Length(max = 100, message = "社保户不能超过100个字符")
@ExcelProperty("社保户")
@Schema(description = "社保户")
private String socialSecurityAccount;
/**
* 资源类型:1日常申报导出;2人员缴费明细打印;3单位缴费明细查询;4单位缴费明细下载
*/
@ExcelAttribute(name = "资源类型", maxLength = 100)
@Length(max = 100, message = "资源类型不能超过100个字符")
@ExcelProperty("资源类型")
@Schema(description = "资源类型:1日常申报导出;2人员缴费明细打印;3单位缴费明细查询;4单位缴费明细下载")
private String sourceType;
/**
* 主表ID
*/
@ExcelAttribute(name = "主表ID", isNotEmpty = true, errorInfo = "主表ID不能为空", maxLength = 32)
@NotBlank(message = "主表ID不能为空")
@Length(max = 32, message = "主表ID不能超过32个字符")
@ExcelIgnore
@Schema(description = "主表ID")
private String parentId;
}
/*
* 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.social.entity;
import com.alibaba.excel.annotation.ExcelIgnore;
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-06-06 20:55:31
*/
@Data
@TableName("t_auto_payment_error")
@Schema(description = "社保士兵实缴核验错误反馈表")
public class TAutoPaymentError {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@Schema(description = "id")
@ExcelIgnore
private String id;
/**
* 主表ID
*/
@ExcelAttribute(name = "主表ID", isNotEmpty = true, errorInfo = "主表ID不能为空", maxLength = 32)
@NotBlank(message = "主表ID不能为空")
@Length(max = 32, message = "主表ID不能超过32个字符")
@ExcelProperty("主表ID")
@Schema(description = "主表ID")
@ExcelIgnore
private String parentId;
/**
* 姓名
*/
@ExcelAttribute(name = "姓名", maxLength = 32)
@Length(max = 32, message = "姓名不能超过32个字符")
@ExcelProperty("姓名")
@Schema(description = "姓名")
private String empName;
/**
* 证件号码
*/
@ExcelAttribute(name = "证件号码", maxLength = 50)
@Length(max = 50, message = "证件号码不能超过50个字符")
@ExcelProperty("证件号码")
@Schema(description = "证件号码")
private String certNum;
/**
* 险种
*/
@ExcelAttribute(name = "险种", maxLength = 50)
@Length(max = 50, message = "险种不能超过50个字符")
@ExcelProperty("险种")
@Schema(description = "险种")
private String insuranceType;
/**
* 社保户
*/
@ExcelAttribute(name = "社保户", maxLength = 100)
@Length(max = 100, message = "社保户不能超过100个字符")
@ExcelProperty("社保户")
@Schema(description = "社保户")
private String socialSecurityAccount;
/**
* 错误信息
*/
@ExcelAttribute(name = "错误信息", maxLength = 50)
@Length(max = 50, message = "错误信息不能超过50个字符")
@ExcelProperty("错误信息")
@Schema(description = "错误信息")
private String errorInfo;
}
/*
* 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.social.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
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;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@Data
@TableName("t_auto_payment_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "自动化实缴记录表")
public class TAutoPaymentInfo extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@Schema(description = "id")
private String id;
/**
* 生成月
*/
@ExcelAttribute(name = "生成月", maxLength = 6)
@Length(max = 1, message = "生成月不能超过6个字符")
@ExcelProperty("生成月")
@Schema(description = "生成月")
private String createMonth;
/**
* 数据整合之日常申报:0未整合1整合中2已整合3整合失败
*/
@ExcelAttribute(name = "数据整合之日常申报", maxLength = 1)
@Length(max = 1, message = "数据整合之日常申报不能超过1个字符")
@ExcelProperty("数据整合之日常申报")
@Schema(description = "数据整合之日常申报:0未整合1整合中2已整合3整合失败")
private String dataOneFlag;
/**
* 数据整合之人员缴费明细:0未整合1整合中2已整合3整合失败
*/
@ExcelAttribute(name = "数据整合之人员缴费明细", maxLength = 1)
@Length(max = 1, message = "数据整合之人员缴费明细不能超过1个字符")
@ExcelProperty("数据整合之人员缴费明细")
@Schema(description = "数据整合之人员缴费明细:0未整合1整合中2已整合3整合失败")
private String dataTwoFlag;
/**
* 数据整合之单位缴费明细:0未整合1整合中2已整合3整合失败
*/
@ExcelAttribute(name = "数据整合之单位缴费明细", maxLength = 1)
@Length(max = 1, message = "数据整合之单位缴费明细不能超过1个字符")
@ExcelProperty("数据整合之单位缴费明细")
@Schema(description = "数据整合之单位缴费明细:0未整合1整合中2已整合3整合失败")
private String dataThreeFlag;
/**
* 数据整合之日常申报的备注
*/
@ExcelAttribute(name = "数据整合之日常申报的备注", maxLength = 100)
@Length(max = 100, message = "数据整合之日常申报的备注不能超过100个字符")
@ExcelProperty("数据整合之日常申报的备注")
@Schema(description = "数据整合之日常申报的备注")
private String dataOneRemark;
/**
* 数据整合之人员缴费明细的备注
*/
@ExcelAttribute(name = "数据整合之人员缴费明细的备注", maxLength = 100)
@Length(max = 100, message = "数据整合之人员缴费明细的备注不能超过100个字符")
@ExcelProperty("数据整合之人员缴费明细的备注")
@Schema(description = "数据整合之人员缴费明细的备注")
private String dataTwoRemark;
/**
* 数据整合之单位缴费明细的备注
*/
@ExcelAttribute(name = "数据整合之单位缴费明细的备注", maxLength = 100)
@Length(max = 100, message = "数据整合之单位缴费明细的备注不能超过100个字符")
@ExcelProperty("数据整合之单位缴费明细的备注")
@Schema(description = "数据整合之单位缴费明细的备注")
private String dataThreeRemark;
/**
* 系统复核:0未复核1复核中2复核成功3复核失败
*/
@ExcelAttribute(name = "系统复核", maxLength = 1)
@Length(max = 1, message = "系统复核不能超过1个字符")
@ExcelProperty("系统复核:0未复核1复核中2复核成功3复核失败")
@Schema(description = "系统复核:0未复核1复核中2复核成功3复核失败")
private String systemReviewFlag;
/**
* 重新复核状态 0未复核1复核中2复核成功3复核失败
*/
@ExcelAttribute(name = "重新复核状态", maxLength = 1)
@Length(max = 1, message = "重新复核状态不能超过1个字符")
@ExcelProperty("重新复核状态 0未复核1复核中2复核成功3复核失败")
@Schema(description = "重新复核状态 0未复核1复核中2复核成功3复核失败")
private String repeatReviewFlag;
/**
* 资源路径
*/
@ExcelAttribute(name = "资源路径", maxLength = 200)
@Length(max = 200, message = "资源路径不能超过200个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("资源路径")
private String attaSrc;
/**
* 资源地址
*/
@ExcelAttribute(name = "资源地址", maxLength = 100)
@Length(max = 100, message = "资源地址不能超过100个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("资源地址")
private String attaUrl;
/**
* 原表资源地址1
*/
@ExcelAttribute(name = "原表资源地址1", maxLength = 200)
@Length(max = 200, message = "原表资源地址1不能超过200个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("原表资源地址1")
private String attaUrlOne;
/**
* 原表资源地址2
*/
@ExcelAttribute(name = "原表资源地址2", maxLength = 200)
@Length(max = 200, message = "原表资源地址2不能超过200个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("原表资源地址2")
private String attaUrlTwo;
/**
* 原表资源地址3
*/
@ExcelAttribute(name = "原表资源地址3", maxLength = 200)
@Length(max = 200, message = "原表资源地址3不能超过200个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("原表资源地址3")
private String attaUrlThree;
/**
* 原表资源地址4
*/
@ExcelAttribute(name = "原表资源地址4", maxLength = 200)
@Length(max = 200, message = "原表资源地址4不能超过200个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("原表资源地址4")
private String attaUrlFour;
}
...@@ -975,7 +975,7 @@ public class TSocialInfo extends BaseEntity { ...@@ -975,7 +975,7 @@ public class TSocialInfo extends BaseEntity {
@NotBlank(message = "养工失状态不能为空" ) @NotBlank(message = "养工失状态不能为空" )
@Length(max = 32, message = "养工失状态 不能超过32个字符" ) @Length(max = 32, message = "养工失状态 不能超过32个字符" )
@ExcelAttribute(name = "养工失状态", isNotEmpty = true, errorInfo = "办理状态不能为空", maxLength = 32) @ExcelAttribute(name = "养工失状态", isNotEmpty = true, errorInfo = "办理状态不能为空", maxLength = 32)
@Schema(description = "养工失状态:(0空、1待办理、2自动办理中、3继续办理、4终止办理、5人工处理、6成功)" ) @Schema(description = "养工失状态:(0空、1待办理、2自动办理中、3继续办理、4终止办理、5人工处理、6成功。7提交成功)" )
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("养工失状态" ) @ExcelProperty("养工失状态" )
private String ygsHandleStatus; private String ygsHandleStatus;
...@@ -985,7 +985,7 @@ public class TSocialInfo extends BaseEntity { ...@@ -985,7 +985,7 @@ public class TSocialInfo extends BaseEntity {
@NotBlank(message = "医生大状态不能为空" ) @NotBlank(message = "医生大状态不能为空" )
@Length(max = 32, message = "医生大状态 不能超过32个字符" ) @Length(max = 32, message = "医生大状态 不能超过32个字符" )
@ExcelAttribute(name = "医生大状态", isNotEmpty = true, errorInfo = "办理状态不能为空", maxLength = 32) @ExcelAttribute(name = "医生大状态", isNotEmpty = true, errorInfo = "办理状态不能为空", maxLength = 32)
@Schema(description = "医生大状态:(0空、1待办理、2自动办理中、3继续办理、4终止办理、5人工处理、6成功)" ) @Schema(description = "医生大状态:(0空、1待办理、2自动办理中、3继续办理、4终止办理、5人工处理、6成功。7提交成功)" )
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("医生大状态" ) @ExcelProperty("医生大状态" )
private String ysdHandleStatus; private String ysdHandleStatus;
...@@ -1017,7 +1017,7 @@ public class TSocialInfo extends BaseEntity { ...@@ -1017,7 +1017,7 @@ public class TSocialInfo extends BaseEntity {
@ExcelProperty("养工失反馈-原反馈" ) @ExcelProperty("养工失反馈-原反馈" )
private String ygsRemarkOld; private String ygsRemarkOld;
/** /**
* 医生大反馈-原反馈 * 医生大反馈-原反馈——额外作用:新增(初次在缴纳地参保)、续保
*/ */
@Length(max = 500, message = "医生大反馈-原反馈 不能超过500个字符" ) @Length(max = 500, message = "医生大反馈-原反馈 不能超过500个字符" )
@ExcelAttribute(name = "医生大反馈-原反馈", maxLength = 500) @ExcelAttribute(name = "医生大反馈-原反馈", maxLength = 500)
......
/*
* 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.social.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;
/**
* 社保工资申报、调整推送的记录表
*
* @author hgw
* @date 2024-5-30 09:53:57
*/
@Data
@TableName("t_social_soldier_shen_bao_task")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "社保工资申报、调整推送记录表")
public class TSocialSoldierShenBaoTask extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@Schema(description = "id")
private String id;
/**
* 推送的任务ID
*/
@ExcelAttribute(name = "推送的任务ID", isNotEmpty = true, errorInfo = "推送的任务ID不能为空", maxLength = 32)
@NotBlank(message = "推送的任务ID不能为空")
@Length(max = 32, message = "推送的任务ID不能超过32个字符")
@ExcelProperty("推送的任务ID")
@Schema(description = "推送的任务ID")
private String addId;
/**
* 1申报;2调整
*/
@ExcelAttribute(name = "1申报;2调整", isNotEmpty = true, errorInfo = "1申报;2调整", maxLength = 2)
@NotBlank(message = "1申报;2调整不能为空")
@Length(max = 2, message = "1申报;2调整不能超过1个字符")
@ExcelProperty("1申报;2调整")
@Schema(description = "1申报;2调整;3:实缴1日常申报导出;4:实缴2人员缴费明细打印;5:实缴3单位缴费明细查询;6:实缴3单位缴费明细下载")
private String type;
/**
* 拉取状态:0未拉取;1已拉取
*/
@ExcelAttribute(name = "拉取状态:0未拉取;1已拉取", maxLength = 1)
@Length(max = 1, message = "拉取状态:0未拉取;1已拉取不能超过1个字符")
@ExcelProperty("拉取状态:0未拉取;1已拉取")
@Schema(description = "拉取状态:0未拉取;1已拉取")
private String dataStatus;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hgw
* @Description 社保士兵实缴3张表查询1_合肥-社保费管理客户端-日常申报导出
* @Date 2024-5-29 18:20:26
**/
@Data
public class SocialSoldierPaymentSelectOneVo implements Serializable {
// 单位编号 单位名称 是否截图(日常申报) 费款所属期 单企业多Sheet 单企业单Sheet 多企业单Sheet 有效期起 有效期止 是否查询职工缴费工资 回传信息
// 单位编号 单位名称 是否截图(日常申报) 费款所属期 是否下载人员明细 单企业多Sheet 单企业单Sheet 多企业单Sheet 有效期起 有效期止 是否查询职工缴费工资 回传信息
@ExcelProperty("单位编号")
private String companyNo;
@ExcelProperty("单位名称")
private String companyName;
@ExcelProperty("是否截图(日常申报)")
private String isPrint;
@ExcelProperty("费款所属期")
private String createMonth;
@ExcelProperty("是否下载人员明细")
private String isDownLoad;
@ExcelProperty("单企业多Sheet")
private String danDuoSheet;
@ExcelProperty("单企业单Sheet")
private String danDanSheet;
@ExcelProperty("多企业单Sheet")
private String duoDanSheet;
@ExcelProperty("有效期起")
private String startDate;
@ExcelProperty("有效期止")
private String endDate;
@ExcelProperty("是否查询职工缴费工资")
private String isSalary;
@ExcelProperty("回传信息")
private String returnInfo;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hgw
* @Description 社保士兵实缴3张表查询3_合肥-医保-单位缴费明细查询
* @Date 2024-5-29 18:20:26
**/
@Data
public class SocialSoldierPaymentSelectThreeVo implements Serializable {
// 企业名称 对应费款所属期 险种类型 回传信息 回传信息1 回传信息2
@ExcelProperty("企业名称")
private String companyName;
@ExcelProperty("对应费款所属期")
private String createMonth;
@ExcelProperty("险种类型")
private String paymentType;
@ExcelProperty("回传信息")
private String returnInfo;
@ExcelProperty("回传信息1")
private String returnInfoOne;
@ExcelProperty("回传信息2")
private String returnInfoTwo;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hgw
* @Description 社保士兵实缴3张表查询2_合肥-社保-单位个人缴费信息查询
* @Date 2024-5-29 18:20:26
**/
@Data
public class SocialSoldierPaymentSelectTwoVo implements Serializable {
// 企业名称 参险类型 业务年月 回传信息 回传信息1 回传信息2
// 2024-6-7 11:29:15 变模版:
// 企业名称 证件号码 姓名 险种类型 人员状态 开始日期 结束日期 回传信息 回传信息1 回传信息2
// 2024-6-11 15:20:59 陈红确认 使用 B社会保险-单位个人缴费信息查询 => 合肥-社保-单位个人缴费信息查询
@ExcelProperty("企业名称")
private String companyName;
@ExcelProperty("参险类型")
private String paymentType;
@ExcelProperty("业务年月")
private String payMonth;
@ExcelProperty("回传信息")
private String returnInfo;
@ExcelProperty("回传信息1")
private String returnInfoOne;
@ExcelProperty("回传信息2")
private String returnInfoTwo;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hgw
* @Description 社保士兵实缴前置-工资申报
* @Date 2024-5-29 18:20:26
**/
@Data
public class SocialSoldierSalaryShenBaoVo implements Serializable {
// #单位编号 单位名称 *姓名 *身份证件类型代码 *身份证件号码 分组 原申报工资 *新缴费工资 养老保险缴费工资
// #失业保险险缴费工资 医疗保险缴费工资 大额医疗补助缴费工资 工伤保险缴费工资 申报方式 回传信息
@ExcelProperty("单位编号")
private String companyNo;
@ExcelProperty("单位名称")
private String companyName;
@ExcelProperty("*姓名")
private String empName;
@ExcelProperty("*身份证件类型代码")
private String empIdCardType;
@ExcelProperty("*身份证件号码")
private String empIdCard;
@ExcelProperty("分组")
private String fenZu;
@ExcelProperty("原申报工资")
private String oldSalary;
@ExcelProperty("*新缴费工资")
private String newSalary;
@ExcelProperty("养老保险缴费工资")
private String yangLao;
@ExcelProperty("失业保险险缴费工资")
private String shiYe;
@ExcelProperty("医疗保险缴费工资")
private String yiLiao;
@ExcelProperty("大额医疗补助缴费工资")
private String daBing;
@ExcelProperty("工伤保险缴费工资")
private String gongShang;
@ExcelProperty("申报方式")
private String shenBaoType;
@ExcelProperty("回传信息")
private String returnInfo;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hgw
* @Description 社保士兵实缴前置-工资调整
* @Date 2024-5-29 18:20:26
**/
@Data
public class SocialSoldierSalaryTiaoZhengVo implements Serializable {
// 单位编号 单位名称 生效年份 *姓名 *身份证件类型代码 *身份证件号码 分组 原申报工资 *新缴费工资 养老保险缴费工资
// 失业保险险缴费工资 医疗保险缴费工资 工伤保险缴费工资 申报方式 回传信息
@ExcelProperty("单位编号")
private String companyNo;
@ExcelProperty("单位名称")
private String companyName;
@ExcelProperty("生效年份")
private String shengXiaoYear;
@ExcelProperty("*姓名")
private String empName;
@ExcelProperty("*身份证件类型代码")
private String empIdCardType;
@ExcelProperty("*身份证件号码")
private String empIdCard;
@ExcelProperty("分组")
private String fenZu;
@ExcelProperty("原申报工资")
private String oldSalary;
@ExcelProperty("*新缴费工资")
private String newSalary;
@ExcelProperty("养老保险缴费工资")
private String yangLao;
@ExcelProperty("失业保险险缴费工资")
private String shiYe;
@ExcelProperty("医疗保险缴费工资")
private String yiLiao;
@ExcelProperty("工伤保险缴费工资")
private String gongShang;
@ExcelProperty("申报方式")
private String shenBaoType;
@ExcelProperty("回传信息")
private String returnInfo;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hgw
* @Description 社保士兵养工失审核结果查询模板
* @Date 2024-5-24 10:47:25
**/
@Data
public class SocialSoldierYgsAuditVo implements Serializable {
// 社保id,用于回写
@ExcelIgnore
private String socialId;
// #企业名称 业务类型 开始日期 结束日期 回传信息 回传信息1 回传信息2
@ExcelProperty("企业名称")
private String socialHouseholdName;
@ExcelProperty("业务类型")
private String type;
@ExcelProperty("开始日期")
private String startDate;
@ExcelProperty("结束日期")
private String endDate;
@ExcelProperty("回传信息")
private String backInfo;
@ExcelProperty("回传信息1")
private String backInfoOne;
@ExcelProperty("回传信息2")
private String backInfoTwo;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hgw
* @Description 社保士兵医生大审核结果查询模板
* @Date 2024-5-24 10:47:25
**/
@Data
public class SocialSoldierYsdAuditVo implements Serializable {
// 社保id,用于回写
@ExcelIgnore
private String socialId;
// #企业名称 业务类型 申办日期起 申办日期止 回传信息 回传信息1 回传信息2
@ExcelProperty("企业名称")
private String socialHouseholdName;
@ExcelProperty("业务类型")
private String type;
@ExcelProperty("申办日期起")
private String startDate;
@ExcelProperty("申办日期止")
private String endDate;
@ExcelProperty("回传信息")
private String backInfo;
@ExcelProperty("回传信息1")
private String backInfoOne;
@ExcelProperty("回传信息2")
private String backInfoTwo;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentDetail;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@Data
public class TAutoPaymentDetailSearchVo extends TAutoPaymentDetail {
/**
* 多选导出或删除等操作
*/
@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.social.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.math.BigDecimal;
import java.util.Date;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@Data
public class TAutoPaymentDetailVo extends RowIndex implements Serializable {
/**
* 是否重新办理 0 是 1 否
*/
@ExcelAttribute(name = "是否重新办理", maxLength = 1,readConverterExp = "0=是,1=否",isNotEmpty = true)
@Schema(description = "是否重新办理 0 是 1 否")
@ExcelProperty("是否重新办理")
private String repeatHandleFlag;
/**
* 姓名
*/
@Length(max = 32, message = "姓名 不能超过32 个字符")
@ExcelAttribute(name = "姓名", maxLength = 32,isNotEmpty = true)
@Schema(description = "姓名")
@ExcelProperty("姓名")
private String empName;
/**
* 证件号码
*/
@ExcelAttribute(name = "证件号码", maxLength = 50,isNotEmpty = true)
@Schema(description = "证件号码")
@ExcelProperty("证件号码")
private String certNum;
/**
* 社保户
*/
@Length(max = 100, message = "社保户 不能超过100 个字符")
@ExcelAttribute(name = "社保户", maxLength = 100,isNotEmpty = true)
@Schema(description = "社保户")
@ExcelProperty("社保户")
private String socialSecurityAccount;
}
/*
* 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.social.vo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentError;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 社保士兵实缴核验错误反馈表
*
* @author hgw
* @date 2024-06-06 20:55:31
*/
@Data
public class TAutoPaymentErrorSearchVo extends TAutoPaymentError {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@Data
public class TAutoPaymentInfoSearchVo extends TAutoPaymentInfo {
/**
* 多选导出或删除等操作
*/
@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;
/**
* 创建时间起
*/
@TableField(exist = false)
@Schema(description = "创建时间起")
private LocalDateTime createTimeStart;
/**
* 创建时间止
*/
@TableField(exist = false)
@Schema(description = "创建时间止")
private LocalDateTime createTimeEnd;
/**
* 更新时间起
*/
@TableField(exist = false)
@Schema(description = "更新时间起")
private LocalDateTime updateTimeStart;
/**
* 更新时间止
*/
@TableField(exist = false)
@Schema(description = "更新时间止")
private LocalDateTime updateTimeEnd;
}
/*
* 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.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@Data
public class TAutoPaymentInfoVo 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;
/**
* 数据整合:1 整合中 2已整合
*/
@Length(max = 1, message = "数据整合:1 整合中 2已整合 不能超过1 个字符")
@ExcelAttribute(name = "数据整合:1 整合中 2已整合", maxLength = 1)
@Schema(description = "数据整合:1 整合中 2已整合")
@ExcelProperty("数据整合:1 整合中 2已整合")
private String dataIntegrationFlag;
/**
* 系统复核:0复核中1复核成功2复核失败
*/
@Length(max = 1, message = "系统复核:0复核中1复核成功2复核失败 不能超过1 个字符")
@ExcelAttribute(name = "系统复核:0复核中1复核成功2复核失败", maxLength = 1)
@Schema(description = "系统复核:0复核中1复核成功2复核失败")
@ExcelProperty("系统复核:0复核中1复核成功2复核失败")
private String systemReviewFlag;
/**
* 重新复核状态 0 复核中 1复核成功 2复核失败
*/
@Length(max = 1, message = "重新复核状态 0 复核中 1复核成功 2复核失败 不能超过1 个字符")
@ExcelAttribute(name = "重新复核状态 0 复核中 1复核成功 2复核失败", maxLength = 1)
@Schema(description = "重新复核状态 0 复核中 1复核成功 2复核失败")
@ExcelProperty("重新复核状态 0 复核中 1复核成功 2复核失败")
private String repeatReviewFlag;
/**
* 创建人id
*/
@Length(max = 32, message = "创建人id 不能超过32 个字符")
@ExcelAttribute(name = "创建人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;
/**
* 创建时间
*/
@ExcelAttribute(name = "创建时间", 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;
}
/*
* 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.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import lombok.Data;
import java.io.Serializable;
/**
* 社保士兵审核结果反馈文件解析
*
* @author hgw
* @date 2024-5-27 11:14:07
*/
@Data
public class TSocialSoldierReturnAuditErrorVo extends RowIndex implements Serializable {
@ExcelProperty("错误信息")
private String errorInfo;
@ExcelProperty("企业名称")
private String companyName;
@ExcelProperty("证件号码")
private String idCard;
@ExcelProperty("姓名")
private String empName;
@ExcelProperty("审核状态")
private String auditStatus;
// 医保有值,社保没值
@ExcelProperty("审核意见")
private String ysdRemark;
// 社保独有的列
@ExcelProperty("操作")
private String ygsOperation;
}
...@@ -115,6 +115,10 @@ public class SocialConfig { ...@@ -115,6 +115,10 @@ public class SocialConfig {
sheMap.put("社保增员", sheBaoArrObj.getString("value")); sheMap.put("社保增员", sheBaoArrObj.getString("value"));
} else if ("社保减员".equals(sheBaoArrObj.get("label"))) { } else if ("社保减员".equals(sheBaoArrObj.get("label"))) {
sheMap.put("社保减员", sheBaoArrObj.getString("value")); sheMap.put("社保减员", sheBaoArrObj.getString("value"));
} else if ("审核数据查询".equals(sheBaoArrObj.get("label"))) {
sheMap.put("审核数据查询", sheBaoArrObj.getString("value"));
} else if ("单位个人缴费信息查询".equals(sheBaoArrObj.get("label"))) {
sheMap.put("单位个人缴费信息查询", sheBaoArrObj.getString("value"));
} }
} }
} else if ("医保".equals(childrenArrObj.get("label"))) { } else if ("医保".equals(childrenArrObj.get("label"))) {
...@@ -125,6 +129,24 @@ public class SocialConfig { ...@@ -125,6 +129,24 @@ public class SocialConfig {
sheMap.put("医保增员", sheBaoArrObj.getString("value")); sheMap.put("医保增员", sheBaoArrObj.getString("value"));
} else if ("医保减员".equals(sheBaoArrObj.get("label"))) { } else if ("医保减员".equals(sheBaoArrObj.get("label"))) {
sheMap.put("医保减员", sheBaoArrObj.getString("value")); sheMap.put("医保减员", sheBaoArrObj.getString("value"));
} else if ("审核数据信息查询".equals(sheBaoArrObj.get("label"))) {
sheMap.put("审核数据信息查询", sheBaoArrObj.getString("value"));
} else if ("单位缴费明细查询".equals(sheBaoArrObj.get("label"))) {
sheMap.put("单位缴费明细查询", sheBaoArrObj.getString("value"));
} else if ("单位缴费明细下载".equals(sheBaoArrObj.get("label"))) {
sheMap.put("单位缴费明细下载", sheBaoArrObj.getString("value"));
}
}
} else if ("社保费管理客户端".equals(childrenArrObj.get("label"))) {
sheBaoArr = (JSONArray) childrenArrObj.get("children");
for (int k = 0; k<sheBaoArr.size(); k++) {
sheBaoArrObj = (JSONObject) sheBaoArr.get(k);
if ("年度缴费工资申报".equals(sheBaoArrObj.get("label"))) {
sheMap.put("年度缴费工资申报", sheBaoArrObj.getString("value"));
} else if ("年度缴费工资调整".equals(sheBaoArrObj.get("label"))) {
sheMap.put("年度缴费工资调整", sheBaoArrObj.getString("value"));
} else if ("日常申报导出".equals(sheBaoArrObj.get("label"))) {
sheMap.put("日常申报导出", sheBaoArrObj.getString("value"));
} }
} }
} }
...@@ -268,12 +290,13 @@ public class SocialConfig { ...@@ -268,12 +290,13 @@ public class SocialConfig {
} }
/** /**
* @param: fileKey : resultFile 查看文件; resultAnnex 查看附件
* @Description: 5:任务查询接口 * @Description: 5:任务查询接口
* @Author: hgw * @Author: hgw
* @Date: 2024-5-8 15:07:45 * @Date: 2024-5-8 15:07:45
* @return: java.lang.String * @return: java.lang.String
**/ **/
public R<String> getFiveJob(RestTemplate restTemplate, String addId) { public R<String> getFiveJob(RestTemplate restTemplate, String addId, String fileKey) {
if (Common.isEmpty(addId)) { if (Common.isEmpty(addId)) {
return null; return null;
} }
...@@ -300,7 +323,7 @@ public class SocialConfig { ...@@ -300,7 +323,7 @@ public class SocialConfig {
if (!"完成".equals(statusStr)) { if (!"完成".equals(statusStr)) {
return R.failed(statusStr); return R.failed(statusStr);
} }
resultFile = dataObject.getString("resultFile"); resultFile = dataObject.getString(fileKey);
if (Common.isEmpty(resultFile)) { if (Common.isEmpty(resultFile)) {
return R.failed(resultFile); return R.failed(resultFile);
} }
......
/*
* 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.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
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.redis.RedisDistributedLock;
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.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentDetail;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo;
import com.yifu.cloud.plus.v1.yifu.social.service.TAutoPaymentDetailService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TAutoPaymentDetailSearchVo;
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 2024-05-24 10:56:42
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tautopaymentdetail")
@Tag(name = "自动化实缴明细表")
public class TAutoPaymentDetailController {
private final TAutoPaymentDetailService tAutoPaymentDetailService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tAutoPaymentDetail 自动化实缴记录表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TAutoPaymentDetail>> getTAutoPaymentDetailPage(Page<TAutoPaymentDetail> page, TAutoPaymentDetailSearchVo tAutoPaymentDetail) {
return new R<>(tAutoPaymentDetailService.getTAutoPaymentDetailPage(page, tAutoPaymentDetail));
}
/**
* 不分页查询
*
* @param tAutoPaymentDetail 自动化实缴记录表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
public R<List<TAutoPaymentDetail>> getTAutoPaymentDetailNoPage(@RequestBody TAutoPaymentDetailSearchVo tAutoPaymentDetail) {
return R.ok(tAutoPaymentDetailService.noPageDiy(tAutoPaymentDetail));
}
/**
* 通过id查询自动化实缴记录表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_tautopaymentdetail_get')")
@GetMapping("/{id}")
public R<TAutoPaymentDetail> getById(@PathVariable("id") String id) {
return R.ok(tAutoPaymentDetailService.getById(id));
}
/**
* 新增自动化实缴记录表
*
* @param tAutoPaymentDetail 自动化实缴记录表
* @return R
*/
@Operation(summary = "新增自动化实缴记录表", description = "新增自动化实缴记录表:hasPermission('social_tautopaymentdetail_add')")
@SysLog("新增自动化实缴记录表")
@PostMapping
public R<Boolean> save(@RequestBody TAutoPaymentDetail tAutoPaymentDetail) {
return R.ok(tAutoPaymentDetailService.save(tAutoPaymentDetail));
}
/**
* 修改自动化实缴记录表
*
* @param tAutoPaymentDetail 自动化实缴记录表
* @return R
*/
@Operation(summary = "修改自动化实缴记录表", description = "修改自动化实缴记录表:hasPermission('social_tautopaymentdetail_edit')")
@SysLog("修改自动化实缴记录表")
@PutMapping
public R<Boolean> updateById(@RequestBody TAutoPaymentDetail tAutoPaymentDetail) {
return R.ok(tAutoPaymentDetailService.updateById(tAutoPaymentDetail));
}
/**
* 通过id删除自动化实缴记录表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除自动化实缴记录表", description = "通过id删除自动化实缴记录表:hasPermission('social_tautopaymentdetail_del')")
@SysLog("通过id删除自动化实缴记录表")
@DeleteMapping("/{id}")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tAutoPaymentDetailService.removeById(id));
}
/**
* 自动化实缴记录表 批量导入
*
* @author fxj
* @date 2024-05-24 10:56:42
**/
@SneakyThrows
@Operation(description = "标记重新办理数据")
@SysLog("标记重新办理数据")
@PostMapping("/importListAdd")
public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file, @RequestParam String parentId) {
YifuUser user = SecurityUtils.getUser();
if (Common.isEmpty(user)) {
return R.failed(CommonConstants.USER_FAIL);
}
// 获取redis分布式事务锁
String key = CacheConstants.FUND_IMPORT_HANDLE_LOCK + CommonConstants.DOWN_LINE_STRING + user.getId();
String requestId;
try {
requestId = RedisDistributedLock.getLock(key, "10");
} catch (Exception e) {
throw new RuntimeException(ResultConstants.NO_GETLOCK_DATA + CommonConstants.DOWN_LINE_STRING + e.getMessage());
}
try {
if (Common.isNotNull(requestId)) {
return tAutoPaymentDetailService.importDiy(file.getInputStream(),parentId);
} else {
return R.failed(ResultConstants.NO_GETLOCK_DATA);
}
} finally {
//主动释放锁
RedisDistributedLock.unlock(key, requestId);
}
}
/**
* 自动化实缴记录表 批量导出
*
* @author fxj
* @date 2024-05-24 10:56:42
**/
@Operation(description = "导出自动化实缴记录表 hasPermission('social_tautopaymentdetail-export')")
@PostMapping("/export")
public void export(HttpServletResponse response, @RequestBody TAutoPaymentDetailSearchVo searchVo) {
tAutoPaymentDetailService.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.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentError;
import com.yifu.cloud.plus.v1.yifu.social.service.TAutoPaymentErrorService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TAutoPaymentErrorSearchVo;
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;
import java.util.List;
/**
* 社保士兵实缴核验错误反馈表
*
* @author hgw
* @date 2024-06-06 20:55:31
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tautopaymenterror")
@Tag(name = "社保士兵实缴核验错误反馈表管理")
public class TAutoPaymentErrorController {
private final TAutoPaymentErrorService tAutoPaymentErrorService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tAutoPaymentError 社保士兵实缴核验错误反馈表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TAutoPaymentError>> getTAutoPaymentErrorPage(Page<TAutoPaymentError> page, TAutoPaymentErrorSearchVo tAutoPaymentError) {
return new R<>(tAutoPaymentErrorService.getTAutoPaymentErrorPage(page, tAutoPaymentError));
}
/**
* 不分页查询
*
* @param tAutoPaymentError 社保士兵实缴核验错误反馈表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('social_tautopaymenterror_get')" )
public R<List<TAutoPaymentError>> getTAutoPaymentErrorNoPage(@RequestBody TAutoPaymentErrorSearchVo tAutoPaymentError) {
return R.ok(tAutoPaymentErrorService.noPageDiy(tAutoPaymentError));
}
/**
* 通过id查询社保士兵实缴核验错误反馈表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_tautopaymenterror_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tautopaymenterror_get')")
public R<TAutoPaymentError> getById(@PathVariable("id") String id) {
return R.ok(tAutoPaymentErrorService.getById(id));
}
/**
* 新增社保士兵实缴核验错误反馈表
*
* @param tAutoPaymentError 社保士兵实缴核验错误反馈表
* @return R
*/
@Operation(summary = "新增社保士兵实缴核验错误反馈表", description = "新增社保士兵实缴核验错误反馈表:hasPermission('social_tautopaymenterror_add')")
@SysLog("新增社保士兵实缴核验错误反馈表")
@PostMapping
@PreAuthorize("@pms.hasPermission('social_tautopaymenterror_add')")
public R<Boolean> save(@RequestBody TAutoPaymentError tAutoPaymentError) {
return R.ok(tAutoPaymentErrorService.save(tAutoPaymentError));
}
/**
* 修改社保士兵实缴核验错误反馈表
*
* @param tAutoPaymentError 社保士兵实缴核验错误反馈表
* @return R
*/
@Operation(summary = "修改社保士兵实缴核验错误反馈表", description = "修改社保士兵实缴核验错误反馈表:hasPermission('social_tautopaymenterror_edit')")
@SysLog("修改社保士兵实缴核验错误反馈表")
@PutMapping
@PreAuthorize("@pms.hasPermission('social_tautopaymenterror_edit')")
public R<Boolean> updateById(@RequestBody TAutoPaymentError tAutoPaymentError) {
return R.ok(tAutoPaymentErrorService.updateById(tAutoPaymentError));
}
/**
* 通过id删除社保士兵实缴核验错误反馈表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除社保士兵实缴核验错误反馈表", description = "通过id删除社保士兵实缴核验错误反馈表:hasPermission('social_tautopaymenterror_del')")
@SysLog("通过id删除社保士兵实缴核验错误反馈表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tautopaymenterror_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tAutoPaymentErrorService.removeById(id));
}
/**
* 社保士兵实缴核验错误反馈表 批量导出
*
* @author hgw
* @date 2024-06-06 20:55:31
**/
@Operation(description = "导出社保士兵实缴核验错误反馈表 hasPermission('social_tautopaymenterror-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('social_tautopaymenterror-export')")
public void export(HttpServletResponse response, @RequestBody TAutoPaymentErrorSearchVo searchVo) {
if (Common.isNotNull(searchVo.getParentId())) {
tAutoPaymentErrorService.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.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.OSSUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentInfo;
import com.yifu.cloud.plus.v1.yifu.social.service.TAutoPaymentInfoService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TAutoPaymentInfoSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
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.net.URL;
import java.util.List;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tautopaymentinfo")
@Tag(name = "自动化实缴记录表管理")
public class TAutoPaymentInfoController {
private final TAutoPaymentInfoService tAutoPaymentInfoService;
private final OSSUtil ossUtil;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tAutoPaymentInfo 自动化实缴记录表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TAutoPaymentInfo>> getTAutoPaymentInfoPage(Page<TAutoPaymentInfo> page, TAutoPaymentInfoSearchVo tAutoPaymentInfo) {
return new R<>(tAutoPaymentInfoService.getTAutoPaymentInfoPage(page, tAutoPaymentInfo));
}
/**
* 获取附件下载地址
* @Author hgw
* @Date 2024-6-6 09:42:47
**/
@Schema(description = "附件预览下载地址")
@SysLog("附件预览下载地址")
@PostMapping("/getOssFileUrl")
public R<String> ossFileUrl(@RequestParam String attaSrc) {
URL url = ossUtil.getObjectUrl(null, attaSrc);
String urlStr = url.toString().replace("http","https");
return new R<>(urlStr);
}
/**
* 不分页查询
*
* @param tAutoPaymentInfo 自动化实缴记录表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
public R<List<TAutoPaymentInfo>> getTAutoPaymentInfoNoPage(@RequestBody TAutoPaymentInfoSearchVo tAutoPaymentInfo) {
return R.ok(tAutoPaymentInfoService.noPageDiy(tAutoPaymentInfo));
}
/**
* 通过id查询自动化实缴记录表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_tautopaymentinfo_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tautopaymentinfo_get')")
public R<TAutoPaymentInfo> getById(@PathVariable("id") String id) {
return R.ok(tAutoPaymentInfoService.getById(id));
}
/**
* 新增自动化实缴记录表
*
* @param tAutoPaymentInfo 自动化实缴记录表
* @return R
*/
@Operation(summary = "新增自动化实缴记录表", description = "新增自动化实缴记录表:hasPermission('social_tautopaymentinfo_add')")
@SysLog("新增自动化实缴记录表")
@PostMapping
@PreAuthorize("@pms.hasPermission('social_tautopaymentinfo_add')")
public R<Boolean> save(@RequestBody TAutoPaymentInfo tAutoPaymentInfo) {
return R.ok(tAutoPaymentInfoService.save(tAutoPaymentInfo));
}
/**
* 修改自动化实缴记录表
*
* @param tAutoPaymentInfo 自动化实缴记录表
* @return R
*/
@Operation(summary = "修改自动化实缴记录表", description = "修改自动化实缴记录表:hasPermission('social_tautopaymentinfo_edit')")
@SysLog("修改自动化实缴记录表")
@PutMapping
@PreAuthorize("@pms.hasPermission('social_tautopaymentinfo_edit')")
public R<Boolean> updateById(@RequestBody TAutoPaymentInfo tAutoPaymentInfo) {
return R.ok(tAutoPaymentInfoService.updateById(tAutoPaymentInfo));
}
/**
* 通过id删除自动化实缴记录表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除自动化实缴记录表", description = "通过id删除自动化实缴记录表:hasPermission('social_tautopaymentinfo_del')")
@SysLog("通过id删除自动化实缴记录表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tautopaymentinfo_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tAutoPaymentInfoService.removeById(id));
}
/**
* 自动化实缴记录表 批量导入
*
* @author fxj
* @date 2024-05-24 10:56:42
**/
@SneakyThrows
@Operation(description = "批量新增自动化实缴记录表 hasPermission('social_tautopaymentinfo-batch-import')")
@SysLog("批量新增自动化实缴记录表")
@PostMapping("/importListAdd")
@PreAuthorize("@pms.hasPermission('social_tautopaymentinfo-batch-import')")
public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file) {
return tAutoPaymentInfoService.importDiy(file.getInputStream());
}
/**
* 自动化实缴记录表 批量导出
*
* @author fxj
* @date 2024-05-24 10:56:42
**/
@Operation(description = "导出自动化实缴记录表 hasPermission('social_tautopaymentinfo-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('social_tautopaymentinfo-export')")
public void export(HttpServletResponse response, @RequestBody TAutoPaymentInfoSearchVo searchVo) {
tAutoPaymentInfoService.listExport(response, searchVo);
}
}
...@@ -26,6 +26,7 @@ import io.swagger.v3.oas.annotations.Operation; ...@@ -26,6 +26,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
...@@ -79,7 +80,7 @@ public class TSocialSoldierController { ...@@ -79,7 +80,7 @@ public class TSocialSoldierController {
**/ **/
@Operation(description = "1定时任务获取社保士兵状态") @Operation(description = "1定时任务获取社保士兵状态")
@PostMapping("/inner/doInnerGetFiveJob") @PostMapping("/inner/doInnerGetFiveJob")
@SysLog("每日1定时任务获取社保士兵状态") @SysLog("1每日定时任务获取社保士兵状态")
@Inner @Inner
public R<String> doInnerGetFiveJob() { public R<String> doInnerGetFiveJob() {
return tSocialSoldierService.getFiveJob(null); return tSocialSoldierService.getFiveJob(null);
...@@ -93,9 +94,118 @@ public class TSocialSoldierController { ...@@ -93,9 +94,118 @@ public class TSocialSoldierController {
**/ **/
@Operation(description = "2定时任务推送社保士兵") @Operation(description = "2定时任务推送社保士兵")
@PostMapping("/inner/doInnerPushSoldier") @PostMapping("/inner/doInnerPushSoldier")
@SysLog("每日2定时任务推送社保士兵") @SysLog("2每日定时任务推送社保士兵")
@Inner @Inner
public R<String> doInnerPushSoldier() { public R<String> doInnerPushSoldier() {
return tSocialSoldierPushService.pushSoldier(null); return tSocialSoldierPushService.pushSoldier(null);
} }
/**
* @Description: 3每日定时任务推送社保士兵审核结果查询
* @Author: hgw
* @Date: 2024-5-24 17:01:56
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(description = "3每日定时任务推送社保士兵审核结果查询")
@PostMapping("/inner/doInnerPushSoldierByAudit")
@SysLog("4每日定时任务推送社保士兵审核结果查询")
@Inner
public R<String> doInnerPushSoldierByAudit() {
return tSocialSoldierPushService.pushSoldierByAudit();
}
/**
* @Description: 4每日定时任务获取社保士兵审核结果查询
* @Author: hgw
* @Date: 2024-5-24 17:02:00
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(description = "4每日定时任务获取社保士兵审核结果查询")
@PostMapping("/inner/doInnerGetSixJobByAudit")
@SysLog("4每日定时任务获取社保士兵审核结果查询")
@Inner
public R<String> doInnerGetSixJobByAudit() {
return tSocialSoldierService.getSixJobByAudit();
}
/**
* @Description: 5推送工资申报、调整(实缴使用)
* @Author: hgw
* @Date: 2024-5-30 17:32:43
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(description = "5每月5号推送工资申报、调整(实缴使用)")
@PostMapping("/inner/doInnerPushSalaryByShenBao")
@SysLog("5每月5号推送工资申报、调整(实缴使用)")
@Inner
public R<String> doInnerPushSalaryByShenBao() {
return tSocialSoldierPushService.pushSalaryByShenBao();
}
/**
* @Description: 6每月6号推送实缴3张表查询
* @Author: hgw
* @Date: 2024-5-31 16:04:09
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(description = "6每月6号1点推送实缴3张表查询")
@PostMapping("/inner/doPushPaymentThree")
@SysLog("6每月6号推送实缴3张表查询")
@Inner
public R<String> doPushPaymentThree() {
return tSocialSoldierPushService.pushPaymentThree(null,false);
}
/**
* @Description: 7每月6号定时任务获取社保士兵实缴3张表
* @Author: hgw
* @Date: 2024-5-30 18:00:00
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(description = "7每月6号3点定时任务获取社保士兵实缴3张表")
@PostMapping("/inner/doInnerGetPaymentThree")
@SysLog("7每月6号定时任务获取社保士兵实缴3张表")
@Inner
public R<String> doInnerGetPaymentThree() {
return tSocialSoldierService.doInnerGetPaymentThree();
}
/**
* @Description: 推送重新办理任务
* @Author: hgw
* @Date: 2024/5/11 19:25
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(description = "推送重新办理任务")
@GetMapping("/pushReHandle")
public R<String> pushReHandle(@RequestParam String parentId) {
return tSocialSoldierPushService.pushPaymentThree(parentId, true);
}
/**
* @param parentId 主表id
* @Description: 获取重新办理结果
* @Author: hgw
* @Date: 2024/5/11 19:25
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(description = "获取重新办理结果")
@GetMapping("/getReHandle")
public R<String> getReHandle(@RequestParam String parentId) {
tSocialSoldierService.getReHandle(parentId);
return R.ok("正在执行中,请耐心等待!");
}
/**
* @Description: 文件组装zip的Demo(测试附件使用,不删除)
* @Author: hgw
* @Date: 2024-6-11 14:27:50
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation(description = "文件组装zip的Demo")
@PostMapping("/getZip")
public R<String> getZip(@RequestBody MultipartFile zipFile) {
return tSocialSoldierService.getZip(zipFile);
}
} }
/*
* 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.social.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.social.entity.TAutoPaymentDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@Mapper
public interface TAutoPaymentDetailMapper extends BaseMapper<TAutoPaymentDetail> {
/**
* 自动化实缴记录表简单分页查询
*
* @param tAutoPaymentDetail 自动化实缴记录表
* @return
*/
IPage<TAutoPaymentDetail> getTAutoPaymentDetailPage(Page<TAutoPaymentDetail> page, @Param("tAutoPaymentDetail") TAutoPaymentDetail tAutoPaymentDetail);
/**
* @param parentId
* @Description: 删除明细表
* @Author: hgw
* @Date: 2024/6/6 9:55
* @return: void
**/
void deleteByParentId(@Param("parentId") String parentId, @Param("sourceType") int sourceType);
List<TAutoPaymentDetail> getListByParentId(@Param("parentId") String parentId);
}
/*
* 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.social.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.social.entity.TAutoPaymentError;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 社保士兵实缴核验错误反馈表
*
* @author hgw
* @date 2024-06-06 20:55:31
*/
@Mapper
public interface TAutoPaymentErrorMapper extends BaseMapper<TAutoPaymentError> {
/**
* 社保士兵实缴核验错误反馈表简单分页查询
*
* @param tAutoPaymentError 社保士兵实缴核验错误反馈表
* @return
*/
IPage<TAutoPaymentError> getTAutoPaymentErrorPage(Page<TAutoPaymentError> page, @Param("tAutoPaymentError") TAutoPaymentError tAutoPaymentError);
void deleteByParentId(@Param("parentId") String parentId);
}
/*
* 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.social.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.social.entity.TAutoPaymentInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
@Mapper
public interface TAutoPaymentInfoMapper extends BaseMapper<TAutoPaymentInfo> {
/**
* 自动化实缴记录表简单分页查询
*
* @param tAutoPaymentInfo 自动化实缴记录表
* @return
*/
IPage<TAutoPaymentInfo> getTAutoPaymentInfoPage(Page<TAutoPaymentInfo> page, @Param("tAutoPaymentInfo") TAutoPaymentInfo tAutoPaymentInfo);
/**
* @Description: 获取当前月的主表
* @Author: hgw
* @Date: 2024/6/4 16:12
* @return: com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentInfo
**/
TAutoPaymentInfo getThisMonthMainAuto();
void setUrlToNullByRePayment(@Param("parentId") String parentId);
}
...@@ -50,6 +50,15 @@ public interface TSocialInfoMapper extends BaseMapper<TSocialInfo> { ...@@ -50,6 +50,15 @@ public interface TSocialInfoMapper extends BaseMapper<TSocialInfo> {
**/ **/
List<TSocialInfo> getSocialSoldierYgsAll(); List<TSocialInfo> getSocialSoldierYgsAll();
List<TSocialInfo> getSocialSoldierYsdAll(); List<TSocialInfo> getSocialSoldierYsdAll();
/**
* @param
* @Description: 获取所有需要社保局审核的社保
* @Author: hgw
* @Date: 2024-5-24 17:07:00
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo>
**/
List<TSocialInfo> getSocialSoldierYgsByAudit();
List<TSocialInfo> getSocialSoldierYsdByAudit();
/** /**
* @param addId 任务id * @param addId 任务id
......
...@@ -59,4 +59,67 @@ public interface TSocialSoldierMapper extends BaseMapper<TSocialInfo> { ...@@ -59,4 +59,67 @@ public interface TSocialSoldierMapper extends BaseMapper<TSocialInfo> {
* @Date 2024-5-10 21:16:41 * @Date 2024-5-10 21:16:41
**/ **/
List<SocialSoldierYgsAddVo> getSocialSoldierYsdReduceVoList(@Param("idsStr") List<String> idsStr); List<SocialSoldierYgsAddVo> getSocialSoldierYsdReduceVoList(@Param("idsStr") List<String> idsStr);
/**
* 社保士兵养工失审核模板
* @Author hgw
* @Date 2024-5-24 16:39:43
**/
List<SocialSoldierYgsAuditVo> getSocialSoldierYgsAuditVoList();
/**
* 社保士兵医生大审核续保模板
* @Author hgw
* @Date 2024-5-24 16:39:43
**/
List<SocialSoldierYsdAuditVo> getSocialSoldierYsdAuditVoList();
/**
* 社保士兵医生大审核新增模板
* @Author hgw
* @Date 2024-5-24 16:39:43
**/
List<SocialSoldierYsdAuditVo> getSocialSoldierYsdAddAuditVoList();
/**
* @Description: 工资申报
* @Author: hgw
* @Date: 2024/5/29 18:32
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierSalaryShenBaoVo>
**/
List<SocialSoldierSalaryShenBaoVo> getSoldierSalaryByShenBaoList();
/**
* @Description: 工资调整
* @Author: hgw
* @Date: 2024/5/29 18:32
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierSalaryShenBaoVo>
**/
List<SocialSoldierSalaryTiaoZhengVo> getSoldierSalaryByTiaoZhengList();
/**
* @Description: 实缴3张表之日常申报
* @Author: hgw
* @Date: 2024/5/29 18:32
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierSalaryShenBaoVo>
**/
List<SocialSoldierPaymentSelectOneVo> getSoldierPaymentSelectOneList();
/**
* @Description: 实缴3张表之日常申报
* @Author: hgw
* @Date: 2024/5/29 18:32
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierSalaryShenBaoVo>
**/
List<SocialSoldierPaymentSelectTwoVo> getSoldierPaymentSelectTwoList();
/**
* @Description: 实缴3张表之日常申报
* @Author: hgw
* @Date: 2024/5/29 18:32
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierSalaryShenBaoVo>
**/
List<SocialSoldierPaymentSelectThreeVo> getSoldierPaymentSelectThreeList();
void getSoldierPaymentErrorInfoOne(@Param("parentId") String parentId);
void getSoldierPaymentErrorInfoTwo(@Param("parentId") String parentId);
void getSoldierPaymentErrorInfoOneByRe(@Param("parentId") String parentId);
void getSoldierPaymentErrorInfoTwoByRe(@Param("parentId") String parentId);
} }
/*
* 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.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialSoldierShenBaoTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 社保自动化审核提交后的审核结果查询记录表
*
* @author hgw
* @date 2024-05-23 17:40:37
*/
@Mapper
public interface TSocialSoldierShenBaoTaskMapper extends BaseMapper<TSocialSoldierShenBaoTask> {
/**
* 社保自动化审核提交后的审核结果查询记录表简单分页查询
*
* @param tSocialSoldierShenBaoTask 社保自动化审核提交后的审核结果查询记录表
* @return
*/
List<TSocialSoldierShenBaoTask> getTSocialSoldierShenBaoTaskList(@Param("tSocialSoldierShenBaoTask") TSocialSoldierShenBaoTask tSocialSoldierShenBaoTask);
List<TSocialSoldierShenBaoTask> getTSocialSoldierTaskListByRe();
TSocialSoldierShenBaoTask getSoldierTaskAddIdByType(@Param("type") String type);
void deleteByPayment();
void deleteByRePayment();
}
/*
* 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.social.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentDetail;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.social.vo.TAutoPaymentDetailSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
public interface TAutoPaymentDetailService extends IService<TAutoPaymentDetail> {
/**
* 自动化实缴记录表简单分页查询
*
* @param tAutoPaymentDetail 自动化实缴记录表
* @return
*/
IPage<TAutoPaymentDetail> getTAutoPaymentDetailPage(Page<TAutoPaymentDetail> page, TAutoPaymentDetailSearchVo tAutoPaymentDetail);
R<List<ErrorMessage>> importDiy(InputStream inputStream,String parentId);
void listExport(HttpServletResponse response, TAutoPaymentDetailSearchVo searchVo);
List<TAutoPaymentDetail> noPageDiy(TAutoPaymentDetailSearchVo searchVo);
/**
* @param: sourceType 资源类型:1日常申报导出;2人员缴费明细打印;3单位缴费明细查询;4单位缴费明细下载
* @Description: 清空明细表
* @Author: hgw
* @Date: 2024/6/6 9:54
* @return: void
**/
void deleteByParentId(String parentId, int sourceType);
/**
* @param parentId
* @Description: 获取被标记的明细,用来更新
* @Author: hgw
* @Date: 2024/6/7 17:50
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentDetail>
**/
List<TAutoPaymentDetail> getListByParentId(String parentId);
}
/*
* 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.social.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.social.entity.TAutoPaymentError;
import com.yifu.cloud.plus.v1.yifu.social.vo.TAutoPaymentErrorSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 社保士兵实缴核验错误反馈表
*
* @author hgw
* @date 2024-06-06 20:55:31
*/
public interface TAutoPaymentErrorService extends IService<TAutoPaymentError> {
/**
* 社保士兵实缴核验错误反馈表简单分页查询
*
* @param tAutoPaymentError 社保士兵实缴核验错误反馈表
* @return
*/
IPage<TAutoPaymentError> getTAutoPaymentErrorPage(Page<TAutoPaymentError> page, TAutoPaymentErrorSearchVo tAutoPaymentError);
void listExport(HttpServletResponse response, TAutoPaymentErrorSearchVo searchVo);
List<TAutoPaymentError> noPageDiy(TAutoPaymentErrorSearchVo searchVo);
void deleteByParentId(String parentId);
}
/*
* 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.social.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentInfo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.social.vo.TAutoPaymentInfoSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
/**
* 自动化实缴记录表
*
* @author fxj
* @date 2024-05-24 10:56:42
*/
public interface TAutoPaymentInfoService extends IService<TAutoPaymentInfo> {
/**
* 自动化实缴记录表简单分页查询
*
* @param tAutoPaymentInfo 自动化实缴记录表
* @return
*/
IPage<TAutoPaymentInfo> getTAutoPaymentInfoPage(Page<TAutoPaymentInfo> page, TAutoPaymentInfoSearchVo tAutoPaymentInfo);
R<List<ErrorMessage>> importDiy(InputStream inputStream);
void listExport(HttpServletResponse response, TAutoPaymentInfoSearchVo searchVo);
List<TAutoPaymentInfo> noPageDiy(TAutoPaymentInfoSearchVo searchVo);
/**
* @Description: 获取当前月的主表
* @Author: hgw
* @Date: 2024/6/4 16:12
* @return: com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentInfo
**/
TAutoPaymentInfo getThisMonthMainAuto();
/**
* @param parentId
* @Description: 复核发起时,清空url
* @Author: hgw
* @Date: 2024/6/7 17:30
* @return: void
**/
void setUrlToNullByRePayment(String parentId);
}
...@@ -66,6 +66,14 @@ public interface TSocialInfoService extends IService<TSocialInfo> { ...@@ -66,6 +66,14 @@ public interface TSocialInfoService extends IService<TSocialInfo> {
**/ **/
List<TSocialInfo> getSocialSoldierYgsAll(); List<TSocialInfo> getSocialSoldierYgsAll();
List<TSocialInfo> getSocialSoldierYsdAll(); List<TSocialInfo> getSocialSoldierYsdAll();
/**
* @Description: 获取所有需要审核结果的社保
* @Author: hgw
* @Date: 2024-5-24 17:05:46
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo>
**/
List<TSocialInfo> getSocialSoldierYgsByAudit();
List<TSocialInfo> getSocialSoldierYsdByAudit();
/** /**
* @param addId 任务id * @param addId 任务id
......
...@@ -49,4 +49,28 @@ public interface TSocialSoldierPushService extends IService<TSocialInfo> { ...@@ -49,4 +49,28 @@ public interface TSocialSoldierPushService extends IService<TSocialInfo> {
**/ **/
R<String> pushSoldier(List<String> dispatchIdList); R<String> pushSoldier(List<String> dispatchIdList);
/**
* @param
* @Description: 推送当月所有提交社保局后,待社保局审核的查询任务
* @Author: hgw
* @Date: 2024/5/23 18:14
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> pushSoldierByAudit();
/**
* @Description: 推送工资申报、调整(实缴使用)
* @Author: hgw
* @Date: 2024-5-29 17:47:10
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> pushSalaryByShenBao();
/**
* @Description: 6每月6号推送实缴3张表查询
* @Author: hgw
* @Date: 2024-5-31 16:04:54
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> pushPaymentThree(String parentId, boolean isReHandle);
} }
...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.social.service; ...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.social.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 社保士兵 * 社保士兵
...@@ -39,4 +40,30 @@ public interface TSocialSoldierService extends IService<TSocialInfo> { ...@@ -39,4 +40,30 @@ public interface TSocialSoldierService extends IService<TSocialInfo> {
**/ **/
R<String> getFiveJob(String addId); R<String> getFiveJob(String addId);
/**
* @Description: 查看社保士兵审核结果查询的反馈情况
* @Author: hgw
* @Date: 2024-5-24 17:02:34
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> getSixJobByAudit();
/**
* @Description: 获取实缴3张表的数据
* @Author: hgw
* @Date: 2024-5-24 17:02:34
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> doInnerGetPaymentThree();
/**
* @Description: 重新办理
* @Author: hgw
* @Date: 2024/6/6 21:36
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> getReHandle(String parentId);
R<String> getZip(MultipartFile zipFile);
} }
/*
* 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.social.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialSoldierShenBaoTask;
import java.util.List;
/**
* 社保自动化审核提交后的审核结果查询记录表
*
* @author hgw
* @date 2024-05-23 17:40:37
*/
public interface TSocialSoldierShenBaoTaskService extends IService<TSocialSoldierShenBaoTask> {
/**
* 社保自动化审核提交后的审核结果查询记录表简单分页查询
*
* @param tSocialSoldierShenBaoTask 社保自动化审核提交后的审核结果查询记录表
* @return
*/
List<TSocialSoldierShenBaoTask> getTSocialSoldierShenBaoTaskList(TSocialSoldierShenBaoTask tSocialSoldierShenBaoTask);
/**
* @param
* @Description: 获取复核记录为未复核的情况
* @Author: hgw
* @Date: 2024/6/7 11:56
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.entity.TSocialSoldierShenBaoTask>
**/
List<TSocialSoldierShenBaoTask> getTSocialSoldierTaskListByRe();
/**
* @param type
* @Description: 获取实缴3张表推送后的任务ID,以用来拉取数据
* @Author: hgw
* @Date: 2024/5/31 18:13
* @return: java.lang.String
**/
TSocialSoldierShenBaoTask getSoldierTaskAddIdByType(String type);
/**
* @Description: 删除实缴推送
* @Author: hgw
* @Date: 2024/6/6 21:49
* @return: void
**/
void deleteByPayment();
/**
* @Description: 删除实缴再次推送
* @Author: hgw
* @Date: 2024/6/6 21:50
* @return: void
**/
void deleteByRePayment();
}
/*
* 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.social.service.impl;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
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.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 com.yifu.cloud.plus.v1.yifu.social.entity.TAutoPaymentError;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TAutoPaymentErrorMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TAutoPaymentErrorService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TAutoPaymentErrorSearchVo;
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 hgw
* @date 2024-06-06 20:55:31
*/
@Log4j2
@Service
public class TAutoPaymentErrorServiceImpl extends ServiceImpl<TAutoPaymentErrorMapper, TAutoPaymentError> implements TAutoPaymentErrorService {
/**
* 社保士兵实缴核验错误反馈表简单分页查询
*
* @param tAutoPaymentError 社保士兵实缴核验错误反馈表
* @return
*/
@Override
public IPage<TAutoPaymentError> getTAutoPaymentErrorPage(Page<TAutoPaymentError> page, TAutoPaymentErrorSearchVo tAutoPaymentError) {
return baseMapper.getTAutoPaymentErrorPage(page, tAutoPaymentError);
}
/**
* 社保士兵实缴核验错误反馈表批量导出
*
* @param searchVo 社保士兵实缴核验错误反馈表
* @return
*/
@Override
public void listExport(HttpServletResponse response, TAutoPaymentErrorSearchVo searchVo) {
String fileName = "社保士兵实缴核验错误反馈表批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TAutoPaymentError> 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,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcelFactory.write(out, TAutoPaymentError.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<TAutoPaymentError> util = new ExcelUtil<>(TAutoPaymentError.class);
for (TAutoPaymentError vo : list) {
util.convertEntity(vo, null, null, null);
}
}
if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcelFactory.writerSheet("社保士兵实缴核验错误反馈表" + index).build();
excelWriter.write(list, writeSheet);
index++;
}
i += CommonConstants.EXCEL_EXPORT_LIMIT;
if (Common.isNotNull(list)) {
list.clear();
}
}
} else {
WriteSheet writeSheet = EasyExcelFactory.writerSheet("社保士兵实缴核验错误反馈表" + index).build();
excelWriter.write(list, writeSheet);
}
if (Common.isNotNull(list)) {
list.clear();
}
out.flush();
excelWriter.finish();
} catch (Exception e) {
log.error("执行异常", e);
} finally {
try {
if (null != out) {
out.close();
}
} catch (IOException e) {
log.error("执行异常", e);
}
}
}
@Override
public void deleteByParentId(String parentId) {
baseMapper.deleteByParentId(parentId);
}
@Override
public List<TAutoPaymentError> noPageDiy(TAutoPaymentErrorSearchVo searchVo) {
LambdaQueryWrapper<TAutoPaymentError> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TAutoPaymentError::getId, idList);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
wrapper.orderByDesc(TAutoPaymentError::getCertNum);
return baseMapper.selectList(wrapper);
}
private Long noPageCountDiy(TAutoPaymentErrorSearchVo searchVo) {
LambdaQueryWrapper<TAutoPaymentError> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TAutoPaymentError::getId, idList);
}
return baseMapper.selectCount(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TAutoPaymentErrorSearchVo entity) {
LambdaQueryWrapper<TAutoPaymentError> wrapper = Wrappers.lambdaQuery();
return wrapper;
}
}
...@@ -452,6 +452,28 @@ public class TSocialInfoServiceImpl extends ServiceImpl<TSocialInfoMapper, TSoci ...@@ -452,6 +452,28 @@ public class TSocialInfoServiceImpl extends ServiceImpl<TSocialInfoMapper, TSoci
public List<TSocialInfo> getSocialSoldierYsdAll() { public List<TSocialInfo> getSocialSoldierYsdAll() {
return baseMapper.getSocialSoldierYsdAll(); return baseMapper.getSocialSoldierYsdAll();
} }
/**
* @param
* @Description: 获取所有需要社保局审核的社保
* @Author: hgw
* @Date: 2024/5/11 14:55
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo>
**/
@Override
public List<TSocialInfo> getSocialSoldierYgsByAudit() {
return baseMapper.getSocialSoldierYgsByAudit();
}
/**
* @param
* @Description: 获取所有需要社保局审核的社保
* @Author: hgw
* @Date: 2024/5/11 14:55
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo>
**/
@Override
public List<TSocialInfo> getSocialSoldierYsdByAudit() {
return baseMapper.getSocialSoldierYsdByAudit();
}
/** /**
* @param * @param
......
...@@ -567,6 +567,10 @@ public class DoJointSocialTask { ...@@ -567,6 +567,10 @@ public class DoJointSocialTask {
socialParam.setFd_3adfe8c70d3fd4(library.getSettleDomainCode()); socialParam.setFd_3adfe8c70d3fd4(library.getSettleDomainCode());
//项目名称 //项目名称
socialParam.setFd_3adfe8c8468e54(library.getSettleDomainName()); socialParam.setFd_3adfe8c8468e54(library.getSettleDomainName());
//项目编码-原 fxj 20240527 add
socialParam.setFd_3cfe2da7e35daa(library.getSettleDomainCode());
//项目名称-原 fxj 20240527 add
socialParam.setFd_3cfe2db5015d6e(library.getSettleDomainName());
//单号 //单号
socialParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING); socialParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING);
//客户编码 //客户编码
...@@ -1080,6 +1084,10 @@ public class DoJointSocialTask { ...@@ -1080,6 +1084,10 @@ public class DoJointSocialTask {
socialParam.setFd_3adfe8c70d3fd4(library.getDeptNo()); socialParam.setFd_3adfe8c70d3fd4(library.getDeptNo());
//项目名称 //项目名称
socialParam.setFd_3adfe8c8468e54(library.getDeptName()); socialParam.setFd_3adfe8c8468e54(library.getDeptName());
//项目编码-原 fxj 20240527 add
socialParam.setFd_3cfe2da7e35daa(library.getDeptNo());
//项目名称-原 fxj 20240527 add
socialParam.setFd_3cfe2db5015d6e(library.getDeptName());
//单号 //单号
socialParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING); socialParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING);
//客户编码 //客户编码
......
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