From 43339ac7fbff5e40b25f3928945044bbedd23da9 Mon Sep 17 00:00:00 2001 From: "DESKTOP-369JRHT\\12997" <9> Date: Mon, 14 Oct 2024 14:06:09 +0800 Subject: [PATCH 1/4] 10.11 --- fuintAdmin/src/assets/images/telindex.png | Bin 0 -> 2030 bytes fuintAdmin/src/assets/images/zdy.png | Bin 0 -> 575 bytes fuintAdmin/src/views/shopowner.vue | 196 ++++++++++++++++------ 3 files changed, 141 insertions(+), 55 deletions(-) create mode 100644 fuintAdmin/src/assets/images/telindex.png create mode 100644 fuintAdmin/src/assets/images/zdy.png diff --git a/fuintAdmin/src/assets/images/telindex.png b/fuintAdmin/src/assets/images/telindex.png new file mode 100644 index 0000000000000000000000000000000000000000..27b9037c4686f56212b95d6a31e8ab581f7d488c GIT binary patch literal 2030 zcmb7E2{7B+8jpR8Ep;_*)wQ)+509s%OtrNHDc4nks;AUeS9!NhwXT+;I#jE#wi}61 zK}iI$Bw~*c#B%K-wopqf32yCC#rxmanKy6d&6xYn%=yll@B5u|e&6r=<|H~f+R93w zmIi@9vT!?VXJ9q?V@iquHb+b&3|NF7JKI`&Ha@uMmw!+uz^+Ge>fBbGNp({tObp92^`RkK}MT0AO}@_ITL0C>DzaHZ3hJ$AHVq z%D&zCznGn!oo~+7)zxnsfZpNZ;eR7hC{#v91{#gVU@)1PnZS!#Sy|cH*&jZ9$jQmU z;c!6ud3kyH`S~9|ek>>`C@d_*lzNoi>*i9`Zul$V!RR8&+}R+7nN z3WZWtRYj#ztE;PPYHDh0YwPOj>g($p8X6iK8v*f~nwsczdUJC#kR5};Xl-q6Yinz7 zZ)Y-@9UUE=ot<4>UEST?Jv}|Wy}f;Xef|CY0|NttgM&juL&L+vEEa2IWQ5ITkB*Lx zjg5_uk55cYOioS$QcO)vO;1mM`t)gLW(LrCZf(~FN#~Hom z0krIkFlR>>kdTOosF;MLw2Z90A_StOeCo8y_v#wwv@iTcPyerfGcvhidi{o_t(~3y z4^FpS-8{Sl?gxeb{OD=;v**#VaS5-J-lwFaGSHd0+fe+O4qJoc$smxZAKcmk0X>!7oM1H^pd$V`L(<*q zvA-KCfN}FJMfVI!&xjm~xr52n>j7k4+NViqORB!Hd>yCcu9I6ppeQLR#6jO&FkG8j z+_U<^d361X(y6FxM0>x$om=MNj5G5LB3|6#t_^bChoxyKuj|`^V4Vo>y?1-kjupzd z8-Vq=MSM<*^u6c_3Y#ph(|k6`1V0e)gC4mWDQ~%W)ju)zg552JL3WL=lIoD#lq>PM z2+9srb9Ns|;31}&G@Q)+G)ftPy8c`4ce7FOCmK3Wufb!~J6MGft$}2H+5`*s4h>fr zd8r<&)hGh~$qp6ni(rbIpR}c`PN$&y)Up)3q~brl*5Z_z4L)zdYY8)5+R)(sSZ@bu zXkglWz7WsSZz0v%CxiKmb9hdm0&+{)06gK}H^hr%;Eg&0-uF} z4wtaHt0Q+DAmQro3K7mwI@}+qC42r^k?%*~Kyqf$t-(!hE#8hHkwu2w4ka#Xe~2-7eXP zOF4w6>z21^pLkX*XO7{H$x?-WJZ~SU2~{%T>O4_&j|@W6-O8CLdmD4BDV1FPwQGJl zLI$F-QL1~nA1pTg@)6ql5#55`J26@-otH`tnCxy*={&dKO@ z*8F6J$hdo3eHPw#CmUBa^>3CNJ@y z1!?*&oZ;WiW7I4*xc7+rzNd^An{URjKx9jP7LeL$-D$|js^IHxB}_@ zV6bY{s`cyFZ{50e+qP}nw{PFKZ{N|zHYT43m$-Bm#Cp8Sa zKL67fz0c#8efCdDe$KJ4{8t6?l&`Jg-ce!c$~m30m%;3R_pByw`=vKpb0_p0#7#1` zNJ-iC)Hgi#MqlLWJZ5>b{R_4=I6FNSxnX_T&nlzk{uPme6UStF)3ZWZ-fT8(HeB+t zBdTPb>`#MxE2b*u81`xk*srzCaV`nFGEL5DTb!a^W)EZjL3_?4vRg$K-OgsY5T~)q zF2<-!Ize4OYQABMQe-USj_37~ElT!ESJ+l%?3H&obNa~fw!cg(ZS5nrJKSRg`jWxZ L)z4*}Q$iB}*2yFk literal 0 HcmV?d00001 diff --git a/fuintAdmin/src/views/shopowner.vue b/fuintAdmin/src/views/shopowner.vue index 5cc3a2a8b..957cb5945 100644 --- a/fuintAdmin/src/views/shopowner.vue +++ b/fuintAdmin/src/views/shopowner.vue @@ -2,16 +2,15 @@
-
+
- -
-
核心数据
+
核心数据
{{ storeTotal.allAmount || 0 }}
@@ -45,12 +44,22 @@
-
数据看板
-
近一周
+
数据看板
+ +
近一周
+ + 今日 + 昨日 + 近一周 + 近一月 + 近一周 + +
+
自定义
-
油品销售金额(元)/交易笔数
+
油品销售金额(元)/交易笔数
{{ storeAmount.oilAmount || 0 }}/{{ storeAmount.oilNum || 0 }}
-
会员充值金额(元)/充值笔数
+
会员充值金额(元)/充值笔数
{{ storeAmount.userRechargeAmount || 0 }}/{{ storeAmount.userRechargeNum || 0 }}
-
便利店销售金额(元)/交易笔数
+
便利店销售金额(元)/交易笔数
{{ storeAmount.minimartAmount || 0 }}/{{ storeAmount.minimartNum || 0 }}
-
积分商城销售金额(元)/兑换笔数
+
积分商城销售金额(元)/兑换笔数
{{ storeAmount.pointMallAmount || 0 }}/{{ storeAmount.pointMallNum || 0 }}
@@ -105,57 +114,114 @@
-
-
硬件设备
-
- - - - -
- +
+
+
硬件设备
+ + + +
+
+
+
+ +
+
{{ item.name }}
-
{{ item.name }}
+
-
数据展示
+
+
油品交易分析
+ +
近一周
+ + 今日 + 昨日 + 近一周 + 近一月 + 近一周 + +
+
自定义
+
+ + +
+
-
员工排行
+
员工排行 +
近一周
+ + 今日 + 昨日 + 近一周 + 近一月 + 近一周 + +
排名
员工姓名
-
会员充值金额(元)
-
油品销售金额(元)
-
总销售额(元)
+
会员充值金额
+
油品销售金额
+
总销售额
-
-
{{index +1}}
-
{{ item.realName }}
-
{{item.cardSum}}
-
{{item.oilSum}}
-
{{item.totalSum}}
+
+
+
{{index +1}}
+
{{ item.realName }}
+
{{item.cardSum}}
+
{{item.oilSum}}
+
{{item.totalSum}}
+
+
-
数据统计
-
- {{item}} +
数据统计
+ +
近一周
+ + 今日 + 昨日 + 近一周 + 近一月 + 近一周 + +
+
自定义
+
+ +
- -
+
@@ -178,6 +244,8 @@ export default { props:["accountId"], data(){ return{ + xShow:false, + timeShow:false, form: {}, timeList:[ "今日", @@ -860,17 +928,17 @@ export default { height: 380px; box-sizing: border-box; padding: 15px; - overflow: auto; - scrollbar-width: none; + + } .san-box{ width: 24%; - height: 120px; + height: 100px; box-sizing: border-box; border-radius: 8px; background: #fe8c4a; - margin: 15px 0px; - margin-right: 15px; + margin: 15px auto; + box-sizing: border-box; padding: 20px 40px; } @@ -900,37 +968,53 @@ export default { overflow: hidden; //超出部分隐藏 text-overflow: ellipsis; //文本溢出显示省略号 font-size: 14px; - color: #777777; + color: #333; margin: 14px auto; } .h-tt{ font-size: 16px; color: #333333; font-weight: bold; - margin-right: 40px; + display: flex; + justify-content: space-between; } .q-anniu{ width: 80px; height: 26px; - background: #FF9655; + background: #FF9655 !important; border-radius: 4px 4px 4px 4px; display: flex; align-items: center; justify-content: center; - color: #fff; + color: #fff !important; + font-size: 12px; cursor: pointer; margin-right: 20px; } +.h-anniu{ + width: 80px; + height: 26px; + background: #fafafa; + border-radius: 4px 4px 4px 4px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + margin-right: 20px; + font-weight: 400; + font-size: 12px; + color: #555555; +} .k-box{ - width: 220px; + width: 24%; height: 68px; background: #FFFFFF; border-radius: 8px; border: 1px solid #e1e0e0; box-sizing: border-box; + margin: 0 auto; padding: 10px; - margin-right: 10px; } .num-size{ font-weight: bold; @@ -1003,6 +1087,7 @@ export default { box-sizing: border-box; padding: 10px; display: flex; + font-size: 14px; justify-content: space-between; margin: 10px auto; div{ @@ -1012,12 +1097,13 @@ export default { } .hang-box{ border-radius: 8px; + font-size: 14px; width: 100%; box-sizing: border-box; - padding: 10px; + padding: 5px; display: flex; justify-content: space-between; - margin: 10px auto; + margin: 0px auto; div{ width: 20%; text-align: center; From 254295a0c1913c90029a6411cab85d565ea72f7a Mon Sep 17 00:00:00 2001 From: cun-nan <19819293608@163.com> Date: Mon, 14 Oct 2024 14:11:37 +0800 Subject: [PATCH 2/4] 10.14 --- .../src/views/homeComponents/agent.vue | 19 +- .../src/views/homeComponents/manage.vue | 19 +- .../src/views/homeComponents/shopowner.vue | 19 +- .../service/impl/OilOrderServiceImpl.java | 275 ++++++------------ gasStation-uni/pagesHome/QRcode/QRcode.vue | 2 +- 5 files changed, 118 insertions(+), 216 deletions(-) diff --git a/fuintAdmin_zt/src/views/homeComponents/agent.vue b/fuintAdmin_zt/src/views/homeComponents/agent.vue index afb5cd62a..009302168 100644 --- a/fuintAdmin_zt/src/views/homeComponents/agent.vue +++ b/fuintAdmin_zt/src/views/homeComponents/agent.vue @@ -138,16 +138,19 @@
-
- - - - -
- +
+
+ + + + +
+ +
+
{{ item.name }}
-
{{ item.name }}
+
diff --git a/fuintAdmin_zt/src/views/homeComponents/manage.vue b/fuintAdmin_zt/src/views/homeComponents/manage.vue index 2688bd0ba..e614b6ced 100644 --- a/fuintAdmin_zt/src/views/homeComponents/manage.vue +++ b/fuintAdmin_zt/src/views/homeComponents/manage.vue @@ -148,16 +148,19 @@
-
- - - - -
- +
+
+ + + + +
+ +
+
{{ item.name }}
-
{{ item.name }}
+
diff --git a/fuintAdmin_zt/src/views/homeComponents/shopowner.vue b/fuintAdmin_zt/src/views/homeComponents/shopowner.vue index 3eec88059..2eb0c3335 100644 --- a/fuintAdmin_zt/src/views/homeComponents/shopowner.vue +++ b/fuintAdmin_zt/src/views/homeComponents/shopowner.vue @@ -131,16 +131,19 @@
硬件设备
-
- - - - -
- +
+
+ + + + +
+ +
+
{{ item.name }}
-
{{ item.name }}
+
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java index b1c4c2196..2c2c14fd8 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java @@ -438,7 +438,7 @@ public class OilOrderServiceImpl extends ServiceImpl i Integer staffId = null; if (ObjectUtil.isNotEmpty(map.get("staffId"))) { staffId = Integer.valueOf(map.get("staffId")); - }else { + } else { staffId = nowAccountInfo.getStaffId(); } // 会员消费金额(储值卡需要减少的金额) @@ -456,7 +456,7 @@ public class OilOrderServiceImpl extends ServiceImpl i isMember = true; } // 使用积分数量 - Integer usePoint = Integer.valueOf(ObjectUtil.isNotEmpty(map.get("usePoint")) ? map.get("usePoint") :"0"); + Integer usePoint = Integer.valueOf(ObjectUtil.isNotEmpty(map.get("usePoint")) ? map.get("usePoint") : "0"); // 积分金额 Double pointAmount = Double.valueOf(ObjectUtil.isNotEmpty(map.get("pointAmount")) ? map.get("pointAmount") : "0.0"); // 终端 @@ -493,20 +493,20 @@ public class OilOrderServiceImpl extends ServiceImpl i } // 查看会员储值卡余额是否足够付款 - if (payType.equals("card_value")){ - if (ObjectUtil.isEmpty(userId)){ + if (payType.equals("card_value")) { + if (ObjectUtil.isEmpty(userId)) { orders.put("error", "请先选择会员信息"); return orders; } UserBalance userBalance = userBalanceService.selectUserBalance(userId, nowAccountInfo.getChainStoreId()); - if (userBalance.getCardBalance() oilIds = cardValueRuleService.getOilIds(storeId); boolean flag = false; for (String oilId : oilIds) { - if (oilId.equals(JSONObject.parseObject(oilOrder).get("oils").toString())){ + if (oilId.equals(JSONObject.parseObject(oilOrder).get("oils").toString())) { flag = true; } } @@ -517,13 +517,13 @@ public class OilOrderServiceImpl extends ServiceImpl i } // 查看会员囤油卡余额是否足够付款 - if (payType.equals("fule_card")){ - if (ObjectUtil.isEmpty(userId)){ + if (payType.equals("fule_card")) { + if (ObjectUtil.isEmpty(userId)) { orders.put("error", "请先选择会员信息"); return orders; } Double fuelAmount = userFuelService.selectByUserIdAndOilId(userId, Integer.valueOf(JSONObject.parseObject(oilOrder).get("oils").toString()), storeId); - if (fuelAmount i if (payType.equals("CASH") || payType.equals("after_pay") || payType.equals("card_value")) { order.setPayTime(new Date()); order.setOrderStatus("paid"); - if(ObjectUtil.isNotEmpty(userId)) this.insertCardBalance(consumeAmount, userId, storeId, orderNo); + if (ObjectUtil.isNotEmpty(userId)) this.insertCardBalance(consumeAmount, userId, storeId, orderNo); this.addOilTracks(order, storeId); if (ObjectUtil.isNotEmpty(userId)) { this.updateGrowthValue(oilAmount, oilActualPay, userId, Integer.valueOf(jsonObject.get("oils").toString()), storeId, orderNo); @@ -628,7 +628,7 @@ public class OilOrderServiceImpl extends ServiceImpl i } baseMapper.insert(order); - if (order.getOrderStatus().equals("paid")){ + if (order.getOrderStatus().equals("paid")) { this.updateCardAndActiveById(storeId, userId, order.getId()); } } @@ -747,12 +747,11 @@ public class OilOrderServiceImpl extends ServiceImpl i public void updateCardAndActiveById(Integer storeId, Integer userId, Integer orderId) { if (ObjectUtil.isNotEmpty(userId)) { Map map = new HashMap<>(); - map.put("userId",userId.toString()); - map.put("storeId",storeId.toString()); - map.put("orderId",orderId.toString()); + map.put("userId", userId.toString()); + map.put("storeId", storeId.toString()); + map.put("orderId", orderId.toString()); payCenterService.cashRegisterSpendWisely(map); } - } @Override @@ -763,10 +762,10 @@ public class OilOrderServiceImpl extends ServiceImpl i // 油品订单金额 Double oilAmount = Double.valueOf(map.get("oilAmount")); // 将油品订单信息的json数据转换为数组 - List oilOrders = null; + JSONObject oilOrders = null; - if (!map.get("oilOrder").equals("[]")) { - oilOrders = JSONArray.parseArray(map.get("oilOrder"), JSONObject.class); + if (ObjectUtil.isNotEmpty(map.get("oilOrder"))) { + oilOrders = JSONObject.parseObject(map.get("oilOrder")); // 二维码支付 if (authCode.contains("9E")) { String[] split = authCode.split("9E"); @@ -1134,7 +1133,7 @@ public class OilOrderServiceImpl extends ServiceImpl i * @param oilOrders 油品订单 * @return 是否成功 */ - private Map updateUserBalanceAndInsetOrder1(int userId, Map map, Double oilAmount, List oilOrders, Integer storeId) { + private Map updateUserBalanceAndInsetOrder1(int userId, Map map, Double oilAmount, JSONObject oilOrders, Integer storeId) { Map res = new HashMap<>(); LJStore store = storeService.selectStoreByStoreId(storeId); // 根据userId查询用户储值卡信息 @@ -1149,180 +1148,74 @@ public class OilOrderServiceImpl extends ServiceImpl i String orderNo = "2345" + timestamp + randomString; AccountInfo accountInfo = TokenUtil.getNowAccountInfo(); + // 油品实付金额 + Double oilActualPay = Double.valueOf(map.get("oilActualPay")); + // 储值卡消费金额 没有默认传0 + Double balanceAmount = Double.valueOf(ObjectUtil.isNotEmpty(map.get("balanceAmount")) ? map.get("balanceAmount") : "0"); + // 囤油卡消费升数 没有默认传0 + Double oilCardAmount = Double.valueOf(ObjectUtil.isNotEmpty(map.get("oilCardAmount")) ? map.get("oilCardAmount") : "0"); + // 储值卡余额 Double cardBalance = balance.getCardBalance(); - CardFuelRecord cardFuelRecord = new CardFuelRecord(); - cardFuelRecord.setMtUserId(userId); - List recordByUserId = cardFuelRecordService.getRecordByUserId(cardFuelRecord); + // 判断油品消费升数是否可使用 + Double fuelAmount = userFuelService.selectByUserIdAndOilId(userId, Integer.valueOf(oilOrders.get("oils").toString()), storeId); - // 锁价后应付金额 - Double lockupAmount = 0.0; - for (CardFuelRecord fuelRecord : recordByUserId) { - for (int i = 0; i < oilOrders.size(); i++) { - if (fuelRecord.getOilName().equals(oilOrders.get(i).get("oilName"))) { - lockupAmount += fuelRecord.getLockupPrice() * Double.valueOf(oilOrders.get(i).get("liters").toString()); - } - } + if (fuelAmount < oilCardAmount && cardBalance < oilActualPay) { + res.put("error", "余额不足,请分开支付"); + return res; } - String status = "unpaid"; - - if (lockupAmount > 0.0) { - OilOrder order = new OilOrder(); - OilOrder oilOrder = null; - - // 添加收银台订单信息 - CashierOrder cashierOrder = new CashierOrder(); - boolean flag = false; - if (cardBalance >= lockupAmount) { - flag = true; - status = "paid"; - } else { - flag = false; - status = "payFail"; - } - Double oilLiters = 0.0; - for (int i = 0; i < oilOrders.size(); i++) { - Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString()); - Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString()); - Double oilNum = amount / oilPrice; - oilLiters += oilNum; - if (i == 0) { - order.setOrderType("主订单"); - order.setOrderAmount(amount); - order.setPayAmount(amount); - order.setOrderNo(orderNo); - } else { - order.setOrderType("子订单"); - order.setOrderAmount(amount); - order.setPayAmount(0.0); - order.setOrderNo(orderNo + "1"); - } - order.setStoreId(accountInfo.getStoreId()); - order.setUserId(userId); - order.setCommissionAmount(Double.valueOf(map.get("commissionAmount"))); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - order.setStaffId(Integer.valueOf(map.get("staffId"))); - order.setTerminal(map.get("terminal")); - order.setOils((String) oilOrders.get(i).get("oilName")); - order.setOilGunNum(oilOrders.get(i).get("gunName").toString()); - order.setOilNum(oilNum); - order.setPayUser(userVo1.getMobile()); - order.setPayType(map.get("payType")); - order.setInvoicing("未开票"); - order.setOrderStatus(status); - if (flag) order.setPayTime(new Date()); - - this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId()); - if (ObjectUtil.isNotEmpty(this.selectOilOrderByOrderNo(orderNo))) { - baseMapper.updateById(order); - } else { - baseMapper.insert(order); - } - - oilOrder = this.selectOilOrderByOrderNo(orderNo); - this.updateGrowthValue1(oilAmount, 0.0, userId, Integer.valueOf(oilOrder.getOils()), 0.0, storeId, orderNo); - } - - if (flag) { - - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - cashierOrder.setStaffId(Integer.valueOf(map.get("staffId"))); - cashierOrder.setStoreId(accountInfo.getStoreId()); - cashierOrder.setPayUser(userVo1.getMobile()); - cashierOrder.setAmount(oilAmount); - cashierOrder.setOilPayAmount(oilAmount); - cashierOrder.setPayAmount(oilAmount); - cashierOrder.setStatus(status); - cashierOrder.setPayTime(new Date()); - cashierOrder.setOrderNo(orderNo); - cashierOrder.setOilOrderAmount(oilAmount); - cashierOrder.setTerminal(map.get("terminal")); - cashierOrder.setOilOrderId(oilOrder.getId()); - cashierOrder.setSeekZero(0.0); - cashierOrder.setPayType(map.get("payType")); - cashierOrderService.insertCashierOrder(cashierOrder); - this.insertAllOrderInfo(orderNo, storeId, oilAmount, oilAmount, 0.0, map.get("payType"), userId, "PC", "1", status); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")), storeId, oilAmount, oilAmount, "1", orderNo); - res.put("success", "success"); - } else { - res.put("error", "储值卡余额不足!"); - } - + OilOrder order = new OilOrder(); + // 添加收银台/油品订单信息 + CashierOrder cashierOrder = new CashierOrder(); + Double amount = oilAmount; + Double oilPrice = Double.valueOf(oilOrders.get("oilPrice").toString()); + Double oilNum = amount / oilPrice; + order.setOrderType("主订单"); + order.setOrderAmount(amount); + order.setPayAmount(oilActualPay); + order.setOrderNo(orderNo); + order.setStoreId(accountInfo.getStoreId()); + order.setUserId(userId); + order.setStaffId(accountInfo.getStaffId()); + order.setTerminal(map.get("terminal")); + order.setOils(oilOrders.get("oils").toString()); + order.setOilGunNum(oilOrders.get("oilGunNum").toString()); + order.setOilNum(oilNum); + order.setPayUser(userVo1.getMobile()); + order.setPayType(map.get("payType")); + order.setInvoicing("未开票"); + order.setOrderStatus("paid"); + order.setPayTime(new Date()); + this.addOilTracks(order, accountInfo.getStoreId()); + if (ObjectUtil.isNotEmpty(this.selectOilOrderByOrderNo(orderNo))) { + baseMapper.updateById(order); } else { - if (cardBalance >= oilAmount) { - // 添加油品订单信息 - OilOrder order = new OilOrder(); - Double oilLiters = 0.0; - for (int i = 0; i < oilOrders.size(); i++) { - Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString()); - Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString()); - Double oilNum = amount / oilPrice; - oilLiters += oilNum; - if (i == 0) { - order.setOrderType("主订单"); - order.setOrderAmount(amount); - order.setPayAmount(amount); - order.setOrderNo(orderNo); - } else { - order.setOrderType("子订单"); - order.setOrderAmount(amount); - order.setPayAmount(0.0); - order.setOrderNo(orderNo + "1"); - } - order.setStoreId(accountInfo.getStoreId()); - order.setUserId(userId); - order.setCommissionAmount(Double.valueOf(map.get("commissionAmount"))); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - order.setStaffId(Integer.valueOf(map.get("staffId"))); - order.setTerminal(map.get("terminal")); - order.setOils((String) oilOrders.get(i).get("oilName")); - order.setOilGunNum(oilOrders.get(i).get("gunName").toString()); - order.setOilNum(oilNum); - order.setPayUser(userVo1.getMobile()); - order.setPayType(map.get("payType")); - order.setInvoicing("未开票"); - order.setOrderStatus("paid"); - order.setPayTime(new Date()); - - this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId()); - if (ObjectUtil.isNotEmpty(this.selectOilOrderByOrderNo(orderNo))) { - baseMapper.updateById(order); - } else { - baseMapper.insert(order); - } - } - OilOrder oilOrder = this.selectOilOrderByOrderNo(orderNo); - - // 添加收银台订单信息 - CashierOrder cashierOrder = new CashierOrder(); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - cashierOrder.setStaffId(Integer.valueOf(map.get("staffId"))); - cashierOrder.setStoreId(accountInfo.getStoreId()); - cashierOrder.setPayUser(userVo1.getMobile()); - cashierOrder.setAmount(oilAmount); - cashierOrder.setOilPayAmount(oilAmount); - cashierOrder.setPayAmount(oilAmount); - cashierOrder.setStatus("paid"); - cashierOrder.setPayTime(new Date()); - cashierOrder.setOrderNo(orderNo); - cashierOrder.setOilOrderAmount(oilAmount); - cashierOrder.setTerminal(map.get("terminal")); - cashierOrder.setOilOrderId(oilOrder.getId()); - cashierOrder.setSeekZero(0.0); - cashierOrder.setPayType(map.get("payType")); - cashierOrderService.insertCashierOrder(cashierOrder); - this.updateGrowthValue1(oilAmount, oilAmount, userId, Integer.valueOf(oilOrder.getOils()), 0.0, storeId, orderNo); - this.insertAllOrderInfo(orderNo, accountInfo.getStoreId(), oilAmount, oilAmount, 0.0, map.get("payType"), userId, "PC", "1", "paid"); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")), storeId, oilAmount, oilAmount, "1", orderNo); - res.put("success", "success"); - } else { - res.put("error", "储值卡余额不足!"); - } + baseMapper.insert(order); } + + this.updateGrowthValue1(oilAmount, 0.0, userId, Integer.valueOf(order.getOils()), 0.0, storeId, orderNo); + + cashierOrder.setStaffId(order.getStaffId()); + cashierOrder.setStoreId(accountInfo.getStoreId()); + cashierOrder.setPayUser(userVo1.getMobile()); + cashierOrder.setAmount(oilAmount); + cashierOrder.setOilPayAmount(oilAmount); + cashierOrder.setPayAmount(oilAmount); + cashierOrder.setStatus("paid"); + cashierOrder.setPayTime(new Date()); + cashierOrder.setOrderNo(orderNo); + cashierOrder.setOilOrderAmount(oilAmount); + cashierOrder.setTerminal(map.get("terminal")); + cashierOrder.setOilOrderId(order.getId()); + cashierOrder.setSeekZero(0.0); + cashierOrder.setPayType(map.get("payType")); + cashierOrderService.insertCashierOrder(cashierOrder); + this.insertAllOrderInfo(orderNo, storeId, oilAmount, oilAmount, 0.0, map.get("payType"), userId, "PC", "1", "paid"); + staffCommissionService.countStaffCommission(accountInfo.getStaffId(), storeId, oilAmount, oilAmount, "1", orderNo); + res.put("success", "success"); + return res; } @@ -1468,13 +1361,13 @@ public class OilOrderServiceImpl extends ServiceImpl i OilName oilName = oilNameService.selectOilNameById(oilId); LJStore store = storeService.selectStoreByStoreId(storeId); if (oilName.getOilType().equals("汽油")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"1",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "1", oilAmount, "油品订单消费", orderNo); } if (oilName.getOilType().equals("柴油")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"2",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "2", oilAmount, "油品订单消费", orderNo); } if (oilName.getOilType().equals("天然气")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"3",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "3", oilAmount, "油品订单消费", orderNo); } this.insertCardBalance(oilActualPay, userid, storeId, orderNo); } @@ -1893,13 +1786,13 @@ public class OilOrderServiceImpl extends ServiceImpl i OilName oilName = oilNameService.selectOilNameById(oilId); LJStore store = storeService.selectStoreByStoreId(storeId); if (oilName.getOilType().equals("汽油")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"1",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "1", oilAmount, "油品订单消费", orderNo); } if (oilName.getOilType().equals("柴油")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"2",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "2", oilAmount, "油品订单消费", orderNo); } if (oilName.getOilType().equals("天然气")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"3",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "3", oilAmount, "油品订单消费", orderNo); } } } diff --git a/gasStation-uni/pagesHome/QRcode/QRcode.vue b/gasStation-uni/pagesHome/QRcode/QRcode.vue index e60f30f54..571a16eb9 100644 --- a/gasStation-uni/pagesHome/QRcode/QRcode.vue +++ b/gasStation-uni/pagesHome/QRcode/QRcode.vue @@ -109,7 +109,7 @@ deduction: [{ key: "oilStorageCard", value: "优先使用囤油卡付款", - desc: "若囤油卡升数不足进行支付,则会与储值卡组合付款" + desc: "若囤油卡升数不足时,则无法使用囤油卡支付" }, { key: "balance", From 3cbed13ed95896dcd63525071050b7971a4ea493 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=85=81=E6=9E=9E?= <3422692813@qq.com> Date: Mon, 14 Oct 2024 14:19:22 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=9B=B4=E6=96=B010.12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fuintAdmin/src/api/allOrder.js | 17 ++ fuintAdmin/src/views/shopowner.vue | 157 ++++++++---------- .../controller/AllOrderInfoController.java | 24 +++ .../business/order/mapper/OilOrderMapper.java | 2 + .../order/mapper/xml/OilOrderMapper.xml | 4 + .../order/service/AllOrderInfoService.java | 7 + .../service/impl/AllOrderInfoServiceImpl.java | 106 +++++++++--- .../business/order/vo/HomeDataShowVo.java | 12 ++ .../entity/OilNumber.java | 2 + .../mapper/OilNumberMapper.java | 2 + .../mapper/xml/OilNumberMapper.xml | 7 + 11 files changed, 232 insertions(+), 108 deletions(-) create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/order/vo/HomeDataShowVo.java diff --git a/fuintAdmin/src/api/allOrder.js b/fuintAdmin/src/api/allOrder.js index 87cc1919d..290c5db22 100644 --- a/fuintAdmin/src/api/allOrder.js +++ b/fuintAdmin/src/api/allOrder.js @@ -163,3 +163,20 @@ export function getDataBoard(query) { }); } +// 油站首页数据分析 +export function getDataAnalysis(query) { + return request({ + url: 'business/allOrderInfo/getDataAnalysis', + method: 'get', + params:query + }); +} +// 油站首页数据展示 +export function getDataShow(query) { + return request({ + url: 'business/allOrderInfo/getDataShow', + method: 'get', + params:query + }); +} + diff --git a/fuintAdmin/src/views/shopowner.vue b/fuintAdmin/src/views/shopowner.vue index 957cb5945..e27d35a4a 100644 --- a/fuintAdmin/src/views/shopowner.vue +++ b/fuintAdmin/src/views/shopowner.vue @@ -2,7 +2,7 @@
-
- +
@@ -10,7 +10,7 @@
-
核心数据
+
核心数据
{{ storeTotal.allAmount || 0 }}
@@ -56,10 +56,12 @@
自定义
+
数据看板
+
近一周
-
油品销售金额(元)/交易笔数
+
油品销售金额(元)/交易笔数
{{ storeAmount.oilAmount || 0 }}/{{ storeAmount.oilNum || 0 }}
-
会员充值金额(元)/充值笔数
+
会员充值金额(元)/充值笔数
{{ storeAmount.userRechargeAmount || 0 }}/{{ storeAmount.userRechargeNum || 0 }}
-
便利店销售金额(元)/交易笔数
+
便利店销售金额(元)/交易笔数
{{ storeAmount.minimartAmount || 0 }}/{{ storeAmount.minimartNum || 0 }}
-
积分商城销售金额(元)/兑换笔数
+
积分商城销售金额(元)/兑换笔数
{{ storeAmount.pointMallAmount || 0 }}/{{ storeAmount.pointMallNum || 0 }}
@@ -133,66 +135,30 @@
{{ item.name }}
+
{{ item.name }}
-
-
-
油品交易分析
- -
近一周
- - 今日 - 昨日 - 近一周 - 近一月 - 近一周 - -
-
自定义
-
- - -
-
+
数据展示
-
员工排行 -
近一周
- - 今日 - 昨日 - 近一周 - 近一月 - 近一周 - -
+
员工排行
排名
员工姓名
-
会员充值金额
-
油品销售金额
-
总销售额
+
会员充值金额(元)
+
油品销售金额(元)
+
总销售额(元)
-
-
-
{{index +1}}
-
{{ item.realName }}
-
{{item.cardSum}}
-
{{item.oilSum}}
-
{{item.totalSum}}
-
+
+
{{index +1}}
+
{{ item.realName }}
+
{{item.cardSum}}
+
{{item.oilSum}}
+
{{item.totalSum}}
-
@@ -305,14 +271,47 @@ export default { this.getHardwareList() this.getNoticeList() this.getEmployeList() + this.getDataAnalysis() + this.getDataShow() }, mounted() { // this.initChart() }, - methods:{ - goList(){ + methods: { + goList() { this.$router.push('/notificationList/index') }, + // 获取数据分析信息 + getDataAnalysis() { + getDataAnalysis().then(res => { + console.log('数据分析的数据',res) + if (res.code == 200) { + for (let i = 0; i < res.data.length; i++) { + if (res.data[i].type == 1) { + this.dataAnalysisOilNumberList.push(res.data[i]) + }else if (res.data[i].type == 2) { + this.dataAnalysisIfOilList.push(res.data[i]) + }else if (res.data[i].type == 3) { + this.dataAnalysisAllList.push(res.data[i]) + } + } + console.log('dataAnalysisOilNumberList',this.dataAnalysisOilNumberList) + console.log('dataAnalysisIfOilList',this.dataAnalysisIfOilList) + console.log('dataAnalysisAllList',this.dataAnalysisAllList) + this.initChart() + } + }) + }, + //获取数据展示 + getDataShow(){ + const a = { + startTime: "2024-01-01", + endTime: "2024-11-01", + } + getDataShow(a).then(res => { + console.log('数据展示的数据',res) + }) + }, // 获取员工排行信息 getEmployeList() { this.employeLoading = true @@ -928,17 +927,17 @@ export default { height: 380px; box-sizing: border-box; padding: 15px; - - + overflow: auto; + scrollbar-width: none; } .san-box{ width: 24%; - height: 100px; + height: 120px; box-sizing: border-box; border-radius: 8px; background: #fe8c4a; - margin: 15px auto; - + margin: 15px 0px; + margin-right: 15px; box-sizing: border-box; padding: 20px 40px; } @@ -968,53 +967,37 @@ export default { overflow: hidden; //超出部分隐藏 text-overflow: ellipsis; //文本溢出显示省略号 font-size: 14px; - color: #333; + color: #777777; margin: 14px auto; } .h-tt{ font-size: 16px; color: #333333; font-weight: bold; - display: flex; - justify-content: space-between; + margin-right: 40px; } .q-anniu{ width: 80px; height: 26px; - background: #FF9655 !important; + background: #FF9655; border-radius: 4px 4px 4px 4px; display: flex; align-items: center; justify-content: center; - color: #fff !important; - font-size: 12px; + color: #fff; cursor: pointer; margin-right: 20px; } -.h-anniu{ - width: 80px; - height: 26px; - background: #fafafa; - border-radius: 4px 4px 4px 4px; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - margin-right: 20px; - font-weight: 400; - font-size: 12px; - color: #555555; -} .k-box{ - width: 24%; + width: 220px; height: 68px; background: #FFFFFF; border-radius: 8px; border: 1px solid #e1e0e0; box-sizing: border-box; - margin: 0 auto; padding: 10px; + margin-right: 10px; } .num-size{ font-weight: bold; @@ -1087,7 +1070,6 @@ export default { box-sizing: border-box; padding: 10px; display: flex; - font-size: 14px; justify-content: space-between; margin: 10px auto; div{ @@ -1097,13 +1079,12 @@ export default { } .hang-box{ border-radius: 8px; - font-size: 14px; width: 100%; box-sizing: border-box; - padding: 5px; + padding: 10px; display: flex; justify-content: space-between; - margin: 0px auto; + margin: 10px auto; div{ width: 20%; text-align: center; diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/AllOrderInfoController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/AllOrderInfoController.java index c112835f1..5be0c4e8f 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/AllOrderInfoController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/AllOrderInfoController.java @@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -309,6 +310,29 @@ public class AllOrderInfoController extends BaseController { return getSuccessResult(allOrderInfoService.getDataBoard(map)); } + /** + * 油站首页数据分析 + * @param map + * @return + */ + @GetMapping("getDataAnalysis") + public ResponseObject getDataAnalysis(Map map){ + return getSuccessResult(allOrderInfoService.getDataAnalysis(map)); + } + + /** + * 油站首页数据展示 + * @param map + * @return + */ + @GetMapping("getDataShow") + public ResponseObject getDataShow(String startTime, String endTime) { + Map map = new HashMap<>(); + map.put("startTime", startTime); + map.put("endTime", endTime); + return getSuccessResult(allOrderInfoService.getDataShow(map)); + } + /** * 消费记录(小程序) * @param pageNo diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java index f196de7b3..3795a00d3 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java @@ -140,4 +140,6 @@ public interface OilOrderMapper extends BaseMapper { OilOrderVo getInfoByOrderNo(String orderNo); Double selectSumMoeny(@Param("orderNos") List orderNos); + + double selectSumMoneyByDayAndOilNumber(@Param("oilName") String oilName, @Param("day") String day, @Param("storeId") Integer storeId); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml index 02d82b218..3bdda0435 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml @@ -804,4 +804,8 @@ #{item} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/AllOrderInfoService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/AllOrderInfoService.java index 3260267b3..238aa3114 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/AllOrderInfoService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/AllOrderInfoService.java @@ -157,6 +157,13 @@ public interface AllOrderInfoService { */ List getDataAnalysis(Map map); + /** + * 油站首页数据展示 + * @param map + * @return + */ + HomeDataShowVo getDataShow(Map map); + /** * 消费记录 * @param page diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/AllOrderInfoServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/AllOrderInfoServiceImpl.java index 152da2055..89d891208 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/AllOrderInfoServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/AllOrderInfoServiceImpl.java @@ -1737,14 +1737,15 @@ public class AllOrderInfoServiceImpl extends ServiceImpl oilNumbers = oilNumberMapper.selectList(new LambdaQueryWrapper() - .eq(OilNumber::getStoreId, nowAccountInfo.getStoreId()) - .eq(OilNumber::getState, "1") - .eq(OilNumber::getIfDelete, "0")); +// List oilNumbers = oilNumberMapper.selectList(new LambdaQueryWrapper() +// .eq(OilNumber::getStoreId, nowAccountInfo.getStoreId()) +// .eq(OilNumber::getState, "启用") +// .ne(OilNumber::getIfDelete, "1")); + List oilNumbers = oilNumberMapper.selectAllOil(nowAccountInfo.getStoreId()); LambdaQueryWrapper oilOrderQuery = new LambdaQueryWrapper(); oilOrderQuery.eq(OilOrder::getStoreId, nowAccountInfo.getStoreId()) - .eq(OilOrder::getUserId, nowAccountInfo.getId()) + .eq(OilOrder::getStoreId, nowAccountInfo.getStoreId()) .eq(OilOrder::getOrderStatus, "paid"); if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) { oilOrderQuery.between(OilOrder::getCreateTime, startTime, endTime); @@ -1754,7 +1755,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl oilList = new ArrayList<>(); for (OilOrder oilOrder : oilOrders) { @@ -1762,9 +1763,9 @@ public class AllOrderInfoServiceImpl extends ServiceImpl map) { + HomeDataShowVo homeDataShowVo = new HomeDataShowVo(); + String startTime = map.get("startTime"); + String endTime = map.get("endTime"); + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) { + //查询出所有油号 + List oilNumbers = oilNumberMapper.selectAllOil(nowAccountInfo.getStoreId()); + List oilNames = oilNumbers.stream().map(oil -> oil.getOilNames() + oil.getOilType()).collect(Collectors.toList()); + homeDataShowVo.setOilNames(oilNames); + //根据开始时间与结束时间获取所有天数 + List days = getAllDatesBetween(startTime, endTime); + List> oilData = new ArrayList<>(); + for (String day : days) { + Map mapData = new HashMap<>(); + mapData.put("day", day); + List oilPrices = new ArrayList<>(); + for (OilNumber oilNumber : oilNumbers) { + //查询油品交易总金额 + double price = oilOrderMapper.selectSumMoneyByDayAndOilNumber(oilNumber.getOilName(), day, nowAccountInfo.getStoreId()); + oilPrices.add(price); + } + mapData.put("oilPrices", oilPrices); + oilData.add(mapData); + } + homeDataShowVo.setOilData(oilData); + } + return homeDataShowVo; + } + + /** + * 获取时间段内的所有日期 + * @param startTime + * @return + */ + public List getAllDatesBetween(String startTime, String endTime) { + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate startDate = LocalDate.parse(startTime, formatter); + LocalDate endDate = LocalDate.parse(endTime, formatter); + + List dateList = new ArrayList<>(); + while (!startDate.isAfter(endDate)) { + dateList.add(startDate.format(formatter)); + startDate = startDate.plusDays(1); + } + + return dateList; + } + + private static String getFormattedResult(double averageValue) { + DecimalFormat df = new DecimalFormat("#.00"); + String formattedResult = df.format(averageValue); + return formattedResult; + } + /** * 消费记录 * diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/vo/HomeDataShowVo.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/vo/HomeDataShowVo.java new file mode 100644 index 000000000..55c25b445 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/vo/HomeDataShowVo.java @@ -0,0 +1,12 @@ +package com.fuint.business.order.vo; + +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class HomeDataShowVo { + private List oilNames; + private List> oilData; +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/entity/OilNumber.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/entity/OilNumber.java index 9592a2e2c..a0ae1799b 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/entity/OilNumber.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/entity/OilNumber.java @@ -41,6 +41,8 @@ public class OilNumber extends BaseEntity { public Integer id; //id(主键) public Integer upOrDown;//油价涨幅 1-升 2-降 public String amplitudeOfChange; //涨幅 + @TableField(exist = false) + public String oilNames; diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/OilNumberMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/OilNumberMapper.java index 630586720..90ef014da 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/OilNumberMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/OilNumberMapper.java @@ -63,5 +63,7 @@ public interface OilNumberMapper extends BaseMapper { List selectOilNumberNameByStoreId(@Param("storeId") Integer storeId); double getOilPriceById(@Param("oilId") Integer oilId,@Param("storeId") Integer storeId); + + List selectAllOil(Integer storeId); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/xml/OilNumberMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/xml/OilNumberMapper.xml index 0207a6404..a0f199aef 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/xml/OilNumberMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/xml/OilNumberMapper.xml @@ -155,4 +155,11 @@ + From ee7d0db4c69494a2038330f5d67a272a8111f47e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=85=81=E6=9E=9E?= <3422692813@qq.com> Date: Mon, 14 Oct 2024 14:24:53 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=9B=B4=E6=96=B010.14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fuintAdmin/src/views/shopowner.vue | 354 +++++++++++++++++------------ 1 file changed, 211 insertions(+), 143 deletions(-) diff --git a/fuintAdmin/src/views/shopowner.vue b/fuintAdmin/src/views/shopowner.vue index e27d35a4a..9bcfd1938 100644 --- a/fuintAdmin/src/views/shopowner.vue +++ b/fuintAdmin/src/views/shopowner.vue @@ -2,7 +2,7 @@
-
+
-
@@ -10,7 +10,7 @@
-
核心数据
+
核心数据
{{ storeTotal.allAmount || 0 }}
@@ -36,7 +36,7 @@
通知中心
更多
- +
【{{ item.notificationType }}】{{ item.templateContent }}
暂无通知
@@ -46,7 +46,7 @@
数据看板
-
近一周
+
近一周
今日 昨日 @@ -56,12 +56,10 @@
自定义
-
数据看板
-
近一周
-
油品销售金额(元)/交易笔数
+
油品销售金额(元)/交易笔数
{{ storeAmount.oilAmount || 0 }}/{{ storeAmount.oilNum || 0 }}
-
会员充值金额(元)/充值笔数
+
会员充值金额(元)/充值笔数
{{ storeAmount.userRechargeAmount || 0 }}/{{ storeAmount.userRechargeNum || 0 }}
-
便利店销售金额(元)/交易笔数
+
便利店销售金额(元)/交易笔数
{{ storeAmount.minimartAmount || 0 }}/{{ storeAmount.minimartNum || 0 }}
-
积分商城销售金额(元)/兑换笔数
+
积分商城销售金额(元)/兑换笔数
{{ storeAmount.pointMallAmount || 0 }}/{{ storeAmount.pointMallNum || 0 }}
@@ -108,7 +106,7 @@
- +
@@ -127,7 +125,7 @@ content="联系电话:1352415811"> -
+
@@ -135,30 +133,66 @@
{{ item.name }}
-
{{ item.name }}
+
-
数据展示
+
+
油品交易分析
+ +
近一周
+ + 今日 + 昨日 + 近一周 + 近一月 + 近一周 + +
+
自定义
+
+ + +
+
-
员工排行
+
员工排行 +
近一周
+ + 今日 + 昨日 + 近一周 + 近一月 + 近一周 + +
排名
员工姓名
-
会员充值金额(元)
-
油品销售金额(元)
-
总销售额(元)
+
会员充值金额
+
油品销售金额
+
总销售额
-
-
{{index +1}}
-
{{ item.realName }}
-
{{item.cardSum}}
-
{{item.oilSum}}
-
{{item.totalSum}}
+
+
+
{{index +1}}
+
{{ item.realName }}
+
{{item.cardSum}}
+
{{item.oilSum}}
+
{{item.totalSum}}
+
+
@@ -256,7 +290,7 @@ export default { created() { let nowDate = new Date(); let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000) - this.value1 = [parseTime(oneWeekAgo),parseTime(nowDate)] + this.value1 = [parseTime(oneWeekAgo), parseTime(nowDate)] this.getStoreTotal() // this.selectChildByDeptIdApi() this.getStoreAmount() @@ -266,13 +300,11 @@ export default { start.setMinutes(0) start.setSeconds(0) start.setMilliseconds(0) - this.value2 = [start,new Date()]; + this.value2 = [start, new Date()]; this.getStoreList() this.getHardwareList() this.getNoticeList() this.getEmployeList() - this.getDataAnalysis() - this.getDataShow() }, mounted() { // this.initChart() @@ -281,43 +313,12 @@ export default { goList() { this.$router.push('/notificationList/index') }, - // 获取数据分析信息 - getDataAnalysis() { - getDataAnalysis().then(res => { - console.log('数据分析的数据',res) - if (res.code == 200) { - for (let i = 0; i < res.data.length; i++) { - if (res.data[i].type == 1) { - this.dataAnalysisOilNumberList.push(res.data[i]) - }else if (res.data[i].type == 2) { - this.dataAnalysisIfOilList.push(res.data[i]) - }else if (res.data[i].type == 3) { - this.dataAnalysisAllList.push(res.data[i]) - } - } - console.log('dataAnalysisOilNumberList',this.dataAnalysisOilNumberList) - console.log('dataAnalysisIfOilList',this.dataAnalysisIfOilList) - console.log('dataAnalysisAllList',this.dataAnalysisAllList) - this.initChart() - } - }) - }, - //获取数据展示 - getDataShow(){ - const a = { - startTime: "2024-01-01", - endTime: "2024-11-01", - } - getDataShow(a).then(res => { - console.log('数据展示的数据',res) - }) - }, // 获取员工排行信息 getEmployeList() { this.employeLoading = true - employeeSalesApi().then(res=>{ - if(res.code == 200) { - if (res.data.length >=10) { + employeeSalesApi().then(res => { + if (res.code == 200) { + if (res.data.length >= 10) { this.employeList = res.data.slice(0, 10); } else { this.employeList = res.data @@ -328,45 +329,45 @@ export default { }) }, - getNoticeList(){ + getNoticeList() { getNotificationlogList({pageNo: 1, pageSize: 4}).then(res => { this.noticeList = res.data.records }) }, - getHardwareList(){ - getListApi({page: 1, pageSize: 3,status:'1'}).then(res=>{ + getHardwareList() { + getListApi({page: 1, pageSize: 3, status: '1'}).then(res => { this.hardwareList = res.data.records; this.hardwareList.forEach(item => { - if (item.image.includes(",")){ + if (item.image.includes(",")) { item.image = item.image.split(",")[0] } }) }) }, - getStoreList(){ - selectStoreAmount(this.addDateRange({},this.value2)).then(res => { + getStoreList() { + selectStoreAmount(this.addDateRange({}, this.value2)).then(res => { this.storeList = res.data this.initChart() }) }, // 选择机构信息 - chooseDept(){ + chooseDept() { this.options.forEach(item => { - if (item.deptId == this.value){ + if (item.deptId == this.value) { this.queryParams.ancestors = item.ancestors } }) this.getStoreAmount() }, // banner图 - selectBannerList(){ + selectBannerList() { let queryParams = { - pageNo:1, - pageSize:10, - systemPosition:"首页", - bannerStatus:true + pageNo: 1, + pageSize: 10, + systemPosition: "首页", + bannerStatus: true } - getBannerListApi(queryParams).then(res=>{ + getBannerListApi(queryParams).then(res => { this.bannerList = res.data.records }) }, @@ -377,28 +378,28 @@ export default { }) }, // 核心数据 - getStoreTotal(){ + getStoreTotal() { getTotalAmount().then(res => { this.storeTotal = res.data }) }, - getStoreAmount(){ - getDataBoard(this.addDateRange(this.queryParams,this.value1)).then(res => { + getStoreAmount() { + getDataBoard(this.addDateRange(this.queryParams, this.value1)).then(res => { this.storeAmount = res.data this.initChart() }) }, - countPercentage(upNum,downNum){ + countPercentage(upNum, downNum) { let percentage = 0; - percentage = (upNum / downNum)*100 + percentage = (upNum / downNum) * 100 return percentage.toFixed(2) }, initChart() { const chart = echarts.init(document.getElementById('ccc')) const chart1 = echarts.init(document.getElementById('cccc')) - const chart2= echarts.init(document.getElementById('ccct')) - const chart3= echarts.init(document.getElementById('ctct')) - const chart4= echarts.init(document.getElementById('cccf')) + const chart2 = echarts.init(document.getElementById('ccct')) + const chart3 = echarts.init(document.getElementById('ctct')) + const chart4 = echarts.init(document.getElementById('cccf')) let dataList = [] let allTotal = 0 if (this.storeAmount.oilNameList) { @@ -419,7 +420,7 @@ export default { let rechargeBalanceList = [] let consumeBalanceList = [] let userBalanceList = [] - if (this.storeList.length>0) { + if (this.storeList.length > 0) { this.storeList.forEach(item => { storeNameList.push(item.storeName) oilAmountList.push(item.oilAmount) @@ -484,8 +485,14 @@ export default { data: [ // { value: 28, name: '28%' }, // { value: 72, name: '72%' }, - { value: this.countPercentage(Number(this.storeAmount.oilNum),Number(this.storeAmount.oilNum)+Number(this.storeAmount.noOilNum)), name: "油品交易占比" }, - { value: this.countPercentage(Number(this.storeAmount.noOilNum),Number(this.storeAmount.oilNum)+Number(this.storeAmount.noOilNum)), name: "非油品交易占比" }, + { + value: this.countPercentage(Number(this.storeAmount.oilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.noOilNum)), + name: "油品交易占比" + }, + { + value: this.countPercentage(Number(this.storeAmount.noOilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.noOilNum)), + name: "非油品交易占比" + }, ], emphasis: { @@ -519,10 +526,22 @@ export default { // { value: 72, name: '积分商城交易占比' }, // { value: 28, name: '油品交易占比' }, // { value: 72, name: '便利店交易占比' }, - { value: this.countPercentage(Number(this.storeAmount.userNum),Number(this.storeAmount.oilNum)+Number(this.storeAmount.userNum)+Number(this.storeAmount.integralNum)+Number(this.storeAmount.goodNum)), name: '会员充值占比' }, - { value: this.countPercentage(Number(this.storeAmount.integralNum),Number(this.storeAmount.oilNum)+Number(this.storeAmount.userNum)+Number(this.storeAmount.integralNum)+Number(this.storeAmount.goodNum)), name: '积分商城交易占比' }, - { value: this.countPercentage(Number(this.storeAmount.oilNum),Number(this.storeAmount.oilNum)+Number(this.storeAmount.userNum)+Number(this.storeAmount.integralNum)+Number(this.storeAmount.goodNum)), name: '油品交易占比' }, - { value: this.countPercentage(Number(this.storeAmount.goodNum),Number(this.storeAmount.oilNum)+Number(this.storeAmount.userNum)+Number(this.storeAmount.integralNum)+Number(this.storeAmount.goodNum)), name: '便利店交易占比' }, + { + value: this.countPercentage(Number(this.storeAmount.userNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)), + name: '会员充值占比' + }, + { + value: this.countPercentage(Number(this.storeAmount.integralNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)), + name: '积分商城交易占比' + }, + { + value: this.countPercentage(Number(this.storeAmount.oilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)), + name: '油品交易占比' + }, + { + value: this.countPercentage(Number(this.storeAmount.goodNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)), + name: '便利店交易占比' + }, ], emphasis: { @@ -547,7 +566,7 @@ export default { } }, legend: { - data: ['Evaporation','油品交易额','非油品交易额', '会员充值金额','会员消费金额', '会员余额'] + data: ['Evaporation', '油品交易额', '非油品交易额', '会员充值金额', '会员消费金额', '会员余额'] }, xAxis: [ { @@ -702,7 +721,7 @@ export default { } }, legend: { - data: ['Evaporation','油品交易额','非油品交易额', '会员充值金额','会员消费金额', '会员余额'] + data: ['Evaporation', '油品交易额', '非油品交易额', '会员充值金额', '会员消费金额', '会员余额'] }, xAxis: [ { @@ -861,34 +880,39 @@ export default {