weaver-hrm-salary/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java

258 lines
9.3 KiB
Java
Raw Normal View History

2022-07-05 16:56:09 +08:00
package com.engine.salary.wrapper;
2022-08-11 10:27:15 +08:00
import com.engine.common.util.ServiceUtil;
2022-07-05 16:56:09 +08:00
import com.engine.core.impl.Service;
2024-08-08 09:50:04 +08:00
import com.engine.salary.entity.config.SalaryConfig;
import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig;
2024-08-08 16:53:31 +08:00
import com.engine.salary.entity.salaryformula.config.FormluaConfig;
import com.engine.salary.entity.salaryitem.config.SalaryItemAllConfig;
2024-08-08 09:50:04 +08:00
import com.engine.salary.entity.taxagent.config.TaxAgentConfig;
2024-08-09 09:22:27 +08:00
import com.engine.salary.entity.taxagent.po.TaxAgentBasePO;
import com.engine.salary.service.*;
import com.engine.salary.service.impl.*;
2024-08-08 16:53:31 +08:00
import com.engine.salary.sys.entity.param.*;
2022-09-05 17:20:57 +08:00
import com.engine.salary.sys.entity.po.SalarySysConfPO;
2022-09-28 10:08:51 +08:00
import com.engine.salary.sys.entity.vo.AppSettingVO;
2022-09-19 16:44:32 +08:00
import com.engine.salary.sys.entity.vo.OrderRuleVO;
2022-08-11 10:27:15 +08:00
import com.engine.salary.sys.enums.TaxDeclarationFunctionEnum;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
2023-07-13 16:51:01 +08:00
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
import com.engine.salary.util.valid.RuntimeTypeEnum;
import com.engine.salary.util.valid.ValidUtil;
2024-08-08 16:53:31 +08:00
import com.engine.salary.util.xml.XStreamUtil;
2022-09-05 17:20:57 +08:00
import org.apache.commons.lang3.StringUtils;
2024-08-08 16:53:31 +08:00
import org.apache.poi.util.IOUtils;
import weaver.file.ImageFileManager;
2022-07-05 16:56:09 +08:00
import weaver.general.BaseBean;
2022-08-11 10:27:15 +08:00
import weaver.hrm.User;
2022-07-05 16:56:09 +08:00
2024-08-08 11:03:55 +08:00
import java.io.*;
2024-08-08 16:53:31 +08:00
import java.nio.charset.StandardCharsets;
2022-07-05 16:56:09 +08:00
import java.util.HashMap;
import java.util.List;
2022-07-05 16:56:09 +08:00
import java.util.Map;
/**
* 累计专项附加扣除
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public class SalarySystemConfigWrapper extends Service {
2022-08-11 10:27:15 +08:00
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
2024-08-08 09:50:04 +08:00
private SalaryItemService getSalaryItemService(User user) {
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
}
private SalaryArchiveItemService getSalaryArchiveItemService(User user) {
return ServiceUtil.getService(SalaryArchiveItemServiceImpl.class, user);
}
private TaxAgentService getTaxAgentService(User user) {
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
}
2024-08-08 16:53:31 +08:00
private SalaryFormulaService getSalaryFormulaService(User user) {
return ServiceUtil.getService(SalaryFormulaServiceImpl.class, user);
}
2024-08-09 09:22:27 +08:00
private TaxAgentBaseService getTaxAgentBaseService(User user) {
return ServiceUtil.getService(TaxAgentBaseServiceImpl.class, user);
}
2022-07-05 16:56:09 +08:00
public Map<String, Object> info() {
BaseBean baseBean = new BaseBean();
String log = baseBean.getPropValue("hrmSalary", "log");
String version = baseBean.getPropValue("hrmSalary", "version");
String openFormulaForcedEditing = baseBean.getPropValue("hrmSalary", "openFormulaForcedEditing");
2023-07-13 16:55:23 +08:00
String showEncryptOperationButton = baseBean.getPropValue("hrmSalary", "showEncryptOperationButton");
2022-07-05 16:56:09 +08:00
Map<String, Object> o = new HashMap<>();
o.put("log", log);
o.put("version", version);
o.put("openFormulaForcedEditing", openFormulaForcedEditing);
2023-07-13 16:55:23 +08:00
o.put("showEncryptOperationButton", showEncryptOperationButton);
2023-07-13 16:51:01 +08:00
List<SalarySysConfPO> confPOS = getSalarySysConfService(user).listSome(SalarySysConfPO.builder().build());
Map<String, String> map = SalaryEntityUtil.convert2Map(confPOS, SalarySysConfPO::getConfKey, SalarySysConfPO::getConfValue);
o.putAll(map);
2022-07-05 16:56:09 +08:00
return o;
}
2022-08-11 10:27:15 +08:00
/**
* 操作是否需要申报功能
*
* @param flag 开启 0/关闭 1/重新开启 2
* @return 执行结果
*/
public boolean operateTaxDeclarationFunction(TaxDeclarationFunctionEnum flag) {
return getSalarySysConfService(user).operateTaxDeclarationFunction(flag);
}
2022-09-05 17:20:57 +08:00
/**
* 获取单一配置
*
* @param code
* @return
*/
public String getOneByCode(String code) {
SalarySysConfPO one = getSalarySysConfService(user).getOneByCode(code);
if (one != null) {
return one.getConfValue();
} else {
return StringUtils.EMPTY;
}
}
public PageInfo<SalarySysConfPO> list(SalarySysConfQueryParam param) {
List<SalarySysConfPO> salarySysConfPOS = getSalarySysConfService(user).listSome(SalarySysConfPO.builder().build());
List<SalarySysConfPO> list = SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), salarySysConfPOS);
PageInfo<SalarySysConfPO> page = new PageInfo<>(list, SalarySysConfPO.class);
page.setTotal(salarySysConfPOS.size());
page.setPageNum(param.getCurrent());
page.setPageSize(param.getPageSize());
return page;
}
public void save(SalarySysConfPO salarySysConfPO) {
ValidUtil.doValidator(salarySysConfPO);
getSalarySysConfService(user).save(salarySysConfPO);
}
public void update(SalarySysConfPO salarySysConfPO) {
ValidUtil.doValidator(salarySysConfPO, RuntimeTypeEnum.UPDATE);
getSalarySysConfService(user).update(salarySysConfPO);
}
2022-09-15 15:41:48 +08:00
public SalarySysConfPO detail(Long id) {
2022-09-19 16:44:32 +08:00
return getSalarySysConfService(user).getById(id);
2022-09-15 15:41:48 +08:00
}
2022-09-19 13:41:09 +08:00
public void updateByCode(SalarySysConfPO salarySysConfPO) {
getSalarySysConfService(user).updateByCode(salarySysConfPO);
}
2022-09-19 16:44:32 +08:00
public void updateOrderRule(OrderRuleParam param) {
getSalarySysConfService(user).updateOrderRule(param);
}
public OrderRuleVO orderRule() {
return getSalarySysConfService(user).orderRule();
}
2022-09-22 10:10:18 +08:00
2022-09-22 11:42:02 +08:00
public void saveMatchEmployeeModeRule(MatchEmployeeModeSaveParam param) {
ValidUtil.doValidator(param);
getSalarySysConfService(user).saveMatchEmployeeModeRule(param.getRule());
2022-09-22 10:10:18 +08:00
}
2022-09-27 17:43:43 +08:00
public void saveAppSetting(AppSettingSaveParam param) {
ValidUtil.doValidator(param);
getSalarySysConfService(user).saveAppSetting(param);
}
2022-09-28 10:08:51 +08:00
public AppSettingVO appSetting() {
2024-08-08 09:50:04 +08:00
return getSalarySysConfService(user).appSetting();
2022-09-28 10:08:51 +08:00
}
2022-10-10 09:43:57 +08:00
public Map<String, Object> saveEncryptSetting(AppSettingSaveParam param) {
2024-08-08 09:50:04 +08:00
return getSalarySysConfService(user).saveEncryptSetting(param);
2022-10-10 09:43:57 +08:00
}
2022-10-12 14:24:01 +08:00
public Map<String, Object> getEncryptProgress(String progressId) {
return getSalarySysConfService(user).getEncryptProgress(progressId);
}
public void saveSalaryAcctEmployeeRule(String rule) {
getSalarySysConfService(user).saveSalaryAcctEmployeeRule(rule);
}
2023-06-29 10:35:55 +08:00
2023-06-29 16:38:50 +08:00
public void saveWithDrawTaxDeclaration(SalarySysConfPO param) {
getSalarySysConfService(user).saveWithDrawTaxDeclaration(param);
}
2023-06-29 10:35:55 +08:00
public void saveArchiveDelete(String setting) {
getSalarySysConfService(user).saveArchiveDelete(setting);
}
2023-07-11 15:29:13 +08:00
2023-07-13 11:33:58 +08:00
public void operate(SalarySysConfPO salarySysConfPO) {
getSalarySysConfService(user).operate(salarySysConfPO);
}
2023-07-11 15:29:13 +08:00
public void saveSalarySendFeedback(SalarySysConfPO param) {
getSalarySysConfService(user).saveSalarySendFeedback(param);
}
2024-08-08 09:50:04 +08:00
2024-08-09 15:53:36 +08:00
2024-08-08 16:53:31 +08:00
public SalaryConfig downloadConfig() {
2024-08-08 09:50:04 +08:00
SalaryConfig salaryConfig = new SalaryConfig();
2024-08-09 15:53:36 +08:00
List<SalarySysConfPO> salarySysConfPOS = getSalarySysConfService(user).listSome(SalarySysConfPO.builder().build());
2024-08-08 16:53:31 +08:00
2024-08-08 18:04:50 +08:00
FormluaConfig formluaConfig = getSalaryFormulaService(user).getConfig();
2024-08-08 16:53:31 +08:00
salaryConfig.setFormluaConfig(formluaConfig);
SalaryItemAllConfig salaryItemConfig = getSalaryItemService(user).getConfig();
salaryConfig.setSalaryItemConfig(salaryItemConfig);
ArchiveFieldConfig archiveFieldConfig = getSalaryArchiveItemService(user).getConfig();
2024-08-08 18:04:50 +08:00
salaryConfig.setArchiveFieldConfig(archiveFieldConfig);
2024-08-08 09:50:04 +08:00
2024-08-09 09:22:27 +08:00
TaxAgentBasePO taxAgentBaseConfig = getTaxAgentBaseService(user).getConfig();
salaryConfig.setTaxAgentBaseConfig(taxAgentBaseConfig);
List<TaxAgentConfig> taxAgentConfigs = getTaxAgentService(user).getConfig();
2024-08-08 09:50:04 +08:00
salaryConfig.setTaxAgentConfigs(taxAgentConfigs);
2024-08-08 16:53:31 +08:00
return salaryConfig;
}
2024-08-08 09:50:04 +08:00
2024-08-08 16:53:31 +08:00
public void uploadConfig(uploadConfigParam param) {
InputStream fileInputStream = null;
try {
fileInputStream = ImageFileManager.getInputStreamById(Integer.parseInt(param.getImageId()));
Reader reader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8);
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
StringBuilder xml = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
xml.append(line);
}
SalaryConfig config = XStreamUtil.unmarshal(SalaryConfig.class, xml.toString());
2024-08-08 18:04:50 +08:00
2024-08-09 09:22:27 +08:00
getSalaryFormulaService(user).parseConfig(config.getFormluaConfig());
getSalaryItemService(user).parseConfig(config.getSalaryItemConfig());
getSalaryArchiveItemService(user).parseConfig(config.getArchiveFieldConfig());
getTaxAgentBaseService(user).parseConfig(config.getTaxAgentBaseConfig());
getTaxAgentService(user).parseConfig(config.getTaxAgentConfigs());
2024-08-08 16:53:31 +08:00
} catch (IOException e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(fileInputStream);
}
2024-08-08 09:50:04 +08:00
}
2022-07-05 16:56:09 +08:00
}