emis-api-service/emis-api-web/src/main/java/com/xdadan/erp/apiweb/CommissionProfitController.java

146 lines
4.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @Project: emis
* @Title: EmisCommissionProfitController.java
* @author heyu
* @date 2026-02-03 01:46:36
* @Copyright: ShangHai Duta 2022 All rights reserved.
* @version v1.0
* @Description: <p> 员工提成表 控制器 </p>
*/
package com.xdadan.erp.apiweb;
import com.alibaba.fastjson.JSONObject;
import com.xdadan.erp.apiweb.utils.EntityAuditUtils;
import com.xdadan.erp.common.annotation.Log;
import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter;
import com.xdadan.erp.common.core.controller.BaseController;
import com.xdadan.erp.common.core.domain.AjaxResult;
import com.xdadan.erp.common.core.page.TableDataInfo;
import com.xdadan.erp.common.core.redis.RedissonService;
import com.xdadan.erp.common.enums.BusinessType;
import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.common.utils.poi.ExcelUtil;
import com.xdadan.erp.emis.domain.EmisCommissionDtl;
import com.xdadan.erp.emis.domain.EmisCommissionProfit;
import com.xdadan.erp.emis.domain.EmisTmsSiteBatch;
import com.xdadan.erp.emis.domain.EmisWaybill;
import com.xdadan.erp.emis.service.EmisBaseService;
import com.xdadan.erp.emis.service.IEmisCommissionDtlService;
import com.xdadan.erp.emis.service.IEmisCommissionProfitService;
import com.xdadan.erp.emis.utils.WaybillHelper;
import com.xdadan.erp.system.service.ISysUserService;
import com.xdadan.erp.common.core.domain.entity.SysUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
/**
* 员工提成表Controller
*
* @author heyu
* @date 2026-02-03 01:46:36
*/
@Slf4j
@RestController
@RequestMapping("/apiweb/emisCommissionProfit")
public class CommissionProfitController extends BaseController
{
@Autowired
private IEmisCommissionProfitService emisCommissionProfitService;
@Autowired
private IEmisCommissionDtlService emisCommissionDtlService;
@Autowired
RedissonService redissonService;
@Autowired
private EmisBaseService emisBaseService;
@Autowired
private ISysUserService sysUserService;
/**
* 查询员工提成表列表
*/
@GetMapping("/list")
public TableDataInfo list(EmisCommissionProfit emisCommissionProfit)
{
EntityAuditUtils.setEmpNameFromOaEmpCode(emisCommissionProfit, sysUserService, "setEmpName");
startPage();
List<EmisCommissionProfit> list = emisCommissionProfitService.selectEmisCommissionProfitList(emisCommissionProfit);
// 将每个对象的oaEmpCode设置到params中
if (list != null && !list.isEmpty()) {
for (EmisCommissionProfit item : list) {
try {
// 通过empName查询获取oaEmpCode
String oaEmpCode = getOaEmpCodeByEmpName(item);
// if (StringUtils.isNotEmpty(oaEmpCode)) {
// // 确保params不为null
// if (item.getParams() == null) {
// item.setParams(new HashMap<>());
// }
// // 将oaEmpCode设置到params中
// item.getParams().put("oaEmpCode", oaEmpCode);
// }
// 将oaEmpCode设置到params中
item.getParams().put("oaEmpCode", oaEmpCode);
} catch (Exception e) {
// 忽略异常,继续处理下一个对象
log.debug("设置oaEmpCode到params失败: {}", e.getMessage());
}
}
}
return getDataTable(list);
}
/**
* 通过empName查询用户,获取oaEmpCode
*/
private String getOaEmpCodeByEmpName(EmisCommissionProfit item) {
if (item == null || sysUserService == null) {
return null;
}
try {
String empName = item.getEmpName();
if (StringUtils.isEmpty(empName)) {
return null;
}
// 使用empName查询用户
SysUser queryUser = new SysUser();
queryUser.setEmpName(empName);
List<SysUser> userList = sysUserService.selectUserList(queryUser);
if (userList != null && !userList.isEmpty()) {
// 取第一个用户
SysUser user = userList.get(0);
return user.getOaEmpCode();
}
} catch (Exception e) {
log.debug("通过empName查询oaEmpCode失败: {}", e.getMessage());
}
return null;
}
}