工资单发送

This commit is contained in:
钱涛 2023-06-06 11:48:19 +08:00
parent 993db67601
commit 0e5eb1b11e
8 changed files with 178 additions and 131 deletions

View File

@ -13,7 +13,7 @@ import java.util.Map;
@ServiceDynamicProxy(target = SalarySendWrapper.class, desc = "薪资核算")
public class CustomSalarySend extends AbstractServiceProxy implements SalarySendWrapperProxy {
@Override
public Map<String, Object> grant(SalarySendGrantParam queryParam) {
public void grant(SalarySendGrantParam queryParam) {
BaseBean baseBean = new BaseBean();
baseBean.writeLog("拦截工资单发送方法...");
@ -22,7 +22,6 @@ public class CustomSalarySend extends AbstractServiceProxy implements SalarySend
Object o = executeMethod(queryParam);
//todo do some thing
return (Map<String, Object>)o;
}
@Override

View File

@ -55,6 +55,14 @@ public interface ProgressService {
*/
void finish(String cacheKey, boolean checkStatus);
/**
* 完成
* @param cacheKey
* @param checkStatus
* @param message
*/
void finish(String cacheKey, boolean checkStatus,String message);
/**
* 更新进度条
*

View File

@ -92,6 +92,23 @@ public class ProgressServiceImpl extends Service implements ProgressService {
}
}
@Override
public void finish(String cacheKey, boolean checkStatus, String message) {
String resultStr = (String) Util_DataCache.getObjVal(cacheKey);
if (StringUtils.isNotEmpty(resultStr)) {
ProgressDTO progressDTO = JsonUtil.parseObject(resultStr, ProgressDTO.class);
if (progressDTO == null || !progressDTO.isStatus()) {
return;
}
progressDTO.setTitle("操作完成");
progressDTO.setCalculatedQuantity(progressDTO.getTotalQuantity());
progressDTO.setProgress(BigDecimal.ONE);
progressDTO.setCheckStatus(checkStatus);
progressDTO.setMessage(message);
Util_DataCache.setObjVal(cacheKey, JsonUtil.toJsonString(progressDTO));
}
}
@Override
public void updateProgress(String cacheKey, BigDecimal progress, boolean checkStatus) {
String resultStr = (String) Util_DataCache.getObjVal(cacheKey);

View File

@ -6,7 +6,9 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.biz.SalarySendBiz;
import com.engine.salary.biz.SalarySendInfoBiz;
import com.engine.salary.cache.SalaryCacheKey;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.progress.ProgressDTO;
import com.engine.salary.entity.salaryBill.bo.SalaryBillBO;
import com.engine.salary.entity.salaryBill.bo.SalaryTemplateBO;
import com.engine.salary.entity.salaryBill.dto.SalaryBillSendDTO;
@ -43,15 +45,19 @@ import org.apache.commons.lang3.math.NumberUtils;
import weaver.hrm.User;
import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
* @Description: 工资单发放
* @Author: wangxiangzhong
* @Date: 2021-12-11 11:28
*/
* 工资单发放
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Slf4j
public class SalaryBillServiceImpl extends Service implements SalaryBillService {
@ -109,7 +115,9 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
private SalarySobItemService salarySobItemService;
// private SalaryBillProgressService salaryBillProgressService;
private ProgressService getProgressService(User user) {
return ServiceUtil.getService(ProgressServiceImpl.class, user);
}
/**
* 工资单发放 start
@ -140,15 +148,21 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(204428, "请完善补发工资单模板设置"));
}
// 2.检查是否正在发送中
// SalaryBillProgressDTO salaryBillProgress = salaryBillProgressService.getProgress(SalaryCacheKey.SALARY_GRANT_PROGRESS, "" + param.getSalarySendId());
// if (Objects.nonNull(salaryBillProgress) && salaryBillProgress.isStatus()
// && Optional.ofNullable(salaryBillProgress.getProgress()).orElse(BigDecimal.ZERO).compareTo(BigDecimal.ONE) < 0) {
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(136104, "有其他人员正在发送中,请等待其他人员发送结束后再操作"));
// }
ProgressDTO salaryBillProgress = getProgressService(user).getProgress(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + param.getSalarySendId());
if (Objects.nonNull(salaryBillProgress) && salaryBillProgress.isStatus()
&& Optional.ofNullable(salaryBillProgress.getProgress()).orElse(BigDecimal.ZERO).compareTo(BigDecimal.ONE) < 0) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(136104, "有其他人员正在发送中,请等待其他人员发送结束后再操作"));
}
// 初始化进度
// SalaryBillProgressDTO initProgress = salaryBillProgressService.buildInitProgress(SalaryI18nUtil.getI18nLabel(136097, "发送中"), 136097, NumberUtils.INTEGER_ONE, NumberUtils.INTEGER_ZERO, BigDecimal.ZERO);
// salaryBillProgressService.initProgress(SalaryCacheKey.SALARY_GRANT_PROGRESS, "" + salarySend.getId(), initProgress);
// String tenantName = TenantContext.getCurrentTenant().getTenantName();
ProgressDTO initProgress = ProgressDTO.builder()
.title(SalaryI18nUtil.getI18nLabel(136097, "发送中"))
.totalQuantity(NumberUtils.INTEGER_ZERO)
.calculatedQuantity(NumberUtils.INTEGER_ZERO)
.progress(BigDecimal.ZERO)
.status(true)
.message("")
.build();
getProgressService(user).initProgress(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + salarySend.getId(), initProgress);
List<Long> ids = param.getIds();
@ -209,14 +223,13 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
+ SalaryI18nUtil.getI18nLabel(134807, "成功条数") + "[" + (successCount) + "], "
+ SalaryI18nUtil.getI18nLabel(134808, "失败条数") + "[" + (total - successCount) + "]";
// 发送进度完成
// salaryBillProgressService.finish(SalaryCacheKey.SALARY_GRANT_PROGRESS, "" + salarySend.getId(), messsage, true);
getProgressService(user).finish(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + salarySend.getId(), true, messsage);
// log.info("工资单发送组装耗时:{}毫秒;工资单发送消息中心耗时:{}毫秒;工资单数据更改总耗时:{}毫秒;工资单发送总耗时:{}毫秒;工资单云桥图片地址:{}", l3 - l2, l4 - l3, l5 - l4, System.currentTimeMillis() - l,
// salaryBillSendParam == null ? "" : salaryBillSendParam.getPicUrl());
} catch (Exception e) {
log.info("发送出错:{}", e.getMessage(), e);
// 发送进度失败
// salaryBillProgressService.fail(SalaryCacheKey.SALARY_GRANT_PROGRESS, "" + salarySend.getId(), SalaryI18nUtil.getI18nLabel(136118, "工资单发送出错") + ": " + e.getMessage());
getProgressService(user).fail(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + salarySend.getId(), SalaryI18nUtil.getI18nLabel(136118, "工资单发送出错") + ": " + e.getMessage());
} finally {
}
}
@ -348,9 +361,14 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
List<Long> employeeIds = list.stream().map(SalarySendInfoListDTO::getEmployeeId).collect(Collectors.toList());
// 初始化进度
// SalaryBillProgressDTO initProgress = salaryBillProgressService
// .buildInitProgress("发送中", 136097, employeeIds.size() * 2 + 1, NumberUtils.INTEGER_ZERO, BigDecimal.ZERO);
// salaryBillProgressService.initProgress(SalaryCacheKey.SALARY_GRANT_PROGRESS, "" + salarySend.getId(), initProgress);
ProgressDTO initProgress = ProgressDTO.builder()
.title("发送中")
.totalQuantity(employeeIds.size() * 2 + 1)
.calculatedQuantity(NumberUtils.INTEGER_ZERO)
.progress(BigDecimal.ZERO)
.message("")
.build();
getProgressService(user).initProgress(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + salarySend.getId(), initProgress);
// 3.组装详情数据
// 获取薪资项目数据
List<SalaryAcctEmployeePO> salaryAcctEmployees = Lists.newArrayList();
@ -363,7 +381,7 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
List<List<Long>> partition = Lists.partition(employeeIds, partSize);
for (List<Long> part : partition) {
// 更新进度
// salaryBillProgressService.getAndAddCalculatedQty(SalaryCacheKey.SALARY_GRANT_PROGRESS, "" + salarySend.getId(), part.size());
getProgressService(user).getAndAddCalculatedQty(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + salarySend.getId(), part.size());
/** 注意只有邮件才需要加密的核算数据 */
if (isEnableEmail) {
List<SalaryAcctEmployeePO> acctEmployees = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordIdsAndEmployeeIds(Collections.singletonList(salarySend.getSalaryAccountingId()), part);
@ -411,7 +429,7 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
enableSendList.forEach(e -> {
if (sendChannels.contains(MessageChannelEnum.MSG)) {
SalaryBillBO.sendMsg(salaryBillSendParam, Long.valueOf(e.get("id").toString()) , Long.valueOf( e.get("employeeId").toString()));
SalaryBillBO.sendMsg(salaryBillSendParam, Long.valueOf(e.get("id").toString()), Long.valueOf(e.get("employeeId").toString()));
}
if (sendChannels.contains(MessageChannelEnum.EMAIL)) {
@ -426,12 +444,12 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
.id(Long.valueOf(e.get("id").toString()))
.build());
// 更新发送进度
// index.addAndGet(1);
// part.addAndGet(1);
// if (index.get() % 100 == 0 || index.get() >= total) {
// salaryBillProgressService.getAndAddCalculatedQty(SalaryCacheKey.SALARY_GRANT_PROGRESS, "" + salaryBillSendParam.getSalarySend().getId(), part.get());
// part.set(0);
// }
index.addAndGet(1);
part.addAndGet(1);
if (index.get() % 100 == 0 || index.get() >= total) {
getProgressService(user).getAndAddCalculatedQty(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + salaryBillSendParam.getSalarySend().getId(), part.get());
part.set(0);
}
});
// 批量修改发送消息id
if (CollectionUtils.isNotEmpty(sendInfoUpdateList)) {
@ -531,12 +549,15 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
* @param salaryTemplate
*/
private void grantSendInfo(List<Long> ids, SalarySendPO salarySend, SalaryTemplatePO salaryTemplate) {
List<List<Long>> partition = Lists.partition(ids, 500);
Date sendTime = new Date();
SalarySendInfoPO po = new SalarySendInfoPO();
po.setSendStatus(SalarySendStatusEnum.ALREADYSEND.getValue());
po.setSendTime(sendTime);
po.setSalaryTemplate(JsonUtil.toJsonString(salaryTemplate));
salarySendInfoMapper.updateGrantWithdraw(po, salarySend.getId(), Arrays.asList(SalarySendStatusEnum.UNSEND.getValue(), SalarySendStatusEnum.WITHDRAW.getValue()), ids);
partition.forEach(idsp -> {
salarySendInfoMapper.updateGrantWithdraw(po, salarySend.getId(), Arrays.asList(SalarySendStatusEnum.UNSEND.getValue(), SalarySendStatusEnum.WITHDRAW.getValue()), idsp);
});
}
// /**
@ -599,7 +620,7 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
//// }
//
// // 检查是否正在撤回中
// SalaryBillProgressDTO salaryBillProgress = salaryBillProgressService
// SalaryBillProgressDTO salaryBillProgress = getProgressService(user)
// .getProgress(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId());
// if (Objects.nonNull(salaryBillProgress) && salaryBillProgress.isStatus()
// && Optional.ofNullable(salaryBillProgress.getProgress()).orElse(BigDecimal.ZERO).compareTo(BigDecimal.ONE) < 0) {
@ -607,9 +628,9 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
// }
//
// // 初始化进度
// SalaryBillProgressDTO initProgress = salaryBillProgressService
// SalaryBillProgressDTO initProgress = getProgressService(user)
// .buildInitProgress("撤回中", 136106, NumberUtils.INTEGER_ONE, NumberUtils.INTEGER_ZERO, BigDecimal.ZERO);
// salaryBillProgressService.initProgress(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), initProgress);
// getProgressService(user).initProgress(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), initProgress);
//
// List<Long> ids = isRange ? getSalarySendRangeService(user).getSendInfoIdsBySalarySendIdAndOperateType(salarySend.getId(), rangeIds, SalarySendOperateTypeEnum.WITHDRAW) : param.getIds();
// // 异步执行撤回
@ -670,9 +691,9 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
// }
//
// // 初始化进度
// SalaryBillProgressDTO initProgress = salaryBillProgressService
// SalaryBillProgressDTO initProgress = getProgressService(user)
// .buildInitProgress("撤回中", 136106, enableWithdrawList.size() * 2 + 1, enableWithdrawList.size(), new BigDecimal("0.5"));
// salaryBillProgressService.initProgress(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), initProgress);
// getProgressService(user).initProgress(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), initProgress);
//
// // 1.撤回消息先修改数据再发消息避免出错后无法撤回
// String text = SalaryI18nUtil.getI18nLabel(184533, "此工资单已被撤回,如有问题,请联系管理员");
@ -697,7 +718,7 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
// index.addAndGet(1);
// part.addAndGet(1);
// if (index.get() % 100 == 0 || index.get() >= total) {
// salaryBillProgressService.getAndAddCalculatedQty(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), part.get());
// getProgressService(user).getAndAddCalculatedQty(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), part.get());
// part.set(0);
// }
// });
@ -721,11 +742,11 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService
// + SalaryI18nUtil.getI18nLabel(134807, "成功条数") + "[" + (successCount) + "], "
// + SalaryI18nUtil.getI18nLabel(134808, "失败条数") + "[" + (total - successCount) + "]";
// // 撤回进度完成
// salaryBillProgressService.finish(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), messsage, true);
// getProgressService(user).finish(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), messsage, true);
// } catch (Exception e) {
// log.info("撤回出错:{}", e.getMessage(), e);
// // 发送进度失败
// salaryBillProgressService
// getProgressService(user)
// .fail(SalaryCacheKey.SALARY_WITHDRAW_PROGRESS, "" + salarySend.getId(), SalaryI18nUtil.getI18nLabel(136142, "工资单撤回出错") + ": " + e.getMessage());
// } finally {
// DSTenantKeyThreadVar.tenantKey.remove();

View File

@ -910,91 +910,86 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
@Override
public Map<String, Object> grant(SalarySendGrantParam param) {
getSalaryBillService(user).grant(param);
if (param.getSalarySendId() == null) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100327, "工资单发放Id必传"));
}
// if (param.getSalarySendId() == null) {
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100327, "工资单发放Id必传"));
// }
//
// Long salarySendId = param.getSalarySendId();
// Collection<Long> ids = param.getIds();
//
// if (param.getSalarySendRangeIds() != null) {
// //如果传了范围id则使用范围id发放
// ids = getSalarySendRangeService(user)
// .getSendInfoIdsBySendId(salarySendId, param.getSalarySendRangeIds(), SalarySendGrantTypeEnum.GRANT);
// if (ids.isEmpty()) {// 由于查出来是空的会导致全部发放在此进行拦截
// throw new SalaryRunTimeException("工资发放范围内没有匹配员工");
// }
// }
//
// SalarySendPO salarySend = mapper.getById(salarySendId);
// if (salarySend == null) {
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100512, "工资单发放不存在"));
// }
// // 已经冻结不能操作
// if (Objects.equals(salarySend.getSendStatus(), NumberUtils.INTEGER_ONE)) {
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "工资单已冻结"));
// }
// // 获取默认模板
// List<SalaryTemplatePO> salaryTemplates = getSalaryTemplateService(user).getDefaultTemplates(Collections.singletonList(salarySend.getSalarySobId()));
// if (CollectionUtils.isEmpty(salaryTemplates)) {
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100518, "没有默认模板,无法发送"));
// }
// SalaryTemplatePO templatePO = salaryTemplates.get(0);
// Date sendTime = new Date();
// // 获取可发送的列表
// List<Map<String, Object>> enableSendList = getEnableSendList(salarySend, ids, templatePO);
// // 1.发放
//
// SalarySendInfoPO po = new SalarySendInfoPO();
// po.setSendStatus(SalarySendStatusEnum.ALREADYSEND.getValue());
// po.setSendTime(sendTime);
// po.setSalaryTemplate(JsonUtil.toJsonString(templatePO));
// salarySendInfoMapper.updateGrantWithdraw(po, salarySendId, Arrays.asList(SalarySendStatusEnum.UNSEND.getValue(), SalarySendStatusEnum.WITHDRAW.getValue()), ids);
//
//
// List<SalarySendInfoPO> list = salarySendInfoMapper.listSome(SalarySendInfoPO.builder().salarySendId(salarySendId).build());
// //需要发送工资的人
//
// List<SalarySendInfoPO> sendList = list.stream().filter(e -> e.getSendStatus().equals(SalarySendStatusEnum.ALREADYSEND.getValue())).collect(Collectors.toList());
// int sendNum = sendList.size();
// int sendTotal = list.size();
// SalarySendPO salarySendNew = new SalarySendPO();
// try {
// BeanUtils.copyProperties(salarySendNew, salarySend);
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// } catch (InvocationTargetException e) {
// e.printStackTrace();
// }
// salarySendNew.setSendNum(sendNum);
// salarySendNew.setSendTotal(sendTotal);
// salarySendNew.setLastSendTime(sendTime);
//
// mapper.updateById(salarySendNew);
//
// List<SalarySendInfoPO> needSendList = Lists.newArrayList();
// enableSendList.forEach(map -> {
// sendList.forEach(item -> {
// if (item.getId() == Long.valueOf(map.get("id").toString()).longValue()) {
// needSendList.add(item);
// }
// });
// });
//
// // 发送消息
// param.setTemplate(templatePO);
// sendMessage(true, needSendList, param, salarySend);
//
//
//
// Map<String, Object> map = new HashMap<>(2);
// map.put("sendNum", sendNum);
// map.put("sendTotal", sendTotal);
//
// return map;
return null;
Long salarySendId = param.getSalarySendId();
Collection<Long> ids = param.getIds();
if (param.getSalarySendRangeIds() != null) {
//如果传了范围id则使用范围id发放
ids = getSalarySendRangeService(user)
.getSendInfoIdsBySendId(salarySendId, param.getSalarySendRangeIds(), SalarySendGrantTypeEnum.GRANT);
if (ids.isEmpty()) {// 由于查出来是空的会导致全部发放在此进行拦截
throw new SalaryRunTimeException("工资发放范围内没有匹配员工");
}
}
SalarySendPO salarySend = mapper.getById(salarySendId);
if (salarySend == null) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100512, "工资单发放不存在"));
}
// 已经冻结不能操作
if (Objects.equals(salarySend.getSendStatus(), NumberUtils.INTEGER_ONE)) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "工资单已冻结"));
}
// 获取默认模板
List<SalaryTemplatePO> salaryTemplates = getSalaryTemplateService(user).getDefaultTemplates(Collections.singletonList(salarySend.getSalarySobId()));
if (CollectionUtils.isEmpty(salaryTemplates)) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100518, "没有默认模板,无法发送"));
}
SalaryTemplatePO templatePO = salaryTemplates.get(0);
Date sendTime = new Date();
// 获取可发送的列表
List<Map<String, Object>> enableSendList = getEnableSendList(salarySend, ids, templatePO);
// 1.发放
SalarySendInfoPO po = new SalarySendInfoPO();
po.setSendStatus(SalarySendStatusEnum.ALREADYSEND.getValue());
po.setSendTime(sendTime);
po.setSalaryTemplate(JsonUtil.toJsonString(templatePO));
salarySendInfoMapper.updateGrantWithdraw(po, salarySendId, Arrays.asList(SalarySendStatusEnum.UNSEND.getValue(), SalarySendStatusEnum.WITHDRAW.getValue()), ids);
List<SalarySendInfoPO> list = salarySendInfoMapper.listSome(SalarySendInfoPO.builder().salarySendId(salarySendId).build());
//需要发送工资的人
List<SalarySendInfoPO> sendList = list.stream().filter(e -> e.getSendStatus().equals(SalarySendStatusEnum.ALREADYSEND.getValue())).collect(Collectors.toList());
int sendNum = sendList.size();
int sendTotal = list.size();
SalarySendPO salarySendNew = new SalarySendPO();
try {
BeanUtils.copyProperties(salarySendNew, salarySend);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
salarySendNew.setSendNum(sendNum);
salarySendNew.setSendTotal(sendTotal);
salarySendNew.setLastSendTime(sendTime);
mapper.updateById(salarySendNew);
List<SalarySendInfoPO> needSendList = Lists.newArrayList();
enableSendList.forEach(map -> {
sendList.forEach(item -> {
if (item.getId() == Long.valueOf(map.get("id").toString()).longValue()) {
needSendList.add(item);
}
});
});
// 发送消息
param.setTemplate(templatePO);
sendMessage(true, needSendList, param, salarySend);
Map<String, Object> map = new HashMap<>(2);
map.put("sendNum", sendNum);
map.put("sendTotal", sendTotal);
return map;
}
/**

View File

@ -535,9 +535,9 @@ public class SalaryBillController {
log.info("salary recipient: {} em_auth_userid: {}", recipient, em_auth_userid);
if (StringUtils.isNotBlank(recipient) && NumberUtils.isCreatable(recipient)) {
user = new User(Integer.parseInt(recipient));
} else if(StringUtils.isNotBlank(em_auth_userid) && NumberUtils.isCreatable(em_auth_userid)){
} else if (StringUtils.isNotBlank(em_auth_userid) && NumberUtils.isCreatable(em_auth_userid)) {
user = new User(Integer.parseInt(em_auth_userid));
}else {
} else {
user = HrmUserVarify.getUser(request, response);
}
return new ResponseResult<Long, Map<String, Object>>(user).run(getSalarySendWrapper(user)::mySalaryBill, salaryInfoId);

View File

@ -46,10 +46,13 @@ import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 工资单发放
* @Author: wangxiangzhong
* @Date: 2022/3/16 13:57
*/
* 工资单发放
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public class SalarySendWrapper extends Service implements SalarySendWrapperProxy {
private TaxAgentService getTaxAgentService(User user) {
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
@ -59,6 +62,10 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
return ServiceUtil.getService(SalarySendServiceImpl.class, user);
}
private SalaryBillService getSalaryBillService(User user) {
return ServiceUtil.getService(SalaryBillServiceImpl.class, user);
}
private SalaryTemplateService getSalaryTemplateService(User user) {
return ServiceUtil.getService(SalaryTemplateServiceImpl.class, user);
}
@ -348,8 +355,8 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
* @param queryParam
* @return
*/
public Map<String, Object> grant(SalarySendGrantParam queryParam) {
return getSalarySendService(user).grant(queryParam);
public void grant(SalarySendGrantParam queryParam) {
getSalaryBillService(user).grant(queryParam);
}
/**

View File

@ -21,7 +21,7 @@ public interface SalarySendWrapperProxy {
* @param queryParam
* @return
*/
Map<String, Object> grant(SalarySendGrantParam queryParam);
void grant(SalarySendGrantParam queryParam);
/**
* 工资单撤回