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