wanglm hace 4 años
padre
commit
6d968da79d

+ 1 - 1
src/main/java/com/minpay/db/table/own/mapper/OrderManageMapper.java

@@ -24,7 +24,7 @@ public interface OrderManageMapper extends IMINMybatisEntityMapper {
 	/**
 	 * 查询收入统计
 	 */
-	List<Map<String, String>> selectIncomeDetail(MINRowBounds row);
+	List<Map<String, String>> selectIncomeDetail(MINRowBounds row, Map<String, String> m);
 
 	/**
 	 * 查询订单数

+ 15 - 3
src/main/java/com/minpay/shouhuo/invCardManageAction.java

@@ -3,6 +3,7 @@ package com.minpay.shouhuo;
 import com.minpay.common.bean.User;
 import com.minpay.common.format.IFormatService;
 import com.minpay.common.service.ILogService;
+import com.minpay.common.util.DateUtil;
 import com.minpay.db.table.mapper.VmOrderInfMapper;
 import com.minpay.db.table.model.VmOrderInf;
 import com.minpay.db.table.own.mapper.OrderManageMapper;
@@ -19,6 +20,7 @@ import com.startup.minpay.frame.target.MINComponent;
 import com.startup.minpay.frame.target.MINParam;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -147,15 +149,25 @@ public class invCardManageAction implements IMINAction {
 	@MINAction(value = SELECT_INCOME_STATISTICS)
 	public MINActionResult selectIncomeStatistics (
 			@MINParam(key = "page", defaultValue = "1") int page,
-			@MINParam(key = "limit", defaultValue = "7") int limit,
+			@MINParam(key = "limit", defaultValue = "10") int limit,
+			@MINParam(key = "equNum") String equNum,
+			@MINParam(key = "datesTime") String datesTime,
+
 			MINSession session) throws Exception {
 		MINActionResult res = new MINActionResult();
 		User user = session.getUser();
 		MINRowBounds rows = new MINRowBounds(page, limit);
+		//获取当前时间
+		Date currentTime = new Date();
+		String nowDate = DateUtil.format(currentTime,"yyyyMMdd");
+		Map<String, String> m = new HashMap<String, String>();
+		m.put("equNum", equNum);
+		m.put("datesTime", datesTime);
+		m.put("nowDate", nowDate);
 		List<Map<String, String>> detailList = Service.lookup(IMINDataBaseService.class)
-				.getMybatisMapper(OrderManageMapper.class).selectIncomeDetail(rows);
+				.getMybatisMapper(OrderManageMapper.class).selectIncomeDetail(rows, m);
 
-		detailList = Service.lookup(IFormatService.class).formatDate(detailList, "newTime");
+		detailList = Service.lookup(IFormatService.class).formatDate(detailList, "sellTime");
 		detailList = Service.lookup(IFormatService.class).formatCurrency(detailList, "sellWxSum", "sellZfSum", "" +
 				"sellMfSum", "allSell");
 		//返回数据

+ 60 - 42
src/main/resources/com/minpay/db/table/own/mapper/OrderManageMapper.xml

@@ -88,51 +88,69 @@
 	</select>
 
 	<select id="selectIncomeDetail" resultType="hashmap" parameterType="java.util.Map">
-		SELECT a.click_date newTime, IFNULL(c.sellCount,0) newCount,
-			IFNULL(c.sellWxSum, 0.00) sellWxSum, IFNULL(c.sellZfSum, 0.00) sellZfSum,
-			IFNULL(c.sellMfSum, 0.00) sellMfSum, IFNULL(c.sellWxSum, 0.00)+IFNULL(c.sellZfSum, 0.00) allSell
+		SELECT succTime sellTime,
+			SUM(allCount) newCount,
+			SUM(wxSum) sellWxSum,
+			SUM(zfSum) sellZfSum,
+			SUM(mfSum) sellMfSum,
+			IFNULL(SUM(wxSum), 0.00)+IFNULL(SUM(zfSum), 0.00) allSell,
+			VOD_PRO_EQU_REL_ID vciId
 		FROM (
-			SELECT CURDATE() AS click_date
+			SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,
+				COUNT(1) allCount,
+				SUM(VOI_ORDER_AMT) wxSum,
+				'0' zfSum,
+				'0' mfSum,
+				VOD_PRO_EQU_REL_ID
+			FROM vm_payment_inf, vm_order_inf, vm_order_details
+			WHERE PIF_STATUS = '1'
+			AND VOI_ID = PIF_TRANFLOWNO
+			AND VOI_ID = VOD_ORDER_ID
+			AND PIF_PAYTYPE IN ('91')
+			AND VOI_ORDER_AMT != '0.00'
+			GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VOD_PRO_EQU_REL_ID
 			UNION ALL
-			SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS click_date
+			SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,
+				COUNT(1) allCount,
+				'0' wxSum,
+				SUM(VOI_ORDER_AMT) zfSum,
+				'0' mfSum,
+				VOD_PRO_EQU_REL_ID
+			FROM vm_payment_inf, vm_order_inf, vm_order_details
+			WHERE PIF_STATUS = '1'
+			AND VOI_ID = PIF_TRANFLOWNO
+			AND VOI_ID = VOD_ORDER_ID
+			AND PIF_PAYTYPE IN ('92')
+			AND VOI_ORDER_AMT != '0.00'
+			GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VOD_PRO_EQU_REL_ID
 			UNION ALL
-			SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS click_date
-			UNION ALL
-			SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY) AS click_date
-			UNION ALL
-			SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY) AS click_date
-			UNION ALL
-			SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY) AS click_date
-			UNION ALL
-			SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY) AS click_date
-			) a
-			LEFT JOIN (
-				SELECT succTime sellTime, SUM(allCount) sellCount, SUM(wxSum) sellWxSum, SUM(zfSum) sellZfSum, SUM(mfSum) sellMfSum
-				FROM (
-					SELECT DATE(SUBSTR(PIF_SUCCTIME, 1, 8)) AS succTime, COUNT(1) allCount, SUM(PIF_TRXAMOUT) wxSum, '0' zfSum, '0' mfSum
-					FROM vm_payment_inf
-					WHERE PIF_STATUS = '1'
-					AND PIF_PAYTYPE IN ('91')
-					GROUP BY DATE(SUBSTR(PIF_SUCCTIME, 1, 8)), PIF_PAYTYPE
-					UNION ALL
-
-					SELECT DATE(SUBSTR(PIF_SUCCTIME, 1, 8)) AS succTime, COUNT(1) allCount, '0' wxSum, SUM(PIF_TRXAMOUT) zfSum, '0' mfSum
-					FROM vm_payment_inf
-					WHERE PIF_STATUS = '1'
-					AND PIF_PAYTYPE IN ('92')
-					GROUP BY DATE(SUBSTR(PIF_SUCCTIME, 1, 8)), PIF_PAYTYPE
-					UNION ALL
-
-					SELECT DATE(SUBSTR(PIF_SUCCTIME, 1, 8)) AS succTime, COUNT(1) allCount, '0' wxSum, '0' zfSum, SUM(PIF_ORDERAMOUT) mfSum
-					FROM vm_payment_inf
-					WHERE PIF_STATUS = '1'
-					AND PIF_PAYTYPE IN ('91', '92')
-					AND PIF_TRXAMOUT = '0'
-					GROUP BY DATE(SUBSTR(PIF_SUCCTIME, 1, 8)), PIF_PAYTYPE
-				) b
-				GROUP BY succTime
-		) c
-		ON a.click_date = c.sellTime
+			SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,
+				COUNT(1) allCount,
+				'0' wxSum,
+				'0' zfSum,
+				SUM(PIF_ORDERAMOUT) mfSum,
+				VOD_PRO_EQU_REL_ID
+			FROM vm_payment_inf, vm_order_inf, vm_order_details
+			WHERE PIF_STATUS = '1'
+			AND VOI_ID = PIF_TRANFLOWNO
+			AND VOI_ID = VOD_ORDER_ID
+			AND PIF_PAYTYPE IN ('91', '92')
+			AND VOI_ORDER_AMT = '0.00'
+			GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VOD_PRO_EQU_REL_ID
+		) b
+		where 1=1
+		<if test="equNum != null and equNum != ''">
+			AND	VOD_PRO_EQU_REL_ID  = #{equNum,jdbcType=VARCHAR}
+		</if>
+		<if test="datesTime != null and datesTime != ''">
+			and succTime between substr((#{datesTime, jdbcType=VARCHAR}),1,8)
+			and substr((#{datesTime, jdbcType=VARCHAR}),12,19)
+		</if>
+		<if test="(datesTime == null or datesTime == '') and (equNum == null or equNum == '')">
+			and succTime  = #{nowDate,jdbcType=VARCHAR}
+		</if>
+		GROUP BY succTime, vciId
+		ORDER BY succTime DESC
 	</select>
 <!--	总订单数-->
 	<select id="selectCountOrderNum" resultType="java.lang.String" parameterType="java.util.Map">

+ 145 - 21
src/main/webapp/admin/incomeStatisticsManage/incomeStatistics.html

@@ -7,38 +7,66 @@
 </head>
 <body class="content">
 <div class="order-body">
+    <div class="order-tiaojian back-gray">
+        <div class="tiaojian-part1" id = "conditions">
+            <div class="fl f12-gray4-op mt4">所选条件:</div>
+        </div>
+        <div class="tiaojian-part2 fr  demoTable">
+            <button class="layui-btn order-bnt1"  data-type="reload" >搜索</button>
+            <button class="layui-btn  order-bnt2" data-type="reset">重置</button>
+            <button class="layui-btn order-bnt2" id = "addUser">添加</button>
+            <a href="#" id="toggle" class="top">收起</a>
+        </div>
+    </div>
     <form class="layui-form"  action="javascript:void(0)"  id = "formName">
         <div class="order-select back-border" id="content">
+            <div class="layui-inline">
+                <label class="f12-gray4">查询日期:</label>
+                <input class="search-select" type="text"  id="dates" placeholder="日期(区间)"   readonly />
+            </div>
+            <div class="layui-inline">
+                <label class="f12-gray4">设备编号:</label>
+                <input onchange = "changeSelectCon(1,this,'inp')" class="search-select"
+                       type="tel" name="equNum" id ="equNum" value="" placeholder="设备编号" />
+            </div>
         </div>
     </form>
-
 </div>
 
 <div class="shadow-content" style="margin:1.5rem;">
     <table id="incomeManage" lay-filter="tableFilter"></table>
 </div>
 
-
-<!--操作功能-->
-<script type="text/html" id="barDemo">
-</script>
 <script>
-
+    $("#toggle").click(function() {
+        $(this).html($("#content").is(":hidden") ? "收起" + "<i class='iconfont up iconSelect_drop-down'/></i>" : "展开" +
+            "<i class='iconfont up iconSelect_drop-down'/></i>");
+        $("#content").slideToggle();
+    });
     layui.use(['table','laydate','form'], function(){
 		var laydate = layui.laydate;
-		$.request({
-			action : '../../invCardManageAction/selectAllIncome',
-			data : { },
-			success : function(data) {
-			    var orderNum = data.orderNum;
-			    var countIncome = data.countIncome;
-			    var countDevice = data.countDevice;
-<!--				$("#orderNum").html(orderNum);-->
-<!--				$("#countIncome").html(countIncome);-->
-<!--				$("#countDevice").html(countDevice);-->
-				form.render();
-			}
-		});
+        //日期范围
+        laydate.render({
+            elem: '#dates'
+            ,range: true
+            ,format:'yyyyMMdd'
+            ,done: function(value, date, endDate){
+                changeSelectCon(0,"dates",'date',value)
+            }
+        });
+// 		$.request({
+// 			action : '../../invCardManageAction/selectAllIncome',
+// 			data : { },
+// 			success : function(data) {
+// 			    var orderNum = data.orderNum;
+// 			    var countIncome = data.countIncome;
+// 			    var countDevice = data.countDevice;
+// <!--				$("#orderNum").html(orderNum);-->
+// <!--				$("#countIncome").html(countIncome);-->
+// <!--				$("#countDevice").html(countDevice);-->
+// 				form.render();
+// 			}
+// 		});
 		form.render();
 	})
 
@@ -54,7 +82,8 @@
 		    ,where:{MINView:"JSON", token: 'sasasas'}
 		    ,page: true //开启分页
 		    ,cols: [[ //表头
-				{field: 'newTime',title: '日期',width:'15%'}
+                {field: 'sellTime',title: '日期',width:'15%'}
+				,{field: 'vciId',title: '设备编号',width:'15%'}
 		      	,{field: 'newCount', title: '支付次数', width:'10%', sort: true}
 				,{field: 'sellWxSum', title: '微信支付金额', width:'18%'}
 		      	,{field: 'sellZfSum', title: '支付宝支付金额', width:'18%'}
@@ -70,8 +99,103 @@
 		        console.log(count);
 		      }
 		    ,even: true //开启隔行背景
-		  });
+        });
+
+        var $ = layui.$, active = {
+            reload: function(){
+                reLoadFun();
+            }
+            ,reset: function(){
+                $('#formName')[0].reset();
+                $("#conditions").html('<div class="fl f12-gray4-op mt4">所选条件:</div>');
+            }
+        };
+        $('.layui-btn').on('click', function(){
+            var type = $(this).data('type');
+            active[type] ? active[type].call(this) : '';
+        });
 	});
+
+    function reLoadFun() {
+        var equNum = $('#equNum').val();
+        var dates = $("#dates").val();
+        //执行重载
+        table.reload('incomeManage', {
+            page: {
+                curr: 1 //重新从第 1 页开始
+            }
+            ,where: {
+                equNum : equNum,
+                datesTime :dates
+            }
+        });
+    }
+
+    function changeSelectCon(index, t, type, dateValue){
+        if (type == "date") {
+            if (isEmpty(dateValue)) {
+                $("#search" + index).remove();
+            } else {
+                $("#search" + index).remove();
+                if (isEmpty($("#search" + index).attr("name"))) {
+                    $("#conditions").append(getSelectConHtml(index, t, type,dateValue));
+                }
+            }
+        } else if (type == 'inp') {
+            if (isEmpty($(t).val())) {
+                $("#search" + index).remove();
+            } else {
+                $("#search" + index).remove();
+                if (isEmpty($("#search" + index).attr("name"))) {
+                    $("#conditions").append(getSelectConHtml(index, t, type));
+                }
+            }
+        } else {
+            if (isEmpty($(t).val())) {
+                $("#search" + index).remove();
+            } else {
+                $("#search" + index).remove();
+                if (isEmpty($("#search" + index).attr("name"))) {
+                    $(t).attr("id",dateValue);
+                    $("#conditions").append(getSelectConHtml(index, t, type,dateValue));
+                }
+            }
+        }
+    }
+    var array = new Array('日期','设备编号');
+    function getSelectConHtml(index, t, type,dateValue){
+        var name;
+        var value;
+        if(type == "inp"){
+            value = t.value.substr(0,5)+"..";
+        }
+        if (type == "date") {
+            value = dateValue;
+        }
+        if (type == "date") {
+            name = $("#"+t).attr("id");
+        } else {
+            name = $(t).attr("id");
+        }
+        var html = '<div class="fl xuanzhong-active" id = "search' + index + '" name = "' + name + '" onclick = "removeSearch(this)">' +
+            '<div class="fl">' + array[index] + '</div>' +
+            ':<i class="iconfont">'+value+'</i>' +
+            '<svg class="icon" aria-hidden="true">' +
+            '<use xlink:href="#iconicon_close1"></use>' +
+            '</svg>' +
+            '</div>';
+        return html;
+    }
+    function removeSearch(t) {
+        if ($(t).attr("name") == 'state') {
+            initSelect('state', "IM_USER_STATE", "state", ' ', true);
+            form.render();
+            $(t).remove();
+        } else {
+            $("#"+$(t).attr("name")).val('');
+            $(t).remove();
+        }
+    }
 </script>
 </body>
 </html>