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

146 lines
4.9 KiB
Java
Raw Normal View History

2026-02-03 09:20:03 +00:00
/**
* @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;
2026-02-03 09:20:03 +00:00
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;
2026-02-03 09:20:03 +00:00
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
2026-02-03 09:20:03 +00:00
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());
}
}
}
2026-02-03 09:20:03 +00:00
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);
2026-02-03 09:20:03 +00:00
if (userList != null && !userList.isEmpty()) {
// 取第一个用户
SysUser user = userList.get(0);
return user.getOaEmpCode();
}
} catch (Exception e) {
log.debug("通过empName查询oaEmpCode失败: {}", e.getMessage());
}
return null;
}
2026-02-03 09:20:03 +00:00
}