Helius
2021-01-16 83e572c8b78790f8988a2fd72902912ffbbaa166
modify
8 files modified
132 ■■■■ changed files
zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java 42 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java 11 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml 6 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml 65 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
@@ -14,6 +14,7 @@
import com.matrix.system.app.vo.ShoppingGoodsListVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.bean.ShoppingGoodsCategory;
import com.matrix.system.hive.bean.SysOrder;
import com.matrix.system.hive.plugin.util.CollectionUtils;
@@ -134,6 +135,7 @@
        if (!DataAuthUtil.hasAllShopAuth()) {
            orderListDto.setShopId(user.getShopId());
        }
        QueryUtil.setQueryLimitCom(orderListDto);
        return AjaxResult.buildSuccessInstance(sysOrderService.findApiOrderListInPage(orderListDto, pageVo), sysOrderService.findApiOrderListTotal(orderListDto));
    }
zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java
@@ -68,6 +68,7 @@
        int start = (businessesDto.getPageNum() - 1) * businessesDto.getPageSize();
        int size = businessesDto.getPageSize();
        Calendar calendar = Calendar.getInstance();
        calendar.add(calenderUnit, 1);
        calendar.add(calenderUnit, -start);
        String endTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
        calendar.add(calenderUnit, -size);
@@ -189,24 +190,41 @@
    })
    @PostMapping(value = "/findVipAchieve")
    public AjaxResult findVipAchieve(@RequestBody BusinessesDto businessesDto) {
        AchieveNew achieveNew = new AchieveNew();
        String unit = "";
        int calenderUnit;
        if (BusinessesDto.DAY.equals(businessesDto.getType())) {
            achieveNew.setT1("%Y-%m-%d");
            unit = "日";
            calenderUnit = Calendar.DATE;
        } else {
            achieveNew.setT1("%Y-%m");
            unit = "月";
            calenderUnit = Calendar.MONTH;
        }
        SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        if (businessesDto.getStaffId() == null) {
        int start = (businessesDto.getPageNum() - 1) * businessesDto.getPageSize();
        int size = businessesDto.getPageSize();
        Calendar calendar = Calendar.getInstance();
        calendar.add(calenderUnit, 1);
        calendar.add(calenderUnit, -start);
        String endTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
        calendar.add(calenderUnit, -size);
        String startTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
        List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(startTime, endTime, unit);
        List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
        List<StatisticsTimeDaoParam> statisticsTimeDaoParams = timeSpaceParam.subList(0, timeSpaceParam.size() - 2);
        List<VipAchieveDataShowVo> list = tjVipSumDao.selectVipAchieveInPage(statisticsTimeDaoParams, businessesDto.getStaffId());
            businessesDto.setStaffId(sysUsers.getSuId());
        List<VipAchieveDataShowVo> result = new ArrayList<>();
        for (int i = list.size() - 1; i >= 0; i--) {
            VipAchieveDataShowVo item = list.get(i);
            String dataTime = item.getTime();
            if (BusinessesDto.DAY.equals(businessesDto.getType())) {
                item.setTime(DateUtil.dateToString(DateUtil.stringToDate(dataTime, DateUtil.DATE_FORMAT_DD), DateUtil.DATE_FORMAT_DD));
            } else {
                item.setTime(DateUtil.dateToString(DateUtil.stringToDate(dataTime, DateUtil.MONTH), DateUtil.MONTH));
            }
            result.add(item);
        }
        achieveNew.setVipId(businessesDto.getStaffId());
        PaginationVO pageVo = new PaginationVO();
        pageVo.setLimit(businessesDto.getPageSize());
        pageVo.setOffset((businessesDto.getPageNum() - 1) * businessesDto.getPageSize());
        return AjaxResult.buildSuccessInstance(tjVipSumDao.selectVipAchieveInPage(achieveNew, pageVo));
        return AjaxResult.buildSuccessInstance(result);
    }
    @ApiOperation(value = "员工专项", notes = "员工专项")
zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java
@@ -22,6 +22,17 @@
    @ApiModelProperty(hidden = true)
    private Long shopId;
    @ApiModelProperty(hidden = true)
    private Long companyId;
    public Long getCompanyId() {
        return companyId;
    }
    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }
    public Long getShopId() {
        return shopId;
    }
zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java
@@ -35,7 +35,7 @@
    Map<String, BigDecimal> selectCardRefund(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
    Map<String, BigDecimal> selectCashRefund(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
    List<VipAchieveDataShowVo> selectVipAchieveInPage(@Param("record") AchieveNew achieveNew, @Param("pageVo") PaginationVO pageVo);
    List<VipAchieveDataShowVo> selectVipAchieveInPage(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("userId") Long userId);
    Map<String, BigDecimal> selectStaffOrderAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
    Map<String, BigDecimal> selectStaffCashAchieve(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("staffId") Long staffId);
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -948,7 +948,7 @@
            sum(IFNULL(proj_percentage, 0)) projCommission
        from achieve_new a
        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}
        where a.beault_id=#{userId} and a.order_type = '订单'
        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>
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
@@ -1248,7 +1248,7 @@
            measure measure,
            a.good_type goodsType
        from shopping_goods a
        where 1=1 and staus = '上架'
        where 1=1 and staus = '上架' and a.is_del=1
        <if test="record.queryKey != null and record.queryKey != ''">
            and (instr(name,#{record.queryKey}) or instr(code ,#{record.queryKey}) or instr(zjm ,#{record.queryKey}))
        </if>
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -504,6 +504,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>
        </where>
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
            order by a.order_time desc
@@ -530,6 +533,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>
        </where>
    </select>
zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
@@ -229,58 +229,21 @@
    </select>
    <select id="selectVipAchieveInPage" resultType="com.matrix.system.app.vo.VipAchieveDataShowVo">
        select
            date_format(a.datatime, #{record.t1}) time,
            ROUND(sum(IFNULL(zk_total, 0)), 2) orderAmount,
            ROUND(sum(IFNULL(proj_cash, 0)), 2) cashAmount,
            ROUND(sum(IFNULL(card_cash, 0)), 2) cardAmount,
            ROUND(sum(IFNULL(goods_cash, 0)), 2) goodsAmount,
            ROUND(sum(IFNULL(consume, 0)), 2) cardUseAmount,
            ROUND(sum(IFNULL(his_consume, 0)), 2) hisConsume,
            ROUND(sum(IFNULL(free_consume, 0)), 2) freeConsume,
            ROUND(sum(IFNULL(proj_percentage, 0)), 2) commission,
            ROUND(sum(IFNULL(number_of_people, 0)), 2) peopleNum,
            ROUND(sum(IFNULL(proj_num, 0)), 2) projNum,
            ROUND(sum(IFNULL(proj_time, 0)), 2) serviceTime
        from (
            select * from (
                select * from (
                    select date_format(date_add(now(), INTERVAL -(@rowd := @rowd + 1) DAY), '%Y-%m-%d') datatime
                    from achieve_new a, (select @rowd := 0) t
                ) a
            ) a
            left join (
        <foreach collection="list" index="index" item="item"   separator="union all"  >
            select
                date_format(a.datatime, '%Y-%m-%d') datatime1,
                SUM((IFNULL(a.card_cash,0) +IFNULL(a.proj_cash,0) + IFNULL(a.goods_cash,0))) as zk_total,
                SUM(IFNULL(a.proj_cash,0)) proj_cash,
                SUM(IFNULL(a.goods_cash, 0)) goods_cash,
                SUM(IFNULL(a.card_cash,0)) card_cash,
                SUM(IFNULL(a.consume, 0)) consume
                from achieve_new a where a.sale_id=#{record.vipId}
            group by date_format(a.datatime, '%Y-%m-%d')
            ) b on a.datatime=b.datatime1
            left join (
            select
                date_format(b.datatime, '%Y-%m-%d') datatime2,
                SUM(IFNULL(b.his_consume, 0)) his_consume,
                SUM(IFNULL(b.free_consume, 0)) free_consume,
                SUM(IFNULL(b.proj_percentage, 0)) proj_percentage,
                SUM(IFNULL(b.number_of_people, 0)) number_of_people,
                SUM(IFNULL(b.proj_num, 0)) proj_num,
                SUM(IFNULL(b.proj_time, 0)) proj_time
            from achieve_new b where b.beault_id=#{record.vipId}
            group by date_format(b.datatime, '%Y-%m-%d')
            ) c on a.datatime=c.datatime2
        ) a
        group by date_format(a.datatime, #{record.t1})
        order by a.datatime desc
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
            <if test="pageVo.offset >=0  and pageVo.limit >0">
                limit
                #{pageVo.offset},#{pageVo.limit}
            </if>
        </if>
                #{item.beginTime} time,
                (select ifnull(sum(card_cash),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) orderAmount,
                (select ifnull(sum(case t3 when '现金业绩' then card_cash else 0 end),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cashAmount,
                (select ifnull(sum(case t3 when '划扣业绩' then card_cash else 0 end),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardAmount,
                (select ifnull(sum(ifnull(proj_percentage, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> and order_type='订单') goodsAmount,
                (select ifnull(sum(ifnull(his_consume, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) hisConsume,
                (select ifnull(sum(ifnull(free_consume, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) freeConsume,
                (select ifnull(sum(ifnull(proj_percentage, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> and order_type='服务单') commission,
                (select ifnull(sum(ifnull(number_of_people, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) peopleNum,
                (select ifnull(sum(ifnull(proj_num, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) projNum,
                (select ifnull(sum(ifnull(proj_time, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) serviceTime
            from dual
        </foreach>
    </select>
    <select id="selectStaffOrderAchieve" resultType="java.util.TreeMap">