Merge remote-tracking branch 'origin/feature/公式短路' into custom/昂立
This commit is contained in:
commit
7abee72547
|
|
@ -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;
|
||||
/
|
||||
|
||||
|
|
@ -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;
|
||||
/
|
||||
|
||||
|
|
@ -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;
|
||||
/
|
||||
|
||||
|
|
@ -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
|
||||
/
|
||||
|
|
@ -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;
|
||||
/
|
||||
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ public class SalaryItemAdjustRecordQueryParam extends BaseQueryParam {
|
|||
|
||||
//薪资档案id
|
||||
private Long salaryArchiveId;
|
||||
private List<Long> salaryArchiveIds;
|
||||
|
||||
//关键字(姓名、部门、薪资项目名称)
|
||||
private String keyword;
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ public class SalaryArchivePO {
|
|||
|
||||
//---------条件-------
|
||||
private Collection<Long> ids;
|
||||
private Collection<Long> taxAgentIds;
|
||||
private Collection<Long> employeeIds;
|
||||
/**
|
||||
* 状态
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class QlExpress {
|
|||
|
||||
static {
|
||||
runner = new ExpressRunner(true, false);
|
||||
runner.setShortCircuit(true);
|
||||
}
|
||||
|
||||
private static boolean isInitialRunner = false;
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ public class EqOperator extends OperatorEqualsLessMore {
|
|||
}
|
||||
}
|
||||
// buildFilterParam(result,op1,op2);
|
||||
return result;
|
||||
return result.getContent();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -100,6 +100,8 @@ public interface SalarySobService {
|
|||
*/
|
||||
Long save(SalarySobBasicSaveParam saveParam);
|
||||
|
||||
void saveDefaultEmployeeRange(SalarySobPO salarySobPO);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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表中
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue