Commit a3282b83 authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/develop' into develop

parents 1af2f137 43730761
......@@ -297,6 +297,8 @@ public interface CommonConstants {
String SEX_MAN = "1";
String SEX_WONMAN = "2";
String SALARY_ISFLAG = "已结算";
String SALARY_UNFLAG = "未结算";
// 是否
String IS_FALSE = "否";
......
......@@ -31,5 +31,11 @@
<version>5.8.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-insurances-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
package com.yifu.cloud.plus.v1.yifu.ekp.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
/**
* @Author huyc
* @Description 公积金明细对接
* @Date 11:57 2022/8/29
* @Param
* @return
**/
@Data
@Component
@PropertySource("classpath:ekpFundConfig.properties")
@ConfigurationProperties(value = "ekpfund", ignoreInvalidFields = false)
public class EkpFundProperties {
String url;
String fdModelId;
String fdFlowId;
String docStatus;
String LoginName;
String docSubject;
}
......@@ -29,4 +29,16 @@ public class EkpSalaryProperties {
String LoginName;
String docSubject;
String insuranceUrl;
String insuranceFdModelId;
String insuranceFdFlowId;
String insuranceDocStatus;
String insuranceLoginName;
String insuranceFocSubject;
}
package com.yifu.cloud.plus.v1.yifu.ekp.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
/**
* @Author huyc
* @Description 社保明细对接
* @Date 11:57 2022/8/29
* @Param
* @return
**/
@Data
@Component
@PropertySource("classpath:ekpSocialConfig.properties")
@ConfigurationProperties(value = "ekpsocial", ignoreInvalidFields = false)
public class EkpSocialProperties {
String url;
String fdModelId;
String fdFlowId;
String docStatus;
String LoginName;
String docSubject;
}
package com.yifu.cloud.plus.v1.yifu.insurances.util;
package com.yifu.cloud.plus.v1.yifu.ekp.util;
import cn.hutool.json.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.ekp.config.EkpSalaryProperties;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EKPInsurancePushParam;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.EKPInteractiveParam;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsuranceSettlePushParam;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.http.*;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
......@@ -26,82 +28,36 @@ import java.time.format.DateTimeFormatter;
* @date 2022-08-05 09:42:33
*/
@Slf4j
@Component
public class EKPUtil {
@Getter
public static String url;
@Getter
public static String LoginName;
@Getter
private static String fdModelId;
@Getter
private static String fdFlowId;
@Getter
private static String docStatus;
@Getter
private static String docSubject;
@Value("${ekp.url}")
public void setUrl(String db) {
url = db;
}
@Value("${ekp.LoginName}")
public void setLoginName(String db) {
LoginName = db;
}
@Value("${ekp.fdModelId}")
public void setFdModelId(String db) {
fdModelId = db;
}
@Value("${ekp.fdFlowId}")
public void setFdFlowId(String db) {
fdFlowId = db;
}
@Value("${ekp.docStatus}")
public void setDocStatus(String db) {
docStatus = db;
}
@Value("${ekp.docSubject}")
public void setDocSubject(String db) {
docSubject = db;
}
@EnableConfigurationProperties(EkpSalaryProperties.class)
public class EKPInsuranceUtil {
@Resource
private EkpSalaryProperties ekpProperties;
/**
* 多层级的VO对象,且包含上传功能的样例
* 注意key的书写格式,类似EL表达式的方式,属性关系用'.', 列表和数组关系用[],Map关系用["xxx"]
*/
public static String sendToEKP(EKPInteractiveParam param){
public String sendToEKP(EKPInteractiveParam param){
log.info("推送EKP开始");
RestTemplate yourRestTemplate = new RestTemplate();
TInsuranceSettlePushParam pushParam = insuranceDetail2PushParam(param);
EKPInsurancePushParam pushParam = insuranceDetail2PushParam(param);
try{
String formValues = new ObjectMapper().writeValueAsString(pushParam);
log.info("formValues:"+formValues);
//指向EKP的接口url
//把ModelingAppModelParameterAddForm转换成MultiValueMap
JSONObject loginName = new JSONObject();
loginName.append("LoginName",LoginName);
loginName.append("LoginName",ekpProperties.getInsuranceLoginName());
String loginData = new ObjectMapper().writeValueAsString(loginName);
MultiValueMap<String,Object> wholeForm = new LinkedMultiValueMap<>();
//wholeForm.add("docSubject", new String(docSubject.getBytes("UTF-8"),"ISO-8859-1") );
wholeForm.add("docSubject",docSubject);
wholeForm.add("docSubject",ekpProperties.getInsuranceFocSubject());
wholeForm.add("docCreator", "{\"LoginName\":\"admin\"}");
//wholeForm.add("docCreator", loginData);
wholeForm.add("docStatus", docStatus);
wholeForm.add("fdModelId", fdModelId);
wholeForm.add("fdFlowId", fdFlowId);
wholeForm.add("docStatus", ekpProperties.getInsuranceDocStatus());
wholeForm.add("fdModelId", ekpProperties.getInsuranceFdModelId());
wholeForm.add("fdFlowId", ekpProperties.getInsuranceFdFlowId());
//wholeForm.add("formValues", new String(formValues.getBytes("UTF-8"),"ISO-8859-1"));
wholeForm.add("formValues", formValues);
//wholeForm.add("formValues", new String("{\"fd_3adfe6af71a1cc\":\"王五\", \"fd_3adfe658c6229e\":\"2019-03-26\", \"fd_3adfe6592b4158\":\"这里内容\"}".getBytes("UTF-8"),"ISO-8859-1") );
......@@ -113,17 +69,18 @@ public class EKPUtil {
//必须设置上传类型,如果入参是字符串,使用MediaType.TEXT_PLAIN;如果
HttpEntity<MultiValueMap<String,Object>> entity = new HttpEntity<MultiValueMap<String,Object>>(wholeForm,headers);
//有返回值的情况 VO可以替换成具体的JavaBean
ResponseEntity<String> obj = yourRestTemplate.exchange(url, HttpMethod.POST, entity, String.class);
ResponseEntity<String> obj = yourRestTemplate.exchange(ekpProperties.getInsuranceUrl(), HttpMethod.POST, entity, String.class);
log.info("obj:"+obj);
String body = obj.getBody();
if (StringUtils.isBlank(body)){
log.error("交易失败");
log.error("交易失败"+body);
return null;
}else{
log.info("交易成功:"+body);
return body;
}
}catch (Exception e){
log.info(e.getMessage());
log.error("交易失败:", e);
return null;
}
}
......@@ -135,9 +92,9 @@ public class EKPUtil {
* @param param 转换类
* @return {@link TInsuranceSettlePushParam}
*/
public static TInsuranceSettlePushParam insuranceDetail2PushParam(EKPInteractiveParam param){
public static EKPInsurancePushParam insuranceDetail2PushParam(EKPInteractiveParam param){
String format = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
TInsuranceSettlePushParam pushParam = new TInsuranceSettlePushParam();
EKPInsurancePushParam pushParam = new EKPInsurancePushParam();
param.setHappenDate(format);
//ekpId
if(null != param.getDetailId() && null != param.getDefaultSettleId()){
......@@ -276,6 +233,12 @@ public class EKPUtil {
pushParam.setFd_3af9197b31071c(CommonConstants.ZERO_INT);
}
//有无预估
if(null != param.getEstimateStatus()){
pushParam.setFd_3b0a5937928c8c(param.getEstimateStatus());
}else{
pushParam.setFd_3b0a5937928c8c(CommonConstants.EMPTY_STRING);
}
return pushParam;
}
}
......
package com.yifu.cloud.plus.v1.yifu.ekp.util;
import cn.hutool.json.JSONObject;
import com.yifu.cloud.plus.v1.yifu.ekp.config.EkpFundProperties;
import com.yifu.cloud.plus.v1.yifu.ekp.constant.EkpConstants;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushFundParam;
import io.micrometer.core.instrument.util.StringUtils;
import lombok.extern.log4j.Log4j2;
import org.codehaus.jackson.map.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.http.*;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
/**
* @Author huyc
* @Date 2022/8/29
* @Description
* @Version 1.0
*/
@Log4j2
@EnableConfigurationProperties(EkpFundProperties.class)
public class EkpFundUtil {
@Autowired
private EkpFundProperties ekpProperties;
public String sendToEKP(EkpPushFundParam param){
log.info("推送EKP开始--公积金明细数据");
RestTemplate yourRestTemplate = new RestTemplate();
try{
String formValues = new ObjectMapper().writeValueAsString(param);
//指向EKP的接口url
//把ModelingAppModelParameterAddForm转换成MultiValueMap
JSONObject loginName = new JSONObject();
loginName.append("LoginName",ekpProperties.getLoginName());
String loginData = new ObjectMapper().writeValueAsString(loginName);
MultiValueMap<String,Object> wholeForm = new LinkedMultiValueMap<>();
//wholeForm.add("docSubject", new String(docSubject.getBytes("UTF-8"),"ISO-8859-1") );
wholeForm.add("docSubject",ekpProperties.getDocSubject());
wholeForm.add("docCreator", "{\"LoginName\":\"admin\"}");
//wholeForm.add("docCreator", loginData);
wholeForm.add("docStatus", ekpProperties.getDocStatus());
wholeForm.add("fdModelId", ekpProperties.getFdModelId());
wholeForm.add("fdFlowId", ekpProperties.getFdFlowId());
//wholeForm.add("formValues", new String(formValues.getBytes("UTF-8"),"ISO-8859-1"));
wholeForm.add("formValues", formValues);
//wholeForm.add("formValues", new String("{\"fd_3adfe6af71a1cc\":\"王五\", \"fd_3adfe658c6229e\":\"2019-03-26\", \"fd_3adfe6592b4158\":\"这里内容\"}".getBytes("UTF-8"),"ISO-8859-1") );
System.out.println("wholeForm:"+wholeForm);
HttpHeaders headers = new HttpHeaders();
//如果EKP对该接口启用了Basic认证,那么客户端需要加入
//addAuth(headers,"yourAccount"+":"+"yourPassword");是VO,则使用APPLICATION_JSON
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
//必须设置上传类型,如果入参是字符串,使用MediaType.TEXT_PLAIN;如果
HttpEntity<MultiValueMap<String,Object>> entity = new HttpEntity<MultiValueMap<String,Object>>(wholeForm,headers);
//有返回值的情况 VO可以替换成具体的JavaBean
ResponseEntity<String> obj = yourRestTemplate.exchange(ekpProperties.getUrl(), HttpMethod.POST, entity, String.class);
String body = obj.getBody();
if (StringUtils.isBlank(body)){
log.error(EkpConstants.SEND_FAILED);
return null;
}else{
log.info(EkpConstants.SEND_SUCCESS+body);
return body;
}
}catch (Exception e){
log.info(e.getMessage());
return null;
}
}
}
package com.yifu.cloud.plus.v1.yifu.ekp.util;
import cn.hutool.json.JSONObject;
import com.yifu.cloud.plus.v1.yifu.ekp.config.EkpSocialProperties;
import com.yifu.cloud.plus.v1.yifu.ekp.constant.EkpConstants;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushSocialParam;
import io.micrometer.core.instrument.util.StringUtils;
import lombok.extern.log4j.Log4j2;
import org.codehaus.jackson.map.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.http.*;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
/**
* @Author huyc
* @Date 2022/8/29
* @Description
* @Version 1.0
*/
@Log4j2
@EnableConfigurationProperties(EkpSocialProperties.class)
public class EkpSocialUtil {
@Autowired
private EkpSocialProperties ekpProperties;
public String sendToEKP(EkpPushSocialParam param){
log.info("推送EKP开始--社保明细数据");
RestTemplate yourRestTemplate = new RestTemplate();
try{
String formValues = new ObjectMapper().writeValueAsString(param);
//指向EKP的接口url
//把ModelingAppModelParameterAddForm转换成MultiValueMap
JSONObject loginName = new JSONObject();
loginName.append("LoginName",ekpProperties.getLoginName());
String loginData = new ObjectMapper().writeValueAsString(loginName);
MultiValueMap<String,Object> wholeForm = new LinkedMultiValueMap<>();
//wholeForm.add("docSubject", new String(docSubject.getBytes("UTF-8"),"ISO-8859-1") );
wholeForm.add("docSubject",ekpProperties.getDocSubject());
wholeForm.add("docCreator", "{\"LoginName\":\"admin\"}");
//wholeForm.add("docCreator", loginData);
wholeForm.add("docStatus", ekpProperties.getDocStatus());
wholeForm.add("fdModelId", ekpProperties.getFdModelId());
wholeForm.add("fdFlowId", ekpProperties.getFdFlowId());
//wholeForm.add("formValues", new String(formValues.getBytes("UTF-8"),"ISO-8859-1"));
wholeForm.add("formValues", formValues);
//wholeForm.add("formValues", new String("{\"fd_3adfe6af71a1cc\":\"王五\", \"fd_3adfe658c6229e\":\"2019-03-26\", \"fd_3adfe6592b4158\":\"这里内容\"}".getBytes("UTF-8"),"ISO-8859-1") );
System.out.println("wholeForm:"+wholeForm);
HttpHeaders headers = new HttpHeaders();
//如果EKP对该接口启用了Basic认证,那么客户端需要加入
//addAuth(headers,"yourAccount"+":"+"yourPassword");是VO,则使用APPLICATION_JSON
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
//必须设置上传类型,如果入参是字符串,使用MediaType.TEXT_PLAIN;如果
HttpEntity<MultiValueMap<String,Object>> entity = new HttpEntity<MultiValueMap<String,Object>>(wholeForm,headers);
//有返回值的情况 VO可以替换成具体的JavaBean
ResponseEntity<String> obj = yourRestTemplate.exchange(ekpProperties.getUrl(), HttpMethod.POST, entity, String.class);
String body = obj.getBody();
if (StringUtils.isBlank(body)){
log.error(EkpConstants.SEND_FAILED);
return null;
}else{
log.info(EkpConstants.SEND_SUCCESS+body);
return body;
}
}catch (Exception e){
log.info(e.getMessage());
return null;
}
}
}
......@@ -16,4 +16,14 @@ public interface EkpConstants {
* 推送失败
*/
String SEND_FAILED = "推送失败";
/**
* 有
*/
String HAVE = "有";
/**
* 无
*/
String NOTHING = "无";
}
package com.yifu.cloud.plus.v1.yifu.ekp.vo;
import lombok.Data;
/**
* @author zhaji
* @description 结算信息推送类
* @date 2022-08-05 10:32:16
*/
@Data
public class EKPInsurancePushParam {
/**
* 单据类型 200 单选(1,预估单,2,实缴单,3,差异单)
*/
private Integer fd_3adfe6af71a1cc;
/**
* 交易类型 交易类型 1新增结算单,2作废结算信息,3更新保单信息
*/
private Integer fd_3af9197b31071c;
/**
* 项目编码 200
*/
private String fd_3adfe658c6229e;
/**
* 项目名称 200
*/
private String fd_3adfe6592b4158;
/**
* 客户编码 200
*/
private String fd_3adfe6598281e8;
/**
* 客户名称 200
*/
private String fd_3adfe7a2688902;
/**
* 发生日期 "xxxx--xx--xx"
*/
private String fd_3adfe67c24dace;
/**
* 姓名 200
*/
private String fd_3adfe65d759650;
/**
* 身份证号 200
*/
private String fd_3adfe65dbd9f68;
/**
* 发票号 200
*/
private String fd_3adfe65e0cd094;
/**
* 险种
*/
private String fd_3adfe65f6599e4;
/**
* 保险公司
*/
private String fd_3adfe65ea04728;
/**
* 保单号
*/
private String fd_3adfe65e60e110;
/**
* 保险开始日期 "xxxx--xx--xx"
*/
private String fd_3adfe6b7e0ede8;
/**
* 保险结束日期 "xxxx--xx--xx"
*/
private String fd_3adfe6b847bfe6;
/**
* 购买标准
*/
private String fd_3adfe6d55384c6;
/**
* 实际保费
*/
private String fd_3adfe6610c0d2c;
/**
* 医保 精确到小数点后两位
*/
private String fd_3adfe66041a996;
/**
* 事故或残疾 200
*/
private String fd_3adfe6609aa810;
/**
* 预估保费(应收) 精确到小数点后两位
*/
private String fd_3adfe6e30f2a3c;
/**
* 结算月份 200
*/
private String fd_3aea2f0180eccc;
/**
* 商险ID(商险id_结算id)
*/
private String fd_3afa8a70006bea;
/**
* 有无预估(有,无)
*/
private String fd_3b0a5937928c8c;
}
package com.yifu.cloud.plus.v1.yifu.ekp.vo;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hyc
* @Date 2022/8/26
* @Description 公积金明细对应参数
* @Version 1.0
*/
@Data
public class EkpPushFundParam implements Serializable {
/**
* 订单类型
**/
private String fd_3add9dd7833db8;
/**
* 与工资合并结算
**/
private String fd_3add9e1a670144;
/**
* 是否有预估
**/
private String fd_3add9de0be85e4;
/**
* 项目编码
**/
private String fd_3adfe8c70d3fd4;
/**
* 项目名称
**/
private String fd_3adfe8c8468e54;
/**
* 单号
**/
private String fd_3adfe95c169c48;
/**
* 客户编码
**/
private String fd_3adfe8c73cb5a4;
/**
* 客户名称
**/
private String fd_3adfe8c81a0e42;
/**
* 公积金账户
**/
private String fd_3aeafa8cc144bc;
/**
* 姓名
**/
private String fd_3adfe8c79989d4;
/**
* 身份证号
**/
private String fd_3adfe8c7e4cf7a;
/**
* 生成月份
**/
private String fd_3adfe8cb96c41e;
/**
* 缴纳月份
**/
private String fd_3adfe8cf632700;
/**
* 结算月份
**/
private String fd_3adfe8cff746bc;
/**
* 预估单位代缴
**/
private String fd_3adfeb4e8064a8;
/**
* 预估个人代缴
**/
private String fd_3adfeb52a4d2e2;
/**
* 单位代缴
**/
private String fd_3adfeb52fbe966;
/**
* 个人代缴
**/
private String fd_3adfeb5366dd82;
/**
* 单位差异
**/
private String fd_3adfeb53c70f72;
/**
* 个人差异
**/
private String fd_3adfeb5413fb44;
/**
* 应收
**/
private String fd_3adfeb7b624f06;
/**
* 结算状态
**/
private String fd_3add9ea428879a;
/**
* 收款状态
**/
private String fd_3add9eaeed2560;
/**
* 结算单号
**/
private String fd_3adfeb830523b6;
/**
* 收款单号
**/
private String fd_3adfeb8489e6c2;
/**
* 应支出
**/
private String fd_3adfeb7bd97464;
/**
* 支出结算状态
**/
private String fd_3add9edfbc6f7e;
/**
* 付款状态
**/
private String fd_3add9eed23894a;
/**
* 支出缴纳单号
**/
private String fd_3adfeb83a704c8;
/**
* 付款单号
**/
private String fd_3adfeb84175f28;
/**
* 我司到款单位
**/
private String fd_3b019a2e9bfdd6;
}
\ No newline at end of file
package com.yifu.cloud.plus.v1.yifu.ekp.vo;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hyc
* @Date 2022/8/26
* @Description 社保明细对应参数
* @Version 1.0
*/
@Data
public class EkpPushSocialParam implements Serializable {
/**
* 订单类型
**/
private String fd_3add9dd7833db8;
/**
* 与工资合并结算
**/
private String fd_3add9e1a670144;
/**
* 是否有预估
**/
private String fd_3add9de0be85e4;
/**
* 项目编码
**/
private String fd_3adfe8c70d3fd4;
/**
* 项目名称
**/
private String fd_3adfe8c8468e54;
/**
* 单号
**/
private String fd_3adfe95c169c48;
/**
* 客户编码
**/
private String fd_3adfe8c73cb5a4;
/**
* 客户名称
**/
private String fd_3adfe8c81a0e42;
/**
* 社保户
**/
private String fd_3aeafa25916e82;
/**
* 姓名
**/
private String fd_3adfe8c79989d4;
/**
* 身份证号
**/
private String fd_3adfe8c7e4cf7a;
/**
* 生成月份
**/
private String fd_3adfe8cb96c41e;
/**
* 缴纳月份
**/
private String fd_3adfe8cf632700;
/**
* 结算月份
**/
private String fd_3adfe8cff746bc;
/**
* 预估单位合计
**/
private String fd_3adfeb4e8064a8;
/**
* 预估个人合计
**/
private String fd_3adfeb52a4d2e2;
/**
* 单位差异
**/
private String fd_3adfeb53c70f72;
/**
* 个人差异
**/
private String fd_3adfeb5413fb44;
/**
* 应收
**/
private String fd_3adfeb7b624f06;
/**
* 结算状态
**/
private String fd_3add9ea428879a;
/**
* 收款状态
**/
private String fd_3add9eaeed2560;
/**
* 结算单号
**/
private String fd_3adfeb830523b6;
/**
* 收款单号
**/
private String fd_3adfeb8489e6c2;
/**
* 应支出
**/
private String fd_3adfeb7bd97464;
/**
* 支出结算状态
**/
private String fd_3add9edfbc6f7e;
/**
* 付款状态
**/
private String fd_3add9eed23894a;
/**
* 支出缴纳单号
**/
private String fd_3adfeb83a704c8;
/**
* 实缴单位生育
**/
private String fd_3af9ee3afb34c2;
/**
* 付款单号
**/
private String fd_3adfeb84175f28;
/**
* 预估单位养老
**/
private String fd_3af9ec80a9de7a;
/**
* 实缴个人合计
**/
private String fd_3af9ee3cb6d4fa;
/**
* 预估合计
**/
private String fd_3af9ed7e813b86;
/**
* 实缴单位合计
**/
private String fd_3af9ee3c0bf286;
/**
* 实缴个人补缴利息
**/
private String fd_3af9ee3d634946;
/**
* 实缴单位医疗
**/
private String fd_3af9ee39dea6a8;
/**
* 预估单位失业
**/
private String fd_3af9eba5f6e19e;
/**
* 预估个人补缴利息
**/
private String fd_3af9ebbecc4aa8;
/**
* 实缴单位养老
**/
private String fd_3af9ee3938170a;
/**
* 预估单位生育
**/
private String fd_3af9eba71c0138;
/**
* 预估单位大病救助
**/
private String fd_3af9eba863c0ee;
/**
* 实缴个人失业
**/
private String fd_3af9ee3db44d96;
/**
* 实缴单位补缴利息
**/
private String fd_3af9ee3b5ddae8;
/**
* 实缴单位大病救助
**/
private String fd_3af9ee3ba76f54;
/**
* 实缴单位工伤
**/
private String fd_3af9ee3aa9c84a;
/**
* 实缴合计
**/
private String fd_3af9ee3c6bfc74;
/**
* 预估单位补缴利息
**/
private String fd_3af9eba7c3da5e;
/**
* 预估单位医疗
**/
private String fd_3af9eba5899c90;
/**
* 预估个人养老
**/
private String fd_3af9ebbd791662;
/**
* 预估个人大病救助
**/
private String fd_3af9ebbf3e8be2;
/**
* 预估个人医疗
**/
private String fd_3af9ebbdd9797e;
/**
* 实缴个人医疗
**/
private String fd_3af9ee3e066d48;
/**
* 实缴单位失业
**/
private String fd_3af9ee3a46b7e6;
/**
* 预估个人失业
**/
private String fd_3af9ebbe29ce1c;
/**
* 实缴个人养老
**/
private String fd_3af9ee3e513962;
/**
* 实缴个人大病救助
**/
private String fd_3af9ee3d0ba3b6;
/**
* 预估单位工伤
**/
private String fd_3af9eba684f592;
/**
* 我司到款单位
**/
private String fd_3b01953871b8be;
}
\ No newline at end of file
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSalaryUtil
\ No newline at end of file
com.yifu.cloud.plus.v1.yifu.ekp.util.EKPInsuranceUtil,\
com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSalaryUtil,\
com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSocialUtil,\
com.yifu.cloud.plus.v1.yifu.ekp.util.EkpFundUtil
\ No newline at end of file
ekpfund.url=http://119.96.227.251:8080/api/sys-modeling/appModelRestService/addModel
ekpfund.fdModelId=181d741547a691aa68b16149a40de901
ekpfund.fdFlowId=18290af372be55308327273487abf72a
ekpfund.docStatus=20
ekpfund.LoginName=admin
ekpfund.docSubject=\u516C\u79EF\u91D1\u660E\u7EC6\u6570\u636E\u63A5\u53E3
......@@ -4,3 +4,11 @@ ekp.fdFlowId=182b40249c1bc940d7226b941c7a4183
ekp.docStatus=20
ekp.LoginName=admin
ekp.docSubject=\u85AA\u8D44\u8BA2\u5355\u660E\u7EC6\u6570\u636E\u63A5\u53E3
ekp.insuranceUrl=http://119.96.227.251:8080/api/sys-modeling/appModelRestService/addModel
ekp.insuranceFdModelId=181d73279372e5a55438a47d7436ab7e
ekp.insuranceFdFlowId=18267f206233f29cbd3c5ee425c9408a
ekp.insuranceDocStatus=20
ekp.insuranceLoginName=admin
ekp.insuranceFocSubject='??????'
ekpsocial.url=http://119.96.227.251:8080/api/sys-modeling/appModelRestService/addModel
ekpsocial.fdModelId=181d741547a69ba9dbc12377948e98fd
ekpsocial.fdFlowId=18233028fe91511376b00f74b3a8f3a7
ekpsocial.docStatus=20
ekpsocial.LoginName=admin
ekpsocial.docSubject=\u793E\u4FDD\u660E\u7EC6\u6570\u636E\u63A5\u53E3
package com.yifu.cloud.plus.v1.yifu.insurances.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
......@@ -20,6 +22,7 @@ public class TInsuranceEkp implements Serializable {
/**
* 主键id
*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**
......
......@@ -74,6 +74,12 @@ public class TInsuranceRefund extends BaseEntity {
@Schema(description = "创建人所在部门名称")
private String createUserDeptName;
/**
* 派单类型
*/
@Schema(description = " 购买类型, 1新增、3批增、4替换,5减员")
private Integer buyType;
private static final long serialVersionUID = 1L;
......
......@@ -171,4 +171,9 @@ public class EKPInteractiveParam implements Serializable {
@Schema(description = "1推送预估费用,2推送实缴费用,3变更结算月,4推送作废信息,5推送红冲信息,6投保退回红冲,7变更保单保费")
private Integer pushType;
/**
* 有无预估
*/
@Schema(description = "状态:有,无")
private String estimateStatus;
}
......@@ -23,6 +23,12 @@ public class TInsuranceSettlePushParam{
@Schema(description = "单据类型")
private Integer fd_3adfe6af71a1cc;
/**
* 交易类型 200
*/
@Schema(description = "交易类型 1新增结算单,2作废结算信息,3更新保单信息")
private Integer fd_3af9197b31071c;
/**
* 项目编码 200
*/
......@@ -134,19 +140,12 @@ public class TInsuranceSettlePushParam{
@Schema(description = "预估保费")
private String fd_3adfe6e30f2a3c;
/**
* 结算月份 200
*/
@Schema(description = "结算月份")
private String fd_3aea2f0180eccc;
/**
* 交易类型 200
*/
@Schema(description = "交易类型 1新增结算单,2作废结算信息,3更新保单信息")
private Integer fd_3af9197b31071c;
/**
* 商险ID 200
*/
......
......@@ -65,6 +65,12 @@
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-ekp</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
......
......@@ -216,16 +216,6 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> {
*/
TInsuranceDetail selectByRegionSql(@Param("regionSql") String regionSql, @Param("id") String id);
/**
* 商险订单投保列表查询
*
* @author zhaji
* @param page
* @param param
* @return {@link IPage< InsuredOrderListVo>}
*/
IPage<InsuredOrderListVo> getOrderInsuredListPage(Page<InsuredOrderListVo> page,@Param("param") InsuredOrderParam param);
/**
* 商险订单减员列表查询
*
......@@ -234,7 +224,7 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> {
* @param param
* @return {@link IPage< InsuredOrderListVo>}
*/
IPage<InsuredOrderListVo> getOrderRefundInsuredListPage(Page<InsuredOrderListVo> page,@Param("param") InsuredOrderParam param);
IPage<InsuredOrderListVo> getOrderInsuredListPage(Page<InsuredOrderListVo> page, @Param("param") InsuredOrderParam param);
}
......@@ -20,6 +20,8 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.RedisUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.constant.EkpConstants;
import com.yifu.cloud.plus.v1.yifu.ekp.util.EKPInsuranceUtil;
import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.*;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceDetailMapper;
......@@ -80,6 +82,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
private TInsuranceRefundService tInsuranceRefundService;
@Resource
private TInsuranceEkpService tInsuranceEkpService;
@Resource
private EKPInsuranceUtil eKPInsuranceUtil;
@Resource
private EkpSettleService ekpSettleService;
......@@ -2908,6 +2913,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
TInsuranceRefund insuranceRefund = new TInsuranceRefund();
TInsuranceOperate insuranceOperate = new TInsuranceOperate();
insuranceRefund.setInsDetailId(refund.getId());
insuranceRefund.setBuyType(CommonConstants.FIVE_INT);
insuranceRefund.setReduceHandleStatus(CommonConstants.ONE_INT);
insuranceRefund.setCreateBy(user.getId());
insuranceRefund.setCreateName(user.getNickname());
......@@ -3388,7 +3394,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
threadPool.execute(()->{
List<EKPInteractiveParam> deptDetail = getDeptDetail(ekpList);
for (EKPInteractiveParam ekpInteractiveParam : deptDetail) {
String body = EKPUtil.sendToEKP(ekpInteractiveParam);
String body = eKPInsuranceUtil.sendToEKP(ekpInteractiveParam);
if (!StringUtils.isBlank(body)){
TInsuranceOperate insuranceOperate = new TInsuranceOperate();
insuranceOperate.setInsuranceDetailId(ekpInteractiveParam.getDetailId());
......@@ -3501,7 +3507,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setDeptNo(success.getOldDeptNo());
interactiveParam.setDeptName(success.getOldDeptName());
interactiveParam.setInteractiveType(CommonConstants.THREE_INT);
String deleteBody = EKPUtil.sendToEKP(interactiveParam);
String deleteBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(deleteBody)) {
//推送成功更新作废推送状态
cancel.setIsCancelPush(CommonConstants.ONE_INT);
......@@ -3516,7 +3522,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setDeptNo(success.getNewDeptNo());
interactiveParam.setDeptName(success.getNewDeptName());
interactiveParam.setActualPremium(success.getActualPremium());
String addBody = EKPUtil.sendToEKP(interactiveParam);
String addBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(addBody)){
newInsuranceSettle.setActualPushTime(LocalDateTime.now());
newInsuranceSettle.setIsActualPush(CommonConstants.ONE_INT);
......@@ -3539,7 +3545,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(success.getEstimatePremium());
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ZERO_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
String estimateBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(estimateBody)) {
newInsuranceSettle.setEstimatePushTime(LocalDateTime.now());
newInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
......@@ -3549,7 +3555,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setSettleType(CommonConstants.ONE_INT);
interactiveParam.setEstimatePremium(null);
interactiveParam.setActualPremium(success.getActualPremium());
String actualBody = EKPUtil.sendToEKP(interactiveParam);
String actualBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(actualBody)) {
//推送成功后更新本地推送状态
newInsuranceSettle.setActualPushTime(LocalDateTime.now());
......@@ -3578,7 +3584,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setDeptNo(success.getNewDeptNo());
interactiveParam.setDeptName(success.getNewDeptName());
interactiveParam.setActualPremium(success.getActualPremium());
String addBody = EKPUtil.sendToEKP(interactiveParam);
String addBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(addBody)){
newInsuranceSettle.setActualPushTime(LocalDateTime.now());
newInsuranceSettle.setIsActualPush(CommonConstants.ONE_INT);
......@@ -3601,7 +3607,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(success.getEstimatePremium());
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ZERO_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
String estimateBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(estimateBody)) {
newInsuranceSettle.setEstimatePushTime(LocalDateTime.now());
newInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
......@@ -3611,7 +3617,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setSettleType(CommonConstants.ONE_INT);
interactiveParam.setEstimatePremium(null);
interactiveParam.setActualPremium(success.getActualPremium());
String actualBody = EKPUtil.sendToEKP(interactiveParam);
String actualBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(actualBody)) {
//推送成功后更新本地推送状态
newInsuranceSettle.setActualPushTime(LocalDateTime.now());
......@@ -3659,7 +3665,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(success.getEstimatePremium());
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ZERO_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
String estimateBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if(StringUtils.isNotBlank(estimateBody)){
//推送成功后更新本地推送状态
tInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
......@@ -3711,7 +3717,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(one.getEstimatePremium());
interactiveParam.setActualPremium(one.getActualPremium());
interactiveParam.setSettleType(CommonConstants.ONE_INT);
String deleteBody = EKPUtil.sendToEKP(interactiveParam);
String deleteBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if(StringUtils.isNotBlank(deleteBody)){
//推送成功更新作废推送状态
cancel.setIsCancelPush(CommonConstants.ONE_INT);
......@@ -3730,7 +3736,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(null);
interactiveParam.setActualPremium(success.getActualPremium());
interactiveParam.setSettleType(CommonConstants.ONE_INT);
String actualBody = EKPUtil.sendToEKP(interactiveParam);
String actualBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if(StringUtils.isNotBlank(actualBody)){
//推送成功,更新推送状态
newInsuranceSettle.setIsActualPush(CommonConstants.ONE_INT);
......@@ -3753,7 +3759,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(null);
interactiveParam.setActualPremium(success.getActualPremium());
interactiveParam.setSettleType(CommonConstants.ONE_INT);
String actualBody = EKPUtil.sendToEKP(interactiveParam);
String actualBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
//推送成功,更新预估和实际保费的推送状态
if(StringUtils.isNotBlank(actualBody)){
newInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
......@@ -3783,7 +3789,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(one.getEstimatePremium());
interactiveParam.setActualPremium(one.getActualPremium());
interactiveParam.setSettleType(CommonConstants.ONE_INT);
String deleteBody = EKPUtil.sendToEKP(interactiveParam);
String deleteBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if(StringUtils.isNotBlank(deleteBody)){
//先推送预估,再推送实际
interactiveParam.setCustomerCode(success.getNewCustomerCode());
......@@ -3795,7 +3801,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(success.getEstimatePremium());
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ZERO_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
String estimateBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(estimateBody)) {
newInsuranceSettle.setEstimatePushTime(LocalDateTime.now());
newInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
......@@ -3805,7 +3811,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setSettleType(CommonConstants.ONE_INT);
interactiveParam.setEstimatePremium(null);
interactiveParam.setActualPremium(success.getActualPremium());
String actualBody = EKPUtil.sendToEKP(interactiveParam);
String actualBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(actualBody)) {
//推送成功后更新本地推送状态
newInsuranceSettle.setActualPushTime(LocalDateTime.now());
......@@ -3834,7 +3840,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(success.getEstimatePremium());
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ZERO_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
String estimateBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(estimateBody)) {
newInsuranceSettle.setEstimatePushTime(LocalDateTime.now());
newInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
......@@ -3844,7 +3850,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setSettleType(CommonConstants.ONE_INT);
interactiveParam.setEstimatePremium(null);
interactiveParam.setActualPremium(success.getActualPremium());
String actualBody = EKPUtil.sendToEKP(interactiveParam);
String actualBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(actualBody)) {
//推送成功后更新本地推送状态
newInsuranceSettle.setActualPushTime(LocalDateTime.now());
......@@ -3871,7 +3877,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setInteractiveType(CommonConstants.THREE_INT);
interactiveParam.setEstimatePremium(one.getEstimatePremium());
interactiveParam.setSettleType(CommonConstants.ZERO_INT);
String deleteBody = EKPUtil.sendToEKP(interactiveParam);
String deleteBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if (StringUtils.isNotBlank(deleteBody)){
//推送成功后更新作废信息推送状态
cancel.setIsCancelPush(CommonConstants.ONE_INT);
......@@ -3906,7 +3912,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(success.getEstimatePremium());
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ONE_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
String estimateBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if(StringUtils.isNotBlank(estimateBody)){
//推送成功更新预估推送状态
newInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
......@@ -3932,7 +3938,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(success.getEstimatePremium());
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ONE_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
String estimateBody = eKPInsuranceUtil.sendToEKP(interactiveParam);
if(StringUtils.isNotBlank(estimateBody)){
//推送成功更新预估推送状态
newInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
......@@ -5062,8 +5068,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
*/
@Override
public R getDeptList(){
List<TInsuranceDetail> detailList = new ArrayList<>();
//EKPUtil.testAddNewsInRestTemplate(detailList);
List<Dept> deptList = new ArrayList<>();
R<TSettleDomainListVo> tSettleDomainListVoR = archivesDaprUtil.selectAllSettleDomainSelectVos();
if (null != tSettleDomainListVoR && tSettleDomainListVoR.getCode() == CommonConstants.SUCCESS && Common.isNotNull(tSettleDomainListVoR.getData())) {
......@@ -5220,9 +5224,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (StringUtils.isBlank(orderNo)) {
return R.failed(InsurancesConstants.ORDER_NO_IS_EMPTY);
}
//查询所有投保信息
IPage<InsuredOrderListVo> orderInsuredList = baseMapper.getOrderRefundInsuredListPage(page, param);
//查询所有的减员信息
//查询所有保单信息
IPage<InsuredOrderListVo> orderInsuredList = baseMapper.getOrderInsuredListPage(page, param);
return R.ok(orderInsuredList);
}
......@@ -5333,6 +5336,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
deptNoList.add(tInsuranceDetail.getDeptNo());
BeanCopyUtils.copyProperties(tInsuranceDetail,param);
param.setDetailId(tInsuranceDetail.getId());
Integer settleType = tInsuranceDetail.getSettleType();
if(CommonConstants.ZERO_INT == settleType){
param.setEstimateStatus(EkpConstants.HAVE);
}else {
param.setEstimateStatus(EkpConstants.NOTHING);
}
//获取当前项目的名称,客户名称和客户编码
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(deptNoList);
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(setInfoByCodes.getData())) {
......@@ -5376,11 +5385,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
param.setSettleType(CommonConstants.ONE_INT);
pushType = CommonConstants.SEVEN_INT;
}
if(StringUtils.isBlank(EKPUtil.sendToEKP(param))){
if(StringUtils.isBlank(eKPInsuranceUtil.sendToEKP(param))){
saveInsuranceEkp(param,pushType);
return null;
}else {
return EKPUtil.sendToEKP(param);
return eKPInsuranceUtil.sendToEKP(param);
}
}
......@@ -5408,6 +5417,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
public Boolean saveInsuranceEkp(EKPInteractiveParam param,Integer pushType){
TInsuranceEkp ekp = new TInsuranceEkp();
BeanCopyUtils.copyProperties(param,ekp);
ekp.setId(null);
ekp.setCreateTime(LocalDateTime.now());
ekp.setPushType(pushType);
tInsuranceEkpService.save(ekp);
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
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.R;
import com.yifu.cloud.plus.v1.yifu.ekp.util.EKPInsuranceUtil;
import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceEkp;
......@@ -16,12 +17,12 @@ import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceEkpSer
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceSettleService;
import com.yifu.cloud.plus.v1.yifu.insurances.util.BeanCopyUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.util.BigDecimalUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.util.EKPUtil;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.EKPInteractiveParam;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.SettleVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
......@@ -40,6 +41,9 @@ import java.util.List;
@Slf4j
public class TInsuranceEkpServiceImpl extends ServiceImpl<TInsuranceEkpMapper, TInsuranceEkp> implements TInsuranceEkpService {
@Resource
EKPInsuranceUtil eKPInsuranceUtil;
@Resource
TInsuranceSettleService tInsuranceSettleService;
@Resource
......@@ -83,7 +87,7 @@ public class TInsuranceEkpServiceImpl extends ServiceImpl<TInsuranceEkpMapper, T
EKPInteractiveParam ekpParam = new EKPInteractiveParam();
BeanCopyUtils.copyProperties(tInsuranceEkp,ekpParam);
if(actualStatus.equals(InsurancesConstants.SETTLE_ZERO)){
String s = EKPUtil.sendToEKP(ekpParam);
String s = eKPInsuranceUtil.sendToEKP(ekpParam);
//如果发送成功
if (StringUtils.isNotBlank(s)){
//预估则更新预估保费
......@@ -130,7 +134,7 @@ public class TInsuranceEkpServiceImpl extends ServiceImpl<TInsuranceEkpMapper, T
ekpParam.setActualPremium(actualPremium.negate());
}
ekpParam.setInteractiveType(CommonConstants.ONE_INT);
String s = EKPUtil.sendToEKP(ekpParam);
String s = eKPInsuranceUtil.sendToEKP(ekpParam);
if(StringUtils.isNotBlank(s)){
tInsuranceEkp.setResendFlag(CommonConstants.ONE_INT);
successLit.add(tInsuranceEkp);
......@@ -139,7 +143,7 @@ public class TInsuranceEkpServiceImpl extends ServiceImpl<TInsuranceEkpMapper, T
}
//如果为红冲数据则正常发送
}else if(CommonConstants.FIVE_INT == pushType || CommonConstants.SIX_INT == pushType){
String s = EKPUtil.sendToEKP(ekpParam);
String s = eKPInsuranceUtil.sendToEKP(ekpParam);
if(StringUtils.isNotBlank(s)){
tInsuranceEkp.setResendFlag(CommonConstants.ONE_INT);
successLit.add(tInsuranceEkp);
......
......@@ -258,6 +258,7 @@
</if>
ORDER BY detail.BUY_HANDLE_STATUS,detail.CREATE_TIME DESC
</select>
<!--通过id查询商险信息-->
<select id="getInsuranceDetailById" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceDetailVO">
select
detail.id as id,
......@@ -305,7 +306,7 @@
left join t_insurance_settle tis on detail.DEFAULT_SETTLE_ID = tis.ID
where detail.ID = #{id}
</select>
<!-- 导出办理勾选查询结果-->
<!--导出办理勾选查询结果-->
<select id="getInsuranceExportListBySelect" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceExportListVO">
select detail.id as id,
detail.DEPT_NO as deptNo,
......@@ -389,11 +390,13 @@
</if>
ORDER BY detail.CREATE_TIME DESC
</select>
<!--批量更新保单号-->
<update id="updatePolicyNoBatch">
<foreach collection="details" index="index" item="item" separator=";">
update t_insurance_detail set POLICY_NO = #{item.policyNo} where ID = #{item.id}
</foreach>
</update>
<!--批量更新发票号-->
<update id="updateInvoiceNoBatch">
<foreach collection="details" index="index" item="item" separator=";">
update t_insurance_detail set INVOICE_NO = #{item.invoiceNo} where ID = #{item.id}
......@@ -904,6 +907,7 @@
</where>
ORDER BY CREATE_TIME desc
</select>
<!--查询所有在保,未出险,未过期,未失效,未减员的保单信息-->
<select id="selectListByEmpIdcardNo" resultType="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail">
SELECT
<include refid="Base_Column_List"/>
......@@ -934,8 +938,8 @@
</where>
ORDER BY CREATE_TIME desc
</select>
<!--商险订单减员列表查询-->
<select id="getOrderRefundInsuredListPage" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuredOrderListVo">
<!--商险订单列表查询-->
<select id="getOrderInsuredListPage" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuredOrderListVo">
(
select
detail.id as id,
......@@ -1021,45 +1025,5 @@
</if>
)order by createTime desc
</select>
<select id="getOrderInsuredListPage" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuredOrderListVo">
select
detail.id as id,
detail.BUY_TYPE as buyType,
detail.EMP_NAME as empName,
detail.EMP_IDCARD_NO as empIdcardNo,
detail.INSURANCE_COMPANY_NAME as insuranceCompanyName,
detail.INSURANCE_TYPE_NAME as insuranceTypeName,
detail.BUY_STANDARD as buyStandard,
detail.MEDICAL_QUOTA as medicalQuota,
detail.DIE_DISABLE_QUOTA as dieDisableQuota,
detail.CREATE_NAME as createName,
detail.CREATE_USER_DEPT_NAME as createUserDeptName,
detail.CREATE_TIME as createTime,
detail.BUY_HANDLE_STATUS as buyHandleStatus
from
t_insurance_detail detail
where
detail.DELETE_FLAG = 0
and
detail.ORDER_NO = #{param.orderNo}
<if test="param.empName != null and param.empName.trim() != ''">
and detail.EMP_NAME like concat('%',replace(replace(#{param.empName},'_','\_'),'%','\%'),'%')
</if>
<if test="param.empIdcardNo != null and param.empIdcardNo.trim() != ''">
and detail.EMP_IDCARD_NO like concat('%',replace(replace(#{param.empIdcardNo},'_','\_'),'%','\%'),'%')
</if>
<if test="param.startDate != null and param.startDate.trim() != ''">
AND detail.CREATE_TIME <![CDATA[ >= ]]> concat(#{param.startDate}, '00:00:00')
</if>
<if test="param.endDate != null and param.endDate.trim() != ''">
AND detail.CREATE_TIME <![CDATA[ <= ]]> concat(#{param.endDate}, '23:59:59')
</if>
<if test="param.deptNoList != null">
and detail.DEPT_NO in
<foreach collection="param.deptNoList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>
......@@ -50,4 +50,52 @@ public class SocialTask {
log.info("------------每月定时生成下月预估库数据-定时任务结束------------");
}
/**
* @Description: 定时生成社保预估明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
public void createForecastInfo() {
log.info("------------定时生成社保预估明细的数据-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tforecastlibrary/inner/createForecastInfo","", Object.class, SecurityConstants.FROM_IN);
log.info("------------定时生成社保预估明细的数据-定时任务结束------------");
}
/**
* @Description: 定时生成公积金预估明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
public void createForecastFundInfo() {
log.info("------------定时生成公积金预估明细的数据-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tforecastlibrary/inner/createForecastFundInfo","", Object.class, SecurityConstants.FROM_IN);
log.info("------------定时生成公积金预估明细的数据-定时任务结束------------");
}
/**
* @Description: 定时生成社保缴费库明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
public void createPaymentSocialInfo() {
log.info("------------定时生成社保缴费库明细的数据-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tpaymentinfo/inner/createPaymentSocialInfo","", Object.class, SecurityConstants.FROM_IN);
log.info("------------定时生成社保缴费库明细的数据-定时任务结束------------");
}
/**
* @Description: 定时生成公积金缴费库明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
public void createPaymentFundInfo() {
log.info("------------定时生成公积金缴费库明细的数据-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tpaymentinfo/inner/createPaymentFundInfo","", Object.class, SecurityConstants.FROM_IN);
log.info("------------定时生成公积金缴费库明细的数据-定时任务结束------------");
}
}
......@@ -46,5 +46,5 @@ public interface TStatisticsLaborMapper extends BaseMapper<TStatisticsLabor> {
* @Description: 统计
* @return:
**/
List<TStatisticsLabor> doStatisticsLabor(@Param("nowMonth") String nowMonth, @Param("lastYear") String lastYear);
List<TStatisticsLabor> doStatisticsLabor(@Param("nowMonth") String nowMonth, @Param("lastMonth") String lastMonth);
}
......@@ -46,5 +46,5 @@ public interface TStatisticsRemunerationMapper extends BaseMapper<TStatisticsRem
* @Description: 统计
* @return:
**/
List<TStatisticsRemuneration> doStatisticsRemuneration(@Param("nowMonth") String nowMonth, @Param("lastYear") String lastYear);
List<TStatisticsRemuneration> doStatisticsRemuneration(@Param("nowMonth") String nowMonth, @Param("lastMonth") String lastMonth);
}
......@@ -154,6 +154,8 @@ public class TStatisticsDeclarerServiceImpl extends ServiceImpl<TStatisticsDecla
tStatisticsDeclarer.setIsDeclare(isDeclare);
if (Common.isNotNull(undeclareReason)) {
tStatisticsDeclarer.setUndeclareReason(undeclareReason);
}else {
tStatisticsDeclarer.setUndeclareReason(CommonConstants.EMPTY_STRING);
}
baseMapper.updateById(tStatisticsDeclarer);
return R.ok();
......@@ -283,6 +285,8 @@ public class TStatisticsDeclarerServiceImpl extends ServiceImpl<TStatisticsDecla
tStatisticsDeclarer.setIsDeclare(excel.getIsDeclare());
if (Common.isNotNull(excel.getUndeclareReason())) {
tStatisticsDeclarer.setUndeclareReason(excel.getUndeclareReason());
}else {
tStatisticsDeclarer.setUndeclareReason(CommonConstants.EMPTY_STRING);
}
baseMapper.updateById(tStatisticsDeclarer);
}
......
......@@ -254,8 +254,7 @@ public class TStatisticsLaborServiceImpl extends ServiceImpl<TStatisticsLaborMap
return R.failed("上月数据已生成,不可重复生成!");
} else {
String lastMonth = DateUtil.addMonth(-1); //上月
String lastYear = lastMonth.substring(0,4);
List<TStatisticsLabor> stdvoList = baseMapper.doStatisticsLabor(nowMonth,lastYear);
List<TStatisticsLabor> stdvoList = baseMapper.doStatisticsLabor(nowMonth,lastMonth);
for (TStatisticsLabor declarer : stdvoList) {
this.save(declarer);
}
......
......@@ -156,8 +156,7 @@ public class TStatisticsRemunerationServiceImpl extends ServiceImpl<TStatisticsR
return R.failed("上月数据已生成,不可重复生成!");
} else {
String lastMonth = DateUtil.addMonth(-1); //上月
String lastYear = lastMonth.substring(0,4);
List<TStatisticsRemuneration> stdvoList = baseMapper.doStatisticsRemuneration(nowMonth,lastYear);
List<TStatisticsRemuneration> stdvoList = baseMapper.doStatisticsRemuneration(nowMonth,lastMonth);
for (TStatisticsRemuneration remuneration : stdvoList) {
this.save(remuneration);
}
......
......@@ -113,7 +113,7 @@
left join t_salary_account_item annualbonus on annualbonus.SALARY_ACCOUNT_ID = a.id and annualbonus.CN_NAME='年终奖'
left join t_salary_account_item tax on tax.SALARY_ACCOUNT_ID = a.id and tax.CN_NAME='年终奖单独扣税'
left join t_salary_standard s ON s.id = a.SALARY_FORM_ID
where a.DELETE_FLAG = '1' and annualbonus.SALARY_MONEY > 0 and tax.SALARY_MONEY > 0 and s.SEND_MONTH like '${lastYear}%'
where a.DELETE_FLAG = 0 and annualbonus.SALARY_MONEY > 0 and tax.SALARY_MONEY > 0 and s.SEND_MONTH like '${lastYear}%'
GROUP BY a.EMP_IDCARD,a.EMP_NAME
</select>
</mapper>
......@@ -94,8 +94,7 @@
#{nowMonth} DECLARE_MONTH,a.EMP_NAME,a.EMP_IDCARD,sum(a.SALARY_TAX) PERSONAL_TAX,sum(a.ACTUAL_SALARY) INCOME,
a.INVOICE_TITLE DECLARE_UNIT,'一般劳务报酬所得' INCOME_ITEM,'居民身份证' CARD_TYPE
from t_salary_account a
left join t_salary_employee b on b.id = a.EMP_ID
where a.DELETE_FLAG = '1' and a.SETTLEMENT_MONTH like '${lastYear}%' and a.FORM_TYPE = '3'
GROUP BY a.EMP_IDCARD,a.EMP_NAME
where a.DELETE_FLAG = 0 and a.SETTLEMENT_MONTH = #{lastMonth} and a.FORM_TYPE = '3'
GROUP BY a.EMP_IDCARD,DECLARE_UNIT
</select>
</mapper>
......@@ -90,8 +90,7 @@
#{nowMonth} DECLARE_MONTH,a.EMP_NAME,a.EMP_IDCARD,sum(a.SALARY_TAX) PERSONAL_TAX,
sum(a.ACTUAL_SALARY) INCOME,a.INVOICE_TITLE DECLARE_UNIT,'居民身份证' CARD_TYPE
from t_salary_account a
left join t_salary_employee b on b.id = a.EMP_ID
where a.DELETE_FLAG = '1' and a.SETTLEMENT_MONTH like '${lastYear}%' and a.FORM_TYPE = '4'
GROUP BY a.EMP_IDCARD,a.EMP_NAME
where a.DELETE_FLAG = 0 and a.SETTLEMENT_MONTH = #{lastMonth} and a.FORM_TYPE = '4'
GROUP BY a.EMP_IDCARD,DECLARE_UNIT
</select>
</mapper>
/*
* 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
/**
* 收入明细表
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Data
@TableName("t_income")
@Schema(description = "收入明细表")
public class TIncome {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
private String id;
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名", isNotEmpty = true, errorInfo = "员工姓名不能为空", maxLength = 32)
@NotBlank(message = "员工姓名不能为空")
@Length(max = 32, message = "员工姓名不能超过32个字符")
@ExcelProperty("员工姓名")
private String empName;
/**
* 身份证号
*/
@ExcelAttribute(name = "身份证号", isNotEmpty = true, errorInfo = "身份证号不能为空", maxLength = 32)
@NotBlank(message = "身份证号不能为空")
@Length(max = 32, message = "身份证号不能超过32个字符")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 客户id
*/
@ExcelAttribute(name = "客户id", maxLength = 32)
@Length(max = 32, message = "客户id不能超过32个字符")
@ExcelProperty("客户id")
private String unitId;
/**
* 客户名称
*/
@ExcelAttribute(name = "客户名称", maxLength = 50)
@Length(max = 50, message = "客户名称不能超过50个字符")
@ExcelProperty("客户名称")
private String unitName;
/**
* 客户编码
*/
@ExcelAttribute(name = "客户编码", maxLength = 32)
@Length(max = 32, message = "客户编码不能超过32个字符")
@ExcelProperty("客户编码")
private String unitNo;
/**
* 项目id
*/
@ExcelAttribute(name = "项目id", maxLength = 32)
@Length(max = 32, message = "项目id不能超过32个字符")
@ExcelProperty("项目id")
private String deptId;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称", maxLength = 50)
@Length(max = 50, message = "项目名称不能超过50个字符")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", maxLength = 30)
@Length(max = 30, message = "项目编码不能超过30个字符")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 费用类型:1管理费2风险金
*/
@ExcelAttribute(name = "费用类型:1管理费2风险金", maxLength = 1)
@Length(max = 1, message = "费用类型:1管理费2风险金不能超过1个字符")
@ExcelProperty("费用类型:1管理费2风险金")
private String feeType;
/**
* 收费方式:1按比例2金额-人数3金额-人次
*/
@ExcelAttribute(name = "收费方式:1按比例2金额-人数3金额-人次", maxLength = 1)
@Length(max = 1, message = "收费方式:1按比例2金额-人数3金额-人次不能超过1个字符")
@ExcelProperty("收费方式:1按比例2金额-人数3金额-人次")
private String feeMode;
/**
* 收费标准
*/
@ExcelAttribute(name = "收费标准", maxLength = 10)
@Length(max = 10, message = "收费标准不能超过10个字符")
@ExcelProperty("收费标准")
private String charges;
/**
* 收入来源:1社保2公积金3商险4薪资
*/
@ExcelAttribute(name = "收入来源:1社保2公积金3商险4薪资", isNotEmpty = true, errorInfo = "收入来源:1社保2公积金3商险4薪资不能为空", maxLength = 1)
@NotBlank(message = "收入来源:1社保2公积金3商险4薪资不能为空")
@Length(max = 1, message = "收入来源:1社保2公积金3商险4薪资不能超过1个字符")
@ExcelProperty("收入来源:1社保2公积金3商险4薪资")
private String sourceType;
/**
* 金额
*/
@ExcelAttribute(name = "金额", isNotEmpty = true, errorInfo = "金额不能为空")
@NotBlank(message = "金额不能为空")
@ExcelProperty("金额")
private BigDecimal money;
/**
* 生成月份
*/
@ExcelAttribute(name = "生成月份", maxLength = 6)
@Length(max = 6, message = "生成月份不能超过6个字符")
@ExcelProperty("生成月份")
private String createMonth;
/**
* 缴纳月份
*/
@ExcelAttribute(name = "缴纳月份", maxLength = 6)
@Length(max = 6, message = "缴纳月份不能超过6个字符")
@ExcelProperty("缴纳月份")
private String payMonth;
/**
* 数据生成时间
*/
@ExcelAttribute(name = "数据生成时间", isNotEmpty = true, errorInfo = "数据生成时间不能为空", isDate = true)
@NotBlank(message = "数据生成时间不能为空")
@ExcelProperty("数据生成时间")
private Date createTime;
/**
* 数据生成月份
*/
@ExcelAttribute(name = "数据生成月份", maxLength = 6)
@Length(max = 6, message = "数据生成月份不能超过6个字符")
@ExcelProperty("数据生成月份")
private String dataCreateMonth;
/**
* 推送状态:0未推送1已推送
*/
@ExcelAttribute(name = "推送状态:0未推送1已推送", maxLength = 1)
@Length(max = 1, message = "推送状态:0未推送1已推送不能超过1个字符")
@ExcelProperty("推送状态:0未推送1已推送")
private String pushStatus;
}
/*
* 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
/**
* 收入明细表-全部明细
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Data
@TableName("t_income_detail")
@Schema(description = "收入明细表-全部明细")
public class TIncomeDetail {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
private String id;
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名", isNotEmpty = true, errorInfo = "员工姓名不能为空", maxLength = 32)
@NotBlank(message = "员工姓名不能为空")
@Length(max = 32, message = "员工姓名不能超过32个字符")
@ExcelProperty("员工姓名")
private String empName;
/**
* 身份证号
*/
@ExcelAttribute(name = "身份证号", isNotEmpty = true, errorInfo = "身份证号不能为空", maxLength = 32)
@NotBlank(message = "身份证号不能为空")
@Length(max = 32, message = "身份证号不能超过32个字符")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 客户id
*/
@ExcelAttribute(name = "客户id", maxLength = 32)
@Length(max = 32, message = "客户id不能超过32个字符")
@ExcelProperty("客户id")
private String unitId;
/**
* 客户名称
*/
@ExcelAttribute(name = "客户名称", maxLength = 50)
@Length(max = 50, message = "客户名称不能超过50个字符")
@ExcelProperty("客户名称")
private String unitName;
/**
* 客户编码
*/
@ExcelAttribute(name = "客户编码", maxLength = 32)
@Length(max = 32, message = "客户编码不能超过32个字符")
@ExcelProperty("客户编码")
private String unitNo;
/**
* 项目id
*/
@ExcelAttribute(name = "项目id", maxLength = 32)
@Length(max = 32, message = "项目id不能超过32个字符")
@ExcelProperty("项目id")
private String deptId;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称", maxLength = 50)
@Length(max = 50, message = "项目名称不能超过50个字符")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", maxLength = 30)
@Length(max = 30, message = "项目编码不能超过30个字符")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 费用类型:1管理费2风险金
*/
@ExcelAttribute(name = "费用类型:1管理费2风险金", maxLength = 1)
@Length(max = 1, message = "费用类型:1管理费2风险金不能超过1个字符")
@ExcelProperty("费用类型:1管理费2风险金")
private String feeType;
/**
* 收费方式:1按比例2金额-人数3金额-人次
*/
@ExcelAttribute(name = "收费方式:1按比例2金额-人数3金额-人次", maxLength = 1)
@Length(max = 1, message = "收费方式:1按比例2金额-人数3金额-人次不能超过1个字符")
@ExcelProperty("收费方式:1按比例2金额-人数3金额-人次")
private String feeMode;
/**
* 收费标准
*/
@ExcelAttribute(name = "收费标准", maxLength = 10)
@Length(max = 10, message = "收费标准不能超过10个字符")
@ExcelProperty("收费标准")
private String charges;
/**
* 收入来源:1社保2公积金3商险4薪资
*/
@ExcelAttribute(name = "收入来源:1社保2公积金3商险4薪资", isNotEmpty = true, errorInfo = "收入来源:1社保2公积金3商险4薪资不能为空", maxLength = 1)
@NotBlank(message = "收入来源:1社保2公积金3商险4薪资不能为空")
@Length(max = 1, message = "收入来源:1社保2公积金3商险4薪资不能超过1个字符")
@ExcelProperty("收入来源:1社保2公积金3商险4薪资")
private String sourceType;
/**
* 金额
*/
@ExcelAttribute(name = "金额", isNotEmpty = true, errorInfo = "金额不能为空")
@NotBlank(message = "金额不能为空")
@ExcelProperty("金额")
private BigDecimal money;
/**
* 生成月份
*/
@ExcelAttribute(name = "生成月份", maxLength = 6)
@Length(max = 6, message = "生成月份不能超过6个字符")
@ExcelProperty("生成月份")
private String createMonth;
/**
* 缴纳月份
*/
@ExcelAttribute(name = "缴纳月份", maxLength = 6)
@Length(max = 6, message = "缴纳月份不能超过6个字符")
@ExcelProperty("缴纳月份")
private String payMonth;
/**
* 数据生成时间
*/
@ExcelAttribute(name = "数据生成时间", isNotEmpty = true, errorInfo = "数据生成时间不能为空", isDate = true)
@NotBlank(message = "数据生成时间不能为空")
@ExcelProperty("数据生成时间")
private Date createTime;
/**
* 数据生成月份
*/
@ExcelAttribute(name = "数据生成月份", maxLength = 6)
@Length(max = 6, message = "数据生成月份不能超过6个字符")
@ExcelProperty("数据生成月份")
private String dataCreateMonth;
/**
* 来源id,红冲使用
*/
@ExcelAttribute(name = "来源id,红冲使用", isNotEmpty = true, errorInfo = "来源id,红冲使用不能为空", maxLength = 32)
@NotBlank(message = "来源id,红冲使用不能为空")
@Length(max = 32, message = "来源id,红冲使用不能超过32个字符")
@ExcelProperty("来源id,红冲使用")
private String sourceId;
}
......@@ -370,7 +370,7 @@ public class TPaymentInfo extends BaseEntity {
private String financeBillId;
/**
* 财务账单ID
* 推送状态
*/
@ExcelAttribute(name = "推送状态 0已推送 1未推送" )
@Schema(description ="推送状态 0已推送 1未推送")
......
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hyc
* @Date 2022/8/29
* @Description 社保公积金明细对应参数
* @Version 1.0
*/
@Data
public class EkpSocialFundParam implements Serializable {
private static final long serialVersionUID = -2689686777914935788L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "主键")
private String id;
/**
* 订单类型
**/
@Schema(description = "单据类型 (1、预估单 2、实缴单)")
private String settleType;
/**
* 与工资合并结算
**/
@Schema(description = "主键")
private String fd_3add9e1a670144;
/**
* 是否有预估
**/
private String fd_3add9de0be85e4;
/**
* 项目编码
*/
@Schema(description = "项目编码")
private String deptNo;
/**
* 项目名称
*/
@Schema(description = "项目名称")
private String deptName;
/**
* 客户名称
*/
@Schema(description = "客户名称")
private String customerName;
/**
* 客户编码
*/
@Schema(description = "客户编码")
private String customerCode;
/**
* 员工姓名
*/
@Schema(description = "员工姓名")
private String empName;
/**
* 员工身份证号
*/
@Schema(description = "员工身份证号")
private String empIdcardNo;
/**
* 单号
**/
@Schema(description = "单号" )
private String fd_3adfe95c169c48;
/**
* 社保户
**/
@Schema(description = "社保户id" )
private String socialHousehold;
/**
* 生成月份
**/
private String createMonth;
/**
* 缴纳月份
**/
private String payMonth;
/**
* 结算月份
**/
private String settleMonth;
/**
* 预估单位合计
**/
private String unitSum;
/**
* 预估个人合计
**/
private String personalSum;
/**
* 单位差异
**/
private String fd_3adfeb53c70f72;
/**
* 个人差异
**/
private String fd_3adfeb5413fb44;
/**
* 应收
**/
private String fd_3adfeb7b624f06;
/**
* 结算状态
**/
private String settleType1;
/**
* 收款状态
**/
private String Type;
/**
* 结算单号
**/
private String fd_3adfeb830523b6;
/**
* 收款单号
**/
private String fd_3adfeb8489e6c2;
/**
* 应支出
**/
private String fd_3adfeb7bd97464;
/**
* 支出结算状态
**/
private String fd_3add9edfbc6f7e;
/**
* 付款状态
**/
private String fd_3add9eed23894a;
/**
* 支出缴纳单号
**/
private String fd_3adfeb83a704c8;
/**
* 实缴单位生育
**/
private String fd_3af9ee3afb34c2;
/**
* 付款单号
**/
private String fd_3adfeb84175f28;
/**
* 预估单位养老
**/
private String fd_3af9ec80a9de7a;
/**
* 实缴个人合计
**/
private String fd_3af9ee3cb6d4fa;
/**
* 预估合计
**/
private String fd_3af9ed7e813b86;
/**
* 实缴单位合计
**/
private String fd_3af9ee3c0bf286;
/**
* 实缴个人补缴利息
**/
private String fd_3af9ee3d634946;
/**
* 实缴单位医疗
**/
private String fd_3af9ee39dea6a8;
/**
* 预估单位失业
**/
private String fd_3af9eba5f6e19e;
/**
* 预估个人补缴利息
**/
private String fd_3af9ebbecc4aa8;
/**
* 实缴单位养老
**/
private String fd_3af9ee3938170a;
/**
* 预估单位生育
**/
private String fd_3af9eba71c0138;
/**
* 预估单位大病救助
**/
private String fd_3af9eba863c0ee;
/**
* 实缴个人失业
**/
private String fd_3af9ee3db44d96;
/**
* 实缴单位补缴利息
**/
private String fd_3af9ee3b5ddae8;
/**
* 实缴单位大病救助
**/
private String fd_3af9ee3ba76f54;
/**
* 实缴单位工伤
**/
private String fd_3af9ee3aa9c84a;
/**
* 实缴合计
**/
private String fd_3af9ee3c6bfc74;
/**
* 预估单位补缴利息
**/
private String fd_3af9eba7c3da5e;
/**
* 预估单位医疗
**/
private String fd_3af9eba5899c90;
/**
* 预估个人养老
**/
private String fd_3af9ebbd791662;
/**
* 预估个人大病救助
**/
private String fd_3af9ebbf3e8be2;
/**
* 预估个人医疗
**/
private String fd_3af9ebbdd9797e;
/**
* 实缴个人医疗
**/
private String fd_3af9ee3e066d48;
/**
* 实缴单位失业
**/
private String fd_3af9ee3a46b7e6;
/**
* 预估个人失业
**/
private String fd_3af9ebbe29ce1c;
/**
* 实缴个人养老
**/
private String fd_3af9ee3e513962;
/**
* 实缴个人大病救助
**/
private String fd_3af9ee3d0ba3b6;
/**
* 预估单位工伤
**/
private String fd_3af9eba684f592;
/**
* 我司到款单位
**/
private String fd_3b01953871b8be;
}
\ No newline at end of file
/*
* 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.TIncomeDetail;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 收入明细表-全部明细
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Data
public class TIncomeDetailSearchVo extends TIncomeDetail {
/**
* 多选导出或删除等操作
*/
@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.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.math.BigDecimal;
import java.util.Date;
/**
* 收入明细表-全部明细
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Data
public class TIncomeDetailVo extends RowIndex implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@NotBlank(message = "主键 不能为空")
@Length(max = 32, message = "主键 不能超过32 个字符")
@ExcelAttribute(name = "主键", isNotEmpty = true, errorInfo = "主键 不能为空", maxLength = 32)
@Schema(description = "主键")
@ExcelProperty("主键")
private String id;
/**
* 员工姓名
*/
@NotBlank(message = "员工姓名 不能为空")
@Length(max = 32, message = "员工姓名 不能超过32 个字符")
@ExcelAttribute(name = "员工姓名", isNotEmpty = true, errorInfo = "员工姓名 不能为空", maxLength = 32)
@Schema(description = "员工姓名")
@ExcelProperty("员工姓名")
private String empName;
/**
* 身份证号
*/
@NotBlank(message = "身份证号 不能为空")
@Length(max = 32, message = "身份证号 不能超过32 个字符")
@ExcelAttribute(name = "身份证号", isNotEmpty = true, errorInfo = "身份证号 不能为空", maxLength = 32)
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 客户id
*/
@Length(max = 32, message = "客户id 不能超过32 个字符")
@ExcelAttribute(name = "客户id", maxLength = 32)
@Schema(description = "客户id")
@ExcelProperty("客户id")
private String unitId;
/**
* 客户名称
*/
@Length(max = 50, message = "客户名称 不能超过50 个字符")
@ExcelAttribute(name = "客户名称", maxLength = 50)
@Schema(description = "客户名称")
@ExcelProperty("客户名称")
private String unitName;
/**
* 客户编码
*/
@Length(max = 32, message = "客户编码 不能超过32 个字符")
@ExcelAttribute(name = "客户编码", maxLength = 32)
@Schema(description = "客户编码")
@ExcelProperty("客户编码")
private String unitNo;
/**
* 项目id
*/
@Length(max = 32, message = "项目id 不能超过32 个字符")
@ExcelAttribute(name = "项目id", maxLength = 32)
@Schema(description = "项目id")
@ExcelProperty("项目id")
private String deptId;
/**
* 项目名称
*/
@Length(max = 50, message = "项目名称 不能超过50 个字符")
@ExcelAttribute(name = "项目名称", maxLength = 50)
@Schema(description = "项目名称")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@Length(max = 30, message = "项目编码 不能超过30 个字符")
@ExcelAttribute(name = "项目编码", maxLength = 30)
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 费用类型:1管理费2风险金
*/
@Length(max = 1, message = "费用类型:1管理费2风险金 不能超过1 个字符")
@ExcelAttribute(name = "费用类型:1管理费2风险金", maxLength = 1)
@Schema(description = "费用类型:1管理费2风险金")
@ExcelProperty("费用类型:1管理费2风险金")
private String feeType;
/**
* 收费方式:1按比例2金额-人数3金额-人次
*/
@Length(max = 1, message = "收费方式:1按比例2金额-人数3金额-人次 不能超过1 个字符")
@ExcelAttribute(name = "收费方式:1按比例2金额-人数3金额-人次", maxLength = 1)
@Schema(description = "收费方式:1按比例2金额-人数3金额-人次")
@ExcelProperty("收费方式:1按比例2金额-人数3金额-人次")
private String feeMode;
/**
* 收费标准
*/
@Length(max = 10, message = "收费标准 不能超过10 个字符")
@ExcelAttribute(name = "收费标准", maxLength = 10)
@Schema(description = "收费标准")
@ExcelProperty("收费标准")
private String charges;
/**
* 收入来源:1社保2公积金3商险4薪资
*/
@NotBlank(message = "收入来源:1社保2公积金3商险4薪资 不能为空")
@Length(max = 1, message = "收入来源:1社保2公积金3商险4薪资 不能超过1 个字符")
@ExcelAttribute(name = "收入来源:1社保2公积金3商险4薪资", isNotEmpty = true, errorInfo = "收入来源:1社保2公积金3商险4薪资 不能为空", maxLength = 1)
@Schema(description = "收入来源:1社保2公积金3商险4薪资")
@ExcelProperty("收入来源:1社保2公积金3商险4薪资")
private String sourceType;
/**
* 金额
*/
@NotBlank(message = "金额 不能为空")
@ExcelAttribute(name = "金额", isNotEmpty = true, errorInfo = "金额 不能为空")
@Schema(description = "金额")
@ExcelProperty("金额")
private BigDecimal money;
/**
* 生成月份
*/
@Length(max = 6, message = "生成月份 不能超过6 个字符")
@ExcelAttribute(name = "生成月份", maxLength = 6)
@Schema(description = "生成月份")
@ExcelProperty("生成月份")
private String createMonth;
/**
* 缴纳月份
*/
@Length(max = 6, message = "缴纳月份 不能超过6 个字符")
@ExcelAttribute(name = "缴纳月份", maxLength = 6)
@Schema(description = "缴纳月份")
@ExcelProperty("缴纳月份")
private String payMonth;
/**
* 数据生成时间
*/
@NotBlank(message = "数据生成时间 不能为空")
@ExcelAttribute(name = "数据生成时间", isNotEmpty = true, errorInfo = "数据生成时间 不能为空", isDate = true)
@Schema(description = "数据生成时间")
@ExcelProperty("数据生成时间")
private Date createTime;
/**
* 数据生成月份
*/
@Length(max = 6, message = "数据生成月份 不能超过6 个字符")
@ExcelAttribute(name = "数据生成月份", maxLength = 6)
@Schema(description = "数据生成月份")
@ExcelProperty("数据生成月份")
private String dataCreateMonth;
/**
* 来源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 sourceId;
}
/*
* 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.TIncome;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 收入明细表
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Data
public class TIncomeSearchVo extends TIncome {
/**
* 多选导出或删除等操作
*/
@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.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.math.BigDecimal;
import java.util.Date;
/**
* 收入明细表
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Data
public class TIncomeVo extends RowIndex implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@NotBlank(message = "主键 不能为空")
@Length(max = 32, message = "主键 不能超过32 个字符")
@ExcelAttribute(name = "主键", isNotEmpty = true, errorInfo = "主键 不能为空", maxLength = 32)
@Schema(description = "主键")
@ExcelProperty("主键")
private String id;
/**
* 员工姓名
*/
@NotBlank(message = "员工姓名 不能为空")
@Length(max = 32, message = "员工姓名 不能超过32 个字符")
@ExcelAttribute(name = "员工姓名", isNotEmpty = true, errorInfo = "员工姓名 不能为空", maxLength = 32)
@Schema(description = "员工姓名")
@ExcelProperty("员工姓名")
private String empName;
/**
* 身份证号
*/
@NotBlank(message = "身份证号 不能为空")
@Length(max = 32, message = "身份证号 不能超过32 个字符")
@ExcelAttribute(name = "身份证号", isNotEmpty = true, errorInfo = "身份证号 不能为空", maxLength = 32)
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 客户id
*/
@Length(max = 32, message = "客户id 不能超过32 个字符")
@ExcelAttribute(name = "客户id", maxLength = 32)
@Schema(description = "客户id")
@ExcelProperty("客户id")
private String unitId;
/**
* 客户名称
*/
@Length(max = 50, message = "客户名称 不能超过50 个字符")
@ExcelAttribute(name = "客户名称", maxLength = 50)
@Schema(description = "客户名称")
@ExcelProperty("客户名称")
private String unitName;
/**
* 客户编码
*/
@Length(max = 32, message = "客户编码 不能超过32 个字符")
@ExcelAttribute(name = "客户编码", maxLength = 32)
@Schema(description = "客户编码")
@ExcelProperty("客户编码")
private String unitNo;
/**
* 项目id
*/
@Length(max = 32, message = "项目id 不能超过32 个字符")
@ExcelAttribute(name = "项目id", maxLength = 32)
@Schema(description = "项目id")
@ExcelProperty("项目id")
private String deptId;
/**
* 项目名称
*/
@Length(max = 50, message = "项目名称 不能超过50 个字符")
@ExcelAttribute(name = "项目名称", maxLength = 50)
@Schema(description = "项目名称")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@Length(max = 30, message = "项目编码 不能超过30 个字符")
@ExcelAttribute(name = "项目编码", maxLength = 30)
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 费用类型:1管理费2风险金
*/
@Length(max = 1, message = "费用类型:1管理费2风险金 不能超过1 个字符")
@ExcelAttribute(name = "费用类型:1管理费2风险金", maxLength = 1)
@Schema(description = "费用类型:1管理费2风险金")
@ExcelProperty("费用类型:1管理费2风险金")
private String feeType;
/**
* 收费方式:1按比例2金额-人数3金额-人次
*/
@Length(max = 1, message = "收费方式:1按比例2金额-人数3金额-人次 不能超过1 个字符")
@ExcelAttribute(name = "收费方式:1按比例2金额-人数3金额-人次", maxLength = 1)
@Schema(description = "收费方式:1按比例2金额-人数3金额-人次")
@ExcelProperty("收费方式:1按比例2金额-人数3金额-人次")
private String feeMode;
/**
* 收费标准
*/
@Length(max = 10, message = "收费标准 不能超过10 个字符")
@ExcelAttribute(name = "收费标准", maxLength = 10)
@Schema(description = "收费标准")
@ExcelProperty("收费标准")
private String charges;
/**
* 收入来源:1社保2公积金3商险4薪资
*/
@NotBlank(message = "收入来源:1社保2公积金3商险4薪资 不能为空")
@Length(max = 1, message = "收入来源:1社保2公积金3商险4薪资 不能超过1 个字符")
@ExcelAttribute(name = "收入来源:1社保2公积金3商险4薪资", isNotEmpty = true, errorInfo = "收入来源:1社保2公积金3商险4薪资 不能为空", maxLength = 1)
@Schema(description = "收入来源:1社保2公积金3商险4薪资")
@ExcelProperty("收入来源:1社保2公积金3商险4薪资")
private String sourceType;
/**
* 金额
*/
@NotBlank(message = "金额 不能为空")
@ExcelAttribute(name = "金额", isNotEmpty = true, errorInfo = "金额 不能为空")
@Schema(description = "金额")
@ExcelProperty("金额")
private BigDecimal money;
/**
* 生成月份
*/
@Length(max = 6, message = "生成月份 不能超过6 个字符")
@ExcelAttribute(name = "生成月份", maxLength = 6)
@Schema(description = "生成月份")
@ExcelProperty("生成月份")
private String createMonth;
/**
* 缴纳月份
*/
@Length(max = 6, message = "缴纳月份 不能超过6 个字符")
@ExcelAttribute(name = "缴纳月份", maxLength = 6)
@Schema(description = "缴纳月份")
@ExcelProperty("缴纳月份")
private String payMonth;
/**
* 数据生成时间
*/
@NotBlank(message = "数据生成时间 不能为空")
@ExcelAttribute(name = "数据生成时间", isNotEmpty = true, errorInfo = "数据生成时间 不能为空", isDate = true)
@Schema(description = "数据生成时间")
@ExcelProperty("数据生成时间")
private Date createTime;
/**
* 数据生成月份
*/
@Length(max = 6, message = "数据生成月份 不能超过6 个字符")
@ExcelAttribute(name = "数据生成月份", maxLength = 6)
@Schema(description = "数据生成月份")
@ExcelProperty("数据生成月份")
private String dataCreateMonth;
/**
* 推送状态:0未推送1已推送
*/
@Length(max = 1, message = "推送状态:0未推送1已推送 不能超过1 个字符")
@ExcelAttribute(name = "推送状态:0未推送1已推送", maxLength = 1)
@Schema(description = "推送状态:0未推送1已推送")
@ExcelProperty("推送状态:0未推送1已推送")
private String pushStatus;
}
......@@ -93,6 +93,11 @@
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-ekp</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
......
......@@ -10,6 +10,7 @@ public class SocialConstants {
public static final String SOCIAL_SET_ERROR = "社保补缴配置有误!";
public static final String EMP_NAME_ERROR = "员工姓名错误!";
public static final String DIFF_TYPE_ONE = "预估";
public static final String DIFF_TYPE_THR = "实缴";
public static final String DIFF_TYPE_TWO = "差额";
public static final String YL = "养老";
......
......@@ -261,4 +261,32 @@ public class TForecastLibraryController {
tForecastLibraryService.updateForSocialAndFound(list);
}
/**
* @Description: 定时任务推送社保预估明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
@Operation(summary = "定时任务推送社保预估明细的数据", description = "定时任务推送社保预估明细的数据")
@SysLog("定时任务推送社保预估明细的数据")
@Inner
@PostMapping("/inner/createForecastInfo")
public void createForecastInfo() {
tForecastLibraryService.createForecastInfo();
}
/**
* @Description: 定时任务推送社保预估明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
@Operation(summary = "定时生成公积金预估明细的数据", description = "定时生成公积金预估明细的数据")
@SysLog("定时生成公积金预估明细的数据")
@Inner
@PostMapping("/inner/createForecastFundInfo")
public void createForecastFundInfo() {
tForecastLibraryService.createForecastFundInfo();
}
}
/*
* 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.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.social.entity.TIncome;
import com.yifu.cloud.plus.v1.yifu.social.service.TIncomeService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TIncomeSearchVo;
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 hgw
* @date 2022-08-30 17:34:58
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tincome")
@Tag(name = "收入明细表管理")
public class TIncomeController {
private final TIncomeService tIncomeService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tIncome 收入明细表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TIncome>> getTIncomePage(Page<TIncome> page, TIncomeSearchVo tIncome) {
return new R<>(tIncomeService.getTIncomePage(page, tIncome));
}
/**
* 不分页查询
*
* @param tIncome 收入明细表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('social_tincome_get')" )
public R<List<TIncome>> getTIncomeNoPage(@RequestBody TIncomeSearchVo tIncome) {
return R.ok(tIncomeService.noPageDiy(tIncome));
}
/**
* 通过id查询收入明细表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_tincome_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tincome_get')")
public R<TIncome> getById(@PathVariable("id") String id) {
return R.ok(tIncomeService.getById(id));
}
/**
* 新增收入明细表
*
* @param tIncome 收入明细表
* @return R
*/
@Operation(summary = "新增收入明细表", description = "新增收入明细表:hasPermission('social_tincome_add')")
@SysLog("新增收入明细表")
@PostMapping
@PreAuthorize("@pms.hasPermission('social_tincome_add')")
public R<Boolean> save(@RequestBody TIncome tIncome) {
return R.ok(tIncomeService.save(tIncome));
}
/**
* 修改收入明细表
*
* @param tIncome 收入明细表
* @return R
*/
@Operation(summary = "修改收入明细表", description = "修改收入明细表:hasPermission('social_tincome_edit')")
@SysLog("修改收入明细表")
@PutMapping
@PreAuthorize("@pms.hasPermission('social_tincome_edit')")
public R<Boolean> updateById(@RequestBody TIncome tIncome) {
return R.ok(tIncomeService.updateById(tIncome));
}
/**
* 通过id删除收入明细表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除收入明细表", description = "通过id删除收入明细表:hasPermission('social_tincome_del')")
@SysLog("通过id删除收入明细表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tincome_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tIncomeService.removeById(id));
}
/**
* 收入明细表 批量导入
*
* @author hgw
* @date 2022-08-30 17:34:58
**/
@SneakyThrows
@Operation(description = "批量新增收入明细表 hasPermission('social_tincome-batch-import')")
@SysLog("批量新增收入明细表")
@PostMapping("/importListAdd")
@PreAuthorize("@pms.hasPermission('social_tincome-batch-import')")
public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file) {
return tIncomeService.importDiy(file.getInputStream());
}
/**
* 收入明细表 批量导出
*
* @author hgw
* @date 2022-08-30 17:34:58
**/
@Operation(description = "导出收入明细表 hasPermission('social_tincome-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('social_tincome-export')")
public void export(HttpServletResponse response, @RequestBody TIncomeSearchVo searchVo) {
tIncomeService.listExport(response, searchVo);
}
}
......@@ -311,4 +311,32 @@ public class TPaymentInfoController {
public void updatePaymentSocialAndFound(@RequestBody UpdateSocialFoundVo list) {
tPaymentInfoService.updatePaymentSocialAndFound(list);
}
/**
* @Description: 定时任务推送社保缴费库明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
@Operation(summary = "定时任务推送社保缴费库明细的数据", description = "定时任务推送社保缴费库明细的数据")
@SysLog("定时任务推送社保缴费库明细的数据")
@Inner
@PostMapping("/inner/createPaymentSocialInfo")
public void createPaymentSocialInfo() {
tPaymentInfoService.createPaymentSocialInfo();
}
/**
* @Description: 定时任务推送公积金缴费库明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
@Operation(summary = "定时任务推送公积金缴费库明细的数据", description = "定时任务推送公积金缴费库明细的数据")
@SysLog("定时任务推送公积金缴费库明细的数据")
@Inner
@PostMapping("/inner/createPaymentFundInfo")
public void createPaymentFundInfo() {
tPaymentInfoService.createPaymentFundInfo();
}
}
......@@ -69,4 +69,12 @@ public interface TForecastLibraryMapper extends BaseMapper<TForecastLibrary> {
void updateForSocialAndFound(@Param("infoVo") UpdateSocialFoundVo infoVo);
/**
* 更新社保结算状态
* @Author huyc
* @Date 2022-8-30
* @param idList
* @return
**/
int updatePushStatus(@Param("idList") List<String> idList);
}
/*
* 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.TIncomeDetail;
import org.apache.ibatis.annotations.Mapper;
/**
* 收入明细表-全部明细
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Mapper
public interface TIncomeDetailMapper extends BaseMapper<TIncomeDetail> {
}
/*
* 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.TIncome;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 收入明细表
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Mapper
public interface TIncomeMapper extends BaseMapper<TIncome> {
/**
* 收入明细表简单分页查询
* @param tIncome 收入明细表
* @return
*/
IPage<TIncome> getTIncomePage(Page<TIncome> page, @Param("tIncome") TIncome tIncome);
}
......@@ -117,4 +117,13 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
void updatePaymentSocialAndFound(@Param("infoVo") UpdateSocialFoundVo infoVo);
/**
* 更新社保推送
* @Author huyc
* @Date 2022-8-30
* @param idList
* @return
**/
int updatePushStatus(@Param("idList") List<String> idList);
}
......@@ -125,4 +125,7 @@ public interface TForecastLibraryService extends IService<TForecastLibrary> {
void updateForSocialAndFound(UpdateSocialFoundVo list);
void createForecastInfo();
void createForecastFundInfo();
}
/*
* 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.TIncomeDetail;
/**
* 收入明细表-全部明细
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
public interface TIncomeDetailService extends IService<TIncomeDetail> {
}
/*
* 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.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.TIncome;
import com.yifu.cloud.plus.v1.yifu.social.vo.TIncomeSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
/**
* 收入明细表
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
public interface TIncomeService extends IService<TIncome> {
/**
* 收入明细表简单分页查询
*
* @param tIncome 收入明细表
* @return
*/
IPage<TIncome> getTIncomePage(Page<TIncome> page, TIncomeSearchVo tIncome);
R<List<ErrorMessage>> importDiy(InputStream inputStream);
void listExport(HttpServletResponse response, TIncomeSearchVo searchVo);
List<TIncome> noPageDiy(TIncomeSearchVo searchVo);
}
......@@ -131,5 +131,6 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> {
void updatePaymentSocialAndFound(UpdateSocialFoundVo list);
void createPaymentSocialInfo();
void createPaymentFundInfo();
}
......@@ -25,11 +25,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpFundUtil;
import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSocialUtil;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushFundParam;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushSocialParam;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
......@@ -74,6 +78,10 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
private final SysBaseSetInfoMapper sysBaseSetInfoMapper;
private final EkpFundUtil ekpFundUtil;
private final EkpSocialUtil ekpSocialUtil;
/**
* 预估费用简单分页查询
*
......@@ -2142,4 +2150,348 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
}
}
@Override
public void createForecastInfo() {
//获取所有未推送的社保预估明细数据
List<TForecastLibrary> unPushInfo = baseMapper.selectList(Wrappers.<TForecastLibrary>query().lambda()
.eq(TForecastLibrary::getDataPush, CommonConstants.ZERO_INT)
.eq(TForecastLibrary::getDataType, CommonConstants.ZERO_INT));
if (Common.isNotNull(unPushInfo)) {
//推送数据封装并推送
List<String> pushList = initEkpPushSocialParam(unPushInfo);
//更新推送状态
if (Common.isNotNull(pushList)) {
baseMapper.updatePushStatus(pushList);
}
}
}
@Override
public void createForecastFundInfo() {
//获取所有未推送的公积金预估明细数据
List<TForecastLibrary> unPushInfo = baseMapper.selectList(Wrappers.<TForecastLibrary>query().lambda()
.eq(TForecastLibrary::getDataPush, CommonConstants.ZERO_INT)
.eq(TForecastLibrary::getDataType, CommonConstants.ONE_INT));
if (Common.isNotNull(unPushInfo)) {
//推送数据封装并推送
List<String> pushList = initEkpPushFundParam(unPushInfo);
//更新推送状态
if (Common.isNotNull(pushList)) {
baseMapper.updatePushStatus(pushList);
}
}
}
public List<String> initEkpPushSocialParam(List<TForecastLibrary> unPushInfo) {
List<String> pushList = new ArrayList<>();
for (TForecastLibrary library:unPushInfo) {
EkpPushSocialParam socialParam = new EkpPushSocialParam();
//员工姓名
socialParam.setFd_3adfe8c79989d4(library.getEmpName());
//员工身份证
socialParam.setFd_3adfe8c7e4cf7a(library.getEmpIdcard());
//单位养老金额
if (Common.isNotNull(library.getUnitPensionFee())) {
socialParam.setFd_3af9ec80a9de7a(library.getUnitPensionFee().toString());
} else {
socialParam.setFd_3af9ec80a9de7a(CommonConstants.EMPTY_STRING);
}
//单位医疗金额
if (Common.isNotNull(library.getUnitMedicalFee())) {
socialParam.setFd_3af9eba5899c90(library.getUnitMedicalFee().toString());
} else {
socialParam.setFd_3af9eba5899c90(CommonConstants.EMPTY_STRING);
}
//单位工伤金额
if (Common.isNotNull(library.getUnitWorkInjuryFee())) {
socialParam.setFd_3af9eba684f592(library.getUnitWorkInjuryFee().toString());
} else {
socialParam.setFd_3af9eba684f592(CommonConstants.EMPTY_STRING);
}
//单位失业金额
if (Common.isNotNull(library.getUnitUnemploymentFee())) {
socialParam.setFd_3af9eba5f6e19e(library.getUnitUnemploymentFee().toString());
} else {
socialParam.setFd_3af9eba5f6e19e(CommonConstants.EMPTY_STRING);
}
//单位生育金额
if (Common.isNotNull(library.getUnitBirthFee())) {
socialParam.setFd_3af9eba71c0138(library.getUnitBirthFee().toString());
} else {
socialParam.setFd_3af9eba71c0138(CommonConstants.EMPTY_STRING);
}
//单位大病金额
if (Common.isNotNull(library.getUnitBitailmentFee())) {
socialParam.setFd_3af9eba863c0ee(library.getUnitBitailmentFee().toString());
} else {
socialParam.setFd_3af9eba863c0ee(CommonConstants.EMPTY_STRING);
}
//个人养老金额
if (Common.isNotNull(library.getPersonalPensionFee())) {
socialParam.setFd_3af9ebbd791662(library.getPersonalPensionFee().toString());
} else {
socialParam.setFd_3af9ebbd791662(CommonConstants.EMPTY_STRING);
}
//个人医疗金额
if (Common.isNotNull(library.getPersonalMedicalFee())) {
socialParam.setFd_3af9ebbdd9797e(library.getPersonalMedicalFee().toString());
} else {
socialParam.setFd_3af9ebbdd9797e(CommonConstants.EMPTY_STRING);
}
//单位社保合计
if (Common.isNotNull(library.getUnitSocialSum())) {
socialParam.setFd_3adfeb4e8064a8(library.getUnitSocialSum().toString());
} else {
socialParam.setFd_3adfeb4e8064a8(CommonConstants.EMPTY_STRING);
}
//个人社保合计
if (Common.isNotNull(library.getPersonalSocialSum())) {
socialParam.setFd_3adfeb52a4d2e2(library.getPersonalSocialSum().toString());
} else {
socialParam.setFd_3adfeb52a4d2e2(CommonConstants.EMPTY_STRING);
}
//预估个人大病救助
if (Common.isNotNull(library.getPersonalBigailmentFee())) {
socialParam.setFd_3af9ebbf3e8be2(library.getPersonalBigailmentFee().toString());
} else {
socialParam.setFd_3af9ebbf3e8be2(CommonConstants.EMPTY_STRING);
}
//预估个人失业
if (Common.isNotNull(library.getPersonalUnemploymentFee())) {
socialParam.setFd_3af9ebbe29ce1c(library.getPersonalUnemploymentFee().toString());
} else {
socialParam.setFd_3af9ebbe29ce1c(CommonConstants.EMPTY_STRING);
}
//结算状态
if (Common.isNotNull(library.getSalarySocialFlag())) {
if (CommonConstants.ONE_STRING.equals(library.getSalarySocialFlag())) {
socialParam.setFd_3add9ea428879a(CommonConstants.SALARY_ISFLAG);
} else {
socialParam.setFd_3add9ea428879a(CommonConstants.SALARY_UNFLAG);
}
} else {
socialParam.setFd_3add9ea428879a(CommonConstants.EMPTY_STRING);
}
//社保缴纳月份
if (Common.isNotNull(library.getSocialPayMonth())) {
socialParam.setFd_3adfe8cf632700(library.getSocialPayMonth());
} else {
socialParam.setFd_3adfe8cf632700(CommonConstants.EMPTY_STRING);
}
//社保生成月份
if (Common.isNotNull(library.getSocialCreateMonth())) {
socialParam.setFd_3adfe8cb96c41e(library.getSocialCreateMonth());
} else {
socialParam.setFd_3adfe8cb96c41e(CommonConstants.EMPTY_STRING);
}
//订单类型
socialParam.setFd_3add9dd7833db8(SocialConstants.DIFF_TYPE_ONE);
//是否有预估
socialParam.setFd_3add9de0be85e4(CommonConstants.IS_TRUE);
//与工资合并结算
socialParam.setFd_3add9e1a670144(CommonConstants.EMPTY_STRING);
//项目编码
socialParam.setFd_3adfe8c70d3fd4(library.getDeptNo());
//项目名称
socialParam.setFd_3adfe8c8468e54(library.getDeptName());
//单号
socialParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING);
//客户编码
socialParam.setFd_3adfe8c73cb5a4(CommonConstants.EMPTY_STRING);
//客户名称
socialParam.setFd_3adfe8c81a0e42(library.getUnitName());
//社保户
if (Common.isNotNull(library.getSocialHouseholdName())) {
socialParam.setFd_3aeafa25916e82(library.getSocialHouseholdName());
} else {
socialParam.setFd_3aeafa25916e82(CommonConstants.EMPTY_STRING);
}
//结算月份
socialParam.setFd_3adfe8cff746bc(CommonConstants.EMPTY_STRING);
//单位差异
socialParam.setFd_3adfeb53c70f72(CommonConstants.EMPTY_STRING);
//个人差异
socialParam.setFd_3adfeb5413fb44(CommonConstants.EMPTY_STRING);
//应收
socialParam.setFd_3adfeb7b624f06(CommonConstants.EMPTY_STRING);
//收款状态
socialParam.setFd_3add9eaeed2560(CommonConstants.EMPTY_STRING);
//结算单号
socialParam.setFd_3adfeb830523b6(CommonConstants.EMPTY_STRING);
//收款单号
socialParam.setFd_3adfeb8489e6c2(CommonConstants.EMPTY_STRING);
//应支出
socialParam.setFd_3adfeb7bd97464(CommonConstants.EMPTY_STRING);
//支出结算状态
socialParam.setFd_3add9edfbc6f7e(CommonConstants.EMPTY_STRING);
//付款状态
socialParam.setFd_3add9eed23894a(CommonConstants.EMPTY_STRING);
//支出缴纳单号
socialParam.setFd_3adfeb83a704c8(CommonConstants.EMPTY_STRING);
//实缴单位生育
socialParam.setFd_3af9ee3afb34c2(CommonConstants.EMPTY_STRING);
//付款单号
socialParam.setFd_3adfeb84175f28(CommonConstants.EMPTY_STRING);
//实缴个人合计
socialParam.setFd_3af9ee3cb6d4fa(CommonConstants.EMPTY_STRING);
//预估合计
if (Common.isNotNull(library.getSumAll())) {
socialParam.setFd_3af9ed7e813b86(library.getSumAll().toString());
} else {
socialParam.setFd_3af9ed7e813b86(CommonConstants.EMPTY_STRING);
}
//实缴单位合计
socialParam.setFd_3af9ee3c0bf286(CommonConstants.EMPTY_STRING);
//实缴个人补缴利息
socialParam.setFd_3af9ee3d634946(CommonConstants.EMPTY_STRING);
//实缴单位医疗
socialParam.setFd_3af9ee39dea6a8(CommonConstants.EMPTY_STRING);
//预估个人补缴利息
if (Common.isNotNull(library.getPersonalInterestFee())) {
socialParam.setFd_3af9ebbecc4aa8(library.getPersonalInterestFee().toString());
} else {
socialParam.setFd_3af9ebbecc4aa8(CommonConstants.EMPTY_STRING);
}
//预估单位补缴利息
if (Common.isNotNull(library.getUnitInterestFee())) {
socialParam.setFd_3af9eba7c3da5e(library.getUnitInterestFee().toString());
} else {
socialParam.setFd_3af9eba7c3da5e(CommonConstants.EMPTY_STRING);
}
//实缴单位养老
socialParam.setFd_3af9ee3938170a(CommonConstants.EMPTY_STRING);
//实缴个人失业
socialParam.setFd_3af9ee3db44d96(CommonConstants.EMPTY_STRING);
//实缴单位补缴利息
socialParam.setFd_3af9ee3b5ddae8(CommonConstants.EMPTY_STRING);
//实缴单位大病救助
socialParam.setFd_3af9ee3ba76f54(CommonConstants.EMPTY_STRING);
//实缴单位工伤
socialParam.setFd_3af9ee3aa9c84a(CommonConstants.EMPTY_STRING);
//实缴合计
socialParam.setFd_3af9ee3c6bfc74(CommonConstants.EMPTY_STRING);
//实缴个人医疗
socialParam.setFd_3af9ee3e066d48(CommonConstants.EMPTY_STRING);
//实缴单位失业
socialParam.setFd_3af9ee3a46b7e6(CommonConstants.EMPTY_STRING);
//实缴个人养老
socialParam.setFd_3af9ee3e513962(CommonConstants.EMPTY_STRING);
//实缴个人大病救助
socialParam.setFd_3af9ee3d0ba3b6(CommonConstants.EMPTY_STRING);
//我司到款单位
socialParam.setFd_3b01953871b8be(CommonConstants.EMPTY_STRING);
String body = ekpSocialUtil.sendToEKP(socialParam);
if (Common.isNotNull(body)) {
//更新推送状态为已推送的列表
pushList.add(library.getId());
}
}
return pushList;
}
public List<String> initEkpPushFundParam(List<TForecastLibrary> unPushInfo) {
List<String> pushList = new ArrayList<>();
for (TForecastLibrary library:unPushInfo) {
EkpPushFundParam fundParam = new EkpPushFundParam();
//员工姓名
fundParam.setFd_3adfe8c79989d4(library.getEmpName());
//员工身份证
fundParam.setFd_3adfe8c7e4cf7a(library.getEmpIdcard());
//预估单位代缴
if (Common.isNotNull(library.getUnitSocialSum())) {
fundParam.setFd_3adfeb4e8064a8(library.getUnitSocialSum().toString());
} else {
fundParam.setFd_3adfeb4e8064a8(CommonConstants.EMPTY_STRING);
}
//预估个人代缴
if (Common.isNotNull(library.getPersonalSocialSum())) {
fundParam.setFd_3adfeb52a4d2e2(library.getPersonalSocialSum().toString());
} else {
fundParam.setFd_3adfeb52a4d2e2(CommonConstants.EMPTY_STRING);
}
//缴纳月份
if (Common.isNotNull(library.getSocialPayMonth())) {
fundParam.setFd_3adfe8cf632700(library.getSocialPayMonth());
} else {
fundParam.setFd_3adfe8cf632700(CommonConstants.EMPTY_STRING);
}
//生成月份
if (Common.isNotNull(library.getSocialCreateMonth())) {
fundParam.setFd_3adfe8cb96c41e(library.getSocialCreateMonth());
} else {
fundParam.setFd_3adfe8cb96c41e(CommonConstants.EMPTY_STRING);
}
//结算状态
if (Common.isNotNull(library.getSalaryFundFlag())) {
if (CommonConstants.ONE_STRING.equals(library.getSalaryFundFlag())) {
fundParam.setFd_3add9ea428879a(CommonConstants.SALARY_ISFLAG);
} else {
fundParam.setFd_3add9ea428879a(CommonConstants.SALARY_UNFLAG);
}
} else {
fundParam.setFd_3add9ea428879a(CommonConstants.EMPTY_STRING);
}
//订单类型
fundParam.setFd_3add9dd7833db8(SocialConstants.DIFF_TYPE_ONE);
//是否有预估
fundParam.setFd_3add9de0be85e4(CommonConstants.IS_TRUE);
//与工资合并结算
fundParam.setFd_3add9e1a670144(CommonConstants.EMPTY_STRING);
//项目编码
fundParam.setFd_3adfe8c70d3fd4(library.getDeptNo());
//项目名称
fundParam.setFd_3adfe8c8468e54(library.getDeptName());
//单号
fundParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING);
//客户编码
fundParam.setFd_3adfe8c73cb5a4(CommonConstants.EMPTY_STRING);
//单位代缴
fundParam.setFd_3adfeb52fbe966(CommonConstants.EMPTY_STRING);
//个人代缴
fundParam.setFd_3adfeb5366dd82(CommonConstants.EMPTY_STRING);
//客户名称
fundParam.setFd_3adfe8c81a0e42(library.getUnitName());
//公积金账户
if (Common.isNotNull(library.getProvidentHouseholdName())) {
fundParam.setFd_3aeafa8cc144bc(library.getProvidentHouseholdName());
} else {
fundParam.setFd_3aeafa8cc144bc(CommonConstants.EMPTY_STRING);
}
//结算月份
fundParam.setFd_3adfe8cff746bc(CommonConstants.EMPTY_STRING);
//单位差异
fundParam.setFd_3adfeb53c70f72(CommonConstants.EMPTY_STRING);
//个人差异
fundParam.setFd_3adfeb5413fb44(CommonConstants.EMPTY_STRING);
//应收
fundParam.setFd_3adfeb7b624f06(CommonConstants.EMPTY_STRING);
//收款状态
fundParam.setFd_3add9eaeed2560(CommonConstants.EMPTY_STRING);
//结算单号
fundParam.setFd_3adfeb830523b6(CommonConstants.EMPTY_STRING);
//收款单号
fundParam.setFd_3adfeb8489e6c2(CommonConstants.EMPTY_STRING);
//应支出
fundParam.setFd_3adfeb7bd97464(CommonConstants.EMPTY_STRING);
//支出结算状态
fundParam.setFd_3add9edfbc6f7e(CommonConstants.EMPTY_STRING);
//付款状态
fundParam.setFd_3add9eed23894a(CommonConstants.EMPTY_STRING);
//支出缴纳单号
fundParam.setFd_3adfeb83a704c8(CommonConstants.EMPTY_STRING);
//付款单号
fundParam.setFd_3adfeb84175f28(CommonConstants.EMPTY_STRING);
//我司到款单位
fundParam.setFd_3b019a2e9bfdd6(CommonConstants.EMPTY_STRING);
String body = ekpFundUtil.sendToEKP(fundParam);
if (Common.isNotNull(body)) {
//更新推送状态为已推送的列表
pushList.add(library.getId());
}
}
return pushList;
}
}
/*
* 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.social.entity.TIncomeDetail;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TIncomeDetailMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TIncomeDetailService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 收入明细表-全部明细
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Log4j2
@Service
public class TIncomeDetailServiceImpl extends ServiceImpl<TIncomeDetailMapper, TIncomeDetail> implements TIncomeDetailService {
}
/*
* 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 cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ArrayUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.social.entity.TIncome;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TIncomeMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TIncomeService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TIncomeSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TIncomeVo;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* 收入明细表
*
* @author hgw
* @date 2022-08-30 17:34:58
*/
@Log4j2
@Service
public class TIncomeServiceImpl extends ServiceImpl<TIncomeMapper, TIncome> implements TIncomeService {
/**
* 收入明细表简单分页查询
*
* @param tIncome 收入明细表
* @return
*/
@Override
public IPage<TIncome> getTIncomePage(Page<TIncome> page, TIncomeSearchVo tIncome) {
return baseMapper.getTIncomePage(page, tIncome);
}
/**
* 收入明细表批量导出
*
* @return
*/
@Override
public void listExport(HttpServletResponse response, TIncomeSearchVo searchVo) {
String fileName = "不良记录批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TIncome> list = new ArrayList<>();
long count = noPageCountDiy(searchVo);
ServletOutputStream out = null;
try {
out = response.getOutputStream();
response.setContentType("multipart/form-data");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
//EasyExcel.write(out, TEmpBadRecord.class).sheet("不良记录").doWrite(list);
ExcelWriter excelWriter = EasyExcel.write(out, TIncome.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<TIncome> util = new ExcelUtil<>(TIncome.class);
for (TIncome vo : list) {
util.convertEntity(vo, null, null, null);
}
}
if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcel.writerSheet("收入明细表" + index).build();
excelWriter.write(list, writeSheet);
index++;
}
i = i + CommonConstants.EXCEL_EXPORT_LIMIT;
if (Common.isNotNull(list)) {
list.clear();
}
}
} else {
WriteSheet writeSheet = EasyExcel.writerSheet("收入明细表" + index).build();
excelWriter.write(list, writeSheet);
}
if (Common.isNotNull(list)) {
list.clear();
}
out.flush();
excelWriter.finish();
} catch (Exception e) {
log.error("执行异常", e);
} finally {
try {
if (null != out) {
out.close();
}
} catch (IOException e) {
log.error("执行异常", e);
}
}
}
@Override
public List<TIncome> noPageDiy(TIncomeSearchVo searchVo) {
LambdaQueryWrapper<TIncome> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TIncome::getId, idList);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
return baseMapper.selectList(wrapper);
}
private Long noPageCountDiy(TIncomeSearchVo searchVo) {
LambdaQueryWrapper<TIncome> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TIncome::getId, idList);
}
return baseMapper.selectCount(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TIncomeSearchVo entity) {
LambdaQueryWrapper<TIncome> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TIncome::getCreateTime, entity.getCreateTimes()[0])
.le(TIncome::getCreateTime,
entity.getCreateTimes()[1]);
}
return wrapper;
}
@Override
public R<List<ErrorMessage>> importDiy(InputStream inputStream) {
List<ErrorMessage> errorMessageList = new ArrayList<>();
ExcelUtil<TIncomeVo> util1 = new ExcelUtil<>(TIncomeVo.class);
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try {
EasyExcel.read(inputStream, TIncomeVo.class, new ReadListener<TIncomeVo>() {
/**
* 单次缓存的数据量
*/
public static final int BATCH_COUNT = CommonConstants.BATCH_COUNT;
/**
*临时存储
*/
private List<TIncomeVo> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
@Override
public void invoke(TIncomeVo data, AnalysisContext context) {
ReadRowHolder readRowHolder = context.readRowHolder();
Integer rowIndex = readRowHolder.getRowIndex();
data.setRowIndex(rowIndex + 1);
ErrorMessage errorMessage = util1.checkEntity(data, data.getRowIndex());
if (Common.isNotNull(errorMessage)) {
errorMessageList.add(errorMessage);
} else {
cachedDataList.add(data);
}
if (cachedDataList.size() >= BATCH_COUNT) {
saveData();
// 存储完成清理 list
cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
saveData();
}
/**
* 加上存储数据库
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
importTIncome(cachedDataList, errorMessageList);
log.info("存储数据库成功!");
}
}).sheet().doRead();
} catch (Exception e) {
log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR, e);
return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR);
}
return R.ok(errorMessageList);
}
private void importTIncome(List<TIncomeVo> excelVOList, List<ErrorMessage> errorMessageList) {
// 个性化校验逻辑
ErrorMessage errorMsg;
// 执行数据插入操作 组装
for (int i = 0; i < excelVOList.size(); i++) {
TIncomeVo excel = excelVOList.get(i);
// 数据合法情况 TODO
// 插入
insertExcel(excel);
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), CommonConstants.SAVE_SUCCESS));
}
}
/**
* 插入excel bad record
*/
private void insertExcel(TIncomeVo excel) {
TIncome insert = new TIncome();
BeanUtil.copyProperties(excel, insert);
this.save(insert);
}
}
......@@ -27,6 +27,10 @@ import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpFundUtil;
import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSocialUtil;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushFundParam;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushSocialParam;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
......@@ -111,6 +115,12 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
@Autowired
private SysHouseHoldInfoMapper sysHouseHoldInfoMapper;
@Autowired
private EkpFundUtil ekpFundUtil;
@Autowired
private EkpSocialUtil ekpSocialUtil;
/**
* 缴费库简单分页查询
*
......@@ -2207,4 +2217,348 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
}
}
@Override
public void createPaymentSocialInfo() {
//获取所有未推送的社保预估明细数据
List<TPaymentInfo> unPushInfo = baseMapper.selectList(Wrappers.<TPaymentInfo>query().lambda()
.eq(TPaymentInfo::getPushStatus, CommonConstants.ONE_STRING)
.isNotNull(TPaymentInfo::getSocialId));
if (Common.isNotNull(unPushInfo)) {
//推送数据封装并推送
List<String> pushList = initEkpPushSocialParam(unPushInfo);
//更新推送状态
if (Common.isNotNull(pushList)) {
baseMapper.updatePushStatus(pushList);
}
}
}
@Override
public void createPaymentFundInfo() {
//获取所有未推送的社保预估明细数据
List<TPaymentInfo> unPushInfo = baseMapper.selectList(Wrappers.<TPaymentInfo>query().lambda()
.eq(TPaymentInfo::getPushStatus, CommonConstants.ONE_STRING)
.isNotNull(TPaymentInfo::getFundId));
if (Common.isNotNull(unPushInfo)) {
//推送数据封装并推送
List<String> pushList = initEkpPushFundParam(unPushInfo);
//更新推送状态
if (Common.isNotNull(pushList)) {
baseMapper.updatePushStatus(pushList);
}
}
}
public List<String> initEkpPushSocialParam(List<TPaymentInfo> unPushInfo) {
List<String> pushList = new ArrayList<>();
for (TPaymentInfo library:unPushInfo) {
EkpPushSocialParam socialParam = new EkpPushSocialParam();
//员工姓名
socialParam.setFd_3adfe8c79989d4(library.getEmpName());
//员工身份证
socialParam.setFd_3adfe8c7e4cf7a(library.getEmpIdcard());
//单位养老金额
socialParam.setFd_3af9ec80a9de7a(CommonConstants.EMPTY_STRING);
//单位医疗金额
socialParam.setFd_3af9eba5899c90(CommonConstants.EMPTY_STRING);
//单位工伤金额
socialParam.setFd_3af9eba684f592(CommonConstants.EMPTY_STRING);
//单位失业金额
socialParam.setFd_3af9eba5f6e19e(CommonConstants.EMPTY_STRING);
//单位生育金额
socialParam.setFd_3af9eba71c0138(CommonConstants.EMPTY_STRING);
//单位大病金额
socialParam.setFd_3af9eba863c0ee(CommonConstants.EMPTY_STRING);
//预估个人养老
socialParam.setFd_3af9ebbd791662(CommonConstants.EMPTY_STRING);
//预估个人医疗
socialParam.setFd_3af9ebbdd9797e(CommonConstants.EMPTY_STRING);
//预估单位合计
socialParam.setFd_3adfeb4e8064a8(CommonConstants.EMPTY_STRING);
//个人社保合计
socialParam.setFd_3adfeb52a4d2e2(CommonConstants.EMPTY_STRING);
//预估个人大病救助
socialParam.setFd_3af9ebbf3e8be2(CommonConstants.EMPTY_STRING);
//预估个人失业
socialParam.setFd_3af9ebbe29ce1c(CommonConstants.EMPTY_STRING);
//结算状态
if (Common.isNotNull(library.getSalarySocialFlag())) {
if (CommonConstants.ONE_STRING.equals(library.getSalarySocialFlag())) {
socialParam.setFd_3add9ea428879a(CommonConstants.SALARY_ISFLAG);
} else {
socialParam.setFd_3add9ea428879a(CommonConstants.SALARY_UNFLAG);
}
} else {
socialParam.setFd_3add9ea428879a(CommonConstants.EMPTY_STRING);
}
//社保缴纳月份
if (Common.isNotNull(library.getSocialPayMonth())) {
socialParam.setFd_3adfe8cf632700(library.getSocialPayMonth());
} else {
socialParam.setFd_3adfe8cf632700(CommonConstants.EMPTY_STRING);
}
//社保生成月份
if (Common.isNotNull(library.getSocialCreateMonth())) {
socialParam.setFd_3adfe8cb96c41e(library.getSocialCreateMonth());
} else {
socialParam.setFd_3adfe8cb96c41e(CommonConstants.EMPTY_STRING);
}
//订单类型
socialParam.setFd_3add9dd7833db8(SocialConstants.DIFF_TYPE_THR);
//是否有预估
socialParam.setFd_3add9de0be85e4(CommonConstants.EMPTY_STRING);
//与工资合并结算
socialParam.setFd_3add9e1a670144(CommonConstants.EMPTY_STRING);
//项目编码
socialParam.setFd_3adfe8c70d3fd4(library.getSettleDomainCode());
//项目名称
socialParam.setFd_3adfe8c8468e54(library.getSettleDomainName());
//单号
socialParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING);
//客户编码
socialParam.setFd_3adfe8c73cb5a4(CommonConstants.EMPTY_STRING);
//客户名称
socialParam.setFd_3adfe8c81a0e42(library.getUnitName());
//社保户
if (Common.isNotNull(library.getSocialHousehold())) {
socialParam.setFd_3aeafa25916e82(library.getSocialHousehold());
} else {
socialParam.setFd_3aeafa25916e82(CommonConstants.EMPTY_STRING);
}
//结算月份
socialParam.setFd_3adfe8cff746bc(CommonConstants.EMPTY_STRING);
//单位差异
socialParam.setFd_3adfeb53c70f72(CommonConstants.EMPTY_STRING);
//个人差异
socialParam.setFd_3adfeb5413fb44(CommonConstants.EMPTY_STRING);
//应收
socialParam.setFd_3adfeb7b624f06(CommonConstants.EMPTY_STRING);
//收款状态
socialParam.setFd_3add9eaeed2560(CommonConstants.EMPTY_STRING);
//结算单号
socialParam.setFd_3adfeb830523b6(CommonConstants.EMPTY_STRING);
//收款单号
socialParam.setFd_3adfeb8489e6c2(CommonConstants.EMPTY_STRING);
//应支出
socialParam.setFd_3adfeb7bd97464(CommonConstants.EMPTY_STRING);
//支出结算状态
socialParam.setFd_3add9edfbc6f7e(CommonConstants.EMPTY_STRING);
//付款状态
socialParam.setFd_3add9eed23894a(CommonConstants.EMPTY_STRING);
//支出缴纳单号
socialParam.setFd_3adfeb83a704c8(CommonConstants.EMPTY_STRING);
//实缴单位生育
if (Common.isNotNull(library.getUnitBirthMoney())) {
socialParam.setFd_3af9ee3afb34c2(library.getUnitBirthMoney().toString());
} else {
socialParam.setFd_3af9ee3afb34c2(CommonConstants.EMPTY_STRING);
}
//付款单号
socialParam.setFd_3adfeb84175f28(CommonConstants.EMPTY_STRING);
//实缴个人合计
if (Common.isNotNull(library.getSocialSecurityPersonalSum())) {
socialParam.setFd_3af9ee3cb6d4fa(library.getSocialSecurityPersonalSum().toString());
} else {
socialParam.setFd_3af9ee3cb6d4fa(CommonConstants.EMPTY_STRING);
}
//预估合计
socialParam.setFd_3af9ed7e813b86(CommonConstants.EMPTY_STRING);
//实缴单位合计
if (Common.isNotNull(library.getUnitSocialSum())) {
socialParam.setFd_3af9ee3c0bf286(library.getUnitSocialSum().toString());
} else {
socialParam.setFd_3af9ee3c0bf286(CommonConstants.EMPTY_STRING);
}
//实缴个人补缴利息
if (Common.isNotNull(library.getPersonalAccrual())) {
socialParam.setFd_3af9ee3d634946(library.getPersonalAccrual().toString());
} else {
socialParam.setFd_3af9ee3d634946(CommonConstants.EMPTY_STRING);
}
//实缴单位医疗
if (Common.isNotNull(library.getUnitMedicalMoney())) {
socialParam.setFd_3af9ee39dea6a8(library.getUnitMedicalMoney().toString());
} else {
socialParam.setFd_3af9ee39dea6a8(CommonConstants.EMPTY_STRING);
}
//预估个人补缴利息
socialParam.setFd_3af9ebbecc4aa8(CommonConstants.EMPTY_STRING);
//预估单位补缴利息
socialParam.setFd_3af9eba7c3da5e(CommonConstants.EMPTY_STRING);
//实缴单位养老
if (Common.isNotNull(library.getUnitPensionMoney())) {
socialParam.setFd_3af9ee3938170a(library.getUnitPensionMoney().toString());
} else {
socialParam.setFd_3af9ee3938170a(CommonConstants.EMPTY_STRING);
}
//实缴个人失业
if (Common.isNotNull(library.getPersonalUnemploymentMoney())) {
socialParam.setFd_3af9ee3db44d96(library.getPersonalUnemploymentMoney().toString());
} else {
socialParam.setFd_3af9ee3db44d96(CommonConstants.EMPTY_STRING);
}
//实缴单位补缴利息
if (Common.isNotNull(library.getCompanyAccrual())) {
socialParam.setFd_3af9ee3b5ddae8(library.getCompanyAccrual().toString());
} else {
socialParam.setFd_3af9ee3b5ddae8(CommonConstants.EMPTY_STRING);
}
//实缴单位大病救助
if (Common.isNotNull(library.getUnitBigmailmentMoney())) {
socialParam.setFd_3af9ee3ba76f54(library.getUnitBigmailmentMoney().toString());
} else {
socialParam.setFd_3af9ee3ba76f54(CommonConstants.EMPTY_STRING);
}
//实缴单位工伤
if (Common.isNotNull(library.getUnitInjuryMoney())) {
socialParam.setFd_3af9ee3aa9c84a(library.getUnitInjuryMoney().toString());
} else {
socialParam.setFd_3af9ee3aa9c84a(CommonConstants.EMPTY_STRING);
}
//实缴合计
if (Common.isNotNull(library.getSumAll())) {
socialParam.setFd_3af9ee3c6bfc74(library.getSumAll().toString());
} else {
socialParam.setFd_3af9ee3c6bfc74(CommonConstants.EMPTY_STRING);
}
//实缴个人医疗
if (Common.isNotNull(library.getPersonalMedicalMoney())) {
socialParam.setFd_3af9ee3e066d48(library.getPersonalMedicalMoney().toString());
} else {
socialParam.setFd_3af9ee3e066d48(CommonConstants.EMPTY_STRING);
}
//实缴单位失业
if (Common.isNotNull(library.getUnitUnemploymentMoney())) {
socialParam.setFd_3af9ee3a46b7e6(library.getUnitUnemploymentMoney().toString());
} else {
socialParam.setFd_3af9ee3a46b7e6(CommonConstants.EMPTY_STRING);
}
//实缴个人养老
if (Common.isNotNull(library.getPersonalPensionMoney())) {
socialParam.setFd_3af9ee3e513962(library.getPersonalPensionMoney().toString());
} else {
socialParam.setFd_3af9ee3e513962(CommonConstants.EMPTY_STRING);
}
//实缴个人大病救助
if (Common.isNotNull(library.getPersonalBigmailmentMoney())) {
socialParam.setFd_3af9ee3d0ba3b6(library.getPersonalBigmailmentMoney().toString());
} else {
socialParam.setFd_3af9ee3d0ba3b6(CommonConstants.EMPTY_STRING);
}
//我司到款单位
socialParam.setFd_3b01953871b8be(CommonConstants.EMPTY_STRING);
String body = ekpSocialUtil.sendToEKP(socialParam);
if (Common.isNotNull(body)) {
//更新推送状态为已推送的列表
pushList.add(library.getId());
}
}
return pushList;
}
public List<String> initEkpPushFundParam(List<TPaymentInfo> unPushInfo) {
List<String> pushList = new ArrayList<>();
for (TPaymentInfo library:unPushInfo) {
EkpPushFundParam fundParam = new EkpPushFundParam();
//员工姓名
fundParam.setFd_3adfe8c79989d4(library.getEmpName());
//员工身份证
fundParam.setFd_3adfe8c7e4cf7a(library.getEmpIdcard());
//预估单位代缴
fundParam.setFd_3adfeb4e8064a8(CommonConstants.EMPTY_STRING);
//预估个人代缴
fundParam.setFd_3adfeb52a4d2e2(CommonConstants.EMPTY_STRING);
//缴纳月份
if (Common.isNotNull(library.getProvidentPayMonth())) {
fundParam.setFd_3adfe8cf632700(library.getProvidentPayMonth());
} else {
fundParam.setFd_3adfe8cf632700(CommonConstants.EMPTY_STRING);
}
//生成月份
if (Common.isNotNull(library.getProvidentCreateMonth())) {
fundParam.setFd_3adfe8cb96c41e(library.getProvidentCreateMonth());
} else {
fundParam.setFd_3adfe8cb96c41e(CommonConstants.EMPTY_STRING);
}
//结算状态
if (Common.isNotNull(library.getSalaryFundFlag())) {
if (CommonConstants.ONE_STRING.equals(library.getSalaryFundFlag())) {
fundParam.setFd_3add9ea428879a(CommonConstants.SALARY_ISFLAG);
} else {
fundParam.setFd_3add9ea428879a(CommonConstants.SALARY_UNFLAG);
}
} else {
fundParam.setFd_3add9ea428879a(CommonConstants.EMPTY_STRING);
}
//订单类型
fundParam.setFd_3add9dd7833db8(SocialConstants.DIFF_TYPE_THR);
//是否有预估
fundParam.setFd_3add9de0be85e4(CommonConstants.EMPTY_STRING);
//与工资合并结算
fundParam.setFd_3add9e1a670144(CommonConstants.EMPTY_STRING);
//项目编码
fundParam.setFd_3adfe8c70d3fd4(library.getSettleDomainCode());
//项目名称
fundParam.setFd_3adfe8c8468e54(library.getSettleDomainName());
//单号
fundParam.setFd_3adfe95c169c48(CommonConstants.EMPTY_STRING);
//客户编码
fundParam.setFd_3adfe8c73cb5a4(CommonConstants.EMPTY_STRING);
//单位代缴
if (Common.isNotNull(library.getUnitProvidentSum())) {
fundParam.setFd_3adfeb52fbe966(library.getUnitProvidentSum().toString());
} else {
fundParam.setFd_3adfeb52fbe966(CommonConstants.EMPTY_STRING);
}
//个人代缴
if (Common.isNotNull(library.getPersonalProvidentSum())) {
fundParam.setFd_3adfeb5366dd82(library.getPersonalProvidentSum().toString());
} else {
fundParam.setFd_3adfeb5366dd82(CommonConstants.EMPTY_STRING);
}
//客户名称
fundParam.setFd_3adfe8c81a0e42(library.getUnitName());
//公积金账户
if (Common.isNotNull(library.getProvidentHousehold())) {
fundParam.setFd_3aeafa8cc144bc(library.getProvidentHousehold());
} else {
fundParam.setFd_3aeafa8cc144bc(CommonConstants.EMPTY_STRING);
}
//结算月份
fundParam.setFd_3adfe8cff746bc(CommonConstants.EMPTY_STRING);
//单位差异
fundParam.setFd_3adfeb53c70f72(CommonConstants.EMPTY_STRING);
//个人差异
fundParam.setFd_3adfeb5413fb44(CommonConstants.EMPTY_STRING);
//应收
fundParam.setFd_3adfeb7b624f06(CommonConstants.EMPTY_STRING);
//收款状态
fundParam.setFd_3add9eaeed2560(CommonConstants.EMPTY_STRING);
//结算单号
fundParam.setFd_3adfeb830523b6(CommonConstants.EMPTY_STRING);
//收款单号
fundParam.setFd_3adfeb8489e6c2(CommonConstants.EMPTY_STRING);
//应支出
fundParam.setFd_3adfeb7bd97464(CommonConstants.EMPTY_STRING);
//支出结算状态
fundParam.setFd_3add9edfbc6f7e(CommonConstants.EMPTY_STRING);
//付款状态
fundParam.setFd_3add9eed23894a(CommonConstants.EMPTY_STRING);
//支出缴纳单号
fundParam.setFd_3adfeb83a704c8(CommonConstants.EMPTY_STRING);
//付款单号
fundParam.setFd_3adfeb84175f28(CommonConstants.EMPTY_STRING);
//我司到款单位
fundParam.setFd_3b019a2e9bfdd6(CommonConstants.EMPTY_STRING);
String body = ekpFundUtil.sendToEKP(fundParam);
if (Common.isNotNull(body)) {
//更新推送状态为已推送的列表
pushList.add(library.getId());
}
}
return pushList;
}
}
......@@ -674,4 +674,14 @@
or (SALARY_FUND_FLAG = '0' and PROVIDENT_CREATE_MONTH >= #{infoVo.socialCreateMonth})
</update>
<!-- 更改预估社保推送状态 -->
<update id="updatePushStatus">
update t_forecast_library set DATA_PUSH = 1
where
ID in
<foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.TIncomeDetailMapper">
<resultMap id="tIncomeDetailMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.TIncomeDetail">
<id property="id" column="ID"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="unitId" column="UNIT_ID"/>
<result property="unitName" column="UNIT_NAME"/>
<result property="unitNo" column="UNIT_NO"/>
<result property="deptId" column="DEPT_ID"/>
<result property="deptName" column="DEPT_NAME"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="feeType" column="FEE_TYPE"/>
<result property="feeMode" column="FEE_MODE"/>
<result property="charges" column="CHARGES"/>
<result property="sourceType" column="SOURCE_TYPE"/>
<result property="money" column="MONEY"/>
<result property="createMonth" column="CREATE_MONTH"/>
<result property="payMonth" column="PAY_MONTH"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="dataCreateMonth" column="DATA_CREATE_MONTH"/>
<result property="sourceId" column="SOURCE_ID"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.EMP_NAME,
a.EMP_IDCARD,
a.UNIT_ID,
a.UNIT_NAME,
a.UNIT_NO,
a.DEPT_ID,
a.DEPT_NAME,
a.DEPT_NO,
a.FEE_TYPE,
a.FEE_MODE,
a.CHARGES,
a.SOURCE_TYPE,
a.MONEY,
a.CREATE_MONTH,
a.PAY_MONTH,
a.CREATE_TIME,
a.DATA_CREATE_MONTH,
a.SOURCE_ID
</sql>
<sql id="tIncomeDetail_where">
<if test="tIncomeDetail != null">
<if test="tIncomeDetail.id != null and tIncomeDetail.id.trim() != ''">
AND a.ID = #{tIncomeDetail.id}
</if>
<if test="tIncomeDetail.empName != null and tIncomeDetail.empName.trim() != ''">
AND a.EMP_NAME = #{tIncomeDetail.empName}
</if>
<if test="tIncomeDetail.empIdcard != null and tIncomeDetail.empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{tIncomeDetail.empIdcard}
</if>
<if test="tIncomeDetail.unitId != null and tIncomeDetail.unitId.trim() != ''">
AND a.UNIT_ID = #{tIncomeDetail.unitId}
</if>
<if test="tIncomeDetail.unitName != null and tIncomeDetail.unitName.trim() != ''">
AND a.UNIT_NAME = #{tIncomeDetail.unitName}
</if>
<if test="tIncomeDetail.unitNo != null and tIncomeDetail.unitNo.trim() != ''">
AND a.UNIT_NO = #{tIncomeDetail.unitNo}
</if>
<if test="tIncomeDetail.deptId != null and tIncomeDetail.deptId.trim() != ''">
AND a.DEPT_ID = #{tIncomeDetail.deptId}
</if>
<if test="tIncomeDetail.deptName != null and tIncomeDetail.deptName.trim() != ''">
AND a.DEPT_NAME = #{tIncomeDetail.deptName}
</if>
<if test="tIncomeDetail.deptNo != null and tIncomeDetail.deptNo.trim() != ''">
AND a.DEPT_NO = #{tIncomeDetail.deptNo}
</if>
<if test="tIncomeDetail.feeType != null and tIncomeDetail.feeType.trim() != ''">
AND a.FEE_TYPE = #{tIncomeDetail.feeType}
</if>
<if test="tIncomeDetail.feeMode != null and tIncomeDetail.feeMode.trim() != ''">
AND a.FEE_MODE = #{tIncomeDetail.feeMode}
</if>
<if test="tIncomeDetail.charges != null and tIncomeDetail.charges.trim() != ''">
AND a.CHARGES = #{tIncomeDetail.charges}
</if>
<if test="tIncomeDetail.sourceType != null and tIncomeDetail.sourceType.trim() != ''">
AND a.SOURCE_TYPE = #{tIncomeDetail.sourceType}
</if>
<if test="tIncomeDetail.money != null">
AND a.MONEY = #{tIncomeDetail.money}
</if>
<if test="tIncomeDetail.createMonth != null and tIncomeDetail.createMonth.trim() != ''">
AND a.CREATE_MONTH = #{tIncomeDetail.createMonth}
</if>
<if test="tIncomeDetail.payMonth != null and tIncomeDetail.payMonth.trim() != ''">
AND a.PAY_MONTH = #{tIncomeDetail.payMonth}
</if>
<if test="tIncomeDetail.createTime != null">
AND a.CREATE_TIME = #{tIncomeDetail.createTime}
</if>
<if test="tIncomeDetail.dataCreateMonth != null and tIncomeDetail.dataCreateMonth.trim() != ''">
AND a.DATA_CREATE_MONTH = #{tIncomeDetail.dataCreateMonth}
</if>
<if test="tIncomeDetail.sourceId != null and tIncomeDetail.sourceId.trim() != ''">
AND a.SOURCE_ID = #{tIncomeDetail.sourceId}
</if>
</if>
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.TIncomeMapper">
<resultMap id="tIncomeMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.TIncome">
<id property="id" column="ID"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="unitId" column="UNIT_ID"/>
<result property="unitName" column="UNIT_NAME"/>
<result property="unitNo" column="UNIT_NO"/>
<result property="deptId" column="DEPT_ID"/>
<result property="deptName" column="DEPT_NAME"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="feeType" column="FEE_TYPE"/>
<result property="feeMode" column="FEE_MODE"/>
<result property="charges" column="CHARGES"/>
<result property="sourceType" column="SOURCE_TYPE"/>
<result property="money" column="MONEY"/>
<result property="createMonth" column="CREATE_MONTH"/>
<result property="payMonth" column="PAY_MONTH"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="dataCreateMonth" column="DATA_CREATE_MONTH"/>
<result property="pushStatus" column="PUSH_STATUS"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.EMP_NAME,
a.EMP_IDCARD,
a.UNIT_ID,
a.UNIT_NAME,
a.UNIT_NO,
a.DEPT_ID,
a.DEPT_NAME,
a.DEPT_NO,
a.FEE_TYPE,
a.FEE_MODE,
a.CHARGES,
a.SOURCE_TYPE,
a.MONEY,
a.CREATE_MONTH,
a.PAY_MONTH,
a.CREATE_TIME,
a.DATA_CREATE_MONTH,
a.PUSH_STATUS
</sql>
<sql id="tIncome_where">
<if test="tIncome != null">
<if test="tIncome.id != null and tIncome.id.trim() != ''">
AND a.ID = #{tIncome.id}
</if>
<if test="tIncome.empName != null and tIncome.empName.trim() != ''">
AND a.EMP_NAME = #{tIncome.empName}
</if>
<if test="tIncome.empIdcard != null and tIncome.empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{tIncome.empIdcard}
</if>
<if test="tIncome.unitId != null and tIncome.unitId.trim() != ''">
AND a.UNIT_ID = #{tIncome.unitId}
</if>
<if test="tIncome.unitName != null and tIncome.unitName.trim() != ''">
AND a.UNIT_NAME = #{tIncome.unitName}
</if>
<if test="tIncome.unitNo != null and tIncome.unitNo.trim() != ''">
AND a.UNIT_NO = #{tIncome.unitNo}
</if>
<if test="tIncome.deptId != null and tIncome.deptId.trim() != ''">
AND a.DEPT_ID = #{tIncome.deptId}
</if>
<if test="tIncome.deptName != null and tIncome.deptName.trim() != ''">
AND a.DEPT_NAME = #{tIncome.deptName}
</if>
<if test="tIncome.deptNo != null and tIncome.deptNo.trim() != ''">
AND a.DEPT_NO = #{tIncome.deptNo}
</if>
<if test="tIncome.feeType != null and tIncome.feeType.trim() != ''">
AND a.FEE_TYPE = #{tIncome.feeType}
</if>
<if test="tIncome.feeMode != null and tIncome.feeMode.trim() != ''">
AND a.FEE_MODE = #{tIncome.feeMode}
</if>
<if test="tIncome.charges != null and tIncome.charges.trim() != ''">
AND a.CHARGES = #{tIncome.charges}
</if>
<if test="tIncome.sourceType != null and tIncome.sourceType.trim() != ''">
AND a.SOURCE_TYPE = #{tIncome.sourceType}
</if>
<if test="tIncome.money != null">
AND a.MONEY = #{tIncome.money}
</if>
<if test="tIncome.createMonth != null and tIncome.createMonth.trim() != ''">
AND a.CREATE_MONTH = #{tIncome.createMonth}
</if>
<if test="tIncome.payMonth != null and tIncome.payMonth.trim() != ''">
AND a.PAY_MONTH = #{tIncome.payMonth}
</if>
<if test="tIncome.createTime != null">
AND a.CREATE_TIME = #{tIncome.createTime}
</if>
<if test="tIncome.dataCreateMonth != null and tIncome.dataCreateMonth.trim() != ''">
AND a.DATA_CREATE_MONTH = #{tIncome.dataCreateMonth}
</if>
<if test="tIncome.pushStatus != null and tIncome.pushStatus.trim() != ''">
AND a.PUSH_STATUS = #{tIncome.pushStatus}
</if>
</if>
</sql>
<!--tIncome简单分页查询-->
<select id="getTIncomePage" resultMap="tIncomeMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_income a
<where>
1=1
<include refid="tIncome_where"/>
</where>
</select>
</mapper>
......@@ -1103,4 +1103,15 @@
and (SOCIAL_CREATE_MONTH >= #{infoVo.socialCreateMonth} or PROVIDENT_CREATE_MONTH >= #{infoVo.socialCreateMonth})
</update>
<!-- 更改社保推送结算状态 -->
<update id="updatePushStatus">
update t_payment_info
set PUSH_STATUS = 0
where
ID in
<foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment