Commit 84dc70bb authored by fangxinjiang's avatar fangxinjiang

专项扣除

parent 226f6f3f
...@@ -175,7 +175,7 @@ emp.dispatch.fund.start.is.error=\u6D3E\u589E\u5F02\u5E38\uFF1A \u516C\u79EF\u91 ...@@ -175,7 +175,7 @@ emp.dispatch.fund.start.is.error=\u6D3E\u589E\u5F02\u5E38\uFF1A \u516C\u79EF\u91
emp.dispatch.emp.contract.not.empty=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5408\u540C\u76F8\u5173\u4FE1\u606F\u4E0D\u53EF\u4E3A\u7A7A emp.dispatch.emp.contract.not.empty=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5408\u540C\u76F8\u5173\u4FE1\u606F\u4E0D\u53EF\u4E3A\u7A7A
emp.dispatch.emp.not.empty=\u6D3E\u589E\u5F02\u5E38\uFF1A \u7CFB\u7EDF\u65E0\u5BF9\u5E94\u9879\u76EE\u6863\u6848\uFF0C\u6863\u6848\u76F8\u5173\u540C\u8272\u5B57\u6BB5\u5FC5\u586B emp.dispatch.emp.not.empty=\u6D3E\u589E\u5F02\u5E38\uFF1A \u7CFB\u7EDF\u65E0\u5BF9\u5E94\u9879\u76EE\u6863\u6848\uFF0C\u6863\u6848\u76F8\u5173\u540C\u5B57\u6BB5\u5FC5\u586B
emp.dispatch.settleDomain.stop=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5BF9\u5E94\u9879\u76EE\u7F16\u7801\u5DF2\u505C\u6B62\u5408\u4F5C emp.dispatch.settleDomain.stop=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5BF9\u5E94\u9879\u76EE\u7F16\u7801\u5DF2\u505C\u6B62\u5408\u4F5C
......
...@@ -19,5 +19,17 @@ ...@@ -19,5 +19,17 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId> <artifactId>spring-boot</artifactId>
</dependency> </dependency>
</dependencies> <dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project> </project>
package com.yifu.cloud.plus.v1.yifu.ekp.util; package com.yifu.cloud.plus.v1.yifu.ekp.util;
import com.yifu.cloud.plus.v1.yifu.ekp.config.EkpSalaryProperties; import com.yifu.cloud.plus.v1.yifu.ekp.config.EkpSalaryProperties;
import com.yifu.cloud.plus.v1.yifu.ekp.constant.EkpConstants;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParam;
import io.micrometer.core.instrument.util.StringUtils;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.codehaus.jackson.map.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties; 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;
import cn.hutool.json.JSONObject;
/** /**
* @Author fxj * @Author fxj
...@@ -17,4 +26,48 @@ public class EkpSalaryUtil { ...@@ -17,4 +26,48 @@ public class EkpSalaryUtil {
@Autowired @Autowired
private EkpSalaryProperties ekpProperties; private EkpSalaryProperties ekpProperties;
public String sendToEKP(EkpSalaryParam 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.constant;
/**
* @Author fxj
* @Date 2022/8/22
* @Description
* @Version 1.0
*/
public interface EkpConstants {
/**
* 推送成功
*/
String SEND_SUCCESS = "推送成功";
/**
* 推送失败
*/
String SEND_FAILED = "推送失败";
}
package com.yifu.cloud.plus.v1.yifu.ekp.vo;
import lombok.Data;
/**
* @Author fxj
* @Date 2022/8/22
* @Description 薪资明细对应参数
* @Version 1.0
*/
@Data
public class EkpSalaryParam {
}
...@@ -12,6 +12,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.entity.TSpecialDeducationSum; ...@@ -12,6 +12,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.entity.TSpecialDeducationSum;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSpecialDeducationSumMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSpecialDeducationSumMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSpecialDeducationSumService; import com.yifu.cloud.plus.v1.yifu.salary.service.TSpecialDeducationSumService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -99,12 +100,11 @@ public class TSpecialDeducationSumServiceImpl extends ServiceImpl<TSpecialDeduca ...@@ -99,12 +100,11 @@ public class TSpecialDeducationSumServiceImpl extends ServiceImpl<TSpecialDeduca
} }
/** /**
* @param sdsList * @Author fxj
* @Description: 保存专项 * @Description 保存专项
* @Author: hgw * @Date 10:05 2022/8/23
* @Date: 2019/10/14 14:48 **/
* @return: com.yifu.cloud.v1.common.core.util.R @Transactional
**/
@Override @Override
public R<List<ErrorMessage>> uploadSds(List<TSpecialDeducationSum> sdsList) { public R<List<ErrorMessage>> uploadSds(List<TSpecialDeducationSum> sdsList) {
if (Common.isNotNull(sdsList)) { if (Common.isNotNull(sdsList)) {
...@@ -149,7 +149,7 @@ public class TSpecialDeducationSumServiceImpl extends ServiceImpl<TSpecialDeduca ...@@ -149,7 +149,7 @@ public class TSpecialDeducationSumServiceImpl extends ServiceImpl<TSpecialDeduca
s.setCreateBy(String.valueOf(user.getId())); s.setCreateBy(String.valueOf(user.getId()));
} }
if (this.saveBatch(sdsList)){ if (this.saveBatch(sdsList)){
return R.failed(CommonConstants.SAVE_SUCCESS); return R.ok(null,CommonConstants.SAVE_SUCCESS);
}else { }else {
return R.failed(CommonConstants.SAVE_FAILED); return R.failed(CommonConstants.SAVE_FAILED);
} }
...@@ -163,7 +163,7 @@ public class TSpecialDeducationSumServiceImpl extends ServiceImpl<TSpecialDeduca ...@@ -163,7 +163,7 @@ public class TSpecialDeducationSumServiceImpl extends ServiceImpl<TSpecialDeduca
int i =0; int i =0;
for (TSpecialDeducationSum data: sdsList) { for (TSpecialDeducationSum data: sdsList) {
i++; i++;
errorMessage = util1.checkEntity(data, -1); errorMessage = util1.checkEntity(data, i);
if (Common.isNotNull(errorMessage)) { if (Common.isNotNull(errorMessage)) {
errorMessages.add(errorMessage); errorMessages.add(errorMessage);
}else { }else {
......
...@@ -54,7 +54,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable { ...@@ -54,7 +54,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
* 身份证号 * 身份证号
*/ */
@Length(max = 20, message = "身份证号 不能超过20 个字符" ) @Length(max = 20, message = "身份证号 不能超过20 个字符" )
@ExcelAttribute(name = "身份证号", maxLength = 20) @ExcelAttribute(name = "身份证号", maxLength = 20, isNotEmpty = true)
@Schema(description = "身份证号" ) @Schema(description = "身份证号" )
@ExcelProperty("身份证号" ) @ExcelProperty("身份证号" )
private String empIdcard; private String empIdcard;
...@@ -148,7 +148,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable { ...@@ -148,7 +148,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
* 就职岗位 * 就职岗位
*/ */
@Length(max = 30, message = "岗位 不能超过30 个字符" ) @Length(max = 30, message = "岗位 不能超过30 个字符" )
@ExcelAttribute(name = "岗位", maxLength = 30, isNotEmpty = true) @ExcelAttribute(name = "岗位", maxLength = 30)
@Schema(description = "岗位" ) @Schema(description = "岗位" )
@ExcelProperty("岗位" ) @ExcelProperty("岗位" )
private String post; private String post;
...@@ -166,7 +166,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable { ...@@ -166,7 +166,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
* 工时制:1标准工时 2 综合工时 3不定时工时制 * 工时制:1标准工时 2 综合工时 3不定时工时制
*/ */
@Length(max = 1, message = "工时制 不能超过50 个字符" ) @Length(max = 1, message = "工时制 不能超过50 个字符" )
@ExcelAttribute(name = "工时制", maxLength = 50, isDataId = true,dataType = ExcelAttributeConstants.WORKING_HOURS, isNotEmpty = true) @ExcelAttribute(name = "工时制", maxLength = 50, isDataId = true,dataType = ExcelAttributeConstants.WORKING_HOURS)
@Schema(description = "工时制:1标准工时 2 综合工时 3不定时工时制" ) @Schema(description = "工时制:1标准工时 2 综合工时 3不定时工时制" )
@ExcelProperty("工时制" ) @ExcelProperty("工时制" )
private String workingHours; private String workingHours;
...@@ -174,7 +174,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable { ...@@ -174,7 +174,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
* 民族 * 民族
*/ */
@Length(max = 32, message = "民族 不能超过32 个字符" ) @Length(max = 32, message = "民族 不能超过32 个字符" )
@ExcelAttribute(name = "民族", maxLength = 32, isDataId = true,dataType = ExcelAttributeConstants.EMP_NATIONAL, isNotEmpty = true) @ExcelAttribute(name = "民族", maxLength = 32, isDataId = true,dataType = ExcelAttributeConstants.EMP_NATIONAL)
@Schema(description = "民族" ) @Schema(description = "民族" )
@ExcelProperty("民族" ) @ExcelProperty("民族" )
private String empNational; private String empNational;
...@@ -239,7 +239,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable { ...@@ -239,7 +239,7 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
/** /**
* 学历名称 * 学历名称
*/ */
@ExcelAttribute(name = "学历") @ExcelAttribute(name = "学历",isNotEmpty = true)
@NotNull(message = "学历不可为空") @NotNull(message = "学历不可为空")
@Schema(description = "学历:派增只做记录" ) @Schema(description = "学历:派增只做记录" )
@ExcelProperty(value ="学历") @ExcelProperty(value ="学历")
......
...@@ -1930,11 +1930,15 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -1930,11 +1930,15 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if (Common.isEmpty(empVo)){ if (Common.isEmpty(empVo)){
if (Common.isEmpty(excel.getFileProvince()) if (Common.isEmpty(excel.getFileProvince())
|| Common.isEmpty(excel.getFileCity()) || Common.isEmpty(excel.getFileCity())
|| Common.isEmpty(excel.getIdCardProvince())
|| Common.isEmpty(excel.getIdCardCity())
|| Common.isEmpty(excel.getWorkingHours()) || Common.isEmpty(excel.getWorkingHours())
|| Common.isEmpty(excel.getEmpNational()) || Common.isEmpty(excel.getEmpNational())
|| Common.isEmpty(excel.getEmpMobile()) || Common.isEmpty(excel.getEmpMobile())
|| Common.isEmpty(excel.getEmpType()) || Common.isEmpty(excel.getEmpType())
|| Common.isEmpty(excel.getPost())){ || Common.isEmpty(excel.getPost())
|| Common.isEmpty(excel.getEducationName())
|| Common.isEmpty(excel.getContractName())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_EMP_NOT_EMPTY))); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_EMP_NOT_EMPTY)));
return true; return true;
} }
...@@ -1958,6 +1962,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -1958,6 +1962,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
return true; return true;
} }
} }
Date contractDateTemp = excel.getContractStart();
/*项目档案有可用状态的合同: /*项目档案有可用状态的合同:
不对合同做判断,取值:项目档案的合同; 不对合同做判断,取值:项目档案的合同;
项目档案无可用状态的合同: 项目档案无可用状态的合同:
...@@ -2093,7 +2098,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -2093,7 +2098,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
return true; return true;
} }
//校验各项基数 //校验各项基数
if (validSocialBaseInfo(errorMessageList, excel, empVo, socialSet)){ if (validSocialBaseInfo(errorMessageList, excel, empVo, socialSet,contractDateTemp)){
return true; return true;
} }
} }
...@@ -2139,7 +2144,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -2139,7 +2144,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
return false; return false;
} }
private boolean validSocialBaseInfo(List<ErrorMessage> errorMessageList, TDispatchImportVo excel, DispatchEmpVo empVo, SysBaseSetInfo socialSet) { private boolean validSocialBaseInfo(List<ErrorMessage> errorMessageList, TDispatchImportVo excel, DispatchEmpVo empVo, SysBaseSetInfo socialSet, Date contractDateTemp) {
if (Common.isNotNull(socialSet) && CommonConstants.ONE_STRING.equals(excel.getPaymentType()) if (Common.isNotNull(socialSet) && CommonConstants.ONE_STRING.equals(excel.getPaymentType())
&& (Common.isNotNull(excel.getPensionCardinal()) && (Common.isNotNull(excel.getPensionCardinal())
&& (excel.getPensionCardinal().compareTo(socialSet.getUpperLimit()) > CommonConstants.ZERO_INT && (excel.getPensionCardinal().compareTo(socialSet.getUpperLimit()) > CommonConstants.ZERO_INT
...@@ -2183,13 +2188,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -2183,13 +2188,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_BASE_LIMIT_ERROR))); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_BASE_LIMIT_ERROR)));
return true; return true;
} }
flag = (Common.isNotNull(excel.getContractStart()) flag = (Common.isNotNull(contractDateTemp)
&& ((!excel.getContractStart().equals(excel.getPensionStart()) && Common.isNotNull(excel.getPensionStart())) && ((!contractDateTemp.equals(excel.getPensionStart()) && Common.isNotNull(excel.getPensionStart()))
|| (!excel.getContractStart().equals(excel.getMedicalStart()) && Common.isNotNull(excel.getMedicalStart())) || (!contractDateTemp.equals(excel.getMedicalStart()) && Common.isNotNull(excel.getMedicalStart()))
|| (!excel.getContractStart().equals(excel.getUnemployStart()) && Common.isNotNull(excel.getUnemployStart())) || (!contractDateTemp.equals(excel.getUnemployStart()) && Common.isNotNull(excel.getUnemployStart()))
|| (!excel.getContractStart().equals(excel.getBirthStart()) && Common.isNotNull(excel.getBirthStart())) || (!contractDateTemp.equals(excel.getBirthStart()) && Common.isNotNull(excel.getBirthStart()))
|| (!excel.getContractStart().equals(excel.getWorkInjuryStart()) && Common.isNotNull(excel.getWorkInjuryStart())) || (!contractDateTemp.equals(excel.getWorkInjuryStart()) && Common.isNotNull(excel.getWorkInjuryStart()))
|| (!excel.getContractStart().equals(excel.getBigailmentStart()) && Common.isNotNull(excel.getBigailmentStart())))); || (!contractDateTemp.equals(excel.getBigailmentStart()) && Common.isNotNull(excel.getBigailmentStart()))));
if (flag){ if (flag){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_DATE_LIMIT_ERROR2))); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_DATE_LIMIT_ERROR2)));
return true; return true;
......
...@@ -48,6 +48,6 @@ spring: ...@@ -48,6 +48,6 @@ spring:
activate: activate:
on-profile: dev on-profile: dev
redis: redis:
host: 192.168.1.65 host: 127.0.0.1
port: 22379 port: 6379
password: '@yf_2017' password: '@yf_2017'
\ No newline at end of file
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