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