完成提成界面

This commit is contained in:
huangdeliang
2020-10-06 14:29:11 +08:00
parent d95c1698f5
commit 4aee429a2e
24 changed files with 1117 additions and 510 deletions

View File

@ -1,6 +1,11 @@
package com.ruoyi.web.controller.custom;
import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.framework.web.domain.server.Sys;
import com.ruoyi.system.domain.CusSalesman;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -22,24 +27,25 @@ import com.ruoyi.common.core.page.TableDataInfo;
/**
* 业务提成比例Controller
*
*
* @author wonder
* @date 2020-09-24
*/
@RestController
@RequestMapping("/custom/commision")
public class SysCommisionController extends BaseController
{
public class SysCommisionController extends BaseController {
@Autowired
private ISysCommisionService sysCommisionService;
@Autowired
private ISysUserService userService;
/**
* 查询业务提成比例列表
*/
@PreAuthorize("@ss.hasPermi('custom:commision:list')")
@PreAuthorize("@ss.hasPermi('commision:config:list')")
@GetMapping("/list")
public TableDataInfo list(SysCommision sysCommision)
{
public TableDataInfo list(SysCommision sysCommision) {
startPage();
List<SysCommision> list = sysCommisionService.selectSysCommisionList(sysCommision);
return getDataTable(list);
@ -48,11 +54,10 @@ public class SysCommisionController extends BaseController
/**
* 导出业务提成比例列表
*/
@PreAuthorize("@ss.hasPermi('custom:commision:export')")
@PreAuthorize("@ss.hasPermi('commision:config:export')")
@Log(title = "业务提成比例", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(SysCommision sysCommision)
{
public AjaxResult export(SysCommision sysCommision) {
List<SysCommision> list = sysCommisionService.selectSysCommisionList(sysCommision);
ExcelUtil<SysCommision> util = new ExcelUtil<SysCommision>(SysCommision.class);
return util.exportExcel(list, "commision");
@ -61,43 +66,86 @@ public class SysCommisionController extends BaseController
/**
* 获取业务提成比例详细信息
*/
@PreAuthorize("@ss.hasPermi('custom:commision:query')")
@PreAuthorize("@ss.hasPermi('commision:config:query')")
@GetMapping(value = "/{ruleId}")
public AjaxResult getInfo(@PathVariable("ruleId") Long ruleId)
{
public AjaxResult getInfo(@PathVariable("ruleId") Long ruleId) {
return AjaxResult.success(sysCommisionService.selectSysCommisionById(ruleId));
}
/**
* 新增业务提成比例
*/
@PreAuthorize("@ss.hasPermi('custom:commision:add')")
@PreAuthorize("@ss.hasPermi('commision:config:add')")
@Log(title = "业务提成比例", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SysCommision sysCommision)
{
public AjaxResult add(@RequestBody SysCommision sysCommision) {
return toAjax(sysCommisionService.insertSysCommision(sysCommision));
}
/**
* 修改业务提成比例
*/
@PreAuthorize("@ss.hasPermi('custom:commision:edit')")
@PreAuthorize("@ss.hasPermi('commision:config:edit')")
@Log(title = "业务提成比例", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SysCommision sysCommision)
{
public AjaxResult edit(@RequestBody SysCommision sysCommision) {
return toAjax(sysCommisionService.updateSysCommision(sysCommision));
}
/**
* 删除业务提成比例
*/
@PreAuthorize("@ss.hasPermi('custom:commision:remove')")
@PreAuthorize("@ss.hasPermi('commision:config:remove')")
@Log(title = "业务提成比例", businessType = BusinessType.DELETE)
@DeleteMapping("/{ruleIds}")
public AjaxResult remove(@PathVariable Long[] ruleIds)
{
@DeleteMapping("/{ruleIds}")
public AjaxResult remove(@PathVariable Long[] ruleIds) {
return toAjax(sysCommisionService.deleteSysCommisionByIds(ruleIds));
}
@GetMapping("/salesman")
public AjaxResult getSalesman() {
AjaxResult ajax = AjaxResult.success();
List<CusSalesman> list = userService.selectSalesman();
ajax.put(AjaxResult.DATA_TAG, list);
return ajax;
}
@PreAuthorize("@ss.hasPermi('commision:detail:list')")
@GetMapping("/detail")
public TableDataInfo getDetail(SysCommision sysCommision) {
startPage();
List<SysCommision> list = sysCommisionService.selectSysCommisionDetail(sysCommision);
for (SysCommision detail : list) {
SysCommision tmpQueryCom = new SysCommision();
tmpQueryCom.setUserId(detail.getUserId());
List<SysCommision> tmpComList = sysCommisionService.selectSysCommisionList(tmpQueryCom);
boolean comHit = false;
for (int i = 0; i < tmpComList.size(); i++) {
SysCommision com = tmpComList.get(i);
long dAmount = detail.getAmount().longValue();
long cAmount = com.getAmount().longValue();
if (dAmount < cAmount && i == 0) {
comHit = false;
break;
} else if (i == tmpComList.size() - 1 && dAmount > cAmount) {
comHit = true;
detail.setRate(com.getRate());
break;
} else if (dAmount >= cAmount && dAmount < tmpComList.get(i + 1).getAmount().longValue()) {
comHit = true;
detail.setRate(com.getRate());
}
}
if (!comHit) {
detail.setRate(0L);
detail.setCommision(BigDecimal.ZERO);
} else {
long amount = detail.getAmount().longValue();
amount = amount * detail.getRate() / 100;
detail.setCommision(new BigDecimal(amount));
}
}
return getDataTable(list);
}
}