zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -130,6 +130,7 @@ SysUsers user = getMe(); sysOrder.setShopId(user.getShopId()); sysOrder.setOrderType(SysOrder.ORDER_TYPE_SEAL); sysOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_N); //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新 sysOrder = orderService.checkAndSaveOrder(sysOrder); orderService.updateReceiptMoney(sysOrder); zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
@@ -185,6 +185,29 @@ */ private Long oldOrderId; /** * 该订单有退款 */ public static final Integer IS_HAS_REFUND_Y = 1; /** * 该订单无退款 */ public static final Integer IS_HAS_REFUND_N = 2; /** * 是否发生退款 1-是 2-否 */ private Integer isHasRefund; public Integer getIsHasRefund() { return isHasRefund; } public void setIsHasRefund(Integer isHasRefund) { this.isHasRefund = isHasRefund; } public Long getOldOrderId() { return oldOrderId; } zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -1268,7 +1268,8 @@ //原订单设置为退款状态 SysOrder sourceOrder=new SysOrder(); sourceOrder.setId(sysOrder.getOldOrderId()); sourceOrder.setStatu(Dictionary.ORDER_STATU_TK); sourceOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_Y); // sourceOrder.setStatu(Dictionary.ORDER_STATU_TK); sysOrderDao.update(sourceOrder); sysOrder.setId(null); @@ -1282,6 +1283,7 @@ sysOrder.setPayTime(now); sysOrder.setOrderNo(codeService.getRefundOrderNo()); sysOrder.setZkTotal(-sysOrder.getZkTotal()); sysOrder.setOrderType(SysOrder.ORDER_TYPE_REFUND); //新增订单 sysOrderDao.insert(sysOrder); //插入明细 zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -906,7 +906,18 @@ <select id="selectUserAchieveByTime" resultType="com.matrix.system.app.vo.UserAchieveVo"> select sale_id id, sum(goods_cash) orderCash, (select ifnull(sum(case b.pay_method when '现金' then goods_cash else 0 end),0) from achieve_new a inner join sys_order_item b on a.order_item_id=b.ID 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')) ) orderCash, (select ifnull(sum(case b.pay_method when '划扣' then goods_cash else 0 end),0) from achieve_new a inner join sys_order_item b on a.order_item_id=b.ID 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')) ) cash, sum(case order_type when '订单' then proj_percentage else 0 end) cardUse, sum(IFNULL(his_consume, 0)) hisConsume, sum(IFNULL(free_consume, 0)) freeConsume, zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -709,7 +709,7 @@ </if> ) refund, (select IFNULL(count(1),0) from sys_order where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and shop_id=#{shopId} </if> @@ -718,7 +718,7 @@ </if> ) perCustomCnt, (select IFNULL(sum(b.COUNT),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and shop_id=#{shopId} </if> @@ -732,7 +732,7 @@ inner join sys_store_info d on c.store_id = d.ID inner join sys_order_item e on a.ID=e.ORDER_ID inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品' where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -743,7 +743,7 @@ (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -806,7 +806,7 @@ #{item.beginTime} dataTime, (select shop_short_name from sys_shop_info where id=#{shopId}) shopName, (select sum(total) shouldPay from sys_order where STATU in ('已付款', '欠款') and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> <if test="shopId != null"> and shop_id=#{shopId} </if> @@ -869,13 +869,13 @@ </if> ) refund, (select IFNULL(count(1),0) from sys_order where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and shop_id=#{shopId} </if> ) perCustomCnt, (select IFNULL(sum(b.COUNT),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and shop_id=#{shopId} </if> @@ -886,7 +886,7 @@ inner join sys_store_info d on c.store_id = d.ID inner join sys_order_item e on a.ID=e.ORDER_ID inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品' where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -894,7 +894,7 @@ (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -63,7 +63,8 @@ beatuyName, pay_time, company_id, orderType orderType, is_has_refund ) VALUES ( #{id}, @@ -86,7 +87,8 @@ #{beatuyName}, #{payTime}, #{companyId}, #{orderType} #{orderType}, #{isHasRefund} ) </insert> @@ -143,10 +145,12 @@ <if test="cashPay != null and cashPay !='' "> cash_Pay = #{cashPay}, </if> <if test="payTime != null "> pay_time = #{payTime}, </if> <if test="isHasRefund != null "> is_has_refund = #{isHasRefund}, </if> </set> WHERE id=#{id} zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
@@ -285,7 +285,7 @@ <foreach collection="list" index="index" item="item" separator="," > ( select IFNULL(count(1),0) from sys_order where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and shop_id=#{shopId} </if> @@ -304,7 +304,7 @@ select case a.perCustomCnt when 0 then 0 else a.totalSaleCnt/a.perCustomCnt end from ( select (select IFNULL(count(1),0) from sys_order where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and shop_id=#{shopId} </if> @@ -313,7 +313,7 @@ </if> ) perCustomCnt, (select IFNULL(sum(b.COUNT),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and shop_id=#{shopId} </if> @@ -334,7 +334,7 @@ select case a.perCustomCnt when 0 then 0 else a.totalPay/a.perCustomCnt end from ( select (select IFNULL(count(1),0) from sys_order where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and shop_id=#{shopId} </if> @@ -369,7 +369,7 @@ inner join sys_store_info d on c.store_id = d.ID inner join sys_order_item e on a.ID=e.ORDER_ID inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品' where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -380,7 +380,7 @@ (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -406,7 +406,7 @@ inner join sys_store_info d on c.store_id = d.ID inner join sys_order_item e on a.ID=e.ORDER_ID inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品' where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -417,7 +417,7 @@ (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -452,7 +452,7 @@ inner join sys_store_info d on c.store_id = d.ID inner join sys_order_item e on a.ID=e.ORDER_ID inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品' where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -463,7 +463,7 @@ (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> <if test="shopId != null"> and a.shop_id=#{shopId} </if> @@ -528,9 +528,18 @@ select #{item.beginTime} time, (select ifnull(sum(ifnull(card_cash,0) + ifnull(consume,0)),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 consume 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(case t3 when '划扣业绩' then consume else 0 end),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardUseAmount, (select ifnull(sum(case b.pay_method when '现金' then goods_cash else 0 end),0) from achieve_new a inner join sys_order_item b on a.order_item_id=b.ID where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cashAmount, (select ifnull(sum(case b.pay_method when '划扣' then goods_cash else 0 end),0) from achieve_new a inner join sys_order_item b on a.order_item_id=b.ID where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardAmount, (select ifnull(sum(case b.pay_method when '划扣' then goods_cash else 0 end),0) from achieve_new a inner join sys_order_item b on a.order_item_id=b.ID where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardUseAmount, (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, @@ -560,14 +569,14 @@ <select id="selectStaffCashAchieve" resultType="java.util.TreeMap"> select <foreach collection="list" index="index" item="item" separator="," > (select ifnull(sum(case t3 when '现金业绩' then card_cash else 0 end),0) (select ifnull(sum(case b.pay_method when '现金' then goods_cash else 0 end),0) from achieve_new a inner join sys_order_item b on a.order_item_id=b.ID where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> <if test="staffId != null and staffId != 0"> and a.beault_id=#{staffId} </if> ) as t${index} </foreach> from area where id=1 </select> @@ -575,8 +584,9 @@ <select id="selectStaffCardAchieve" resultType="java.util.TreeMap"> select <foreach collection="list" index="index" item="item" separator="," > (select ifnull(sum(case t3 when '划扣业绩' then consume else 0 end),0) (select ifnull(sum(case b.pay_method when '划扣' then goods_cash else 0 end),0) from achieve_new a inner join sys_order_item b on a.order_item_id=b.ID where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> <if test="staffId != null and staffId != 0"> and a.beault_id=#{staffId}