diff --git a/src/com/engine/salary/action/CheckSalaryArchiveBatchAdjustmentByUpload.java b/src/com/engine/salary/action/CheckSalaryArchiveBatchAdjustmentByUpload.java new file mode 100644 index 000000000..e54ffe35e --- /dev/null +++ b/src/com/engine/salary/action/CheckSalaryArchiveBatchAdjustmentByUpload.java @@ -0,0 +1,72 @@ +package com.engine.salary.action; + +import com.engine.common.util.ServiceUtil; +import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam; +import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum; +import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum; +import com.engine.salary.service.SalaryArchiveExcelService; +import com.engine.salary.service.impl.SalaryArchiveExcelServiceImpl; +import lombok.extern.slf4j.Slf4j; +import weaver.conn.RecordSet; +import weaver.general.Util; +import weaver.hrm.User; +import weaver.interfaces.workflow.action.Action; +import weaver.soa.workflow.request.Property; +import weaver.soa.workflow.request.RequestInfo; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +public class CheckSalaryArchiveBatchAdjustmentByUpload implements Action { + + private SalaryArchiveExcelService getSalaryArchiveExcelService(User user) { + return ServiceUtil.getService(SalaryArchiveExcelServiceImpl.class, user); + } + + @Override + public String execute(RequestInfo requestInfo) { + try { + Property[] properties = requestInfo.getMainTableInfo().getProperty(); + Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, + property -> Util.null2String(property.getValue()))); + + String dxmd = fieldMap.get("dxmd"); + + RecordSet rs = new RecordSet(); + String queryImageId = "select imagefileid from docimagefile where docid = ?"; + rs.executeQuery(queryImageId, dxmd); + String imagefileid = null; + if (rs.next()) { + imagefileid = rs.getString("imagefileid"); + } + + SalaryArchiveImportHandleParam param = SalaryArchiveImportHandleParam.builder().imageId(imagefileid) + .listType(SalaryArchiveListTypeEnum.FIXED.getValue()) + .importType(SalaryArchiveImportTypeEnum.SALARYITEMADJUST.getValue()) + .onlyCheck(true) + .isProcess(true) + .build(); + + Map map = getSalaryArchiveExcelService(new User()).batchImportEbatch(param); + int errorCount = (int) map.get("errorCount"); + if (errorCount > 0) { + log.error("批量调薪存在异常 requestId:{} map:{}",requestInfo.getRequestid(), map); + List> excelComments = (List>) map.get("errorNotice"); + StringBuilder message = new StringBuilder("excel中"); + for (Map comments : excelComments) { + message.append(comments.get("message")).append("\n"); + } + requestInfo.getRequestManager().setMessage(message.toString()); + return FAILURE_AND_CONTINUE; + } + } catch (Exception e) { + log.error("批量调薪异常", e); + requestInfo.getRequestManager().setMessage(e.getMessage()); + return FAILURE_AND_CONTINUE; + } + return SUCCESS; + } +} diff --git a/src/com/engine/salary/action/SalaryArchiveBatchAdjustmentByUpload.java b/src/com/engine/salary/action/SalaryArchiveBatchAdjustmentByUpload.java index 1bf2db8fe..2b8546d35 100644 --- a/src/com/engine/salary/action/SalaryArchiveBatchAdjustmentByUpload.java +++ b/src/com/engine/salary/action/SalaryArchiveBatchAdjustmentByUpload.java @@ -6,6 +6,7 @@ import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum; import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum; import com.engine.salary.service.SalaryArchiveExcelService; import com.engine.salary.service.impl.SalaryArchiveExcelServiceImpl; +import lombok.extern.slf4j.Slf4j; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -17,6 +18,7 @@ import java.util.Arrays; import java.util.Map; import java.util.stream.Collectors; +@Slf4j public class SalaryArchiveBatchAdjustmentByUpload implements Action { private SalaryArchiveExcelService getSalaryArchiveExcelService(User user) { @@ -25,29 +27,46 @@ public class SalaryArchiveBatchAdjustmentByUpload implements Action { @Override public String execute(RequestInfo requestInfo) { - Property[] properties = requestInfo.getMainTableInfo().getProperty(); - Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, - property -> Util.null2String(property.getValue()))); + try { - String dxmd = fieldMap.get("dxmd"); + Property[] properties = requestInfo.getMainTableInfo().getProperty(); + Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, + property -> Util.null2String(property.getValue()))); - RecordSet rs = new RecordSet(); - String queryImageId = "select imagefileid from docimagefile where docid = ?"; - rs.executeQuery(queryImageId, dxmd); - String imagefileid = null; - if (rs.next()) { - imagefileid = rs.getString("imagefileid"); + String dxmd = fieldMap.get("dxmd"); + + RecordSet rs = new RecordSet(); + String queryImageId = "select imagefileid from docimagefile where docid = ?"; + rs.executeQuery(queryImageId, dxmd); + String imagefileid = null; + if (rs.next()) { + imagefileid = rs.getString("imagefileid"); + } + + SalaryArchiveImportHandleParam param = SalaryArchiveImportHandleParam.builder().imageId(imagefileid) + .listType(SalaryArchiveListTypeEnum.FIXED.getValue()) + .importType(SalaryArchiveImportTypeEnum.SALARYITEMADJUST.getValue()) + .onlyCheck(false) + .isProcess(true) + .build(); + + Map map = getSalaryArchiveExcelService(new User()).batchImportEbatch(param); + int errorCount = (int) map.get("errorCount"); + if (errorCount > 0) { + log.error("批量调薪存在异常 requestId:{} map:{}",requestInfo.getRequestid(), map); +// List> excelComments = (List>) map.get("errorNotice"); +// StringBuilder message = new StringBuilder(); +// for (Map comments : excelComments) { +// message.append(comments.get("message")).append("/n"); +// } +// requestInfo.getRequestManager().setMessage(message.toString()); +// return FAILURE_AND_CONTINUE; + } + } catch (Exception e) { + log.error("批量调薪异常", e); + requestInfo.getRequestManager().setMessage(e.getMessage()); + return FAILURE_AND_CONTINUE; } - - SalaryArchiveImportHandleParam param = SalaryArchiveImportHandleParam.builder().imageId(imagefileid) - .listType(SalaryArchiveListTypeEnum.FIXED.getValue()) - .importType(SalaryArchiveImportTypeEnum.SALARYITEMADJUST.getValue()) - .onlyCheck(false) - .isProcess(true) - .build(); - - Map map = getSalaryArchiveExcelService(new User()).batchImportEbatch(param); - return SUCCESS; } }