jyy
2021-01-16 522f32b832e47a1e0cb01b0b495d16ada34366a6
Merge remote-tracking branch 'origin/api' into api

# Conflicts:
# zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
# zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
9 files modified
126 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java 30 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/vo/UserAchieveVo.java 6 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java 10 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java 1 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java 31 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml 41 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml 3 ●●●●● patch | view | raw | blame | history
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));
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 = "本金消耗")
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;
    }
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);
}
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);
}
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)
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);
    }
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>
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>