This commit is contained in:
zhaohengkun 2024-11-04 18:03:02 +08:00
parent 95b7fab796
commit 8f285b0166
7 changed files with 454 additions and 205 deletions

View File

@ -201,6 +201,35 @@ export function getDataAnalysis(query) {
params:query params:query
}); });
} }
// 油站首页 数据分析 第一个饼状图
export function getOilPercentage(query) {
return request({
url: 'business/allOrderInfo/getOilPercentage',
method: 'get',
params:query
});
}
// 油站首页 数据分析 第二个饼状图
export function getOilAndGoodsPercentage(query) {
return request({
url: 'business/allOrderInfo/getOilAndGoodsPercentage',
method: 'get',
params:query
});
}
// 油站首页 数据分析 第三个饼状图
export function getOilAndGoodsAndVipAndPoints(query) {
return request({
url: 'business/allOrderInfo/getOilAndGoodsAndVipAndPoints',
method: 'get',
params:query
});
}
// 油站首页数据展示 // 油站首页数据展示
export function getDataShow(query) { export function getDataShow(query) {
return request({ return request({

View File

@ -48,10 +48,12 @@
<div class="d-s"> <div class="d-s">
<div class="h-tt" style="margin-right: 15px">数据看板</div> <div class="h-tt" style="margin-right: 15px">数据看板</div>
<el-dropdown placement="bottom-start " @command="sjkbStoreAmount"> <el-dropdown placement="bottom-start " @command="sjkbStoreAmount">
<div class="h-anniu" :class="{'q-anniu' : dataTimeShow == false}" @click="dataTimeShow = false ">{{sjkbTitle}} <i <div class="h-anniu" :class="{'q-anniu' : dataTimeShow == false}" @click="dataTimeShow = false ">
{{ sjkbTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div> class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{item}} </el-dropdown-item> <el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{ item }}
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<div class="h-anniu" :class="{'q-anniu' : dataTimeShow == true}" @click="dataTimeShow = true"> 自定义 <div class="h-anniu" :class="{'q-anniu' : dataTimeShow == true}" @click="dataTimeShow = true"> 自定义
@ -104,9 +106,7 @@
<div class="h-tt" style="position: absolute;top: 0px">数据分析</div> <div class="h-tt" style="position: absolute;top: 0px">数据分析</div>
<div id="ccc" style="width: 400px;height: 200px; "></div> <div id="ccc" style="width: 400px;height: 200px; "></div>
</div> </div>
<!-- <div class="h-r-ba"></div>-->
<div> <div>
<!-- <div class="h-tt" >活跃油站</div>-->
<div class="d-s" style="justify-content: space-between"> <div class="d-s" style="justify-content: space-between">
<div id="cccc" style="width: 400px;height: 200px;"></div> <div id="cccc" style="width: 400px;height: 200px;"></div>
<div id="ccct" style="width: 400px;height: 200px;"></div> <div id="ccct" style="width: 400px;height: 200px;"></div>
@ -141,14 +141,16 @@
<div class="d-s" style="margin-bottom: 10px"> <div class="d-s" style="margin-bottom: 10px">
<div class="h-tt" style="margin-right: 15px">油品交易分析</div> <div class="h-tt" style="margin-right: 15px">油品交易分析</div>
<el-dropdown placement="bottom-start" @command="editShow"> <el-dropdown placement="bottom-start" @command="editShow">
<div class="h-anniu" :class="{'q-anniu' : showTimeShow == false}" @click="showTimeShow = false ">{{ypjyTitle}} <i <div class="h-anniu" :class="{'q-anniu' : showTimeShow == false}" @click="showTimeShow = false ">
{{ ypjyTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div> class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item command="近一周" index="2">近一周</el-dropdown-item>--> <!-- <el-dropdown-item command="近一周" index="2">近一周</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一月" index="2">本月</el-dropdown-item>--> <!-- <el-dropdown-item command="近一月" index="2">本月</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一年" index="2">本季度</el-dropdown-item>--> <!-- <el-dropdown-item command="近一年" index="2">本季度</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一年" index="2">本年</el-dropdown-item>--> <!-- <el-dropdown-item command="近一年" index="2">本年</el-dropdown-item>-->
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{item}} </el-dropdown-item> <el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{ item }}
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<div class="h-anniu" :class="{'q-anniu' : showTimeShow == true}" @click="showTimeShow = true"> 自定义 <div class="h-anniu" :class="{'q-anniu' : showTimeShow == true}" @click="showTimeShow = true"> 自定义
@ -174,7 +176,8 @@
<div class="h-anniu" :class="{'q-anniu' : timeShow == false}" @click="timeShow = false ">{{ ygphTitle }} <i <div class="h-anniu" :class="{'q-anniu' : timeShow == false}" @click="timeShow = false ">{{ ygphTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div> class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{item}} </el-dropdown-item> <el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{ item }}
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
@ -213,14 +216,16 @@
<div class="d-s"> <div class="d-s">
<div class="h-tt" style="margin-right: 15px">数据统计</div> <div class="h-tt" style="margin-right: 15px">数据统计</div>
<el-dropdown placement="bottom-start" @command="editCount"> <el-dropdown placement="bottom-start" @command="editCount">
<div class="h-anniu" :class="{'q-anniu' : countTimeShow == false}" @click="countTimeShow = false ">{{sjtjTitle}} <i <div class="h-anniu" :class="{'q-anniu' : countTimeShow == false}" @click="countTimeShow = false ">
{{ sjtjTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div> class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item command="近一周" index="1">近一周</el-dropdown-item>--> <!-- <el-dropdown-item command="近一周" index="1">近一周</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一月" index="1">本月</el-dropdown-item>--> <!-- <el-dropdown-item command="近一月" index="1">本月</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一年" index="1">本季度</el-dropdown-item>--> <!-- <el-dropdown-item command="近一年" index="1">本季度</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一年" index="1">本年</el-dropdown-item>--> <!-- <el-dropdown-item command="近一年" index="1">本年</el-dropdown-item>-->
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{item}} </el-dropdown-item> <el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{ item }}
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
@ -256,7 +261,16 @@ import {parseTime} from "@/utils/fuint";
import {getBannerListApi} from "@/api/sys/banner"; import {getBannerListApi} from "@/api/sys/banner";
import {getNotificationlogList} from "@/api/sys/sysNotificationlog"; import {getNotificationlogList} from "@/api/sys/sysNotificationlog";
import {employeeSalesApi} from "@/api/indexStatistics"; import {employeeSalesApi} from "@/api/indexStatistics";
import {getDataAnalysis, getDataBoard, getDataCount, getDataShow, getTotalAmount} from "@/api/allOrder"; import {
getDataAnalysis,
getDataBoard,
getDataCount,
getDataShow,
getTotalAmount,
getOilPercentage,
getOilAndGoodsPercentage,
getOilAndGoodsAndVipAndPoints
} from "@/api/allOrder";
export default { export default {
@ -600,26 +614,20 @@ export default {
startTime: this.value1[0], startTime: this.value1[0],
endTime: this.value1[1] endTime: this.value1[1]
} }
getDataAnalysis(data).then(res => { //
// console.log('', res) getOilPercentage(data).then(res => {
this.dataAnalysisAllList = [] this.dataAnalysisOilNumberList = res.data
this.dataAnalysisOilNumberList = [] console.log("饼状图一数据",this.dataAnalysisOilNumberList )
this.dataAnalysisIfOilList = [] })
if (res.code == 200) { //
for (let i = 0; i < res.data.length; i++) { getOilAndGoodsPercentage(data).then(res => {
if (res.data[i].type == 1) { this.dataAnalysisIfOilList = res.data
this.dataAnalysisOilNumberList.push(res.data[i]) console.log("饼状图二数据",this.dataAnalysisIfOilList)
} else if (res.data[i].type == 2) { })
this.dataAnalysisIfOilList.push(res.data[i]) //
} else if (res.data[i].type == 3) { getOilAndGoodsAndVipAndPoints(data).then(res => {
this.dataAnalysisAllList.push(res.data[i]) this.dataAnalysisAllList = res.data
} console.log("饼状图三数据",this.dataAnalysisAllList )
}
// console.log('dataAnalysisOilNumberList', this.dataAnalysisOilNumberList)
// console.log('dataAnalysisIfOilList', this.dataAnalysisIfOilList)
// console.log('dataAnalysisAllList', this.dataAnalysisAllList)
this.initChart()
}
}) })
}, },
// //
@ -629,7 +637,7 @@ export default {
"endTime": this.showValue[1].split(' ')[0] "endTime": this.showValue[1].split(' ')[0]
} }
getDataShow(data).then(res => { getDataShow(data).then(res => {
// console.log('', res.data) console.log('首页数据展示', res.data)
this.dataShows = res.data this.dataShows = res.data
this.initChart() this.initChart()
}) })
@ -827,7 +835,6 @@ export default {
formatter: `{d}%`, formatter: `{d}%`,
}, },
}, },
] ]
}; };
const option1 = { const option1 = {

View File

@ -354,7 +354,7 @@ public class AllOrderInfoController extends BaseController {
} }
/** /**
* 油站首页 数据展示 * 油站首页 数据看板
* @return * @return
*/ */
@GetMapping("getDataBoard") @GetMapping("getDataBoard")
@ -375,6 +375,48 @@ public class AllOrderInfoController extends BaseController {
return getSuccessResult(allOrderInfoService.getDataAnalysis(map)); return getSuccessResult(allOrderInfoService.getDataAnalysis(map));
} }
/**
* 油站首页 数据分析 第一个饼状图
* @param map
* @return
*/
@GetMapping("/getOilPercentage")
public ResponseObject getOilPercentage(String startTime, String endTime){
Map<String, Object> map = new HashMap<>();
map.put("startTime", startTime);
map.put("endTime", endTime);
return getSuccessResult(allOrderInfoService.getOilPercentage(map));
}
/**
* 油站首页 数据分析 第二个饼状图
* @param map
* @return
*/
@GetMapping("/getOilAndGoodsPercentage")
public ResponseObject getOilAndGoodsPercentage(String startTime, String endTime){
Map<String, Object> map = new HashMap<>();
map.put("startTime", startTime);
map.put("endTime", endTime);
return getSuccessResult(allOrderInfoService.getOilAndGoodsPercentage(map));
}
/**
* 油站首页 数据分析 第三个饼状图
* @param map
* @return
*/
@GetMapping("/getOilAndGoodsAndVipAndPoints")
public ResponseObject getOilAndGoodsAndVipAndPoints(String startTime, String endTime){
Map<String, Object> map = new HashMap<>();
map.put("startTime", startTime);
map.put("endTime", endTime);
return getSuccessResult(allOrderInfoService.getOilAndGoodsAndVipAndPoints(map));
}
/** /**
* 油站首页数据展示 * 油站首页数据展示
* @param map * @param map

View File

@ -165,6 +165,10 @@ public interface AllOrderInfoService {
*/ */
List<HomeDataAnalysisVo> getDataAnalysis(Map<String, String> map); List<HomeDataAnalysisVo> getDataAnalysis(Map<String, String> map);
Object getOilPercentage(Map<String, Object> map);
Object getOilAndGoodsPercentage(Map<String, Object> map);
Object getOilAndGoodsAndVipAndPoints(Map<String, Object> map);
/** /**
* 油站首页数据展示 * 油站首页数据展示
* @param map * @param map

View File

@ -79,6 +79,7 @@ import com.fuint.system.dept.entity.SysDept;
import com.fuint.system.dept.mapper.SysDeptMapper; import com.fuint.system.dept.mapper.SysDeptMapper;
import com.fuint.system.dept.service.ISysDeptService; import com.fuint.system.dept.service.ISysDeptService;
import com.fuint.system.dept.vo.SysDeptVo; import com.fuint.system.dept.vo.SysDeptVo;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -140,6 +141,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
@Resource @Resource
private MtUserMapper mtUserMapper; private MtUserMapper mtUserMapper;
@Override @Override
public Map<String, Object> orderStatistics(AllOrderInfoRes allOrderInfoRes) { public Map<String, Object> orderStatistics(AllOrderInfoRes allOrderInfoRes) {
return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0], return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
@ -852,7 +854,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
MemberService memberService; MemberService memberService;
public AllOrderInfoVo getTradingData(AllOrderInfoDto allOrderInfo) { public AllOrderInfoVo getTradingData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -984,7 +985,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
} }
@Override @Override
public IPage<AllOrderInfoVo> transactionList(Page page, AllOrderInfoRes allOrderInfoRes) { public IPage<AllOrderInfoVo> transactionList(Page page, AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -1916,6 +1916,78 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return map1; return map1;
} }
/**
* 油站首页 数据分析 第一个饼状图
*/
public Object getOilPercentage(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
List<Map<String, Object>> s1 = oilNumberMapper.getS1(map);
return s1;
}
/**
* 油站首页 数据分析 第二个饼状图
*/
public Object getOilAndGoodsPercentage(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
Map<String, Object> m1 = oilNumberMapper.getOilAndGoodsPercentage(map);
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 1; i <= 2; i++) {
HashMap<String, Object> m2 = new HashMap<>();
if (i == 1) {
m2.put("name", "油品交易占比");
m2.put("value", m1.get("oil_order_total"));
}
if (i == 2) {
m2.put("name", "非油品交易占比");
m2.put("value", m1.get("mt_order_total"));
}
list.add(m2);
}
return list;
}
/**
* 油站首页 数据分析 第三个饼状图
*/
public Object getOilAndGoodsAndVipAndPoints(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
Map<String, Object> oilAndGoodsAndVipAndPoints = oilNumberMapper.getOilAndGoodsAndVipAndPoints(map);
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 1; i <=4 ; i++) {
HashMap<String, Object> m2 = new HashMap<>();
if (i==1){
m2.put("name","会员充值交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("all_order_type_3_total"));
}
if (i==2){
m2.put("name","积分商城交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("all_order_type_4_total"));
}
if (i==3){
m2.put("name","油品交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("oil_order_total"));
}
if (i==4){
m2.put("name","非油品交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("mt_order_total"));
}
list.add(m2);
}
return list;
}
/** /**
* 油站首页数据分析 * 油站首页数据分析
* *
@ -2527,7 +2599,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
} }
@Override @Override
public void exportExcelOrderMsgApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) { public void exportExcelOrderMsgApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) {
List<TradingOrderExcel> list = transactionAllList(allOrderInfoRes); List<TradingOrderExcel> list = transactionAllList(allOrderInfoRes);
@ -2553,6 +2624,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
/** /**
* 查询全部订单数据 * 查询全部订单数据
*
* @param * @param
* @param allOrderInfoRes * @param allOrderInfoRes
* @return * @return
@ -2567,6 +2639,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return allOrderInfoVo; return allOrderInfoVo;
} }
@Override @Override
public void exportExcelBackOrderMsgsApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) { public void exportExcelBackOrderMsgsApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) {
List<TradingBackOrderExcel> list = transactionBackAllList(allOrderInfoRes); List<TradingBackOrderExcel> list = transactionBackAllList(allOrderInfoRes);
@ -2590,9 +2663,9 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
} }
/** /**
* 查询退单订单数据 * 查询退单订单数据
*
* @param * @param
* @param allOrderInfoRes * @param allOrderInfoRes
* @return * @return
@ -2606,8 +2679,10 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return allOrderInfoVo; return allOrderInfoVo;
} }
/** /**
* 查询退单订单数据 * 查询退单订单数据
*
* @param * @param
* @param allOrderInfo * @param allOrderInfo
* @return * @return
@ -2621,6 +2696,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0], allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]); allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
} }
@Override @Override
public AllOrderInfoVo getTradingNewData(AllOrderInfoDto allOrderInfo) { public AllOrderInfoVo getTradingNewData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -2638,6 +2714,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
} }
@Override @Override
public StatisticsOrderAllDto getInstituionListApi3(AllOrderInfoRes allOrderInfoRes) { public StatisticsOrderAllDto getInstituionListApi3(AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -2646,6 +2723,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
} }
@Override @Override
public IPage<StatisticsOneDayOrderAllDto> getInstituionListApi7(Page page, AllOrderInfoRes allOrderInfoRes) { public IPage<StatisticsOneDayOrderAllDto> getInstituionListApi7(Page page, AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -2654,6 +2732,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
} }
@Override @Override
public StatisticsOneDayOrderAllDto getInstituionListApi9(AllOrderInfoRes allOrderInfoRes) { public StatisticsOneDayOrderAllDto getInstituionListApi9(AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();

View File

@ -9,6 +9,7 @@ import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* (ChainStoreInfo)表数据库访问层 * (ChainStoreInfo)表数据库访问层
@ -65,5 +66,9 @@ public interface OilNumberMapper extends BaseMapper<OilNumber> {
double getOilPriceById(@Param("oilId") Integer oilId,@Param("storeId") Integer storeId); double getOilPriceById(@Param("oilId") Integer oilId,@Param("storeId") Integer storeId);
List<OilNumber> selectAllOil(Integer storeId); List<OilNumber> selectAllOil(Integer storeId);
List<Map<String, Object>> getS1(@Param("obj") Map<String, Object> map);
Map<String, Object> getOilAndGoodsPercentage(@Param("obj") Map<String, Object> map);
Map<String, Object> getOilAndGoodsAndVipAndPoints(@Param("obj") Map<String, Object> map);
} }

View File

@ -24,12 +24,27 @@
</resultMap> </resultMap>
<sql id="selectOilNumber"> <sql id="selectOilNumber">
select `number_id`,`oil_type`,oil_name,oil_price,gb_price,receiving_units,create_time,update_time,`state`,sort,remark,if_delete,unit, store_id select `number_id`,
`oil_type`,
oil_name,
oil_price,
gb_price,
receiving_units,
create_time,
update_time,
`state`,
sort,
remark,
if_delete,
unit,
store_id
from oil_number from oil_number
</sql> </sql>
<select id="selectOilNumberList" resultMap="OilNumberResult"> <select id="selectOilNumberList" resultMap="OilNumberResult">
SELECT onu.*,ms.real_name FROM oil_number onu LEFT JOIN mt_staff ms ON onu.create_by = ms.id SELECT onu.*, ms.real_name
FROM oil_number onu
LEFT JOIN mt_staff ms ON onu.create_by = ms.id
where onu.store_id = #{oilNumber.storeId} where onu.store_id = #{oilNumber.storeId}
</select> </select>
@ -116,17 +131,22 @@
<if test=" updateBy != null and updateBy != ''">update_by= #{updateBy},</if> <if test=" updateBy != null and updateBy != ''">update_by= #{updateBy},</if>
<if test=" unit != null and unit != ''">unit= #{unit},</if> <if test=" unit != null and unit != ''">unit= #{unit},</if>
<if test=" upOrDown != null and unit != ''">up_or_down= #{upOrDown},</if> <if test=" upOrDown != null and unit != ''">up_or_down= #{upOrDown},</if>
<if test=" amplitudeOfChange != null and amplitudeOfChange != ''">amplitude_of_change= #{amplitudeOfChange },</if> <if test=" amplitudeOfChange != null and amplitudeOfChange != ''">amplitude_of_change=
#{amplitudeOfChange },
</if>
update_time= NOW() update_time= NOW()
</set> </set>
where number_id = #{numberId} where number_id = #{numberId}
</update> </update>
<delete id="deleteOilNumberById"> <delete id="deleteOilNumberById">
delete from oil_number where number_id = #{numberId} delete
from oil_number
where number_id = #{numberId}
</delete> </delete>
<select id="getOilName" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber"> <select id="getOilName" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber">
select name.id id, onm.number_id numberId,name.oil_name oilName, name.oil_type oilType,onm.oil_price oilPrice ,onm.gb_price gbPrice, select name.id id, onm.number_id numberId,name.oil_name oilName, name.oil_type oilType,onm.oil_price oilPrice
,onm.gb_price gbPrice,
name.oil_density oilDensity,onm.unit unit,name.id oilNameId name.oil_density oilDensity,onm.unit unit,name.id oilNameId
from oil_number onm from oil_number onm
left join oil_name name on onm.oil_name = name.id left join oil_name name on onm.oil_name = name.id
@ -140,9 +160,7 @@
select count(*) select count(*)
from oil_number from oil_number
WHERE store_id = #{storeId} WHERE store_id = #{storeId}
and and oil_name = #{oilName} limit 1
oil_name = #{oilName}
limit 1
</select> </select>
<select id="selectOilNumberNameByStoreId" resultType="com.fuint.business.petrolStationManagement.vo.OilNumberNameVo" <select id="selectOilNumberNameByStoreId" resultType="com.fuint.business.petrolStationManagement.vo.OilNumberNameVo"
parameterType="java.lang.Integer"> parameterType="java.lang.Integer">
@ -155,7 +173,10 @@
</select> </select>
<select id="getOilPriceById" resultType="double"> <select id="getOilPriceById" resultType="double">
select oil_price from oil_number where oil_name = #{oilId} and store_id = #{storeId} select oil_price
from oil_number
where oil_name = #{oilId}
and store_id = #{storeId}
</select> </select>
<select id="selectAllOil" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber" <select id="selectAllOil" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber"
parameterType="java.lang.Integer"> parameterType="java.lang.Integer">
@ -164,4 +185,66 @@
left join oil_name ona on oin.oil_name = ona.id left join oil_name ona on oin.oil_name = ona.id
where oin.store_id = #{storeId} where oin.store_id = #{storeId}
</select> </select>
<select id="getS1" resultType="java.util.Map">
SELECT CONCAT(oilna.oil_name, '', oilna.oil_type) AS name,
COALESCE(SUM(oilor.pay_amount), 0) AS value
FROM
oil_number oilnu
LEFT JOIN
oil_name oilna
ON oilnu.oil_name = oilna.id
LEFT JOIN
oil_order oilor ON oilna.id = oilor.oils
and oilor.create_time &gt;= #{obj.startTime} and oilor.pay_time &lt;= #{obj.endTime}
WHERE
oilnu.store_id = #{obj.storeId}
GROUP BY
oilna.oil_name, oilna.oil_type
</select>
<select id="getOilAndGoodsPercentage" resultType="java.util.Map">
SELECT o.sum_oil_order AS oil_order_total,
m.sum_mt_order AS mt_order_total
FROM (SELECT SUM(pay_amount) AS sum_oil_order
FROM oil_order
where store_id = #{obj.storeId}
and create_time &gt;= #{obj.startTime}
and create_time &lt;= #{obj.endTime}) o
CROSS JOIN
(SELECT SUM(pay_amount) AS sum_mt_order
FROM mt_order
where store_id = #{obj.storeId}
and create_time &gt;= #{obj.startTime}
and create_time &lt;= #{obj.endTime}) m;
</select>
<select id="getOilAndGoodsAndVipAndPoints" resultType="java.util.Map">
SELECT o.sum_oil_order AS oil_order_total,
m.sum_mt_order AS mt_order_total,
a.sum_all_order_type_3 AS all_order_type_3_total,
b.sum_all_order_type_4 AS all_order_type_4_total
FROM (SELECT SUM(pay_amount) AS sum_oil_order
FROM oil_order
WHERE store_id = #{obj.storeId}
AND create_time &gt;= #{obj.startTime}
AND create_time &lt;= #{obj.endTime}) o
CROSS JOIN
(SELECT SUM(pay_amount) AS sum_mt_order
FROM mt_order
WHERE store_id = #{obj.storeId}
AND create_time &gt;= #{obj.startTime}
AND create_time &lt;= #{obj.endTime}) m
CROSS JOIN
(SELECT SUM(pay_money) AS sum_all_order_type_3
FROM all_order_info
WHERE type = 3
AND store_id = #{obj.storeId}
AND create_time &gt;= #{obj.startTime}
AND create_time &lt;= #{obj.endTime}) a
CROSS JOIN
(SELECT SUM(pay_money) AS sum_all_order_type_4
FROM all_order_info
WHERE type = 4
AND store_id = #{obj.storeId}
AND create_time &gt;= #{obj.startTime}
AND create_time &lt;= #{obj.endTime}) b;
</select>
</mapper> </mapper>