From 522f32b832e47a1e0cb01b0b495d16ada34366a6 Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Sat, 16 Jan 2021 15:00:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/api' into api
---
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 1
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml | 3 +
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 2
zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java | 30 +++------
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 41 ++++++++++++-
zq-erp/src/main/java/com/matrix/system/app/vo/UserAchieveVo.java | 6 +-
zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java | 2
zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java | 10 +++
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 31 +++++----
9 files changed, 84 insertions(+), 42 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
index 9389cc0..bdae1a1 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
@@ -45,15 +45,11 @@
})
@PostMapping(value = "/findStaffAchieveRanking")
public AjaxResult findStaffAchieveRanking(@RequestBody RankingDto rankingDto) {
- SysOrder sysOrder = new SysOrder();
- if (DataAuthUtil.hasAllShopAuth()) {
- QueryUtil.setQueryLimitCom(sysOrder);
- } else {
- QueryUtil.setQueryLimit(sysOrder);
- }
- sysOrder.setOrderTime(new Date());
- sysOrder.setType(rankingDto.getType());
- return AjaxResult.buildSuccessInstance(sysOrderService.findStaffSaleAchieveRanking(sysOrder));
+ AchieveNew achieveNew = new AchieveNew();
+ QueryUtil.setQueryLimitCom(achieveNew);
+ achieveNew.setType(rankingDto.getType());
+ achieveNew.setDatatime(new Date());
+ return AjaxResult.buildSuccessInstance(achieveNewDao.selectStaffSaleAchieveRanking(achieveNew));
}
@ApiOperation(value = "门店业绩排行榜", notes = "门店业绩排行榜")
@@ -64,11 +60,11 @@
public AjaxResult findShopAchieveRanking(@RequestBody RankingDto rankingDto) {
AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("");
if (RankingDto.SALE.equals(rankingDto.getDataType())) {
- SysOrder sysOrder = new SysOrder();
- QueryUtil.setQueryLimitCom(sysOrder);
- sysOrder.setType(rankingDto.getType());
- sysOrder.setOrderTime(new Date());
- List<RankingVo> list = sysOrderService.findApiShopAchieveRanking(sysOrder);
+ AchieveNew achieveNew = new AchieveNew();
+ QueryUtil.setQueryLimitCom(achieveNew);
+ achieveNew.setType(rankingDto.getType());
+ achieveNew.setDatatime(new Date());
+ List<RankingVo> list = achieveNewDao.selectStaffSaleAchieveRanking(achieveNew);
ajaxResult.setRows(list);
} else {
AchieveNew achieveNew = new AchieveNew();
@@ -88,11 +84,7 @@
@PostMapping(value = "/findBeauticianAchieveRanking")
public AjaxResult findBeauticianAchieveRanking(@RequestBody RankingDto rankingDto) {
AchieveNew achieveNew = new AchieveNew();
- if (DataAuthUtil.hasAllShopAuth()) {
- QueryUtil.setQueryLimitCom(achieveNew);
- } else {
- QueryUtil.setQueryLimit(achieveNew);
- }
+ QueryUtil.setQueryLimitCom(achieveNew);
achieveNew.setDatatime(new Date());
achieveNew.setT1(rankingDto.getType());
return AjaxResult.buildSuccessInstance(achieveNewDao.selectBeauticianConsumeAchieveRanking(achieveNew));
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/UserAchieveVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/UserAchieveVo.java
index 0c98178..216c609 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/UserAchieveVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/UserAchieveVo.java
@@ -15,13 +15,13 @@
@ApiModelProperty(value = "用户ID")
private Long id;
- @ApiModelProperty(value = "订单业绩")
+ @ApiModelProperty(value = "现金业绩")
private BigDecimal orderCash;
- @ApiModelProperty(value = "现金业绩")
+ @ApiModelProperty(value = "划扣业绩")
private BigDecimal cash;
- @ApiModelProperty(value = "划扣业绩")
+ @ApiModelProperty(value = "业绩提成")
private BigDecimal cardUse;
@ApiModelProperty(value = "本金消耗")
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java
index adafea6..6a5a4f5 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java
@@ -261,6 +261,16 @@
private String goodsName;
+ private String type;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
public String getGoodsNo() {
return goodsNo;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
index 5c5c3ec..90d9a2e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
@@ -69,4 +69,6 @@
List<RankingVo> selectBeauticianConsumeAchieveRanking(@Param("record") AchieveNew achieveNew);
List<AchieveNew> selectOrderItemAchieveByOrderId(Long orderId);
+
+ List<RankingVo> selectStaffSaleAchieveRanking(@Param("record") AchieveNew achieveNew);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
index 23cfd15..6e0e060 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -142,5 +142,4 @@
List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder);
- List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 41b857e..849966a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -167,6 +167,10 @@
@Override
public SysOrder checkAndSaveOrder(SysOrder sysOrder) {
// 收款改变订单状态
+ SysOrder source = null;
+ if (sysOrder.getId() != null) {
+ source = sysOrderDao.selectById(sysOrder.getId());
+ }
// 计算订单折扣金额,收款情况下 计算订单总额
double zkTotal = 0.0;
@@ -203,8 +207,8 @@
SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
sysOrder.setZkTotal(zkTotal);
sysOrder.setStatu(orderStatus);
- sysOrder.setStaffId(user.getSuId());
- sysOrder.setCompanyId(user.getCompanyId());
+ sysOrder.setStaffId(source != null ? source.getStaffId() : user.getSuId());
+ sysOrder.setCompanyId(source != null ? source.getCompanyId() : user.getCompanyId());
sysOrder.setPayTime(new Date());
if(sysOrder.getId()==null){
@@ -221,11 +225,16 @@
sysOrder.getItems().forEach(sysOrderItem -> {
sysOrderItem.setOrderId(sysOrder.getId());
- // 取负数
- sysOrderItem.setCount(-sysOrderItem.getCount());
- orderItemDao.insert(sysOrderItem);
- // 调整回来
- sysOrderItem.setCount(-sysOrderItem.getCount());
+ if (sysOrder.getStatu().equals(Dictionary.ORDER_STATU_TK)) {
+ // 取负数
+ sysOrderItem.setCount(-sysOrderItem.getCount());
+ orderItemDao.insert(sysOrderItem);
+ // 调整回来
+ sysOrderItem.setCount(-sysOrderItem.getCount());
+ } else {
+ orderItemDao.insert(sysOrderItem);
+ }
+
});
return sysOrder;
@@ -565,8 +574,7 @@
Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId());
buyNum = (buyNum == null ? 0 : buyNum);
if ((buyNum + carItem.getCount()) > maxNum) {
-
- throw new GlobleException(shopGoods.getName() + "已超过最大销售数量,还剩【" + (maxNum - buyNum) + "】件");
+ throw new GlobleException(shopGoods.getName() + "已超过最大销售数量");
}
if ((buyNum + carItem.getCount()) == maxNum) {
if (!shopGoods.getStaus().equals(Dictionary.BUSINESS_STATE_DOWN)) {
@@ -1243,11 +1251,6 @@
@Override
public List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder) {
return sysOrderDao.selectShopAchieveRanking(sysOrder);
- }
-
- @Override
- public List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder) {
- return sysOrderDao.selectStaffSaleAchieveRanking(sysOrder);
}
@Transactional(rollbackFor = Exception.class)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
index 137935c..2860589 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -17,6 +17,7 @@
import com.matrix.system.common.tools.ServiceUtil;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.constance.TableMapping;
+import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.plugin.util.CollectionUtils;
@@ -425,6 +426,7 @@
if (!DataAuthUtil.hasAllShopAuth()) {
vipInfoListDto.setShopId(sysUsers.getShopId());
}
+ QueryUtil.setQueryLimitCom(sysUsers.getCompanyId());
return sysVipInfoDao.selectVipAddressBookByList(vipInfoListDto);
}
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
index d1e4b85..24f299d 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -940,15 +940,15 @@
<select id="selectUserAchieveByTime" resultType="com.matrix.system.app.vo.UserAchieveVo">
select
sale_id id,
- sum(IFNULL(proj_cash,0) + IFNULL(goods_cash,0) + IFNULL(card_cash,0) + IFNULL(consume, 0) + IFNULL(b.arrears, 0)) orderCash,
- sum(IFNULL(proj_cash,0) + IFNULL(goods_cash,0) + IFNULL(card_cash,0) + IFNULL(b.arrears, 0)) cash,
- sum(IFNULL(consume, 0)) cardUse,
+ sum(case t3 when '现金业绩' then card_cash else 0 end) orderCash,
+ sum(case t3 when '划扣业绩' then card_cash else 0 end) cash,
+ sum(IFNULL(proj_percentage, 0)) cardUse,
sum(IFNULL(his_consume, 0)) hisConsume,
sum(IFNULL(free_consume, 0)) freeConsume,
sum(IFNULL(proj_percentage, 0)) projCommission
from achieve_new a
- left join sys_order b on a.sale_id=b.STAFF_ID and (date_format(b.ORDER_TIME, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(b.ORDER_TIME, '%Y-%m-%d'))
- where sale_id=#{userId}
+ left join sys_order b on a.beault_id=b.STAFF_ID and (date_format(b.ORDER_TIME, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(b.ORDER_TIME, '%Y-%m-%d'))
+ where a.beault_id=#{userId}
and (date_format(datatime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(datatime, '%Y-%m-%d'))
</select>
@@ -1030,4 +1030,35 @@
left join sys_order_item d on a.order_item_id=d.id
where a.order_id=#{orderId}
</select>
+
+ <select id="selectStaffSaleAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.su_name name,
+ b.su_id id,
+ b.su_photo photo,
+ sum(ifnull(card_cash,0)) amount,
+ c.shop_short_name shopName
+ from achieve_new a
+ inner join sys_users b on a.beault_id=b.su_id
+ inner join sys_shop_info c on a.SHOP_ID=c.ID
+ <where>
+ <if test="record.companyId != null">
+ and b.company_id=#{record.companyId}
+ </if>
+ <if test="record.shopId != null">
+ and b.shop_id=#{record.shopId}
+ </if>
+ <if test='record.type == "1" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d')
+ </if>
+ <if test='record.type == "2" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m')
+ </if>
+ <if test='record.type == "3" and record.datatime != null'>
+ and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y')
+ </if>
+ </where>
+ group by b.su_id
+ order by amount desc, b.su_id
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
index 0f64c0b..d29ea9e 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -1320,6 +1320,9 @@
<if test="record.shopId != null">
and a.shop_id=#{record.shopId}
</if>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
<if test='record.birthType=="1"'>
and a.BIRTHDAY1 between curdate() and DATE_ADD(CURDATE(), INTERVAL 3 DAY)
</if>
--
Gitblit v1.9.1