146 lines
4.9 KiB
Java
146 lines
4.9 KiB
Java
|
||
/**
|
||
* @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;
|
||
}
|
||
|
||
}
|