From 83e572c8b78790f8988a2fd72902912ffbbaa166 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sat, 16 Jan 2021 15:30:16 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java | 2 zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 6 ++ zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java | 42 ++++++++++---- zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml | 65 ++++----------------- zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java | 11 +++ zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 2 zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java | 2 zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml | 2 8 files changed, 66 insertions(+), 66 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java index 891c01f..50fb898 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java +++ b/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)); } diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java index 97bbb20..104d16c 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java +++ b/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 = "员工专项") diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java index 98b01dc..f6ba866 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java +++ b/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; } diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java index 21c325f..e0e6f8f 100644 --- a/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java +++ b/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); 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 24f299d..de06b22 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml +++ b/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> diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml index a6c4475..61df9a6 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml +++ b/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> diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml index e3d0334..cc0a4e3 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml +++ b/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> diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml index 43e968b..68767c8 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml +++ b/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"> -- Gitblit v1.9.1