Merge remote-tracking branch 'origin/feature/公式短路' into custom/昂立

This commit is contained in:
Harryxzy 2023-10-18 17:17:12 +08:00
commit 7abee72547
29 changed files with 604 additions and 168 deletions

View File

@ -0,0 +1,22 @@
update hrsa_sys_salary_item set code = 'addUpHousingLoanInterest' where id = 674853617092214800;
/
update hrsa_salary_item set code = 'addUpHousingLoanInterest' where sys_salary_item_id = 674853617092214800;
/
update hrsa_salary_sob_back_item set salary_item_code = 'addUpHousingLoanInterest' where salary_item_code = 'addUpHousingLoannumbererest';
/
update hrsa_formula set formulaRunScript = 'addUpSituation_addUpHousingLoanInterest' where id = 1651739100651;
/
update hrsa_formula set
formulaRunScript='salaryItem_addUpChildEducation+salaryItem_addUpHousingLoanInterest+salaryItem_addUpHousingRent+salaryItem_addUpContinuingEducation+salaryItem_addUpSupportElderly' where id = 1651739411365;
/
update hrsa_formula_var set field_id= 'addUpSituation_addUpHousingLoanInterest' where id = 1651739101122;
/
update hrsa_formula_var set field_id= 'salaryItem_addUpHousingLoanInterest' where id = 1651739411637;
/

View File

@ -0,0 +1,22 @@
update hrsa_sys_salary_item set code = 'addUpHousingLoanInterest' where id = 674853617092214800;
/
update hrsa_salary_item set code = 'addUpHousingLoanInterest' where sys_salary_item_id = 674853617092214800;
/
update hrsa_salary_sob_back_item set salary_item_code = 'addUpHousingLoanInterest' where salary_item_code = 'addUpHousingLoannumbererest';
/
update hrsa_formula set formulaRunScript = 'addUpSituation_addUpHousingLoanInterest' where id = 1651739100651;
/
update hrsa_formula set
formulaRunScript='salaryItem_addUpChildEducation+salaryItem_addUpHousingLoanInterest+salaryItem_addUpHousingRent+salaryItem_addUpContinuingEducation+salaryItem_addUpSupportElderly' where id = 1651739411365;
/
update hrsa_formula_var set field_id= 'addUpSituation_addUpHousingLoanInterest' where id = 1651739101122;
/
update hrsa_formula_var set field_id= 'salaryItem_addUpHousingLoanInterest' where id = 1651739411637;
/

View File

@ -0,0 +1,22 @@
update hrsa_sys_salary_item set code = 'addUpHousingLoanInterest' where id = 674853617092214800;
/
update hrsa_salary_item set code = 'addUpHousingLoanInterest' where sys_salary_item_id = 674853617092214800;
/
update hrsa_salary_sob_back_item set salary_item_code = 'addUpHousingLoanInterest' where salary_item_code = 'addUpHousingLoannumbererest';
/
update hrsa_formula set formulaRunScript = 'addUpSituation_addUpHousingLoanInterest' where id = 1651739100651;
/
update hrsa_formula set
formulaRunScript='salaryItem_addUpChildEducation+salaryItem_addUpHousingLoanInterest+salaryItem_addUpHousingRent+salaryItem_addUpContinuingEducation+salaryItem_addUpSupportElderly' where id = 1651739411365;
/
update hrsa_formula_var set field_id= 'addUpSituation_addUpHousingLoanInterest' where id = 1651739101122;
/
update hrsa_formula_var set field_id= 'salaryItem_addUpHousingLoanInterest' where id = 1651739411637;
/

View File

@ -0,0 +1,21 @@
update hrsa_sys_salary_item set code = 'addUpHousingLoanInterest' where id = 674853617092214800
/
update hrsa_salary_item set code = 'addUpHousingLoanInterest' where sys_salary_item_id = 674853617092214800
/
update hrsa_salary_sob_back_item set salary_item_code = 'addUpHousingLoanInterest' where salary_item_code = 'addUpHousingLoannumbererest'
/
update hrsa_formula set formulaRunScript = 'addUpSituation_addUpHousingLoanInterest' where id = 1651739100651
/
update hrsa_formula set
formulaRunScript='salaryItem_addUpChildEducation+salaryItem_addUpHousingLoanInterest+salaryItem_addUpHousingRent+salaryItem_addUpContinuingEducation+salaryItem_addUpSupportElderly' where id = 1651739411365
/
update hrsa_formula_var set field_id= 'addUpSituation_addUpHousingLoanInterest' where id = 1651739101122
/
update hrsa_formula_var set field_id= 'salaryItem_addUpHousingLoanInterest' where id = 1651739411637
/

View File

@ -0,0 +1,22 @@
update hrsa_sys_salary_item set code = 'addUpHousingLoanInterest' where id = 674853617092214800;
/
update hrsa_salary_item set code = 'addUpHousingLoanInterest' where sys_salary_item_id = 674853617092214800;
/
update hrsa_salary_sob_back_item set salary_item_code = 'addUpHousingLoanInterest' where salary_item_code = 'addUpHousingLoannumbererest';
/
update hrsa_formula set formulaRunScript = 'addUpSituation_addUpHousingLoanInterest' where id = 1651739100651;
/
update hrsa_formula set
formulaRunScript='salaryItem_addUpChildEducation+salaryItem_addUpHousingLoanInterest+salaryItem_addUpHousingRent+salaryItem_addUpContinuingEducation+salaryItem_addUpSupportElderly' where id = 1651739411365;
/
update hrsa_formula_var set field_id= 'addUpSituation_addUpHousingLoanInterest' where id = 1651739101122;
/
update hrsa_formula_var set field_id= 'salaryItem_addUpHousingLoanInterest' where id = 1651739411637;
/

View File

@ -140,7 +140,20 @@ public class SalaryArchiveItemBiz {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try {
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
return encryptUtil.decryptList(mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds), SalaryItemAdjustRecordListDTO.class);
List<Long> salaryArchiveIds = queryParam.getSalaryArchiveIds();
if (CollectionUtils.isEmpty(salaryArchiveIds)) {
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
return encryptUtil.decryptList(salaryItemAdjustRecordListDTOS, SalaryItemAdjustRecordListDTO.class);
} else {
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = new ArrayList<>();
List<List<Long>> salaryArchiveIdsPartition = Lists.partition(salaryArchiveIds, 500);
salaryArchiveIdsPartition.forEach(l -> {
queryParam.setSalaryArchiveIds(l);
salaryItemAdjustRecordListDTOS.addAll(mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds));
});
return encryptUtil.decryptList(salaryItemAdjustRecordListDTOS, SalaryItemAdjustRecordListDTO.class);
}
} finally {
sqlSession.close();
}
@ -161,12 +174,28 @@ public class SalaryArchiveItemBiz {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try {
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
PageInfo<SalaryItemAdjustRecordListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
salaryItemAdjustRecordListDTOS,
SalaryItemAdjustRecordListDTO.class);
encryptUtil.decryptList(page.getList(), SalaryItemAdjustRecordListDTO.class);
return page;
List<Long> salaryArchiveIds = queryParam.getSalaryArchiveIds();
if (CollectionUtils.isEmpty(salaryArchiveIds)) {
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
PageInfo<SalaryItemAdjustRecordListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
salaryItemAdjustRecordListDTOS,
SalaryItemAdjustRecordListDTO.class);
encryptUtil.decryptList(page.getList(), SalaryItemAdjustRecordListDTO.class);
return page;
} else {
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = new ArrayList<>();
List<List<Long>> salaryArchiveIdsPartition = Lists.partition(salaryArchiveIds, 500);
salaryArchiveIdsPartition.forEach(l -> {
queryParam.setSalaryArchiveIds(l);
salaryItemAdjustRecordListDTOS.addAll(mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds));
});
PageInfo<SalaryItemAdjustRecordListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
salaryItemAdjustRecordListDTOS,
SalaryItemAdjustRecordListDTO.class);
encryptUtil.decryptList(page.getList(), SalaryItemAdjustRecordListDTO.class);
return page;
}
} finally {
sqlSession.close();
}

View File

@ -30,6 +30,7 @@ public class SalaryItemAdjustRecordQueryParam extends BaseQueryParam {
//薪资档案id
private Long salaryArchiveId;
private List<Long> salaryArchiveIds;
//关键字姓名部门薪资项目名称
private String keyword;

View File

@ -114,6 +114,7 @@ public class SalaryArchivePO {
//---------条件-------
private Collection<Long> ids;
private Collection<Long> taxAgentIds;
private Collection<Long> employeeIds;
/**
* 状态

View File

@ -7,7 +7,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Collection;
import java.util.List;
@Getter
@ -21,7 +21,7 @@ public class InsuranceAcctDetailImportTemplateParam {
* 薪资项目id薪资项目包含了福利项
*/
@DataCheck(require = true,message = "福利核算项目name不能为空")
private Collection<String> welfareNames;
private List<String> welfareNames;
private String billMonth;

View File

@ -1,5 +1,6 @@
package com.engine.salary.enums.salaryarchive;
import com.engine.salary.enums.BaseEnum;
import com.engine.salary.util.SalaryI18nUtil;
import java.util.*;
@ -13,7 +14,7 @@ import java.util.stream.Collectors;
* @author qiantao
* @version 1.0
**/
public enum SalaryArchiveItemAdjustReasonEnum {
public enum SalaryArchiveItemAdjustReasonEnum implements BaseEnum<String> {
ONBOARD("ONBOARD", "入职", 85901),
PROBATION_REVIEW("PROBATION_REVIEW", "转正", 85984),
@ -43,7 +44,7 @@ public enum SalaryArchiveItemAdjustReasonEnum {
return defaultLabel;
}
public int getLabelId() {
public Integer getLabelId() {
return labelId;
}

View File

@ -36,6 +36,7 @@ public class QlExpress {
static {
runner = new ExpressRunner(true, false);
runner.setShortCircuit(true);
}
private static boolean isInitialRunner = false;

View File

@ -154,7 +154,7 @@ public class EqOperator extends OperatorEqualsLessMore {
}
}
// buildFilterParam(result,op1,op2);
return result;
return result.getContent();
}
/**

View File

@ -89,7 +89,7 @@ public class GreaterEqOperator extends OperatorEqualsLessMore {
result.setContent(false);
}
// Compareutils.buildLessMoreFilterParam(result,this.name,op1,op2);
return result;
return result.getContent();
}
public GreaterEqOperator(String aAliasName, String aName, String aErrorInfo) {

View File

@ -92,7 +92,7 @@ public class GreaterOperator extends OperatorEqualsLessMore {
result.setContent(false);
}
// Compareutils.buildLessMoreFilterParam(result, this.name, op1, op2);
return result;
return result.getContent();
}
public GreaterOperator(String aName) {

View File

@ -90,7 +90,7 @@ public class LessEqOperator extends OperatorEqualsLessMore {
result.setContent(false);
}
// Compareutils.buildLessMoreFilterParam(result,this.name,op1,op2);
return result;
return result.getContent();
}
public LessEqOperator(String aName) {

View File

@ -90,7 +90,7 @@ public class LessOperator extends OperatorEqualsLessMore {
result.setContent(false);
}
// Compareutils.buildLessMoreFilterParam(result,this.name,op1,op2);
return result;
return result.getContent();
}
public LessOperator(String aName) {

View File

@ -89,7 +89,7 @@ public class NotEqueOperator extends OperatorEqualsLessMore {
result.setContent(false);
}
// Compareutils.buildNotEqFilterParam(result, op1, op2);
return result;
return result.getContent();
}
public NotEqueOperator(String aName) {

View File

@ -16,82 +16,83 @@ import org.slf4j.LoggerFactory;
public class IfOperator extends OperatorIf {
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
public OperateData executeInner(InstructionSetContext parent, ArraySwap list) throws Exception {
Integer number= IgnoreParamFilter.getSetFuncNumber("IF");
if(list==null ||list.length !=3){
JSONObject errorJson= ErrorUtil.buildError("IF",number,number,"IF函数只允许三个参数");
throw new ExcelRunTimeException("IF函数只允许三个参数");
}
Object obj = list.get(0).getObject(parent);
logger.info("IF参数"+ JSON.toJSONString(obj));
boolean isDataTypeBool=false;
DataType boolDtaType=null;
if(obj!=null && obj instanceof DataType){
boolDtaType=(DataType)obj;
if(boolDtaType.getContent() !=null && ( boolDtaType.getContent() instanceof Boolean )){
isDataTypeBool=true;
obj=boolDtaType.getContent();
}else{
switch (obj+""){
case "true":
obj=true;
isDataTypeBool=true;
break;
case "false":
obj=false;
isDataTypeBool=true;
break;
default:
isDataTypeBool=false;
break;
}
}
}else if(obj instanceof Boolean){
isDataTypeBool=true;
}
if (obj == null) {
JSONObject errorJson=ErrorUtil.buildError("IF",number,number,"IF函数参数不能为空");
throw new RuntimeException(errorJson.getString("msg"));
} else if (!(obj instanceof Boolean) && (! (obj instanceof DataType) )) {
JSONObject errorJson=ErrorUtil.buildError("IF",number,number,"IF函数判断条件必须是真假值");
throw new RuntimeException(errorJson.getString("msg"));
}else if(!isDataTypeBool){
JSONObject errorJson=ErrorUtil.buildError("IF",number,number,"IF函数判断条件必须是真假值");
throw new RuntimeException(errorJson.getString("msg"));
}else {
if (((Boolean)obj).booleanValue() == true){
OperateData operateData=list.get(1);
Object object=operateData.getObject(parent);
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
public OperateData executeInner(InstructionSetContext parent, ArraySwap list) throws Exception {
Integer number = IgnoreParamFilter.getSetFuncNumber("IF");
if (list == null || list.length != 3) {
JSONObject errorJson = ErrorUtil.buildError("IF", number, number, "IF函数只允许三个参数");
throw new ExcelRunTimeException("IF函数只允许三个参数");
}
Object obj = list.get(0).getObject(parent);
logger.info("IF参数" + JSON.toJSONString(obj));
boolean isDataTypeBool = false;
DataType boolDtaType = null;
if (obj != null && obj instanceof DataType) {
boolDtaType = (DataType) obj;
if (boolDtaType.getContent() != null && (boolDtaType.getContent() instanceof Boolean)) {
isDataTypeBool = true;
obj = boolDtaType.getContent();
} else {
switch (obj + "") {
case "true":
obj = true;
isDataTypeBool = true;
break;
case "false":
obj = false;
isDataTypeBool = true;
break;
default:
isDataTypeBool = false;
break;
}
}
} else if (obj instanceof Boolean) {
isDataTypeBool = true;
}
if (obj == null) {
JSONObject errorJson = ErrorUtil.buildError("IF", number, number, "IF函数参数不能为空");
throw new RuntimeException(errorJson.getString("msg"));
} else if (!(obj instanceof Boolean) && (!(obj instanceof DataType))) {
JSONObject errorJson = ErrorUtil.buildError("IF", number, number, "IF函数判断条件必须是真假值");
throw new RuntimeException(errorJson.getString("msg"));
} else if (!isDataTypeBool) {
JSONObject errorJson = ErrorUtil.buildError("IF", number, number, "IF函数判断条件必须是真假值");
throw new RuntimeException(errorJson.getString("msg"));
} else {
if (((Boolean) obj).booleanValue() == true) {
OperateData operateData = list.get(1);
Object object = operateData.getObject(parent);
// if(object instanceof DataType){
// String type= ExcelParamUtil.getParamType(object);
// if(type.equalsIgnoreCase("date")){
// object=ExcelParamUtil.getParamContent(object,"string");
// }
// }
OperateData operateData1=new OperateData(ExcelParamUtil.getParamContent(object,""),operateData.getType(parent));
return operateData1;
}else{
OperateData operateData=list.get(2);
Object object=operateData.getObject(parent);
OperateData operateData1 = new OperateData(ExcelParamUtil.getParamContent(object, ""), operateData.getType(parent));
return operateData1;
} else {
OperateData operateData = list.get(2);
Object object = operateData.getObject(parent);
// if(object instanceof DataType){
// String type=ExcelParamUtil.getParamType(object);
// if(type.equalsIgnoreCase("date")){
// object=ExcelParamUtil.getParamContent(object,"string");
// }
// }
OperateData operateData1=new OperateData(ExcelParamUtil.getParamContent(object,""),operateData.getType(parent));
return operateData1;
}
}
}
OperateData operateData1 = new OperateData(ExcelParamUtil.getParamContent(object, ""), operateData.getType(parent));
return operateData1;
}
}
}
public IfOperator(String aName) {
super(aName);
}
public IfOperator(String aName) {
super(aName);
}
public IfOperator(String aAliasName, String aName, String aErrorInfo) {
super(aAliasName, aName, aErrorInfo);
}
public IfOperator(String aAliasName, String aName, String aErrorInfo) {
super(aAliasName, aName, aErrorInfo);
}
}

View File

@ -4,13 +4,13 @@ import com.engine.salary.formlua.entity.parameter.DataType;
public interface LogicService {
public DataType not(Object... object);
public Boolean not(Object... object);
public DataType isEmpty(Object... objs);
public Boolean isEmpty(Object... objs);
public DataType isTrue(Object... objs);
public Boolean isTrue(Object... objs);
public DataType isFalse(Object... objs);
public Boolean isFalse(Object... objs);
public DataType and(Object... objs);

View File

@ -24,7 +24,7 @@ public class LogicServiceImpl implements LogicService {
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
public DataType not(Object... objects) {
public Boolean not(Object... objects) {
DataType resultdataType = new DataType();
resultdataType.setDataType(DataType.BOOL);
Class[] typeObjects = new Class[]{boolean.class};
@ -32,7 +32,7 @@ public class LogicServiceImpl implements LogicService {
Object object = objects[0];
if (object == null) {
resultdataType.setContent(false);
return resultdataType;
return false;
}
Boolean cnd;
if (object instanceof DataType) {
@ -43,11 +43,11 @@ public class LogicServiceImpl implements LogicService {
}
resultdataType.setContent(!cnd);
return resultdataType;
return (Boolean) resultdataType.getContent();
}
@Override
public DataType isEmpty(Object... objs) {
public Boolean isEmpty(Object... objs) {
int number = IgnoreParamFilter.getSetFuncNumber(FuncNames.ISEMPTY.toString());
if (objs.length != 1) {
throw new RuntimeException("ISEMPTY函数只允许一个参数");
@ -57,7 +57,7 @@ public class LogicServiceImpl implements LogicService {
DataType dataType = new DataType();
dataType.setDataType(DataType.BOOL);
dataType.setContent(true);
return dataType;
return true;
}
for (int i = 0; i < objs.length; i++) {
Object obj = objs[i];
@ -65,7 +65,7 @@ public class LogicServiceImpl implements LogicService {
DataType dataType = new DataType();
dataType.setDataType(DataType.BOOL);
dataType.setContent(true);
return dataType;
return true;
}
if (obj instanceof DataType) {
DataType objDataType = (DataType) obj;
@ -86,11 +86,11 @@ public class LogicServiceImpl implements LogicService {
DataType dataType = new DataType();
dataType.setDataType(DataType.BOOL);
dataType.setContent(result);
return dataType;
return result;
}
@Override
public DataType isTrue(Object... objects) {
public Boolean isTrue(Object... objects) {
int number = IgnoreParamFilter.getSetFuncNumber(FuncNames.TRUE.toString());
if (objects.length > 0) {
throw new RuntimeException("TRUE函数不能有参数");
@ -98,11 +98,11 @@ public class LogicServiceImpl implements LogicService {
DataType dataType = new DataType();
dataType.setDataType(DataType.BOOL);
dataType.setContent(true);
return dataType;
return (Boolean) dataType.getContent();
}
@Override
public DataType isFalse(Object... objects) {
public Boolean isFalse(Object... objects) {
int number = IgnoreParamFilter.getSetFuncNumber(FuncNames.FALSE.toString());
if (objects.length > 0) {
JSONObject errorJson = ErrorUtil.buildError(FuncNames.FALSE.toString(), number, number, "FALSE函数不能有参数");
@ -111,7 +111,7 @@ public class LogicServiceImpl implements LogicService {
DataType dataType = new DataType();
dataType.setDataType(DataType.BOOL);
dataType.setContent(false);
return dataType;
return (Boolean) dataType.getContent();
}
@ -335,7 +335,7 @@ public class LogicServiceImpl implements LogicService {
} else {
value = param;
}
if (Objects.equals(source.toString(),value.toString())) {
if (Objects.equals(source.toString(), value.toString())) {
result = objects[i + 1];
break;
}

View File

@ -563,11 +563,10 @@
<if test="param.salaryArchiveId != null">
AND t1.salary_archive_id = #{param.salaryArchiveId}
</if>
<!-- 部门 -->
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND d.id IN
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
#{id}
<if test="param.salaryArchiveIds != null and param.salaryArchiveIds.size()>0">
AND t1.salary_archive_id IN
<foreach collection="param.salaryArchiveIds" open="(" item="salaryArchiveId" separator="," close=")">
#{salaryArchiveId}
</foreach>
</if>
<!-- 调整原因 -->
@ -637,7 +636,12 @@
<if test="param.salaryArchiveId != null">
AND t1.salary_archive_id = #{param.salaryArchiveId}
</if>
<if test="param.salaryArchiveIds != null and param.salaryArchiveIds.size()>0">
AND t1.salary_archive_id IN
<foreach collection="param.salaryArchiveIds" open="(" item="salaryArchiveId" separator="," close=")">
#{salaryArchiveId}
</foreach>
</if>
<if test="param.adjustReason != null and param.adjustReason != ''">
AND t1.adjust_reason = #{param.adjustReason}
</if>
@ -711,11 +715,10 @@
AND t1.salary_archive_id = #{param.salaryArchiveId}
</if>
<if test="param.departmentIds != null and param.departmentIds.size()>0">
AND d.id IN
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
#{id}
<if test="param.salaryArchiveIds != null and param.salaryArchiveIds.size()>0">
AND t1.salary_archive_id IN
<foreach collection="param.salaryArchiveIds" open="(" item="salaryArchiveId" separator="," close=")">
#{salaryArchiveId}
</foreach>
</if>
@ -737,7 +740,6 @@
#{id}
</foreach>
</if>
ORDER BY t1.effective_time DESC,t1.id DESC
</select>

View File

@ -658,6 +658,12 @@
#{id}
</foreach>
</if>
<if test="param.taxAgentIds != null and param.taxAgentIds.size()>0">
AND t.tax_agent_id IN
<foreach collection="param.taxAgentIds" open="(" item="taxAgentId" separator="," close=")">
#{taxAgentId}
</foreach>
</if>
ORDER BY t.id DESC
</select>

View File

@ -100,6 +100,8 @@ public interface SalarySobService {
*/
Long save(SalarySobBasicSaveParam saveParam);
void saveDefaultEmployeeRange(SalarySobPO salarySobPO);
/**
* 编辑
*

View File

@ -6,6 +6,7 @@ import com.engine.salary.biz.SalaryArchiveBiz;
import com.engine.salary.biz.SalaryArchiveItemBiz;
import com.engine.salary.biz.SalaryItemBiz;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
import com.engine.salary.entity.salaryarchive.param.*;
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
@ -13,11 +14,14 @@ import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveFieldTypeEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.service.SalaryArchiveItemService;
import com.engine.salary.service.SalaryArchiveService;
import com.engine.salary.service.SalaryEmployeeService;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
@ -62,6 +66,13 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
}
private SalaryArchiveService getSalaryArchiveService(User user) {
return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
}
private SalaryEmployeeService getSalaryEmployeeService(User user) {
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
/**
* 获取未生效 lt
*
@ -617,23 +628,60 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
List<SalaryItemPO> salaryItemList = getCanAdjustSalaryItems();
List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
// 获取记录
List<SalaryItemAdjustRecordListDTO> list = salaryArchiveItemMapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
long currentEmployeeId = user.getUID();
//是否开启分权
Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId);
if (needAuth) {
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId);
List<Long> taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList());
if (CollectionUtils.isEmpty(taxAgentIds)) {
// return new PageInfo<SalaryItemAdjustRecordListDTO>();
}
List<SalaryArchivePO> salaryArchives = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentIds(taxAgentIds).build());
List<Long> salaryArchiveIds = SalaryEntityUtil.properties(salaryArchives, SalaryArchivePO::getId, Collectors.toList());
queryParam.setSalaryArchiveIds(salaryArchiveIds);
}
List<DataCollectionEmployee> employeeList = getSalaryEmployeeService(user).listAll(UseEmployeeTypeEnum.ALL);
Map<Long, DataCollectionEmployee> employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId);
List<SalaryItemAdjustRecordListDTO> listResult = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(queryParam, salaryItemIds);
listResult = listResult.stream()
.filter(r -> {
DataCollectionEmployee employee = employeeMap.getOrDefault(r.getEmployeeId(), new DataCollectionEmployee());
String username = queryParam.getUsername();
List<Long> departmentIds = queryParam.getDepartmentIds();
List<Long> positionIds = queryParam.getPositionIds();
String userstatus = queryParam.getUserstatus();
r.setUsername(employee.getUsername());
r.setDepartmentName(employee.getDepartmentName());
r.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())));
r.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(r.getAdjustReason()));
return (StringUtils.isBlank(username) || employee.getUsername().contains(username))
&& (CollectionUtils.isEmpty(departmentIds) || departmentIds.contains(employee.getDepartmentId()))
&& (CollectionUtils.isEmpty(positionIds) || positionIds.contains(employee.getJobtitleId()))
&& (StringUtils.isBlank(userstatus) || Objects.equals(employee.getStatus(), userstatus))
&& (CollectionUtils.isEmpty(positionIds) || positionIds.contains(employee.getJobtitleId()))
;
})
.collect(Collectors.toList());
List<SalaryItemAdjustRecordListDTO> listAll = salaryArchiveItemMapper.salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
// 人员信息赋值
list.forEach(m -> {
listResult.forEach(m -> {
if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
listAll.removeIf(a -> a.getId().equals(m.getId()));
}
Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
m.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(m.getEmployeeStatus())));
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
});
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<List<Object>> rows = new ArrayList<>();
rows.add(headerList);
for (SalaryItemAdjustRecordListDTO dto : list) {
for (SalaryItemAdjustRecordListDTO dto : listResult) {
List<Object> row = new ArrayList<>();
row.add(dto.getUsername());
row.add(dto.getEmployeeStatus());

View File

@ -418,7 +418,7 @@ public class SalarySobServiceImpl extends Service implements SalarySobService {
* @author Harryxzy
* @date 2022/10/9 15:30
*/
private void saveDefaultEmployeeRange(SalarySobPO salarySobPO) {
public void saveDefaultEmployeeRange(SalarySobPO salarySobPO) {
// 获取人员范围列表
TaxAgentRangeQueryParam queryParam = TaxAgentRangeQueryParam.builder().taxAgentId(salarySobPO.getTaxAgentId()).build();
queryParam.setCurrent(1);

View File

@ -0,0 +1,79 @@
package com.engine.salary.timer;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.biz.SalarySobRangeBiz;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.entity.salarysob.po.SalarySobRangePO;
import com.engine.salary.service.SalarySobRangeService;
import com.engine.salary.service.SalarySobService;
import com.engine.salary.service.impl.SalarySobRangeServiceImpl;
import com.engine.salary.service.impl.SalarySobServiceImpl;
import dm.jdbc.util.IdGenerator;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import weaver.general.BaseBean;
import weaver.hrm.User;
import weaver.interfaces.schedule.BaseCronJob;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* 自动同步个税扣缴以为人人员范围至账套人员范围
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Slf4j
public class SyncTaxAgentEmp2SobEmpJob extends BaseCronJob {
private SalarySobService getSalarySobService(User user) {
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
}
private SalarySobRangeService getSalarySobRangeService(User user) {
return ServiceUtil.getService(SalarySobRangeServiceImpl.class, user);
}
private String salarySobIds;
@Override
public void execute() {
User user = new User();
user.setUid(1);
user.setLoginid("sysadmin");
List<SalarySobPO> salarySobPOS;
if (StringUtils.isNotEmpty(salarySobIds)) {
// 只同步指定的账套
List<Long> salarySobIdList = Arrays.asList(StringUtils.split(salarySobIds, ",")).stream().map(Long::valueOf).collect(Collectors.toList());
salarySobPOS = getSalarySobService(user).listByIds(salarySobIdList);
} else {
salarySobPOS = getSalarySobService(user).listAll();
}
BaseBean baseBean = new BaseBean();
SalarySobRangeBiz salarySobRangeBiz = new SalarySobRangeBiz();
for (SalarySobPO po : salarySobPOS) {
List<SalarySobRangePO> salarySobRangePOS = new ArrayList<>();
try {
baseBean.writeLog("开始同步人员范围至账套账套:{}",po.getId());
// 保存前先删除
salarySobRangePOS = salarySobRangeBiz.listSome(SalarySobRangePO.builder().salarySobId(po.getId()).build());
getSalarySobRangeService(user).deleteBySalarySobIds(Collections.singletonList(po.getId()));
getSalarySobService(user).saveDefaultEmployeeRange(po);
} catch (Exception e) {
baseBean.writeLog("同步人员范围至账套账套出错:" + e.getMessage());
salarySobRangePOS.stream().forEach(p -> p.setId(IdGenerator.generate()));
salarySobRangeBiz.batchInsert(salarySobRangePOS);
}
}
}
}

View File

@ -444,22 +444,61 @@ public class SIAccountController {
return new ResponseResult<String,List<InsuranceAcctDetailImportFieldDTO>>(user).run(getSalaryFormulaWrapper(user)::welfareList);
}
// /**
// * 导出福利核算导入模板
// */
// @GET
// @Path("/welfare/importtemplate/export")
// @Produces(MediaType.APPLICATION_OCTET_STREAM)
// public Response exportImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
// try {
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
//
// param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
// param.setBillMonth(request.getParameter("billMonth"));
// String welfareNames = request.getParameter("welfareNames");
// if (StringUtils.isNotBlank(welfareNames)) {
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
// }
//
// User user = HrmUserVarify.getUser(request, response);
// XSSFWorkbook workbook = getService(user).exportImportTemplate(param);
// String time = LocalDate.now().toString();
// String fileName = "福利核算导入模板" + time;
// try {
// fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
// StreamingOutput output = outputStream -> {
// workbook.write(outputStream);
// outputStream.flush();
// };
// response.setContentType("application/octet-stream");
// return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
// } catch (Exception e) {
// log.error("福利核算导入模板导出异常", e);
// throw e;
// }
//
// }
/**
* 导出福利核算导入模板
*/
@GET
@POST
@Path("/welfare/importtemplate/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
public Response exportImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAcctDetailImportTemplateParam param) {
try {
InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
param.setBillMonth(request.getParameter("billMonth"));
String welfareNames = request.getParameter("welfareNames");
if (StringUtils.isNotBlank(welfareNames)) {
param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
}
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
//
// param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
// param.setBillMonth(request.getParameter("billMonth"));
// String welfareNames = request.getParameter("welfareNames");
// if (StringUtils.isNotBlank(welfareNames)) {
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
// }
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getService(user).exportImportTemplate(param);
@ -505,28 +544,73 @@ public class SIAccountController {
return new ResponseResult<InsuranceAcctImportParam, Map<String, Object>>(user).run(getService(user)::preview, insuranceAcctImportParam);
}
// /**
// * 导出福利核算-补缴导入模板
// */
// @GET
// @Path("/welfare/supplyimporttemplate/export")
// @Produces(MediaType.APPLICATION_OCTET_STREAM)
// public Response exportSupplyImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
// try {
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
//
// String welfareNames = request.getParameter("welfareNames");
// String billMonth = request.getParameter("billMonth");
// Long paymentOrganization = Long.valueOf(request.getParameter("paymentOrganization"));
// if (StringUtils.isNotBlank(welfareNames)) {
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
// }
// if (StringUtils.isNotBlank(billMonth)) {
// param.setBillMonth(billMonth);
// }
// if (paymentOrganization > 0) {
// param.setPaymentOrganization(paymentOrganization);
// }
//
// User user = HrmUserVarify.getUser(request, response);
// XSSFWorkbook workbook = getService(user).exportSupplyImportTemplate(param);
// String time = LocalDate.now().toString();
// String fileName = "福利核算-补缴导入模板" + time;
// try {
// fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
// StreamingOutput output = outputStream -> {
// workbook.write(outputStream);
// outputStream.flush();
// };
// response.setContentType("application/octet-stream");
// return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
// } catch (Exception e) {
// log.error("福利核算-补缴导入模板导出异常", e);
// throw e;
// }
//
// }
/**
* 导出福利核算-补缴导入模板
*/
@GET
@POST
@Path("/welfare/supplyimporttemplate/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportSupplyImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
public Response exportSupplyImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAcctDetailImportTemplateParam param) {
try {
InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
String welfareNames = request.getParameter("welfareNames");
String billMonth = request.getParameter("billMonth");
Long paymentOrganization = Long.valueOf(request.getParameter("paymentOrganization"));
if (StringUtils.isNotBlank(welfareNames)) {
param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
}
if (StringUtils.isNotBlank(billMonth)) {
param.setBillMonth(billMonth);
}
if (paymentOrganization > 0) {
param.setPaymentOrganization(paymentOrganization);
}
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
//
// String welfareNames = request.getParameter("welfareNames");
// String billMonth = request.getParameter("billMonth");
// Long paymentOrganization = Long.valueOf(request.getParameter("paymentOrganization"));
// if (StringUtils.isNotBlank(welfareNames)) {
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
// }
// if (StringUtils.isNotBlank(billMonth)) {
// param.setBillMonth(billMonth);
// }
// if (paymentOrganization > 0) {
// param.setPaymentOrganization(paymentOrganization);
// }
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getService(user).exportSupplyImportTemplate(param);
@ -549,7 +633,6 @@ public class SIAccountController {
}
}
// **********************************线下对比 start*********************************/
/**
* 导出福利核算导入模板
@ -862,22 +945,61 @@ public class SIAccountController {
return new ResponseResult<String,List<InsuranceAcctDetailImportFieldDTO>>(user).run(getSalaryFormulaWrapper(user)::balanceWelfareList);
}
// /**
// * 导出福利核算-补差导入模板
// */
// @GET
// @Path("/welfare/balanceimporttemplate/export")
// @Produces(MediaType.APPLICATION_OCTET_STREAM)
// public Response exportBalanceImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
// try {
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
//
// param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
// param.setBillMonth(request.getParameter("billMonth"));
// String welfareNames = request.getParameter("welfareNames");
// if (StringUtils.isNotBlank(welfareNames)) {
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
// }
//
// User user = HrmUserVarify.getUser(request, response);
// XSSFWorkbook workbook = getService(user).exportBalanceImportTemplate(param);
// String time = LocalDate.now().toString();
// String fileName = "福利台账-补差导入模板" + time;
// try {
// fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
// StreamingOutput output = outputStream -> {
// workbook.write(outputStream);
// outputStream.flush();
// };
// response.setContentType("application/octet-stream");
// return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
// } catch (Exception e) {
// log.error("福利台账-补差导入模板导出异常", e);
// throw e;
// }
//
// }
/**
* 导出福利核算-补差导入模板
*/
@GET
@POST
@Path("/welfare/balanceimporttemplate/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportBalanceImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
public Response exportBalanceImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAcctDetailImportTemplateParam param) {
try {
InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
param.setBillMonth(request.getParameter("billMonth"));
String welfareNames = request.getParameter("welfareNames");
if (StringUtils.isNotBlank(welfareNames)) {
param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
}
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
//
// param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
// param.setBillMonth(request.getParameter("billMonth"));
// String welfareNames = request.getParameter("welfareNames");
// if (StringUtils.isNotBlank(welfareNames)) {
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
// }
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getService(user).exportBalanceImportTemplate(param);
@ -900,7 +1022,6 @@ public class SIAccountController {
}
}
/**
* 将通过福利台账-补差导入模板导入的数据更新到hrsa_bill_detail表中
*/

View File

@ -56,10 +56,6 @@ public class SIReportController {
@Path("record/list")
@Produces(MediaType.APPLICATION_JSON)
public String recordList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
// if (StringUtils.isEmpty(token)) {
// return WeaResult.success(null, SalrayCheckSecondAuthConstant.CHECK_SECOND_FAIL_NO_TOKEN);
// }
// Long employeeId = UserContext.getCurrentEmployeeId();
User user = HrmUserVarify.getUser(request, response);
SalaryItemAdjustRecordQueryParam salaryItemAdjustRecordQueryParam = new SalaryItemAdjustRecordQueryParam();
salaryItemAdjustRecordQueryParam.setEmployeeId((long)user.getUID());

View File

@ -11,6 +11,7 @@ import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustBeforeParam;
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
import com.engine.salary.entity.salaryarchive.param.SingleSalaryItemAdjustRecordQueryParam;
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.UserStatusEnum;
@ -22,9 +23,12 @@ import com.engine.salary.service.impl.*;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
import com.engine.salary.wrapper.proxy.SalaryArchiveItemWrapperProxy;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.BeanUtils;
import weaver.hrm.User;
@ -229,8 +233,47 @@ public class SalaryArchiveItemWrapper extends Service implements SalaryArchiveIt
Map<Long, DataCollectionEmployee> employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId);
List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
PageInfo<SalaryItemAdjustRecordListDTO> list = getSalaryArchiveItemService(user).salaryItemAdjustRecordListPage(queryParam, salaryItemIds);
List<SalaryItemAdjustRecordListDTO> listResult = list.getList();
long currentEmployeeId = user.getUID();
//是否开启分权
Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId);
if (needAuth) {
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId);
List<Long> taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList());
if (CollectionUtils.isEmpty(taxAgentIds)) {
return new PageInfo<SalaryItemAdjustRecordListDTO>();
}
List<SalaryArchivePO> salaryArchives = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentIds(taxAgentIds).build());
List<Long> salaryArchiveIds = SalaryEntityUtil.properties(salaryArchives, SalaryArchivePO::getId, Collectors.toList());
queryParam.setSalaryArchiveIds(salaryArchiveIds);
}
List<SalaryItemAdjustRecordListDTO> listResult = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(queryParam, salaryItemIds);
listResult = listResult.stream()
.filter(r -> {
DataCollectionEmployee employee = employeeMap.getOrDefault(r.getEmployeeId(), new DataCollectionEmployee());
String username = queryParam.getUsername();
List<Long> departmentIds = queryParam.getDepartmentIds();
List<Long> positionIds = queryParam.getPositionIds();
String userstatus = queryParam.getUserstatus();
r.setUsername(employee.getUsername());
r.setDepartmentName(employee.getDepartmentName());
r.setEmployeeStatus(StringUtils.isNotBlank(employee.getStatus())&& NumberUtils.isCreatable(employee.getStatus())?
UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())):"");
r.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(r.getAdjustReason()));
return (StringUtils.isBlank(username) || employee.getUsername().contains(username))
&& (CollectionUtils.isEmpty(departmentIds) || departmentIds.contains(employee.getDepartmentId()))
&& (CollectionUtils.isEmpty(positionIds) || positionIds.contains(employee.getJobtitleId()))
&& (StringUtils.isBlank(userstatus) || Objects.equals(employee.getStatus(), userstatus))
&& (CollectionUtils.isEmpty(positionIds) || positionIds.contains(employee.getJobtitleId()))
;
})
.collect(Collectors.toList());
PageInfo<SalaryItemAdjustRecordListDTO> pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), listResult, SalaryItemAdjustRecordListDTO.class);
listResult = pageInfo.getList();
//获取上次更改的记录
listResult.forEach(m -> {
if (!CollectionUtils.isEmpty(listAll)) {
@ -238,19 +281,14 @@ public class SalaryArchiveItemWrapper extends Service implements SalaryArchiveIt
}
Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
DataCollectionEmployee employee = employeeMap.getOrDefault(m.getEmployeeId(), new DataCollectionEmployee());
m.setUsername(employee.getUsername());
m.setDepartmentName(employee.getDepartmentName());
m.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())));
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
});
return list;
return pageInfo;
}
/**
* 我的调薪记录
*
* @param queryParam
* @return
*/
@ -274,7 +312,8 @@ public class SalaryArchiveItemWrapper extends Service implements SalaryArchiveIt
m.setUsername(employee.getUsername());
m.setDepartmentName(employee.getDepartmentName());
m.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())));
m.setEmployeeStatus(StringUtils.isNotBlank(employee.getStatus())&& NumberUtils.isCreatable(employee.getStatus())?
UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())):"");
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
});