Explorar el Código

Merge branch 'master' of http://git.minpay.cc/shouhuobang/adm

xubh hace 4 años
padre
commit
716f0a97d5

+ 7 - 30
src/main/java/com/minpay/shouhuo/invCardManageAction.java

@@ -118,35 +118,17 @@ public class invCardManageAction implements IMINAction {
 		if(!Constant.ADMINISTRATION_SYSTEM_NUMBER.equals(user.getBranchId())){
 			m.put("branchId",user.getBranchId());
 		}
-		//查询累计收入
+		//实际入账
 		String countIncome = Service.lookup(IMINDataBaseService.class)
 				.getMybatisMapper(OrderManageMapper.class).selectCountIncome(m);
 		//查询总成本价
 		String predictIncome = Service.lookup(IMINDataBaseService.class)
 				.getMybatisMapper(OrderManageMapper.class).selectPredictIncome(m);
-		//查询累计收入
-		List<Map<String, String>> mapList = Service.lookup(IMINDataBaseService.class)
-														.getMybatisMapper(OrderManageMapper.class).selectCountIncomeb(m);
-
-		String  wxzfbAmout = "0";
-		String  czAmout = "0";
-		for (int i = 0; i < mapList.size(); i++) {
-			Map<String, String> map = mapList.get(i);
-			String transType = map.get("transType");
-			if(transType.equals("00")){ //充值金额
-				 czAmout =  String.valueOf(map.get("amout"));
-			}
-			if(transType.equals("10")){ //支付金额
-				wxzfbAmout =   String.valueOf(map.get("amout"));
-			}
-		}
 
-		predictIncome = CommonUtil.subtract(countIncome,predictIncome);
-		String zsrAmout = CommonUtil.add(czAmout,wxzfbAmout);
+		String zsrAmout = CommonUtil.subtract(countIncome,predictIncome);
 		//返回数据
 		res.set("countIncome", countIncome);
 		res.set("predictIncome", predictIncome);
-		res.set("czAmout", czAmout);
 		res.set("zsrAmout", zsrAmout);
 		res.set("time", time);
 		return res;
@@ -254,28 +236,23 @@ public class invCardManageAction implements IMINAction {
 			@MINParam(key = "limit", defaultValue = "10") int limit,
 			@MINParam(key = "equNum") String equNum,
 			@MINParam(key = "datesTime") String datesTime,
-
+			@MINParam(key = "branchId") String branchId,
 			MINSession session) throws Exception {
 		MINActionResult res = new MINActionResult();
 		User user = session.getUser();
-		String branchId = user.getBranchId();
+//		String branchId = user.getBranchId();
 		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);
-		if(!"88888888".equals(branchId)) {
-			m.put("branchId", branchId);
-		}
+		m.put("branchId", branchId);
 		List<Map<String, String>> detailList = Service.lookup(IMINDataBaseService.class)
 				.getMybatisMapper(OrderManageMapper.class).selectIncomeDetail(rows, m);
 
-		detailList = Service.lookup(IFormatService.class).formatDate(detailList, "sellTime");
-		detailList = Service.lookup(IFormatService.class).formatCurrency(detailList, "sellWxSum", "sellZfSum", "" +
-				"sellMfSum", "allSell");
+		detailList = Service.lookup(IFormatService.class)
+							.formatCurrency(detailList, "sumAllAmout", "sumCostAmout", "sumProAmout", "sumWXAmout", "sumZFAmout","sumCZAmout");
 		//返回数据
 		res.set(IMINBusinessConstant.F_PAGING_LAY, detailList);
 		res.set(IMINBusinessConstant.F_PAGING_COUNT, rows.getCount());

+ 72 - 93
src/main/resources/com/minpay/db/table/own/mapper/OrderManageMapper.xml

@@ -103,98 +103,74 @@
 	</select>
 
 	<select id="selectIncomeDetail" resultType="hashmap" parameterType="java.util.Map">
-		SELECT succTime sellTime,
-		ROUND(SUM(allCount),2) newCount,
-		ROUND(SUM(wxSum),2) sellWxSum,
-		ROUND(SUM(zfSum),2) sellZfSum,
-		ROUND(SUM(yeSum),2) sellYESum,
-		ROUND(SUM(mfSum),2)  sellMfSum,
-		ROUND(IFNULL(SUM(wxSum), 0.00) + IFNULL(SUM(zfSum), 0.00) +  IFNULL(SUM(yeSum), 0.00),2)  allSell,
-		VEQ_MACHINE_NO vciId
-		FROM (
-		SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,VEQ_MACHINE_NO,
-		COUNT(1) allCount,
-		SUM(VOI_ORDER_AMT) wxSum,
-		'0' zfSum,
-		'0' yeSum,
-		'0' mfSum
-		FROM vm_payment_inf, vm_order_inf,vm_equipment_inf
-		WHERE PIF_STATUS = '1'
-		AND VOI_ID = PIF_TRANFLOWNO
-		AND VOI_EQUIPMENT_ID = VEQ_ID
-		AND PIF_PAYTYPE IN ('91')
-		AND VOI_ORDER_AMT != '0.00'
-		<if test="branchId != null and branchId != ''">
-			AND	VEQ_BRANCHID  = #{branchId,jdbcType=VARCHAR}
-		</if>
-		GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VEQ_MACHINE_NO
-		UNION ALL
-		SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,VEQ_MACHINE_NO,
-		COUNT(1) allCount,
-		'0' wxSum,
-		SUM(VOI_ORDER_AMT) zfSum,
-		'0' yeSum,
-		'0' mfSum
-		FROM vm_payment_inf, vm_order_inf,vm_equipment_inf
-		WHERE PIF_STATUS = '1'
-		AND VOI_ID = PIF_TRANFLOWNO
-		AND VOI_EQUIPMENT_ID = VEQ_ID
-		AND PIF_PAYTYPE IN ('92')
-		AND VOI_ORDER_AMT != '0.00'
-		<if test="branchId != null and branchId != ''">
-			AND	VEQ_BRANCHID  = #{branchId,jdbcType=VARCHAR}
-		</if>
-		GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VEQ_MACHINE_NO
-		UNION ALL
-
-		SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,VEQ_MACHINE_NO,
-		COUNT(1) allCount,
-		'0' wxSum,
-		'0' zfSum,
-		SUM(VOI_ORDER_AMT) yeSum,
-		'0' mfSum
-		FROM vm_payment_inf, vm_order_inf,vm_equipment_inf
-		WHERE PIF_STATUS = '1'
-		AND VOI_ID = PIF_TRANFLOWNO
-		AND VOI_EQUIPMENT_ID = VEQ_ID
-		AND PIF_PAYTYPE IN ('93')
-		<if test="branchId != null and branchId != ''">
-			AND	VEQ_BRANCHID  = #{branchId,jdbcType=VARCHAR}
-		</if>
-		AND VOI_ORDER_AMT != '0.00'
-		GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VEQ_MACHINE_NO
-
-		UNION ALL
-		SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,VEQ_MACHINE_NO,
-		COUNT(1) allCount,
-		'0' wxSum,
-		'0' zfSum,
-		'0' yeSum,
-		SUM(PIF_ORDERAMOUT) mfSum
-		FROM vm_payment_inf, vm_order_inf,vm_equipment_inf
-		WHERE PIF_STATUS = '1'
-		AND VOI_ID = PIF_TRANFLOWNO
-		AND VOI_EQUIPMENT_ID = VEQ_ID
-		AND PIF_PAYTYPE IN ('91', '92','93')
-		AND VOI_ORDER_AMT = '0.00'
+		SELECT succtime, branchId, equNum, SUM(allAmout) sumAllAmout,
+		 		SUM(costAmout) sumCostAmout, SUM(proAmout) sumProAmout, SUM(wxAmout) sumWXAmout,
+		 		SUM(zfAmout) sumZFAmout, SUM(czAmout) sumCZAmout
+		FROM(
+			SELECT SUBSTR(vp.PIF_SUCCTIME, 1, 8) 	succtime,
+				vr.VCI_USER_Id 			branchId,
+				vr.VCI_EQUIPMENT_ID 		equNum,
+				SUM(vp.PIF_ORDERAMOUT)		allAmout,
+				SUM(vr.VCI_COST_PRICE)		costAmout,
+				SUM(vp.PIF_ORDERAMOUT)-SUM(vr.VCI_COST_PRICE)	proAmout,
+				SUM(vp.PIF_ORDERAMOUT)		wxAmout,
+				'0.00'				zfAmout,
+				'0.00'				czAmout,
+				PIF_PAYTYPE			payType
+			FROM vm_payment_inf vp, vm_order_details vd, vm_pro_equ_rel vr
+			WHERE vp.PIF_TRANFLOWNO = vd.VOD_ORDER_ID
+			AND vd.VOD_PRO_EQU_REL_ID = vr.VCI_ID
+			AND vp.PIF_STATUS = '1'
+			AND vp.PIF_PAYTYPE = '91'
+			GROUP BY vr.VCI_USER_Id, SUBSTR(PIF_SUCCTIME, 1, 8), vr.VCI_EQUIPMENT_ID
+			UNION
+			SELECT SUBSTR(vp.PIF_SUCCTIME, 1, 8) 	succtime,
+				vr.VCI_USER_Id 			branchId,
+				vr.VCI_EQUIPMENT_ID 		equNum,
+				SUM(vp.PIF_ORDERAMOUT)		allAmout,
+				SUM(vr.VCI_COST_PRICE)		costAmout,
+				SUM(vp.PIF_ORDERAMOUT)-SUM(vr.VCI_COST_PRICE)	proAmout,
+				'0.00'				wxAmout,
+				SUM(vp.PIF_ORDERAMOUT)		zfAmout,
+				'0.00'				czAmout,
+				PIF_PAYTYPE			payType
+			FROM vm_payment_inf vp, vm_order_details vd, vm_pro_equ_rel vr
+			WHERE vp.PIF_TRANFLOWNO = vd.VOD_ORDER_ID
+			AND vd.VOD_PRO_EQU_REL_ID = vr.VCI_ID
+			AND vp.PIF_STATUS = '1'
+			AND vp.PIF_PAYTYPE = '92'
+			GROUP BY vr.VCI_USER_Id, SUBSTR(PIF_SUCCTIME, 1, 8), vr.VCI_EQUIPMENT_ID
+			UNION
+			SELECT SUBSTR(vp.PIF_SUCCTIME, 1, 8) 	succtime,
+				vr.VCI_USER_Id 			branchId,
+				vr.VCI_EQUIPMENT_ID 		equNum,
+				SUM(vp.PIF_ORDERAMOUT)		allAmout,
+				SUM(vr.VCI_COST_PRICE)		costAmout,
+				SUM(vp.PIF_ORDERAMOUT)-SUM(vr.VCI_COST_PRICE)	proAmout,
+				'0.00'				wxAmout,
+				'0.00'				zfAmout,
+				SUM(vp.PIF_ORDERAMOUT)		czAmout,
+				PIF_PAYTYPE			payType
+			FROM vm_payment_inf vp, vm_order_details vd, vm_pro_equ_rel vr
+			WHERE vp.PIF_TRANFLOWNO = vd.VOD_ORDER_ID
+			AND vd.VOD_PRO_EQU_REL_ID = vr.VCI_ID
+			AND vp.PIF_STATUS = '1'
+			AND vp.PIF_TYPE = '99'
+			GROUP BY vr.VCI_USER_Id, SUBSTR(PIF_SUCCTIME, 1, 8), vr.VCI_EQUIPMENT_ID
+		) vv
+		where 1=1
 		<if test="branchId != null and branchId != ''">
-			AND	VEQ_BRANCHID  = #{branchId,jdbcType=VARCHAR}
+			and branchId = #{branchId,jdbcType=VARCHAR}
 		</if>
-		GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VEQ_MACHINE_NO
-		) b
-		where 1=1
 		<if test="equNum != null and equNum != ''">
-			AND	VEQ_MACHINE_NO  = #{equNum,jdbcType=VARCHAR}
+			and equNum = #{equNum,jdbcType=VARCHAR}
 		</if>
 		<if test="datesTime != null and datesTime != ''">
-			and succTime between substr((#{datesTime, jdbcType=VARCHAR}),1,8)
+			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, vciId DESC
+		GROUP BY succtime, branchId, equNum
+		ORDER BY succtime DESC
 	</select>
 	<!--	总订单数-->
 	<select id="selectCountOrderNum" resultType="java.lang.String" parameterType="java.util.Map">
@@ -205,10 +181,12 @@
 	<!--	累计收入-->
 	<select id="selectCountIncome" resultType="java.lang.String" parameterType="java.util.Map">
 		select IFNULL(CAST(SUM(PIF_ORDERAMOUT) AS DECIMAL(15,2)), 0.00)
-		from vm_payment_inf
+		from vm_payment_inf, vm_order_inf
 		where PIF_STATUS = '1'
+		and (PIF_PAYTYPE in ('91', '92') or PIF_TRANSTYPE = '00')
+		and PIF_TRANFLOWNO = VOI_ID
 		<if test="nowDate != null and nowDate != ''">
-			and substr(PIF_SUCCTIME,1,8) = #{nowDate,jdbcType=VARCHAR}
+				and substr(PIF_SUCCTIME,1,8) = #{nowDate,jdbcType=VARCHAR}
 		</if>
 		<if test="yesDate != null and yesDate != ''">
 			and substr(PIF_SUCCTIME,1,8) = #{yesDate,jdbcType=VARCHAR}
@@ -217,16 +195,17 @@
 			and substr(PIF_SUCCTIME,1,8) >= #{weekDate,jdbcType=VARCHAR}
 		</if>
 		<if test="branchId != null and branchId != ''">
-			AND	PIF_RCVCSTNO  = #{branchId,jdbcType=VARCHAR}
+			AND	VOI_BRANCHID  = #{branchId,jdbcType=VARCHAR}
 		</if>
 	</select>
-	<!--	预估利润-->
+	<!--成本-->
 	<select id="selectPredictIncome" resultType="java.lang.String" parameterType="java.util.Map">
 		SELECT IFNULL(CAST(SUM(VCI_COST_PRICE) AS DECIMAL(15,2)), 0.00)
-		FROM vm_order_details a left join  vm_payment_inf b  on PIF_TRANFLOWNO = VOD_ORDER_ID
+		FROM vm_order_details a
+		join vm_order_inf vo on vo.VOI_ID = a.VOD_ORDER_ID
+		join vm_payment_inf b on PIF_TRANFLOWNO = VOD_ORDER_ID
 		left join vm_pro_equ_rel c on c.VCI_ID = a.VOD_PRO_EQU_REL_ID
-		WHERE VOD_IS_WINNING in ('01','02')
-		AND PIF_STATUS = '1'
+		WHERE PIF_STATUS = '1'
 		<if test="nowDate != null and nowDate != ''">
 			and substr(PIF_SUCCTIME,1,8) = #{nowDate,jdbcType=VARCHAR}
 		</if>
@@ -237,7 +216,7 @@
 			and substr(PIF_SUCCTIME,1,8) >= #{weekDate,jdbcType=VARCHAR}
 		</if>
 		<if test="branchId != null and branchId != ''">
-			AND	b.PIF_RCVCSTNO  = #{branchId,jdbcType=VARCHAR}
+			AND	VOI_BRANCHID  = #{branchId,jdbcType=VARCHAR}
 		</if>
 	</select>
 	<!--	总机台数-->

+ 24 - 35
src/main/webapp/admin/incomeStatisticsManage/incomeStatistics.html

@@ -29,32 +29,31 @@
                 <input onchange = "changeSelectCon(1,this,'inp')" class="search-select"
                        type="tel" name="equNum" id ="equNum" value="" placeholder="设备编号" />
             </div>
+            <div class="layui-inline">
+                <label class="f12-gray4">商户编号:</label>
+                <input onchange = "changeSelectCon(2,this,'inp')" class="search-select"
+                       type="tel" name="branchId" id ="branchId" value="" placeholder="商户编号" />
+            </div>
             <div class="d-dashed" style="margin: 10px 0;"></div>
-
-            <div class="layui-inline" style = "width: 300px">
-                <label class="f12-gray4">交易总额汇总:</label>
+            <div class="layui-inline">
+                <label class="f12-gray4">实际入账:</label>
                 <div class="layui-input-inline">
                     <input type="text" class="layui-input" id="countIncome" name="countIncome" style="border:none;color: red" disabled="disabled" class="search-select">
                 </div>
             </div>
-            <div class="layui-inline">
-                <label class="f12-gray4">预计利润汇总:</label>
+            <div class="layui-inline" style = "width: 300px">
+                <label class="f12-gray4">商品成本:</label>
                 <div class="layui-input-inline">
                     <input type="text" class="layui-input" id="predictIncome" name="predictIncome" style="border:none;color: red" disabled="disabled" class="search-select">
                 </div>
             </div>
             <div class="layui-inline">
-                <label class="f12-gray4">充值汇总:</label>
-                <div class="layui-input-inline">
-                    <input type="text" class="layui-input" id="czAmout" name="czAmout" style="border:none;color: red" disabled="disabled" class="search-select">
-                </div>
-            </div>
-            <div class="layui-inline">
-                <label class="f12-gray4">实际收入:</label>
+                <label class="f12-gray4">预计利润:</label>
                 <div class="layui-input-inline">
                     <input type="text" class="layui-input" id="zsrAmout" name="zsrAmout" style="border:none;color: red" disabled="disabled" class="search-select">
                 </div>
             </div>
+
             <div class="layui-inline">
                 <label class="f12-gray4">统计时间:</label>
                 <div class="layui-input-inline">
@@ -67,8 +66,6 @@
                 <button  class="layui-btn order-bnt2" onclick="wyyq(2)">本周</button>
             </div>
         </div>
-
-
     </form>
 </div>
 
@@ -93,16 +90,6 @@
                 changeSelectCon(0,"dates",'date',value)
             }
         });
-		/*$.request({
-			action : '../../invCardManageAction/selectIncomeBydate',
-			data : { dateFlag:'0'},
-			success : function(data) {
-			    var countIncome = data.countIncome;
-			    var predictIncome = data.predictIncome;
-<!--				$("#countIncome").html(countIncome);-->
-<!--				$("#predictIncome").html(predictIncome);-->
-			}
-		});*/
 	})
 
 	var table;
@@ -117,14 +104,15 @@
 		    ,where:{MINView:"JSON", token: 'sasasas'}
 		    ,page: true //开启分页
 		    ,cols: [[ //表头
-                {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%'}
-                ,{field: 'sellYESum', title: '余额支付金额', width:'18%'}
-		      	,{field: 'sellMfSum', title: '免费支付金额', width:'18%'}
-		      	,{field: 'allSell', title: '合计金额',width:'18%'}
+                {field: 'succtime',title: '日期',width:'15%'}
+                ,{field: 'branchId',title: '商户编号',width:'15%'}
+				,{field: 'equNum',title: '设备编号',width:'15%'}
+                ,{field: 'sumAllAmout',title: '入账金额',width:'15%'}
+                ,{field: 'sumCostAmout',title: '商品成本',width:'15%'}
+                ,{field: 'sumProAmout',title: '预估利润',width:'15%'}
+				,{field: 'sumWXAmout', title: '微信支付金额', width:'18%'}
+		      	,{field: 'sumZFAmout', title: '支付宝支付金额', width:'18%'}
+                ,{field: 'sumCZAmout', title: '充值金额', width:'18%'}
 		    ]]
 		    ,done: function(res, curr, count){
 		        //如果是异步请求数据方式,res即为你接口返回的信息。
@@ -156,6 +144,7 @@
     function reLoadFun() {
         var equNum = $('#equNum').val();
         var dates = $("#dates").val();
+        var branchId = $("#branchId").val();
         //执行重载
         table.reload('incomeManage', {
             page: {
@@ -163,7 +152,8 @@
             }
             ,where: {
                 equNum : equNum,
-                datesTime :dates
+                datesTime : dates,
+                branchId : branchId
             }
         });
     }
@@ -199,7 +189,7 @@
             }
         }
     }
-    var array = new Array('日期','设备编号');
+    var array = new Array('日期','设备编号','商户编号');
     function getSelectConHtml(index, t, type,dateValue){
         var name;
         var value;
@@ -240,7 +230,6 @@
             success : function(data) {
                 $("#countIncome").val(data.countIncome);
                 $("#predictIncome").val(data.predictIncome);
-                $("#czAmout").val(data.czAmout);
                 $("#zsrAmout").val(data.zsrAmout);
                 $("#time").val(data.time);
             }