销售人信息 对应操作
This commit is contained in:
parent
5356b9bbe6
commit
02ce48c6ea
|
@ -1,7 +1,14 @@
|
|||
package com.ruoyi.business.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.ruoyi.business.domain.BusStoreDayInfo;
|
||||
import com.ruoyi.business.domain.BusStoreInfo;
|
||||
import com.ruoyi.business.resp.RespBusStoreInfo;
|
||||
import com.ruoyi.business.service.IBusStoreDayInfoService;
|
||||
import com.ruoyi.business.service.IBusStoreInfoService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
@ -34,6 +41,12 @@ public class BusSaleInfoController extends BaseController
|
|||
@Autowired
|
||||
private IBusSaleInfoService busSaleInfoService;
|
||||
|
||||
@Autowired
|
||||
private IBusStoreInfoService iBusStoreInfoService;
|
||||
|
||||
@Autowired
|
||||
private IBusStoreDayInfoService iBusStoreDayInfoService;
|
||||
|
||||
/**
|
||||
* 查询店铺归属-销售人员统计列表
|
||||
*/
|
||||
|
@ -43,7 +56,30 @@ public class BusSaleInfoController extends BaseController
|
|||
{
|
||||
startPage();
|
||||
List<BusSaleInfo> list = busSaleInfoService.selectBusSaleInfoList(busSaleInfo);
|
||||
return getDataTable(list);
|
||||
List<BusSaleInfo> tableList = list.stream()
|
||||
.map(info -> {
|
||||
BusStoreInfo busStoreInfo = new BusStoreInfo();
|
||||
busStoreInfo.setSaleBindId(info.getId());
|
||||
int count = 0;
|
||||
List<BusStoreInfo> ll = iBusStoreInfoService.selectBusStoreInfoList(busStoreInfo);
|
||||
for (BusStoreInfo b:ll) {
|
||||
BusStoreDayInfo busStoreDayInfo = new BusStoreDayInfo();
|
||||
busStoreDayInfo.setStoreId(b.getId());
|
||||
List<BusStoreDayInfo> dayList = iBusStoreDayInfoService.selectBusStoreDayInfoList(busStoreDayInfo);
|
||||
for (BusStoreDayInfo day: dayList){
|
||||
count = day.getLastFiveStarReviewsNum()+count;
|
||||
}
|
||||
}
|
||||
info.setStoreNum(ll.size());
|
||||
info.setLastOrderNum(0);
|
||||
info.setFiveStarReviewsNum(count);
|
||||
info.setReturnVisitNum(0);
|
||||
return info;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
tableList.forEach(System.out::println);
|
||||
return getDataTable(tableList);
|
||||
// return getDataTable(list);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('business:sale:list')")
|
||||
|
@ -76,6 +112,22 @@ public class BusSaleInfoController extends BaseController
|
|||
return success(busSaleInfoService.selectBusSaleInfoById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增店铺归属-销售人员统计
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('business:sale:add')")
|
||||
@Log(title = "店铺归属-销售人员统计", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/saveOrUpdateSale")
|
||||
public AjaxResult saveOrUpdateSale(@RequestBody BusSaleInfo busSaleInfo)
|
||||
{
|
||||
int count = 0;
|
||||
if(busSaleInfo.getId() == null){
|
||||
count = busSaleInfoService.insertBusSaleInfo(busSaleInfo);
|
||||
}else{
|
||||
count = busSaleInfoService.updateBusSaleInfo(busSaleInfo);
|
||||
}
|
||||
return toAjax(count);
|
||||
}
|
||||
/**
|
||||
* 新增店铺归属-销售人员统计
|
||||
*/
|
||||
|
|
|
@ -5,10 +5,12 @@ import java.util.stream.Collectors;
|
|||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.ruoyi.business.domain.BusStoreConfigInfo;
|
||||
import com.ruoyi.business.domain.BusStoreDayInfo;
|
||||
import com.ruoyi.business.req.ReqBusStoreConfigInfo;
|
||||
import com.ruoyi.business.req.ReqBusStoreInfo;
|
||||
import com.ruoyi.business.resp.RespBusStoreInfo;
|
||||
import com.ruoyi.business.service.IBusStoreConfigInfoService;
|
||||
import com.ruoyi.business.service.IBusStoreDayInfoService;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
@ -48,6 +50,9 @@ public class BusStoreInfoController extends BaseController
|
|||
|
||||
@Autowired
|
||||
private IBusStoreConfigInfoService iBusStoreConfigInfoService;
|
||||
|
||||
@Autowired
|
||||
private IBusStoreDayInfoService busStoreDayInfoService;
|
||||
/**
|
||||
* 查询店铺信息列表
|
||||
*/
|
||||
|
@ -65,14 +70,28 @@ public class BusStoreInfoController extends BaseController
|
|||
@PreAuthorize("@ss.hasPermi('business:store:list')")
|
||||
@GetMapping("/listA")
|
||||
public TableDataInfo listA(ReqBusStoreInfo reqBusStoreInfo)
|
||||
{
|
||||
{//new RespBusStoreInfo(busStoreInfo1)
|
||||
startPage();
|
||||
BusStoreInfo busStoreInfo = new BusStoreInfo();
|
||||
BeanUtils.copyProperties(reqBusStoreInfo, busStoreInfo);
|
||||
List<BusStoreInfo> list = busStoreInfoService.selectBusStoreInfoList(busStoreInfo);
|
||||
List<RespBusStoreInfo> tableList = list.stream()
|
||||
.map(busStoreInfo1 -> new RespBusStoreInfo(busStoreInfo1))
|
||||
.map(busStoreInfo1 -> {
|
||||
RespBusStoreInfo info = new RespBusStoreInfo(busStoreInfo1);
|
||||
BusStoreDayInfo busStoreDayInfo = new BusStoreDayInfo();
|
||||
busStoreDayInfo.setStoreId(info.getId());
|
||||
List<BusStoreDayInfo> ll = busStoreDayInfoService.selectBusStoreDayInfoList(busStoreDayInfo);
|
||||
info.setLastOrderNum(ll.get(0).getLastOrderNum());
|
||||
info.setLastPositiveReviewsNum(ll.get(0).getLastPositiveReviewsNum());
|
||||
info.setLastFiveStarReviewsNum(ll.get(0).getLastFiveStarReviewsNum());
|
||||
info.setLastReturnVisitNum(ll.get(0).getLastReturnVisitNum());
|
||||
info.setTodayReturnVisitNum(ll.get(0).getTodayReturnVisitNum());
|
||||
info.setScore(ll.get(0).getScore());
|
||||
info.setLastReturnVisitRate(ll.get(0).getLastReturnVisitRate());
|
||||
return info;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
tableList.forEach(System.out::println);
|
||||
return getDataTable(tableList);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.ruoyi.business.resp;
|
||||
|
||||
import com.ruoyi.business.domain.BusStoreInfo;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
@ -82,6 +83,34 @@ public class RespBusStoreInfo {
|
|||
@ApiModelProperty(name = "绑定时间(创建)")
|
||||
private Date bindTime;
|
||||
|
||||
/** 昨日订单量 */
|
||||
@ApiModelProperty(name = "昨日订单量")
|
||||
private int lastOrderNum;
|
||||
|
||||
/** 昨日好评量 */
|
||||
@ApiModelProperty(name = "昨日好评量")
|
||||
private int lastPositiveReviewsNum;
|
||||
|
||||
/** 昨日五星量 */
|
||||
@ApiModelProperty(name = "昨日五星量")
|
||||
private int lastFiveStarReviewsNum;
|
||||
|
||||
/** 昨日回访量 */
|
||||
@ApiModelProperty(name = "昨日回访量")
|
||||
private int lastReturnVisitNum;
|
||||
|
||||
/** 昨日回访比50% */
|
||||
@ApiModelProperty(name = "昨日回访比50%")
|
||||
private String lastReturnVisitRate;
|
||||
|
||||
/** 今日回访量 */
|
||||
@ApiModelProperty(name = "今日回访量")
|
||||
private int todayReturnVisitNum;
|
||||
|
||||
/** 评分 */
|
||||
@Excel(name = "评分")
|
||||
private String score;
|
||||
|
||||
public RespBusStoreInfo() {
|
||||
|
||||
}
|
||||
|
|
|
@ -158,13 +158,13 @@
|
|||
<dict-tag :options="dict.type.sys_grant_status" :value="scope.row.grantStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="昨日单量" align="center" />
|
||||
<el-table-column label="昨日好评量" align="center" />
|
||||
<el-table-column label="昨日五星量" align="center" />
|
||||
<el-table-column label="昨日回访量" align="center" />
|
||||
<el-table-column label="昨日营销比(%)" align="center" :render-header="renderPrice"/>
|
||||
<el-table-column label="今日回访量" align="center" />
|
||||
<el-table-column label="评分" align="center" />
|
||||
<el-table-column label="昨日单量" prop="lastOrderNum" align="center" />
|
||||
<el-table-column label="昨日好评量" prop="lastPositiveReviewsNum" align="center" />
|
||||
<el-table-column label="昨日五星量" prop="lastFiveStarReviewsNum" align="center" />
|
||||
<el-table-column label="昨日回访量" prop="lastReturnVisitNum" align="center" />
|
||||
<el-table-column label="昨日营销比(%)" prop="lastReturnVisitRate" align="center" :render-header="renderPrice"/>
|
||||
<el-table-column label="今日回访量" prop="todayReturnVisitNum" align="center" />
|
||||
<el-table-column label="评分" prop="score" align="center" />
|
||||
<el-table-column label="归属" prop="saleBindId" align="center" :formatter="idToName"/>
|
||||
<el-table-column label="创建时间" align="center" prop="bindTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleUpdate"
|
||||
@click="handleAdd"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
|
@ -79,8 +79,8 @@
|
|||
<!-- 添加或修改角色配置对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="角色名称" prop="roleName">
|
||||
<el-input v-model="form.saleName" placeholder="请输入角色名称" />
|
||||
<el-form-item label="名称" prop="saleName">
|
||||
<el-input v-model="form.saleName" placeholder="请输入销售人名称" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
@ -167,14 +167,8 @@ export default {
|
|||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
roleName: [
|
||||
{ required: true, message: "角色名称不能为空", trigger: "blur" }
|
||||
],
|
||||
roleKey: [
|
||||
{ required: true, message: "权限字符不能为空", trigger: "blur" }
|
||||
],
|
||||
roleSort: [
|
||||
{ required: true, message: "角色顺序不能为空", trigger: "blur" }
|
||||
saleName: [
|
||||
{ required: true, message: "名称不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
@ -214,6 +208,12 @@ export default {
|
|||
this.openDataScope = false;
|
||||
this.reset();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.roleId)
|
||||
this.single = selection.length!=1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
if (this.$refs.menu != undefined) {
|
||||
|
@ -224,16 +224,9 @@ export default {
|
|||
this.deptExpand = true,
|
||||
this.deptNodeAll = false,
|
||||
this.form = {
|
||||
roleId: undefined,
|
||||
roleName: undefined,
|
||||
roleKey: undefined,
|
||||
roleSort: 0,
|
||||
status: "0",
|
||||
menuIds: [],
|
||||
deptIds: [],
|
||||
menuCheckStrictly: true,
|
||||
deptCheckStrictly: true,
|
||||
remark: undefined
|
||||
id: undefined,
|
||||
saleName: undefined,
|
||||
delStatus: "1"
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
|
@ -251,7 +244,6 @@ export default {
|
|||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.getMenuTreeselect();
|
||||
this.open = true;
|
||||
this.title = "添加销售人";
|
||||
},
|
||||
|
@ -267,9 +259,9 @@ export default {
|
|||
|
||||
/** 提交按钮 */
|
||||
submitForm: function() {
|
||||
this.form.delStatus = "1";
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.form.menuIds = this.getMenuAllCheckedKeys();
|
||||
saveOrUpdateSale(this.form).then(response => {
|
||||
this.$modal.msgSuccess("操作成功");
|
||||
this.open = false;
|
||||
|
@ -280,17 +272,23 @@ export default {
|
|||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const id = row.id ;
|
||||
this.$modal.confirm('是否确认删除角色编号为"' + id + '"的数据项?').then(function() {
|
||||
return saveOrUpdateSale(this.form);
|
||||
const data = {id: row.id,delStatus: 2}
|
||||
this.$modal.confirm('是否确认删除解绑编号为"' + row.id + '"的店铺?').then(function() {
|
||||
saveOrUpdateSale(data).then(response => {
|
||||
// this.$modal.msgSuccess("操作成功");
|
||||
// this.open = false;
|
||||
// this.getList();
|
||||
});
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
}).catch(function() {
|
||||
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/role/export', {
|
||||
this.download('business/sale/export', {
|
||||
...this.queryParams
|
||||
}, `role_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
|
|
|
@ -158,13 +158,13 @@
|
|||
<dict-tag :options="dict.type.sys_grant_status" :value="scope.row.grantStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="昨日单量" align="center" />
|
||||
<el-table-column label="昨日好评量" align="center" />
|
||||
<el-table-column label="昨日五星量" align="center" />
|
||||
<el-table-column label="昨日回访量" align="center" />
|
||||
<el-table-column label="昨日营销比(%)" align="center" :render-header="renderPrice"/>
|
||||
<el-table-column label="今日回访量" align="center" />
|
||||
<el-table-column label="评分" align="center" />
|
||||
<el-table-column label="昨日单量" prop="lastOrderNum" align="center" />
|
||||
<el-table-column label="昨日好评量" prop="lastPositiveReviewsNum" align="center" />
|
||||
<el-table-column label="昨日五星量" prop="lastFiveStarReviewsNum" align="center" />
|
||||
<el-table-column label="昨日回访量" prop="lastReturnVisitNum" align="center" />
|
||||
<el-table-column label="昨日营销比(%)" prop="lastReturnVisitRate" align="center" :render-header="renderPrice"/>
|
||||
<el-table-column label="今日回访量" prop="todayReturnVisitNum" align="center" />
|
||||
<el-table-column label="评分" prop="score" align="center" />
|
||||
<el-table-column label="归属" prop="saleBindId" align="center" :formatter="idToName"/>
|
||||
<el-table-column label="创建时间" align="center" prop="bindTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
|
|
|
@ -158,13 +158,13 @@
|
|||
<dict-tag :options="dict.type.sys_grant_status" :value="scope.row.grantStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="昨日单量" align="center" />
|
||||
<el-table-column label="昨日好评量" align="center" />
|
||||
<el-table-column label="昨日五星量" align="center" />
|
||||
<el-table-column label="昨日回访量" align="center" />
|
||||
<el-table-column label="昨日营销比(%)" align="center" :render-header="renderPrice"/>
|
||||
<el-table-column label="今日回访量" align="center" />
|
||||
<el-table-column label="评分" align="center" />
|
||||
<el-table-column label="昨日单量" prop="lastOrderNum" align="center" />
|
||||
<el-table-column label="昨日好评量" prop="lastPositiveReviewsNum" align="center" />
|
||||
<el-table-column label="昨日五星量" prop="lastFiveStarReviewsNum" align="center" />
|
||||
<el-table-column label="昨日回访量" prop="lastReturnVisitNum" align="center" />
|
||||
<el-table-column label="昨日营销比(%)" prop="lastReturnVisitRate" align="center" :render-header="renderPrice"/>
|
||||
<el-table-column label="今日回访量" prop="todayReturnVisitNum" align="center" />
|
||||
<el-table-column label="评分" prop="score" align="center" />
|
||||
<el-table-column label="归属" prop="saleBindId" align="center" :formatter="idToName"/>
|
||||
<el-table-column label="创建时间" align="center" prop="bindTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
|
|
Loading…
Reference in New Issue