From de589b98ff007afdcec9d6cef5d1a2b168031b98 Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Sat, 16 Jan 2021 16:12:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/api' into api

---
 zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipLevel.java           |    8 ++
 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/SysVipLevelDao.xml            |   16 ++++
 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/java/com/matrix/system/hive/action/CardLevelController.java |    1 
 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 
 11 files changed, 89 insertions(+), 68 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/hive/action/CardLevelController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/CardLevelController.java
index 43aece2..b92149f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/CardLevelController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/CardLevelController.java
@@ -43,6 +43,7 @@
 	public @ResponseBody AjaxResult addOrModify(SysVipLevel vipLevel) {
 		SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
 		vipLevel.setShopId(users.getShopId());
+		vipLevel.setCompanyId(users.getCompanyId());
 		if (vipLevel.getId() != null) {
 
 			return modify(cardLevelService, vipLevel, "会员卡信息");
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipLevel.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipLevel.java
index 5b3f178..e235061 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipLevel.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipLevel.java
@@ -54,7 +54,15 @@
 
 	private Long shopId;
 
+	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 bd84983..737b370 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/SysVipLevelDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipLevelDao.xml
index 5adb97d..efcb7f3 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipLevelDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipLevelDao.xml
@@ -13,6 +13,7 @@
 			<result property="effectDate" column="EFFECT_DATE" />
 			<result property="bigclass" column="BIGCLASS" />
 			<result property="shopId" column="shop_id" />
+			<result property="companyId" column="company_id" />
 	</resultMap>
 	<!--  插入方法   -->
 	<insert id="insert" parameterType="SysVipLevel"
@@ -25,7 +26,8 @@
 			REMARK,
 			EFFECT_DATE,
 			BIGCLASS,
-			shop_id
+			shop_id,
+			company_id
 		)
 	VALUES (
 			#{id},
@@ -35,7 +37,8 @@
 			#{remark},
 			#{effectDate},
 			#{bigclass},
-			#{shopId}
+			#{shopId},
+			#{companyId}
 	)
 	</insert>
 	
@@ -123,6 +126,9 @@
 			<if test="record.shopId != null and record.shopId !='' ">
 				and shop_id = #{record.shopId}
 			</if>
+			<if test="record.companyId != null and record.companyId !='' ">
+				and company_id = #{record.companyId}
+			</if>
 		</if>
 		<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
 			<if test="pageVo.sort !=null  and pageVo.order !=null">
@@ -165,6 +171,9 @@
 			</if>
 			<if test="record.shopId != null and record.shopId !='' ">
 				and shop_id = #{record.shopId}
+			</if>
+			<if test="record.companyId != null and record.companyId !='' ">
+				and company_id = #{record.companyId}
 			</if>
 		</if>
 	</select>
@@ -223,6 +232,9 @@
 			<if test="record.shopId != null and record.shopId !='' ">
 				and shop_id = #{record.shopId}
 			</if>
+			<if test="record.companyId != null and record.companyId !='' ">
+				and company_id = #{record.companyId}
+			</if>
 		</if>
 	</select>
 </mapper>
\ No newline at end of file
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