parent
78f1d02e6d
commit
104213fc04
|
|
@ -82,7 +82,6 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
|
||||
/**
|
||||
* 初始化i18n
|
||||
*
|
||||
*/
|
||||
public static void initI18n() {
|
||||
userNameI18n = SalaryI18nUtil.getI18nLabel(85429, "姓名");
|
||||
|
|
@ -139,10 +138,10 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
String listType = Optional.ofNullable(params.get("listType")).orElse("").toString();
|
||||
String importType = Optional.ofNullable(params.get("importType")).orElse("").toString();
|
||||
if (params == null) {
|
||||
errorMsg = SalaryI18nUtil.getI18nLabel( 100582, "参数必传");
|
||||
errorMsg = SalaryI18nUtil.getI18nLabel(100582, "参数必传");
|
||||
} else if (StringUtils.isEmpty(listType)) {
|
||||
errorMsg = // SalaryI18nUtil.getI18nLabel( 100592, "导入类型必传") + "," +
|
||||
SalaryI18nUtil.getI18nLabel( 109712, "列表类型必传");
|
||||
SalaryI18nUtil.getI18nLabel(109712, "列表类型必传");
|
||||
} else {
|
||||
Optional<SalaryArchiveListTypeEnum> optionalListType = Arrays.stream(SalaryArchiveListTypeEnum.values()).filter(e -> e.getValue().equals(listType)).findFirst();
|
||||
if (optionalListType.isPresent()) {
|
||||
|
|
@ -150,7 +149,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
if (optionalListType.get().getValue().equals(SalaryArchiveListTypeEnum.FIXED.getValue())) {
|
||||
Optional<SalaryArchiveImportTypeEnum> optional = Arrays.stream(SalaryArchiveImportTypeEnum.values()).filter(e -> e.getValue().equals(params.get("importType").toString())).findFirst();
|
||||
if (!optional.isPresent()) {
|
||||
errorMsg = SalaryI18nUtil.getI18nLabel( 100593, "导入类型不正确");
|
||||
errorMsg = SalaryI18nUtil.getI18nLabel(100593, "导入类型不正确");
|
||||
} else {
|
||||
// message.setDataType(message.getDataType()
|
||||
// + "-" + SalaryI18nUtil.getI18nLabel( optionalListType.get().getLabelId(), optionalListType.get().getDefaultLabel())
|
||||
|
|
@ -161,7 +160,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
// + "-" + SalaryI18nUtil.getI18nLabel( optionalListType.get().getLabelId(), optionalListType.get().getDefaultLabel()));
|
||||
}
|
||||
} else {
|
||||
errorMsg = SalaryI18nUtil.getI18nLabel( 109716, "列表类型不正确");
|
||||
errorMsg = SalaryI18nUtil.getI18nLabel(109716, "列表类型不正确");
|
||||
}
|
||||
}
|
||||
return errorMsg;
|
||||
|
|
@ -369,6 +368,11 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
}
|
||||
Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1 && employeeSameIds.get(0) > 0 ? employeeSameIds.get(0) : null;
|
||||
|
||||
//员工id 流程定薪使用
|
||||
String empId = Optional.ofNullable(map.get("员工id")).orElse("").toString();
|
||||
if (StringUtils.isNotBlank(empId)) {
|
||||
employeeId = Long.valueOf(empId);
|
||||
}
|
||||
|
||||
|
||||
// 用于初始化导入数据校验
|
||||
|
|
@ -466,7 +470,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
// 判空
|
||||
if (isEmpty) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + notEmptyI18n);
|
||||
errorMessageMap.put("message", rowindex + header + notEmptyI18n);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, notEmptyI18n, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -475,7 +479,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
if (isNotEmpty && userNameI18n.equals(key.toString())) {
|
||||
if (CollectionUtils.isEmpty(employeeSameIds) || employeeSameIds.size() > 1) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + empRepeatMsg);
|
||||
errorMessageMap.put("message", rowindex + header + empRepeatMsg);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, empRepeatMsg, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -484,7 +488,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
} else if (isNotEmpty && taxAgentI18n.equals(key.toString())) {
|
||||
if (taxAgentId == null) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + taxAgentNoExist);
|
||||
errorMessageMap.put("message", rowindex + header + taxAgentNoExist);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, taxAgentNoExist, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -498,7 +502,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
// } else {
|
||||
// finalSalaryArchive.setIncomeCategory(incomeCategory);
|
||||
// }
|
||||
// 薪资账套
|
||||
// 薪资账套
|
||||
// }
|
||||
// else if (isNotEmpty && salarySobI18n.equals(key.toString())) {
|
||||
// List<String> salarySobNames = Arrays.stream(salarySobCellVal.split(",")).distinct().collect(Collectors.toList());
|
||||
|
|
@ -517,18 +521,18 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
// finalSalaryArchive.setIncomeCategory(incomeCategory);
|
||||
// importHandleParam.getSalaryArchiveSobSaves().addAll(SalaryArchiveBO.buildSalaryArchiveSob(finalSalaryArchive.getId(), salarySobIds, importHandleParam.getNowTime(), importHandleParam.getCurrentEmployeeId(), importHandleParam.getTenantKey()));
|
||||
// }
|
||||
// 3.生效时间处理(定薪的调薪\定薪的初始化)
|
||||
// 3.生效时间处理(定薪的调薪\定薪的初始化)
|
||||
// }
|
||||
else if (isNotEmpty && effectiveTimeI18n.equals(key.toString()) && effectiveTime == null && importHandleParam.isFixedList()) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + effectiveTimeErr);
|
||||
errorMessageMap.put("message", rowindex + header + effectiveTimeErr);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, effectiveTimeErr, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
// 4.调整原因列(定薪的调薪)
|
||||
} else if (isNotEmpty && adjustReasonI18n.equals(key.toString()) && StringUtils.isEmpty(adjustReason) && importHandleParam.isSalaryItemAdjust()) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + adjustReasonNoExist);
|
||||
errorMessageMap.put("message", rowindex + header + adjustReasonNoExist);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, adjustReasonNoExist, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -536,7 +540,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
} else if (isNotEmpty && payStartDateI18n.equals(key.toString()) && (importHandleParam.isInit() || importHandleParam.isPendingList())) {
|
||||
if (payStartDate == null) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + dateErr);
|
||||
errorMessageMap.put("message", rowindex + header + dateErr);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, dateErr, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -549,7 +553,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
|
||||
if (payEndDateTemp != null && payStartDate.after(payEndDateTemp)) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + payStartUnableAfterEnd);
|
||||
errorMessageMap.put("message", rowindex + header + payStartUnableAfterEnd);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, payStartUnableAfterEnd, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -565,7 +569,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
if (isNotEmpty) {
|
||||
if (payEndDate == null) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + dateErr);
|
||||
errorMessageMap.put("message", rowindex + header + dateErr);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, dateErr, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -581,7 +585,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
}
|
||||
if (payStartDateTemp != null && payStartDateTemp.after(payEndDate)) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + payStartUnableAfterEnd);
|
||||
errorMessageMap.put("message", rowindex + header + payStartUnableAfterEnd);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, payStartUnableAfterEnd, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -737,7 +741,7 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
boolean isNotNumber = salaryItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !Pattern.matches(SalaryArchiveConstant.NUMBER_REGEX, cellVal);
|
||||
if (isNotNumber) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + numberErr);
|
||||
errorMessageMap.put("message", rowindex + key + numberErr);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, numberErr, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
@ -765,19 +769,19 @@ public class SalaryArchiveExcelBO extends Service {
|
|||
SalaryItemAdjustValidDTO salaryItemAdjustValid = SalaryArchiveItemBO.handleSalaryItemAdjustValid(effectiveSalaryItem, effectiveBeforeSalaryItem, ineffectiveSalaryItem, effectiveTime, importHandleParam.getToday(), cellVal, importHandleParam.getSalaryArchiveItemDelSalaryItemIds());
|
||||
if (salaryItemAdjustValid.isBefore()) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + salaryItemNoBeforeCurrentEffectiveTime);
|
||||
errorMessageMap.put("message", rowindex + key + salaryItemNoBeforeCurrentEffectiveTime);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, salaryItemNoBeforeCurrentEffectiveTime, errorCount + 1, errorCount + 1, effectiveTimeIndex, effectiveTimeIndex);
|
||||
isError = true;
|
||||
} else if (salaryItemAdjustValid.isSame()) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + salaryItemAdjustNoSame);
|
||||
errorMessageMap.put("message", rowindex + key + salaryItemAdjustNoSame);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, salaryItemAdjustNoSame, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
} else if (salaryItemAdjustValid.isSameIneffective()) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowindex + salaryItemAdjustNoSameIneffective);
|
||||
errorMessageMap.put("message", rowindex + key + salaryItemAdjustNoSameIneffective);
|
||||
excelComments.add(errorMessageMap);
|
||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, salaryItemAdjustNoSameIneffective, errorCount + 1, errorCount + 1, j, j);
|
||||
isError = true;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ public class SalaryArchiveImportActionParam {
|
|||
* @see SalaryArchiveImportTypeEnum
|
||||
*/
|
||||
String importType;
|
||||
String listType;
|
||||
|
||||
/**
|
||||
* 导入数据
|
||||
|
|
|
|||
|
|
@ -45,6 +45,10 @@ public class SalaryArchiveImportHandleParam {
|
|||
String importType;
|
||||
String listType;
|
||||
|
||||
/**
|
||||
* 是否处理数据
|
||||
*/
|
||||
boolean onlyCheck;
|
||||
|
||||
//*****************************************************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package com.engine.salary.process.salaryArchive;
|
|||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.util.ResponseResult;
|
||||
import com.engine.salary.wrapper.SalaryArchiveWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
|
|
@ -12,7 +11,9 @@ import weaver.hrm.User;
|
|||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import java.util.Map;
|
||||
|
|
@ -39,13 +40,13 @@ public class SalaryArchiveActionAPI {
|
|||
* @return
|
||||
* @param importType=salaryItemAdjust(调薪),taxAgentAdjust(调整个税扣缴义务人),init(档案初始化)
|
||||
*/
|
||||
@GET
|
||||
@Path("/selectSalaryArchiveColumns")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String selectSalarySobList(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam("importType") String importType) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<String,Map<String,Object>>(user).run(getSalaryArchiveWrapper(user)::selectSalaryArchiveColumns,importType);
|
||||
}
|
||||
// @GET
|
||||
// @Path("/selectSalaryArchiveColumns")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String selectSalarySobList(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam("importType") String importType) {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// return new ResponseResult<String,Map<String,Object>>(user).run(getSalaryArchiveWrapper(user)::selectSalaryArchiveColumns,importType);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 前置校验、列表添加接口
|
||||
|
|
@ -59,7 +60,7 @@ public class SalaryArchiveActionAPI {
|
|||
User user = HrmUserVarify.getUser(request, response);
|
||||
importData.setImportType("init");
|
||||
importData.setAddData(false);
|
||||
return new ResponseResult<SalaryArchiveImportActionParam, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::importSalaryArchiveInit, importData);
|
||||
return new ResponseResult<SalaryArchiveImportActionParam, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::checkSalaryArchiveInit, importData);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -77,17 +78,17 @@ public class SalaryArchiveActionAPI {
|
|||
return new ResponseResult<SalaryArchiveImportActionParam, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::importSalaryArchiveInit, importData);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入薪资档案附件上传前置校验
|
||||
* @param importParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/checkImportSalaryArchiveUpload")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String checkParam(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveImportHandleParam importParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryArchiveImportHandleParam, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::checkImportSalaryArchive, importParam);
|
||||
}
|
||||
// /**
|
||||
// * 导入薪资档案附件上传前置校验
|
||||
// * @param importParam
|
||||
// * @return
|
||||
// */
|
||||
// @POST
|
||||
// @Path("/checkImportSalaryArchiveUpload")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String checkParam(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveImportHandleParam importParam) {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// return new ResponseResult<SalaryArchiveImportHandleParam, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::checkImportSalaryArchive, importParam);
|
||||
// }
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,56 +1,56 @@
|
|||
package com.engine.salary.process.salaryArchive;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.service.SalaryArchiveService;
|
||||
import com.engine.salary.service.impl.SalaryArchiveServiceImpl;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 薪资档案流程使用,导入薪资档案(初始化)
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author liuliang
|
||||
* @version 1.0
|
||||
**/
|
||||
public class SalaryArchiveInitAction extends BaseBean implements Action {
|
||||
private SalaryArchiveService getSalaryArchiveService(User user) {
|
||||
return (SalaryArchiveService) ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
}
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
String requestId = requestInfo.getRequestid();
|
||||
String tableName = requestInfo.getRequestManager().getBillTableName();
|
||||
writeLog("requestId:"+requestId);
|
||||
writeLog("tableName:"+tableName);
|
||||
Map<String,Object> dataMap = SalaryArchiveCommon.getImportDatas(requestId,tableName);
|
||||
List<Map<String, Object>> importDatas = (List<Map<String, Object>>)dataMap.get("importDatas");
|
||||
String imageId = dataMap.get("imageId") == null?"":dataMap.get("imageId").toString();
|
||||
User user = new User(Integer.valueOf(importDatas.get(0).get("userId").toString()));
|
||||
//手动列表添加导入
|
||||
if (importDatas.size() > 0){
|
||||
|
||||
SalaryArchiveImportActionParam importData = SalaryArchiveImportActionParam.builder().importDatas(importDatas)
|
||||
.importType("init").build();
|
||||
|
||||
Map<String, Object> resultMap = getSalaryArchiveService(user).importSalaryArchiveAction(importData,true);
|
||||
writeLog("result :"+resultMap.toString());
|
||||
}
|
||||
//附件上传导入
|
||||
if (!"".equals(imageId)){
|
||||
SalaryArchiveImportHandleParam param = SalaryArchiveImportHandleParam.builder().imageId(imageId).importType("init").build();
|
||||
Map<String,Object> responseMap = getSalaryArchiveService(user).importSalaryArchive(param);
|
||||
writeLog("result :"+responseMap.toString());
|
||||
}
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
//package com.engine.salary.process.salaryArchive;
|
||||
//
|
||||
//import com.engine.common.util.ServiceUtil;
|
||||
//import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
||||
//import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
//import com.engine.salary.service.SalaryArchiveService;
|
||||
//import com.engine.salary.service.impl.SalaryArchiveServiceImpl;
|
||||
//import weaver.general.BaseBean;
|
||||
//import weaver.hrm.User;
|
||||
//import weaver.interfaces.workflow.action.Action;
|
||||
//import weaver.soa.workflow.request.RequestInfo;
|
||||
//
|
||||
//import java.util.List;
|
||||
//import java.util.Map;
|
||||
//
|
||||
///**
|
||||
// * 薪资档案流程使用,导入薪资档案(初始化)
|
||||
// * <p>Copyright: Copyright (c) 2022</p>
|
||||
// * <p>Company: 泛微软件</p>
|
||||
// *
|
||||
// * @author liuliang
|
||||
// * @version 1.0
|
||||
// **/
|
||||
//public class SalaryArchiveInitAction extends BaseBean implements Action {
|
||||
// private SalaryArchiveService getSalaryArchiveService(User user) {
|
||||
// return (SalaryArchiveService) ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
// }
|
||||
// @Override
|
||||
// public String execute(RequestInfo requestInfo) {
|
||||
// String requestId = requestInfo.getRequestid();
|
||||
// String tableName = requestInfo.getRequestManager().getBillTableName();
|
||||
// writeLog("requestId:"+requestId);
|
||||
// writeLog("tableName:"+tableName);
|
||||
// Map<String,Object> dataMap = SalaryArchiveCommon.getImportDatas(requestId,tableName);
|
||||
// List<Map<String, Object>> importDatas = (List<Map<String, Object>>)dataMap.get("importDatas");
|
||||
// String imageId = dataMap.get("imageId") == null?"":dataMap.get("imageId").toString();
|
||||
// User user = new User(Integer.valueOf(importDatas.get(0).get("userId").toString()));
|
||||
// //手动列表添加导入
|
||||
// if (importDatas.size() > 0){
|
||||
//
|
||||
// SalaryArchiveImportActionParam importData = SalaryArchiveImportActionParam.builder().importDatas(importDatas)
|
||||
// .importType("init").build();
|
||||
//
|
||||
// Map<String, Object> resultMap = getSalaryArchiveService(user).importSalaryArchiveAction(importData,true);
|
||||
// writeLog("result :"+resultMap.toString());
|
||||
// }
|
||||
// //附件上传导入
|
||||
// if (!"".equals(imageId)){
|
||||
// SalaryArchiveImportHandleParam param = SalaryArchiveImportHandleParam.builder().imageId(imageId).importType("init").build();
|
||||
// Map<String,Object> responseMap = getSalaryArchiveService(user).importSalaryArchive(param);
|
||||
// writeLog("result :"+responseMap.toString());
|
||||
// }
|
||||
//
|
||||
// return SUCCESS;
|
||||
// }
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,54 @@
|
|||
package com.engine.salary.process.salaryArchive;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.service.SalaryArchiveService;
|
||||
import com.engine.salary.service.impl.SalaryArchiveServiceImpl;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 薪资档案流程使用,导入薪资档案(调薪)
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author liuliang
|
||||
* @version 1.0
|
||||
**/
|
||||
public class SalaryArchiveSalaryItemAdjustAction extends BaseBean implements Action {
|
||||
private SalaryArchiveService getSalaryArchiveService(User user) {
|
||||
return (SalaryArchiveService) ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
}
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
String requestId = requestInfo.getRequestid();
|
||||
String tableName = requestInfo.getRequestManager().getBillTableName();
|
||||
writeLog("requestId:"+requestId);
|
||||
writeLog("tableName:"+tableName);
|
||||
Map<String,Object> dataMap = SalaryArchiveCommon.getImportDatas(requestId,tableName);
|
||||
List<Map<String, Object>> importDatas = (List<Map<String, Object>>)dataMap.get("importDatas");
|
||||
String imageId = dataMap.get("imageId").toString();
|
||||
User user = new User(Integer.valueOf(importDatas.get(0).get("userId").toString()));
|
||||
if (importDatas.size() > 0){
|
||||
|
||||
SalaryArchiveImportActionParam importData = SalaryArchiveImportActionParam.builder().importDatas(importDatas)
|
||||
.importType("salaryItemAdjust").build();
|
||||
|
||||
Map<String, Object> resultMap = getSalaryArchiveService(user).importSalaryArchiveAction(importData,true);
|
||||
writeLog("result :"+resultMap.toString());
|
||||
}
|
||||
//附件上传导入
|
||||
if (!"".equals(imageId)){
|
||||
SalaryArchiveImportHandleParam param = SalaryArchiveImportHandleParam.builder().imageId(imageId).importType("salaryItemAdjust").build();
|
||||
Map<String,Object> responseMap = getSalaryArchiveService(user).importSalaryArchive(param);
|
||||
writeLog("result :"+responseMap.toString());
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
//package com.engine.salary.process.salaryArchive;
|
||||
//
|
||||
//import com.engine.common.util.ServiceUtil;
|
||||
//import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
||||
//import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
//import com.engine.salary.service.SalaryArchiveService;
|
||||
//import com.engine.salary.service.impl.SalaryArchiveServiceImpl;
|
||||
//import weaver.general.BaseBean;
|
||||
//import weaver.hrm.User;
|
||||
//import weaver.interfaces.workflow.action.Action;
|
||||
//import weaver.soa.workflow.request.RequestInfo;
|
||||
//
|
||||
//import java.util.List;
|
||||
//import java.util.Map;
|
||||
//
|
||||
///**
|
||||
// * 薪资档案流程使用,导入薪资档案(调薪)
|
||||
// * <p>Copyright: Copyright (c) 2022</p>
|
||||
// * <p>Company: 泛微软件</p>
|
||||
// *
|
||||
// * @author liuliang
|
||||
// * @version 1.0
|
||||
// **/
|
||||
//public class SalaryArchiveSalaryItemAdjustAction extends BaseBean implements Action {
|
||||
// private SalaryArchiveService getSalaryArchiveService(User user) {
|
||||
// return (SalaryArchiveService) ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
// }
|
||||
// @Override
|
||||
// public String execute(RequestInfo requestInfo) {
|
||||
// String requestId = requestInfo.getRequestid();
|
||||
// String tableName = requestInfo.getRequestManager().getBillTableName();
|
||||
// writeLog("requestId:"+requestId);
|
||||
// writeLog("tableName:"+tableName);
|
||||
// Map<String,Object> dataMap = SalaryArchiveCommon.getImportDatas(requestId,tableName);
|
||||
// List<Map<String, Object>> importDatas = (List<Map<String, Object>>)dataMap.get("importDatas");
|
||||
// String imageId = dataMap.get("imageId").toString();
|
||||
// User user = new User(Integer.valueOf(importDatas.get(0).get("userId").toString()));
|
||||
// if (importDatas.size() > 0){
|
||||
//
|
||||
// SalaryArchiveImportActionParam importData = SalaryArchiveImportActionParam.builder().importDatas(importDatas)
|
||||
// .importType("salaryItemAdjust").build();
|
||||
//
|
||||
// Map<String, Object> resultMap = getSalaryArchiveService(user).importSalaryArchiveAction(importData,true);
|
||||
// writeLog("result :"+resultMap.toString());
|
||||
// }
|
||||
// //附件上传导入
|
||||
// if (!"".equals(imageId)){
|
||||
// SalaryArchiveImportHandleParam param = SalaryArchiveImportHandleParam.builder().imageId(imageId).importType("salaryItemAdjust").build();
|
||||
// Map<String,Object> responseMap = getSalaryArchiveService(user).importSalaryArchive(param);
|
||||
// writeLog("result :"+responseMap.toString());
|
||||
// }
|
||||
// return SUCCESS;
|
||||
// }
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -1,56 +0,0 @@
|
|||
package com.engine.salary.process.salaryArchive;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.service.SalaryArchiveService;
|
||||
import com.engine.salary.service.impl.SalaryArchiveServiceImpl;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 薪资档案流程使用,导入薪资档案(调整个税扣缴义务人)
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author liuliang
|
||||
* @version 1.0
|
||||
**/
|
||||
public class SalaryArchiveTaxAgentAdjustAction extends BaseBean implements Action {
|
||||
private SalaryArchiveService getSalaryArchiveService(User user) {
|
||||
return (SalaryArchiveService) ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
}
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
String requestId = requestInfo.getRequestid();
|
||||
String tableName = requestInfo.getRequestManager().getBillTableName();
|
||||
writeLog("requestId:"+requestId);
|
||||
writeLog("tableName:"+tableName);
|
||||
|
||||
Map<String,Object> dataMap = SalaryArchiveCommon.getImportDatas(requestId,tableName);
|
||||
List<Map<String, Object>> importDatas = (List<Map<String, Object>>)dataMap.get("importDatas");
|
||||
String imageId = dataMap.get("imageId").toString();
|
||||
User user = new User(Integer.valueOf(importDatas.get(0).get("userId").toString()));
|
||||
if (importDatas.size() > 0){
|
||||
|
||||
SalaryArchiveImportActionParam importData = SalaryArchiveImportActionParam.builder().importDatas(importDatas)
|
||||
.importType("taxAgentAdjust").build();
|
||||
|
||||
Map<String, Object> resultMap = getSalaryArchiveService(user).importSalaryArchiveAction(importData,true);
|
||||
writeLog("result :"+resultMap.toString());
|
||||
}
|
||||
|
||||
//附件上传导入
|
||||
if (!"".equals(imageId)){
|
||||
SalaryArchiveImportHandleParam param = SalaryArchiveImportHandleParam.builder().imageId(imageId).importType("taxAgentAdjust").build();
|
||||
Map<String,Object> responseMap = getSalaryArchiveService(user).importSalaryArchive(param);
|
||||
writeLog("result :"+responseMap.toString());
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
|
|
@ -32,5 +34,17 @@ public interface SalaryArchiveExcelService {
|
|||
*/
|
||||
XSSFWorkbook downloadTemplate(SalaryArchiveQueryParam queryParam);
|
||||
|
||||
Map<String, Object> batchImportEbatch(Map<String, Object> param);
|
||||
/**
|
||||
* 导入
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> batchImportEbatch(SalaryArchiveImportHandleParam param);
|
||||
|
||||
/**
|
||||
* 流程初始化档案
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> processInit(SalaryArchiveImportActionParam param);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,14 +83,6 @@ public interface SalaryArchiveService {
|
|||
*/
|
||||
XSSFWorkbook exportList(SalaryArchiveQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 下载导入模板
|
||||
*
|
||||
* @param salaryArchiveImportTypeEnum
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
XSSFWorkbook downloadTemplate(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum, SalaryArchiveQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 保存发薪设置
|
||||
|
|
@ -131,21 +123,6 @@ public interface SalaryArchiveService {
|
|||
*/
|
||||
List<SalaryArchiveDataDTO> getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection<Long> employeeIds, Long taxAgentId);
|
||||
|
||||
/**
|
||||
* 导入,数据入库
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Map<String,Object> importSalaryArchive(SalaryArchiveImportHandleParam param);
|
||||
|
||||
/**
|
||||
* 导入
|
||||
* @param param
|
||||
* @param ifImportData 数据是否入库
|
||||
* @return
|
||||
*/
|
||||
Map<String,Object> importSalaryArchive(SalaryArchiveImportHandleParam param,boolean ifImportData);
|
||||
|
||||
/**
|
||||
* 预览
|
||||
* @param param
|
||||
|
|
@ -159,14 +136,6 @@ public interface SalaryArchiveService {
|
|||
*/
|
||||
Map<String, Object> selectSalaryArchiveColumns(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum);
|
||||
|
||||
|
||||
/**
|
||||
* 导入薪资档案(action使用)
|
||||
* @param importData
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> importSalaryArchiveAction(SalaryArchiveImportActionParam importData, boolean ifImportData);
|
||||
|
||||
/**
|
||||
* 停薪
|
||||
* @param stopSalaryParam
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import com.engine.salary.constant.SalaryItemConstant;
|
|||
import com.engine.salary.entity.salaryarchive.bo.SalaryArchiveExcelBO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveInitImportDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
|
|
@ -38,7 +39,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import weaver.file.ImageFileManager;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.*;
|
||||
|
|
@ -59,21 +60,21 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
return MapperProxyFactory.getProxy(SalaryArchiveMapper.class);
|
||||
}
|
||||
|
||||
private SalaryArchiveItemService salaryArchiveItemService() {
|
||||
private SalaryArchiveItemService salaryArchiveItemService(User user) {
|
||||
return ServiceUtil.getService(SalaryArchiveItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
||||
private SalaryArchiveService salaryArchiveService() {
|
||||
private SalaryArchiveService salaryArchiveService(User user) {
|
||||
return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
||||
private TaxAgentService getTaxAgentService() {
|
||||
private TaxAgentService getTaxAgentService(User user) {
|
||||
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryEmployeeService getSalaryEmployeeService() {
|
||||
private SalaryEmployeeService getSalaryEmployeeService(User user) {
|
||||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
|
@ -258,7 +259,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
String finalNameI18n = nameI18n;
|
||||
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItems = salaryArchiveItemService().getCanAdjustSalaryItems();
|
||||
List<SalaryItemPO> salaryItems = salaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
// boolean enableHr = baseEnvInfoService.checkDisplayModule(HrmModuleConstancts.hr, tenantKey);
|
||||
List<Object> header = Lists.newArrayList();
|
||||
header.add(SalaryI18nUtil.getI18nLabel(85429, "姓名"));
|
||||
|
|
@ -300,7 +301,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
List<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(header);
|
||||
// 获取所有个税扣缴义务人
|
||||
Collection<TaxAgentPO> taxAgentList = getTaxAgentService().listAll();
|
||||
Collection<TaxAgentPO> taxAgentList = getTaxAgentService(user).listAll();
|
||||
Collection<SalaryArchiveListDTO> salaryArchives = getSalaryArchiveMapper().list(queryParam);
|
||||
// boolean isSearchIdNo = enableHr && StringUtils.isNotEmpty(queryParam.getIdNo());
|
||||
// if (isSearchIdNo) {
|
||||
|
|
@ -312,9 +313,9 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
// 开启分权并且不是薪酬模块总管理员
|
||||
|
||||
long employeeId = user.getUID();
|
||||
if (getTaxAgentService().isNeedAuth(employeeId)) {
|
||||
List<TaxAgentEmployeeDTO> taxAgentEmployees = getTaxAgentService().listTaxAgentAndEmployee(employeeId);
|
||||
List<Long> taxAgentIdsAsAdmin = getTaxAgentService().listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
||||
if (getTaxAgentService(user).isNeedAuth(employeeId)) {
|
||||
List<TaxAgentEmployeeDTO> taxAgentEmployees = getTaxAgentService(user).listTaxAgentAndEmployee(employeeId);
|
||||
List<Long> taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
||||
salaryArchives = salaryArchives.stream().filter(f ->
|
||||
// 作为管理员
|
||||
taxAgentIdsAsAdmin.contains(f.getTaxAgentId())
|
||||
|
|
@ -328,7 +329,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
// :
|
||||
new HashMap<>();
|
||||
if (queryParam.getHasData()) {
|
||||
List<Map<String, Object>> listMaps = salaryArchiveService()
|
||||
List<Map<String, Object>> listMaps = salaryArchiveService(user)
|
||||
.buildSalaryArchiveData(salaryArchives, taxAgentList, salaryItems, Boolean.FALSE);
|
||||
// 组装数据
|
||||
listMaps.forEach(e -> {
|
||||
|
|
@ -426,18 +427,16 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 导入的数据插入到数据库中
|
||||
*/
|
||||
public Map<String, Object> batchImportEbatch(Map<String, Object> params) {
|
||||
|
||||
public Map<String, Object> batchImportEbatch(SalaryArchiveImportHandleParam param) {
|
||||
// 初始化国际化标签
|
||||
SalaryArchiveExcelBO.initI18n();
|
||||
|
||||
String imageId = params.get("imageId").toString();
|
||||
String imageId = param.getImageId();
|
||||
// 列表类型
|
||||
String listType = params.get("listType").toString();
|
||||
String listType = param.getListType();
|
||||
// 导入类型
|
||||
String importType = Util.null2String(params.get("importType"));
|
||||
String importType = param.getImportType();
|
||||
// 2.构建导入需要的数据
|
||||
SalaryArchiveImportHandleParam importHandleParam = buildImportHandleParam(listType, importType);
|
||||
|
||||
|
|
@ -524,7 +523,9 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
}
|
||||
|
||||
// 4.数据入库处理
|
||||
handleImportData(importHandleParam);
|
||||
if (!param.isOnlyCheck()) {
|
||||
handleImportData(importHandleParam);
|
||||
}
|
||||
|
||||
Map<String, Object> apidatas = new HashMap<>();
|
||||
|
||||
|
|
@ -541,6 +542,115 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public Map<String, Object> processInit(SalaryArchiveImportActionParam param) {
|
||||
// 初始化国际化标签
|
||||
SalaryArchiveExcelBO.initI18n();
|
||||
|
||||
// 列表类型
|
||||
String listType = param.getListType();
|
||||
// 导入类型
|
||||
String importType = param.getImportType();
|
||||
// 2.构建导入需要的数据
|
||||
SalaryArchiveImportHandleParam importHandleParam = buildImportHandleParam(listType, importType);
|
||||
|
||||
|
||||
int total = 0;
|
||||
//excel数据
|
||||
// 需要导入的数据
|
||||
List<Map<String, Object>> data = param.getImportDatas();
|
||||
if (data != null) {
|
||||
total += data.size();
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
int successCount = 0;
|
||||
int errorCount = 0;
|
||||
// 错误excel内容
|
||||
// List<ExcelSheet> errorExcelSheets = new ArrayList<>();
|
||||
// 用于(初始化导入)的相同employeeId时的处理
|
||||
List<SalaryArchiveInitImportDTO> initImportData = Lists.newArrayList();
|
||||
// 用于(调薪和调整个税扣缴义务人)的相同employeeId时取第一条记录,如果是初始化导入则有重复
|
||||
List<String> allTodoSalaryArchives = Lists.newArrayList();
|
||||
|
||||
|
||||
// 错误提示
|
||||
List<Map<String, String>> excelComments = new ArrayList<>();
|
||||
HashMap message = new HashMap();
|
||||
|
||||
// 错误sheet数据
|
||||
List<Map<String, Object>> errorData = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
Map<String, Object> map = data.get(i);
|
||||
List<String> headers = Lists.newArrayList();
|
||||
map.keySet().forEach(headers::add);
|
||||
int effectiveTimeIndex = 0;
|
||||
for (int j = 0; j < headers.size(); j++) {
|
||||
String header = headers.get(j);
|
||||
String key = header;
|
||||
if (key.equals(SalaryI18nUtil.getI18nLabel(85904, "生效日期"))) {
|
||||
effectiveTimeIndex = j;
|
||||
}
|
||||
}
|
||||
boolean isValidHeader = checkHeaders(importHandleParam, message, headers);
|
||||
if (!isValidHeader) {
|
||||
excelComments.add(message);
|
||||
Map<String, Object> apidatas = new HashMap<>();
|
||||
apidatas.put("successCount", successCount);
|
||||
apidatas.put("errorCount", errorCount);
|
||||
apidatas.put("errorNotice", excelComments);
|
||||
return apidatas;
|
||||
}
|
||||
|
||||
index += 1;
|
||||
map = data.get(i);
|
||||
map.put("index", i + 2);
|
||||
// 3.校验行内容
|
||||
boolean isError = SalaryArchiveExcelBO.singleRowCheck(allTodoSalaryArchives, map, headers, effectiveTimeIndex, excelComments, errorCount, importHandleParam);
|
||||
if (isError) {
|
||||
errorCount += 1;
|
||||
// 添加错误数据
|
||||
errorData.add(map);
|
||||
} else {
|
||||
successCount += 1;
|
||||
}
|
||||
// 初始化导入对重复记录校验
|
||||
if (importHandleParam.isInit()) {
|
||||
Map<String, Object> validMap = SalaryArchiveExcelBO
|
||||
.validInitImportData(isError, i, map, excelComments, errorCount, successCount, errorData, initImportData, importHandleParam);
|
||||
errorCount = Integer.parseInt(validMap.getOrDefault("errorCount", errorCount).toString());
|
||||
successCount = Integer.parseInt(validMap.getOrDefault("successCount", successCount).toString());
|
||||
}
|
||||
// 导入进度
|
||||
// if (index % 100 == 0 || index >= total) {
|
||||
// salaryBatchService.sendImportRate(message.getBizId(), total, index);
|
||||
// }
|
||||
}
|
||||
|
||||
// 如果sheet包含错误数据
|
||||
if (CollectionUtils.isNotEmpty(errorData)) {
|
||||
// salaryBatchService.createErrorExcelSheet(headers, errorData, excelSheet.getName(), excelComments, errorExcelSheets);
|
||||
}
|
||||
|
||||
// 4.数据入库处理
|
||||
if (param.isAddData()) {
|
||||
handleImportData(importHandleParam);
|
||||
}
|
||||
|
||||
Map<String, Object> apidatas = new HashMap<>();
|
||||
|
||||
apidatas.put("successCount", successCount);
|
||||
apidatas.put("errorCount", errorCount);
|
||||
apidatas.put("errorNotice", excelComments);
|
||||
return apidatas;
|
||||
|
||||
// 发送导入回调信息
|
||||
// salaryBatchService.sendImportCallBackInfo(message, successCount, errorCount, errorExcelSheets);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 构建导入处理参数
|
||||
*
|
||||
|
|
@ -550,10 +660,10 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
*/
|
||||
private SalaryArchiveImportHandleParam buildImportHandleParam(String listType, String importType) {
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItems = salaryArchiveItemService().getCanAdjustSalaryItems();
|
||||
List<SalaryItemPO> salaryItems = salaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
Collection<Long> salaryItemIds = salaryItems.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
// 获取所有个税扣缴义务人
|
||||
Collection<TaxAgentManageRangeEmployeeDTO> taxAgentList = getTaxAgentService().listTaxAgentAndEmployeeTree((long) user.getUID());
|
||||
Collection<TaxAgentManageRangeEmployeeDTO> taxAgentList = getTaxAgentService(user).listTaxAgentAndEmployeeTree((long) user.getUID());
|
||||
|
||||
// 待定薪列表
|
||||
boolean isPendingList = listType.equals(SalaryArchiveListTypeEnum.PENDING.getValue());
|
||||
|
|
@ -575,11 +685,11 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
} else if (isSuspendList) {
|
||||
runStatusList = Arrays.asList(SalaryArchiveStatusEnum.FIXED.getValue(), SalaryArchiveStatusEnum.SUSPEND.getValue());
|
||||
}
|
||||
List<SalaryArchivePO> salaryArchiveList = salaryArchiveService().listSome(SalaryArchivePO.builder().runStatusList(runStatusList).build());
|
||||
List<SalaryArchivePO> salaryArchiveList = salaryArchiveService(user).listSome(SalaryArchivePO.builder().runStatusList(runStatusList).build());
|
||||
List<Long> salaryArchiveIds = salaryArchiveList.stream().map(SalaryArchivePO::getId).collect(Collectors.toList());
|
||||
Map<String, SalaryArchivePO> salaryArchivesMap = SalaryEntityUtil.convert2Map(salaryArchiveList, k -> k.getEmployeeId() + "-" + k.getTaxAgentId());
|
||||
|
||||
List<TaxAgentEmployeePO> employees = getTaxAgentService().listEmployees();
|
||||
List<TaxAgentEmployeePO> employees = getTaxAgentService(user).listEmployees();
|
||||
|
||||
// 查询人员状态
|
||||
// List<HrmStatus> hrmStatusList = hrmCommonHrmStatusService.list(tenantKey);
|
||||
|
|
@ -600,7 +710,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
// 调薪导入
|
||||
.isSalaryItemAdjust(isSalaryItemAdjust)
|
||||
// 获取租户下所有的人员
|
||||
.employees(getSalaryEmployeeService().listAll())
|
||||
.employees(getSalaryEmployeeService(user).listAll())
|
||||
// .hrmStatusList(hrmStatusList)
|
||||
// 获取所有个税扣缴义务人
|
||||
.taxAgentList(taxAgentList)
|
||||
|
|
@ -610,10 +720,10 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
|||
.salaryItemIds(salaryItemIds)
|
||||
// 查询已生效的薪资项目数据
|
||||
.effectiveItemListMap(
|
||||
isSuspendList ? Collections.emptyMap() : salaryArchiveItemService().getEffectiveItemListMap(salaryArchiveIds, isNoNeedSalaryItem, salaryItemIds))
|
||||
isSuspendList ? Collections.emptyMap() : salaryArchiveItemService(user).getEffectiveItemListMap(salaryArchiveIds, isNoNeedSalaryItem, salaryItemIds))
|
||||
// 查询未生效的薪资项目数据
|
||||
.ineffectiveItemListMap(
|
||||
isSuspendList ? Collections.emptyMap() : salaryArchiveItemService().getIneffectiveItemListMap(salaryArchiveIds, isNoNeedSalaryItem, salaryItemIds))
|
||||
isSuspendList ? Collections.emptyMap() : salaryArchiveItemService(user).getIneffectiveItemListMap(salaryArchiveIds, isNoNeedSalaryItem, salaryItemIds))
|
||||
// 当前时间
|
||||
.nowTime(new Date())
|
||||
// 当天
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -510,9 +510,9 @@ public class SalaryArchiveController {
|
|||
@POST
|
||||
@Path("/importSalaryArchive")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String importSalaryArchive(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map<String, Object> importParam) {
|
||||
public String importSalaryArchive(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveImportHandleParam importParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::importSalaryArchive, importParam);
|
||||
return new ResponseResult<SalaryArchiveImportHandleParam, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::importSalaryArchive, importParam);
|
||||
}
|
||||
|
||||
//人员状态列表
|
||||
|
|
|
|||
|
|
@ -486,7 +486,7 @@ public class SalaryArchiveWrapper extends Service {
|
|||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Object> importSalaryArchive(Map<String, Object> param) {
|
||||
public Map<String, Object> importSalaryArchive(SalaryArchiveImportHandleParam param) {
|
||||
return getSalaryArchiveExcelService(user).batchImportEbatch(param);
|
||||
}
|
||||
|
||||
|
|
@ -509,7 +509,7 @@ public class SalaryArchiveWrapper extends Service {
|
|||
param.setImageId(rs.getString("imagefileid"));
|
||||
}
|
||||
}
|
||||
return getSalaryArchiveService(user).importSalaryArchive(param, false);
|
||||
return getSalaryArchiveExcelService(user).batchImportEbatch(param);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -520,7 +520,8 @@ public class SalaryArchiveWrapper extends Service {
|
|||
* @return
|
||||
*/
|
||||
public Map<String, Object> checkImportSalaryArchiveParam(SalaryArchiveImportHandleParam param) {
|
||||
return getSalaryArchiveService(user).importSalaryArchive(param, false);
|
||||
param.setOnlyCheck(true);
|
||||
return getSalaryArchiveExcelService(user).batchImportEbatch(param);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -546,20 +547,28 @@ public class SalaryArchiveWrapper extends Service {
|
|||
}
|
||||
|
||||
|
||||
public Map<String, Object> checkSalaryArchiveInit(SalaryArchiveImportActionParam importData) {
|
||||
importData.setImportType("init");
|
||||
importData.setListType("FIXED");
|
||||
importData.setAddData(false);
|
||||
return getSalaryArchiveExcelService(user).processInit(importData);
|
||||
}
|
||||
|
||||
public Map<String, Object> importSalaryArchiveInit(SalaryArchiveImportActionParam importData) {
|
||||
return getSalaryArchiveService(user).importSalaryArchiveAction(importData, importData.isAddData());
|
||||
importData.setImportType("init");
|
||||
importData.setListType("FIXED");
|
||||
importData.setAddData(true);
|
||||
return getSalaryArchiveExcelService(user).processInit(importData);
|
||||
}
|
||||
|
||||
|
||||
public Map<String, Object> importSalaryArchiveSalaryItemAdjust(SalaryArchiveImportActionParam importData) {
|
||||
importData.setImportType("salaryItemAdjust");
|
||||
return getSalaryArchiveService(user).importSalaryArchiveAction(importData, false);
|
||||
}
|
||||
// public Map<String, Object> importSalaryArchiveSalaryItemAdjust(SalaryArchiveImportActionParam importData) {
|
||||
// importData.setListType("FIXED");
|
||||
// importData.setImportType("salaryItemAdjust");
|
||||
// importData.setAddData(true);
|
||||
// return getSalaryArchiveExcelService(user).processInit(importData);
|
||||
// }
|
||||
|
||||
public Map<String, Object> importSalaryArchiveTaxAgentAdjust(SalaryArchiveImportActionParam importData) {
|
||||
importData.setImportType("taxAgentAdjust");
|
||||
return getSalaryArchiveService(user).importSalaryArchiveAction(importData, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 停薪
|
||||
|
|
|
|||
Loading…
Reference in New Issue