From cfbddef42a24ed08161dbd1a80c7689878b616f2 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Wed, 13 Dec 2023 09:58:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B8=E7=AE=97=E8=AE=B0=E5=BD=95=E5=BD=92?= =?UTF-8?q?=E6=A1=A3action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/FileSalaryAcctRecordAction.java | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/com/engine/salary/action/FileSalaryAcctRecordAction.java diff --git a/src/com/engine/salary/action/FileSalaryAcctRecordAction.java b/src/com/engine/salary/action/FileSalaryAcctRecordAction.java new file mode 100644 index 000000000..7d6d22fb7 --- /dev/null +++ b/src/com/engine/salary/action/FileSalaryAcctRecordAction.java @@ -0,0 +1,70 @@ +package com.engine.salary.action; + +import com.engine.common.util.ServiceUtil; +import com.engine.salary.mapper.taxagent.TaxAgentMapper; +import com.engine.salary.service.SalaryAcctRecordService; +import com.engine.salary.service.impl.SalaryAcctRecordServiceImpl; +import com.engine.salary.util.db.MapperProxyFactory; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +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.Map; +import java.util.stream.Collectors; + +/** + * @author Harryxzy + * @ClassName FileSalaryAcctRecordAction + * @date 2023/12/13 9:17 + * @description 薪资核算记录归档action + */ +@Slf4j +public class FileSalaryAcctRecordAction implements Action { + + + private SalaryAcctRecordService getSalaryAcctRecordService(User user) { + return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user); + } + + private TaxAgentMapper getTaxAgentMapper() { + return MapperProxyFactory.getProxy(TaxAgentMapper.class); + } + + + private String recordIdFieldName; + + + public String getRecordIdFieldName() { + return recordIdFieldName; + } + + public void setRecordIdFieldName(String recordIdFieldName) { + this.recordIdFieldName = recordIdFieldName; + } + + @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()))); + String salaryAcctRecordId = fieldMap.get(recordIdFieldName); + if (StringUtils.isBlank(salaryAcctRecordId)) { + requestInfo.getRequestManager().setMessage("薪资核算记录不存在"); + return FAILURE_AND_CONTINUE; + } + User user = new User(); + user.setUid(1); + try { + getSalaryAcctRecordService(user).file(Long.valueOf(salaryAcctRecordId)); + } catch (Exception e) { + requestInfo.getRequestManager().setMessage(e.getMessage()); + return FAILURE_AND_CONTINUE; + } + return SUCCESS; + } +}