修改单用户多岗位
This commit is contained in:
parent
d7eafa1d92
commit
0ed60fb059
@ -68,8 +68,10 @@ public class SysCommisionController extends BaseController {
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('commision:config:query')")
|
||||
@GetMapping(value = "/{ruleId}")
|
||||
public AjaxResult getInfo(@PathVariable("ruleId") Long ruleId) {
|
||||
return AjaxResult.success(sysCommisionService.selectSysCommisionById(ruleId));
|
||||
public AjaxResult getInfo(@PathVariable("ruleId") Long ruleId, SysCommision sysCommision) {
|
||||
sysCommision.setRuleId(ruleId);
|
||||
System.out.println(sysCommision);
|
||||
return AjaxResult.success(sysCommisionService.selectSysCommisionById(sysCommision));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -119,6 +121,7 @@ public class SysCommisionController extends BaseController {
|
||||
detail.setRate(0F);
|
||||
SysCommision tmpQueryCom = new SysCommision();
|
||||
tmpQueryCom.setUserId(detail.getUserId());
|
||||
tmpQueryCom.setPostId(detail.getPostId());
|
||||
List<SysCommision> tmpComList = sysCommisionService.selectSysCommisionList(tmpQueryCom);
|
||||
|
||||
float dAmount = detail.getAmount().floatValue();
|
||||
|
@ -14,10 +14,10 @@ public interface SysCommisionMapper
|
||||
/**
|
||||
* 查询业务提成比例
|
||||
*
|
||||
* @param ruleId 业务提成比例ID
|
||||
* @param sysCommision 业务提成比例ID
|
||||
* @return 业务提成比例
|
||||
*/
|
||||
public SysCommision selectSysCommisionById(Long ruleId);
|
||||
public SysCommision selectSysCommisionById(SysCommision sysCommision);
|
||||
|
||||
/**
|
||||
* 查询业务提成比例列表
|
||||
|
@ -17,7 +17,7 @@ public interface ISysCommisionService
|
||||
* @param ruleId 业务提成比例ID
|
||||
* @return 业务提成比例
|
||||
*/
|
||||
public SysCommision selectSysCommisionById(Long ruleId);
|
||||
public SysCommision selectSysCommisionById(SysCommision sysCommision);
|
||||
|
||||
/**
|
||||
* 查询业务提成比例列表
|
||||
|
@ -27,9 +27,9 @@ public class SysCommisionServiceImpl implements ISysCommisionService
|
||||
* @return 业务提成比例
|
||||
*/
|
||||
@Override
|
||||
public SysCommision selectSysCommisionById(Long ruleId)
|
||||
public SysCommision selectSysCommisionById(SysCommision sysCommision)
|
||||
{
|
||||
return sysCommisionMapper.selectSysCommisionById(ruleId);
|
||||
return sysCommisionMapper.selectSysCommisionById(sysCommision);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -29,12 +29,16 @@
|
||||
</resultMap>
|
||||
|
||||
<sql id="groupAmountVo">
|
||||
SELECT ${column} AS user_id, SUM(amount) AS amount
|
||||
SELECT ${column} AS user_id, ${postId} AS post_id, SUM(amount) AS amount
|
||||
FROM sys_order
|
||||
WHERE ${column} IS NOT NULL
|
||||
WHERE ${column} IS NOT NULL AND ${column} <> 0
|
||||
AND review_status = 'yes'
|
||||
<if test="beginTime != null and beginTime != ''"> AND date_format(order_time,'%y%m%d') >= date_format(${beginTime},'%y%m%d')</if>
|
||||
<if test="endTime != null and endTime != ''">AND date_format(order_time,'%y%m%d') <= date_format(${endTime},'%y%m%d')</if>
|
||||
<if test="beginTime != null and beginTime != ''">AND date_format(order_time,'%y%m%d') >=
|
||||
date_format(${beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">AND date_format(order_time,'%y%m%d') <=
|
||||
date_format(${endTime},'%y%m%d')
|
||||
</if>
|
||||
GROUP BY ${column}
|
||||
</sql>
|
||||
|
||||
@ -45,50 +49,58 @@
|
||||
<property name="column" value="pre_sale_id"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="5"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="after_sale_id"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="6"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="nutritionist_id"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="9"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="nutri_assis_id"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="10"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="operator_id"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="11"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="operator_assis_id"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="13"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="planner_id"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="7"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="planner_assis_id"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="8"/>
|
||||
</include>
|
||||
) AS a USING(user_id)
|
||||
) AS a USING(user_id, post_id)
|
||||
<where>
|
||||
<if test="postId != null and postId != ''">and post_id = #{postId}</if>
|
||||
<if test="userId != null and userId != ''">and user_id = #{userId}</if>
|
||||
@ -97,24 +109,29 @@
|
||||
|
||||
<sql id="selectSysCommisionVo">
|
||||
SELECT * FROM (
|
||||
SELECT * FROM view_user_post AS pa
|
||||
JOIN (SELECT * FROM sys_commision WHERE rate > 0) AS c USING(user_id)
|
||||
SELECT * FROM sys_commision c
|
||||
JOIN (SELECT user_id, nick_name AS user_name FROM sys_user) AS u USING(user_id)
|
||||
JOIN (SELECT post_id, post_name FROM sys_post) AS p USING(post_id)
|
||||
<if test="postId != null">WHERE post_id = ${postId}</if>
|
||||
ORDER BY user_id, amount
|
||||
) as t
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="selectSysCommisionList" parameterType="SysCommision" resultMap="SysCommisionResult">
|
||||
<include refid="selectSysCommisionVo"/>
|
||||
<include refid="selectSysCommisionVo">
|
||||
<property name="postId" value="#{postId}"/>
|
||||
</include>
|
||||
<where>
|
||||
<if test="userId != null ">and user_id = #{userId}</if>
|
||||
<if test="postId != null ">and post_id = #{postId}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectSysCommisionById" parameterType="Long" resultMap="SysCommisionResult">
|
||||
<include refid="selectSysCommisionVo"/>
|
||||
<select id="selectSysCommisionById" parameterType="SysCommision" resultMap="SysCommisionResult">
|
||||
<include refid="selectSysCommisionVo">
|
||||
<property name="postId" value="#{postId}"/>
|
||||
</include>
|
||||
where rule_id = #{ruleId}
|
||||
</select>
|
||||
|
||||
@ -122,6 +139,7 @@
|
||||
insert into sys_commision
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="userId != null">user_id,</if>
|
||||
<if test="postId != null">post_id,</if>
|
||||
<if test="amount != null">amount,</if>
|
||||
<if test="rate != null">rate,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
@ -132,6 +150,7 @@
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="userId != null">#{userId},</if>
|
||||
<if test="postId != null">#{postId},</if>
|
||||
<if test="amount != null">#{amount},</if>
|
||||
<if test="rate != null">#{rate},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
@ -146,6 +165,7 @@
|
||||
update sys_commision
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="userId != null">user_id = #{userId},</if>
|
||||
<if test="postId != null">post_id = #{postId},</if>
|
||||
<if test="amount != null">amount = #{amount},</if>
|
||||
<if test="rate != null">rate = #{rate},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
|
@ -28,7 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="postId" column="post_id" />
|
||||
<!-- <result property="postId" column="post_id" />-->
|
||||
<result property="postName" column="post_name" />
|
||||
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" />
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
|
||||
@ -53,9 +53,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<select id="selectAllUser" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
where u.del_flag = '0'
|
||||
-- select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
-- left join sys_dept d on u.dept_id = d.dept_id
|
||||
-- where u.del_flag = '0'
|
||||
SELECT * FROM sys_user
|
||||
JOIN (SELECT dept_id, dept_name, leader FROM sys_dept) AS d USING(dept_id)
|
||||
WHERE del_flag = '0'
|
||||
</select>
|
||||
|
||||
<select id="selectSalesman" parameterType="CusSalesman" resultMap="CusSalesmanResult">
|
||||
@ -63,40 +66,60 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</select>
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
|
||||
d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
|
||||
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status, p.post_id, p.post_name
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
left join sys_user_post up on up.user_id = u.user_id
|
||||
left join sys_post p on p.post_id = up.post_id
|
||||
-- select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
|
||||
-- d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
|
||||
-- r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status, p.post_id, p.post_name
|
||||
-- from sys_user u
|
||||
-- left join sys_dept d on u.dept_id = d.dept_id
|
||||
-- left join sys_user_role ur on u.user_id = ur.user_id
|
||||
-- left join sys_role r on r.role_id = ur.role_id
|
||||
-- left join sys_user_post up on up.user_id = u.user_id
|
||||
-- left join sys_post p on p.post_id = up.post_id
|
||||
SELECT * FROM sys_user
|
||||
JOIN (SELECT dept_id, dept_name, parent_id, order_num, leader, status as dept_status FROM sys_dept) AS d USING(dept_id)
|
||||
JOIN (SELECT * FROM sys_user_role) AS ur USING(user_id)
|
||||
JOIN (SELECT role_id, role_name, role_key, role_sort, data_scope, status AS role_status FROM sys_role) AS r USING(role_id)
|
||||
JOIN (
|
||||
SELECT user_id, GROUP_CONCAT(post_name SEPARATOR ',') AS post_name, GROUP_CONCAT(post_id SEPARATOR ',') AS post_id
|
||||
FROM (
|
||||
SELECT * FROM sys_user_post
|
||||
JOIN (SELECT post_id, post_name FROM sys_post) AS p USING(post_id)
|
||||
) AS up GROUP BY user_id
|
||||
) AS ups USING(user_id)
|
||||
</sql>
|
||||
|
||||
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader, p.post_id, p.post_name from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_post up on up.user_id = u.user_id
|
||||
left join sys_post p on p.post_id = up.post_id
|
||||
where u.del_flag = '0'
|
||||
-- select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader, p.post_id, p.post_name from sys_user u
|
||||
-- left join sys_dept d on u.dept_id = d.dept_id
|
||||
-- left join sys_user_post up on up.user_id = u.user_id
|
||||
-- left join sys_post p on p.post_id = up.post_id
|
||||
-- where u.del_flag = '0'
|
||||
SELECT * FROM sys_user
|
||||
JOIN (SELECT dept_id, dept_name FROM sys_dept) AS d USING(dept_id)
|
||||
JOIN (
|
||||
SELECT user_id, GROUP_CONCAT(post_name SEPARATOR ',') AS post_name, GROUP_CONCAT(post_id SEPARATOR ',') AS post_id
|
||||
FROM (
|
||||
SELECT * FROM sys_user_post
|
||||
JOIN (SELECT post_id, post_name FROM sys_post) AS p USING(post_id)
|
||||
) AS up GROUP BY user_id ) AS ups USING(user_id)
|
||||
WHERE del_flag = '0'
|
||||
<if test="userName != null and userName != ''">
|
||||
AND u.user_name like concat('%', #{userName}, '%')
|
||||
AND user_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND u.status = #{status}
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">
|
||||
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
||||
AND phonenumber like concat('%', #{phonenumber}, '%')
|
||||
</if>
|
||||
<if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 -->
|
||||
AND date_format(u.create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d')
|
||||
AND date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
|
||||
AND date_format(u.create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
|
||||
AND date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="deptId != null and deptId != 0">
|
||||
AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
|
||||
AND (dept_id = #{deptId} OR dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
@ -104,12 +127,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_name = #{userName}
|
||||
where user_name = #{userName}
|
||||
</select>
|
||||
|
||||
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_id = #{userId}
|
||||
where user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="checkUserNameUnique" parameterType="String" resultType="int">
|
||||
|
@ -19,10 +19,11 @@ export function detailCommision(query) {
|
||||
}
|
||||
|
||||
// 查询业务提成比例详细
|
||||
export function getCommision(ruleId) {
|
||||
export function getCommision(ruleId, postId) {
|
||||
return request({
|
||||
url: '/custom/commision/' + ruleId,
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
params: {postId}
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -274,7 +274,7 @@
|
||||
listCommision(this.queryParams).then(response => {
|
||||
this.commisionList = response.rows.reduce((arr, cur, idx, oriArr) => {
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
if (arr[i].some(e => e.userId === cur.userId)) {
|
||||
if (arr[i].some(e => e.userId === cur.userId && e.postId === cur.postId)) {
|
||||
arr[i].push(cur);
|
||||
break;
|
||||
} else if (i === arr.length - 1) {
|
||||
@ -370,7 +370,7 @@
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const ruleId = row.ruleId || this.ids
|
||||
getCommision(ruleId).then(response => {
|
||||
getCommision(ruleId, row.postId).then(response => {
|
||||
this.form = response.data;
|
||||
this.userIdOptions = this.options[this.form.postId];
|
||||
this.open = true;
|
||||
|
@ -164,7 +164,7 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="岗位">
|
||||
<el-select v-model="form.postId" placeholder="请选择">
|
||||
<el-select v-model="form.postIds" multiple placeholder="请选择">
|
||||
<el-option v-for="item in postOptions"
|
||||
:key="item.postId"
|
||||
:label="item.postName"
|
||||
@ -509,7 +509,7 @@
|
||||
submitForm: function () {
|
||||
this.$refs["form"].validate((valid) => {
|
||||
if (valid) {
|
||||
this.form.postId && (this.form.postIds = [this.form.postId]);
|
||||
// this.form.postId && (this.form.postIds = [this.form.postId]);
|
||||
this.form.roleId && (this.form.roleIds = [this.form.roleId]);
|
||||
// console.log(this.form)
|
||||
if (this.form.userId != undefined) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user