Merge pull request 'demand: tms-提成管理-运单提成明细-批量重算-按单号/按月份重算-计算员工提成按岗位生成 tms-提成管理-提成统计-查询支持按岗位查询' (#273) from develop into master
Reviewed-on: http://git.xdadan.loc/tanex/emis-service/pulls/273
This commit is contained in:
commit
80386d22a2
@ -80,4 +80,7 @@ public class EmisCommissionProfit extends BaseEntity
|
|||||||
/* 结算类型 1-现金 2-月结 */
|
/* 结算类型 1-现金 2-月结 */
|
||||||
private String settleType;
|
private String settleType;
|
||||||
|
|
||||||
|
/* 岗位类型 */
|
||||||
|
private String postType;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
/**
|
/**
|
||||||
* @Project: emis
|
* @Project: emis
|
||||||
* @Title: EmisCommissionProfitMapper.java
|
* @Title: EmisCommissionProfitMapper.java
|
||||||
* @author linfso
|
* @author linfso
|
||||||
* @date 2024-10-24 01:46:35
|
* @date 2024-10-24 01:46:35
|
||||||
* @Copyright: ShangHai Doitinfo 2022 All rights reserved.
|
* @Copyright: ShangHai Doitinfo 2022 All rights reserved.
|
||||||
* @version v1.0
|
* @version v1.0
|
||||||
* @Description: <p> 员工提成表 Mapper 接口 </p>
|
* @Description: <p> 员工提成表 Mapper 接口 </p>
|
||||||
* <span style='color:red'> Warning : This file is generate by ai tools,don't edit!!! </span>
|
* <span style='color:red'> Warning : This file is generate by ai tools,don't edit!!! </span>
|
||||||
*/
|
*/
|
||||||
@ -26,14 +26,14 @@ public interface EmisCommissionProfitMapper extends BaseMapper<EmisCommissionPro
|
|||||||
/**
|
/**
|
||||||
* 主键查询
|
* 主键查询
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public EmisCommissionProfit selectEmisCommissionProfitById(Long id);
|
public EmisCommissionProfit selectEmisCommissionProfitById(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询列表
|
* 查询列表
|
||||||
*
|
*
|
||||||
* @param emisCommissionProfit
|
* @param emisCommissionProfit
|
||||||
* @return 集合
|
* @return 集合
|
||||||
*/
|
*/
|
||||||
public List<EmisCommissionProfit> selectEmisCommissionProfitList(EmisCommissionProfit emisCommissionProfit);
|
public List<EmisCommissionProfit> selectEmisCommissionProfitList(EmisCommissionProfit emisCommissionProfit);
|
||||||
@ -44,26 +44,26 @@ public interface EmisCommissionProfitMapper extends BaseMapper<EmisCommissionPro
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查是否重复
|
* 检查是否重复
|
||||||
*
|
*
|
||||||
* @param emisCommissionProfit
|
* @param emisCommissionProfit
|
||||||
* @return 数量
|
* @return 数量
|
||||||
*/
|
*/
|
||||||
public int checkUnique(EmisCommissionProfit emisCommissionProfit);
|
public int checkUnique(EmisCommissionProfit emisCommissionProfit);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增
|
* 新增
|
||||||
*
|
*
|
||||||
* @param emisCommissionProfit
|
* @param emisCommissionProfit
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public int insertEmisCommissionProfit(EmisCommissionProfit emisCommissionProfit);
|
public int insertEmisCommissionProfit(EmisCommissionProfit emisCommissionProfit);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改
|
* 修改
|
||||||
*
|
*
|
||||||
* @param emisCommissionProfit
|
* @param emisCommissionProfit
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public int updateEmisCommissionProfit(EmisCommissionProfit emisCommissionProfit);
|
public int updateEmisCommissionProfit(EmisCommissionProfit emisCommissionProfit);
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ public interface EmisCommissionProfitMapper extends BaseMapper<EmisCommissionPro
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除
|
* 删除
|
||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -84,9 +84,11 @@ public interface EmisCommissionProfitMapper extends BaseMapper<EmisCommissionPro
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除
|
* 批量删除
|
||||||
*
|
*
|
||||||
* @param ids 需要删除的数据主键集合
|
* @param ids 需要删除的数据主键集合
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteEmisCommissionProfitByIds(Long[] ids);
|
public int deleteEmisCommissionProfitByIds(Long[] ids);
|
||||||
|
|
||||||
|
void deleteEmpty();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -459,7 +459,10 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
|
|||||||
boolean found = false;
|
boolean found = false;
|
||||||
for(EmisCommissionProfit newProfit : listProfit) {
|
for(EmisCommissionProfit newProfit : listProfit) {
|
||||||
if(existingProfit.getEmpName().equals(newProfit.getEmpName())
|
if(existingProfit.getEmpName().equals(newProfit.getEmpName())
|
||||||
&& existingProfit.getBillMonth().equals(newProfit.getBillMonth())) {
|
&& existingProfit.getBillMonth().equals(newProfit.getBillMonth())
|
||||||
|
&& StringUtils.equals(
|
||||||
|
StringUtils.isEmpty(existingProfit.getPostType()) ? "" : existingProfit.getPostType(),
|
||||||
|
StringUtils.isEmpty(newProfit.getPostType()) ? "" : newProfit.getPostType())) {
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -469,6 +472,7 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
|
|||||||
EmisCommissionProfit zeroProfit = new EmisCommissionProfit();
|
EmisCommissionProfit zeroProfit = new EmisCommissionProfit();
|
||||||
zeroProfit.setEmpName(existingProfit.getEmpName());
|
zeroProfit.setEmpName(existingProfit.getEmpName());
|
||||||
zeroProfit.setBillMonth(existingProfit.getBillMonth());
|
zeroProfit.setBillMonth(existingProfit.getBillMonth());
|
||||||
|
zeroProfit.setPostType(existingProfit.getPostType());
|
||||||
zeroProfit.setMoney(BigDecimal.ZERO);
|
zeroProfit.setMoney(BigDecimal.ZERO);
|
||||||
zeroProfit.setMonthMoney(BigDecimal.ZERO);
|
zeroProfit.setMonthMoney(BigDecimal.ZERO);
|
||||||
listProfit.add(zeroProfit);
|
listProfit.add(zeroProfit);
|
||||||
@ -487,6 +491,7 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
|
|||||||
emisCommissionProfitMapper.insertEmisCommissionProfit(profitItem);
|
emisCommissionProfitMapper.insertEmisCommissionProfit(profitItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
emisCommissionProfitMapper.deleteEmpty();
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
redissonService.unlock(lockKey);
|
redissonService.unlock(lockKey);
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
|
|||||||
@ -24,25 +24,66 @@
|
|||||||
<result property="confirmSiteManCode" column="confirm_site_man_code" />
|
<result property="confirmSiteManCode" column="confirm_site_man_code" />
|
||||||
<result property="confirmSiteNote" column="confirm_site_note" />
|
<result property="confirmSiteNote" column="confirm_site_note" />
|
||||||
<result property="confirmSiteCode" column="confirm_site_code" />
|
<result property="confirmSiteCode" column="confirm_site_code" />
|
||||||
|
<result property="postType" column="post_type" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectEmisCommissionProfitVo">
|
<sql id="selectEmisCommissionProfitVo">
|
||||||
select id, profit_no, emp_code, emp_name, bill_month, money,month_money, real_money, payed_money, bl_confirm_center, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_commission_profit
|
select id, profit_no, emp_code, emp_name, bill_month, money,month_money, real_money, payed_money, bl_confirm_center, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, post_type, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_commission_profit
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectProfitStatList" parameterType="String" resultMap="EmisCommissionProfitResult">
|
<select id="selectProfitStatList" parameterType="String" resultMap="EmisCommissionProfitResult">
|
||||||
select emp_name ,bill_month,
|
select
|
||||||
sum(if(b.payment_type in(1,3,6),money,0) ) as money,
|
t.emp_name,
|
||||||
sum(if(b.payment_type in(2,4,5),money,0) ) as month_money
|
t.bill_month,
|
||||||
from emis_commission_dtl a,emis_waybill b
|
sum(if(t.payment_type in(1,3,6),t.money,0)) as money,
|
||||||
where a.del_flag='0' and a.bill_code=b.bill_code
|
sum(if(t.payment_type in(2,4,5),t.money,0)) as month_money,
|
||||||
<if test="empName != null and empName != ''">
|
t.post_type
|
||||||
and a.emp_name = #{empName}
|
from (
|
||||||
</if>
|
select
|
||||||
<if test="billMonth != null and billMonth != ''">
|
a.emp_name,
|
||||||
and a.bill_month=#{billMonth}
|
a.bill_month,
|
||||||
</if>
|
a.money,
|
||||||
group by a.emp_name,a.bill_month
|
b.payment_type,
|
||||||
|
CASE
|
||||||
|
WHEN c.post_type = '6' THEN
|
||||||
|
CASE
|
||||||
|
WHEN EXISTS (
|
||||||
|
SELECT 1 FROM emis_sales_commission_ratio r
|
||||||
|
WHERE r.del_flag='0'
|
||||||
|
AND r.salesmen = a.emp_name
|
||||||
|
AND r.status = '1'
|
||||||
|
LIMIT 1
|
||||||
|
) THEN '6'
|
||||||
|
WHEN EXISTS (
|
||||||
|
SELECT 1 FROM emis_sales_commission_ratio r
|
||||||
|
WHERE r.del_flag='0'
|
||||||
|
AND r.sales_executive = a.emp_name
|
||||||
|
AND r.status = '1'
|
||||||
|
LIMIT 1
|
||||||
|
) THEN '9'
|
||||||
|
WHEN EXISTS (
|
||||||
|
SELECT 1 FROM emis_sales_commission_ratio r
|
||||||
|
WHERE r.del_flag='0'
|
||||||
|
AND r.sales_support = a.emp_name
|
||||||
|
AND r.status = '1'
|
||||||
|
LIMIT 1
|
||||||
|
) THEN '10'
|
||||||
|
ELSE '6'
|
||||||
|
END
|
||||||
|
ELSE COALESCE(c.post_type, '6')
|
||||||
|
END as post_type
|
||||||
|
from emis_commission_dtl a
|
||||||
|
inner join emis_waybill b on a.bill_code = b.bill_code
|
||||||
|
left join emis_commission_quote c on a.quote_id = c.quote_id and c.del_flag='0'
|
||||||
|
where a.del_flag='0'
|
||||||
|
<if test="empName != null and empName != ''">
|
||||||
|
and a.emp_name = #{empName}
|
||||||
|
</if>
|
||||||
|
<if test="billMonth != null and billMonth != ''">
|
||||||
|
and a.bill_month=#{billMonth}
|
||||||
|
</if>
|
||||||
|
) t
|
||||||
|
group by t.emp_name, t.bill_month, t.post_type
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
@ -55,6 +96,7 @@
|
|||||||
<if test="empCode != null and empCode != ''"> and emp_code like concat('%', #{empCode}, '%')</if>
|
<if test="empCode != null and empCode != ''"> and emp_code like concat('%', #{empCode}, '%')</if>
|
||||||
<if test="empName != null and empName != ''"> and emp_name=#{empName}</if>
|
<if test="empName != null and empName != ''"> and emp_name=#{empName}</if>
|
||||||
<if test="billMonth != null and billMonth != ''"> and bill_month=#{billMonth}</if>
|
<if test="billMonth != null and billMonth != ''"> and bill_month=#{billMonth}</if>
|
||||||
|
<if test="postType != null and postType != ''"> and post_type=#{postType}</if>
|
||||||
<if test="money != null "> and money = #{money}</if>
|
<if test="money != null "> and money = #{money}</if>
|
||||||
<if test="realMoney != null "> and real_money = #{realMoney}</if>
|
<if test="realMoney != null "> and real_money = #{realMoney}</if>
|
||||||
<if test="payedMoney != null "> and payed_money = #{payedMoney}</if>
|
<if test="payedMoney != null "> and payed_money = #{payedMoney}</if>
|
||||||
@ -85,11 +127,17 @@
|
|||||||
where del_flag='0'
|
where del_flag='0'
|
||||||
and emp_name = #{empName}
|
and emp_name = #{empName}
|
||||||
and bill_month = #{billMonth}
|
and bill_month = #{billMonth}
|
||||||
|
<if test="postType != null and postType != ''">
|
||||||
|
and post_type = #{postType}
|
||||||
|
</if>
|
||||||
|
<if test="postType == null or postType == ''">
|
||||||
|
and (post_type is null or post_type = '')
|
||||||
|
</if>
|
||||||
limit 1
|
limit 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectEmisCommissionProfitById" parameterType="Long" resultMap="EmisCommissionProfitResult">
|
<select id="selectEmisCommissionProfitById" parameterType="Long" resultMap="EmisCommissionProfitResult">
|
||||||
select id, profit_no, emp_code, emp_name, bill_month, money, monthMoney,real_money, payed_money, bl_confirm_center, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
|
select id, profit_no, emp_code, emp_name, bill_month, money, month_money, real_money, payed_money, bl_confirm_center, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, post_type, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
|
||||||
from emis_commission_profit a
|
from emis_commission_profit a
|
||||||
where a.id = #{id}
|
where a.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
@ -116,6 +164,7 @@
|
|||||||
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">confirm_site_man_code,</if>
|
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">confirm_site_man_code,</if>
|
||||||
<if test="confirmSiteNote != null and confirmSiteNote != ''">confirm_site_note,</if>
|
<if test="confirmSiteNote != null and confirmSiteNote != ''">confirm_site_note,</if>
|
||||||
<if test="confirmSiteCode != null and confirmSiteCode != ''">confirm_site_code,</if>
|
<if test="confirmSiteCode != null and confirmSiteCode != ''">confirm_site_code,</if>
|
||||||
|
<if test="postType != null and postType != ''">post_type,</if>
|
||||||
<if test="remark != null and remark != ''">remark,</if>
|
<if test="remark != null and remark != ''">remark,</if>
|
||||||
<if test="delFlag != null and delFlag != ''">del_flag,</if>
|
<if test="delFlag != null and delFlag != ''">del_flag,</if>
|
||||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||||
@ -145,6 +194,7 @@
|
|||||||
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">#{confirmSiteManCode},</if>
|
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">#{confirmSiteManCode},</if>
|
||||||
<if test="confirmSiteNote != null and confirmSiteNote != ''">#{confirmSiteNote},</if>
|
<if test="confirmSiteNote != null and confirmSiteNote != ''">#{confirmSiteNote},</if>
|
||||||
<if test="confirmSiteCode != null and confirmSiteCode != ''">#{confirmSiteCode},</if>
|
<if test="confirmSiteCode != null and confirmSiteCode != ''">#{confirmSiteCode},</if>
|
||||||
|
<if test="postType != null and postType != ''">#{postType},</if>
|
||||||
<if test="remark != null and remark != ''">#{remark},</if>
|
<if test="remark != null and remark != ''">#{remark},</if>
|
||||||
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
|
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
|
||||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||||
@ -176,6 +226,7 @@
|
|||||||
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">confirm_site_man_code = #{confirmSiteManCode},</if>
|
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">confirm_site_man_code = #{confirmSiteManCode},</if>
|
||||||
<if test="confirmSiteNote != null and confirmSiteNote != ''">confirm_site_note = #{confirmSiteNote},</if>
|
<if test="confirmSiteNote != null and confirmSiteNote != ''">confirm_site_note = #{confirmSiteNote},</if>
|
||||||
<if test="confirmSiteCode != null and confirmSiteCode != ''">confirm_site_code = #{confirmSiteCode},</if>
|
<if test="confirmSiteCode != null and confirmSiteCode != ''">confirm_site_code = #{confirmSiteCode},</if>
|
||||||
|
<if test="postType != null and postType != ''">post_type = #{postType},</if>
|
||||||
<if test="remark != null and remark != ''">remark = #{remark},</if>
|
<if test="remark != null and remark != ''">remark = #{remark},</if>
|
||||||
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
|
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
|
||||||
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
|
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
|
||||||
@ -189,7 +240,14 @@
|
|||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateProfitMoney" parameterType="EmisCommissionProfit">
|
<update id="updateProfitMoney" parameterType="EmisCommissionProfit">
|
||||||
update emis_commission_profit set money = #{money},month_money = #{monthMoney} where emp_name = #{empName} and bill_month = #{billMonth}
|
update emis_commission_profit set money = #{money},month_money = #{monthMoney}
|
||||||
|
where emp_name = #{empName} and bill_month = #{billMonth}
|
||||||
|
<if test="postType != null and postType != ''">
|
||||||
|
and post_type = #{postType}
|
||||||
|
</if>
|
||||||
|
<if test="postType == null or postType == ''">
|
||||||
|
and (post_type is null or post_type = '')
|
||||||
|
</if>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<delete id="deleteEmisCommissionProfitById" parameterType="Long">
|
<delete id="deleteEmisCommissionProfitById" parameterType="Long">
|
||||||
@ -202,4 +260,12 @@
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
</mapper>
|
|
||||||
|
<delete id="deleteEmpty" parameterType="String">
|
||||||
|
update emis_commission_profit
|
||||||
|
set del_flag='1'
|
||||||
|
where money = 0
|
||||||
|
and month_money = 0
|
||||||
|
and del_flag = '0'
|
||||||
|
</delete>
|
||||||
|
</mapper>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user