mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
分析页统计:1、接口支持超管忽视机构查看全部;2、图表接口回调X轴日期格式完善;
This commit is contained in:
+5
-9
@@ -25,9 +25,8 @@ public interface OrderStatisticsMapper extends BaseMapperX<OrderDO> {
|
|||||||
/**
|
/**
|
||||||
* 生产单数量统计
|
* 生产单数量统计
|
||||||
*/
|
*/
|
||||||
default Integer selectOrderCount(Long organId) {
|
default Integer selectOrderCount() {
|
||||||
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrderDO>()
|
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrderDO>()
|
||||||
.eqIfPresent(OrderDO::getOrganId, organId)
|
|
||||||
.eq(OrderDO::getDeleted, 0)));
|
.eq(OrderDO::getDeleted, 0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,9 +34,8 @@ public interface OrderStatisticsMapper extends BaseMapperX<OrderDO> {
|
|||||||
* 今日新增生产单总数统计
|
* 今日新增生产单总数统计
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
default Integer selectOrderCountToday(Long organId) {
|
default Integer selectOrderCountToday() {
|
||||||
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrderDO>()
|
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrderDO>()
|
||||||
.eqIfPresent(OrderDO::getOrganId, organId)
|
|
||||||
.eq(OrderDO::getOrderDate, LocalDate.now())));
|
.eq(OrderDO::getOrderDate, LocalDate.now())));
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -46,9 +44,8 @@ public interface OrderStatisticsMapper extends BaseMapperX<OrderDO> {
|
|||||||
* 今日完成生产单总数统计
|
* 今日完成生产单总数统计
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
default Integer selectOrderCountTodayFinish(Long organId) {
|
default Integer selectOrderCountTodayFinish() {
|
||||||
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrderDO>()
|
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrderDO>()
|
||||||
.eqIfPresent(OrderDO::getOrganId, organId)
|
|
||||||
.between(OrderDO::getFinishTime, LocalDateTime.of(LocalDate.now(), LocalTime.MIN), LocalDateTime.of(LocalDate.now(), LocalTime.MAX))));
|
.between(OrderDO::getFinishTime, LocalDateTime.of(LocalDate.now(), LocalTime.MIN), LocalDateTime.of(LocalDate.now(), LocalTime.MAX))));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,9 +53,8 @@ public interface OrderStatisticsMapper extends BaseMapperX<OrderDO> {
|
|||||||
* 生产中生产单总数
|
* 生产中生产单总数
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
default Integer selectOrderCountProduce(Long organId) {
|
default Integer selectOrderCountProduce() {
|
||||||
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrderDO>()
|
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrderDO>()
|
||||||
.eqIfPresent(OrderDO::getOrganId, organId)
|
|
||||||
.eq(OrderDO::getStatus, OrderStatusEnum.IN_PRODUCTION.getStatus())));
|
.eq(OrderDO::getStatus, OrderStatusEnum.IN_PRODUCTION.getStatus())));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,7 +64,7 @@ public interface OrderStatisticsMapper extends BaseMapperX<OrderDO> {
|
|||||||
* @param organId
|
* @param organId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Integer selectOrderSquareProduce(@Param("organId") Long organId);
|
Integer selectOrderSquareProduce();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生产单状态按时间分组统计数量
|
* 生产单状态按时间分组统计数量
|
||||||
|
|||||||
+43
-37
@@ -2,8 +2,6 @@ package com.cf.imes.module.executor.service.order;
|
|||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.cf.imes.framework.common.enums.OrderStatusEnum;
|
import com.cf.imes.framework.common.enums.OrderStatusEnum;
|
||||||
import com.cf.imes.framework.organ.core.aop.OrganIgnore;
|
|
||||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsPlateRespVO;
|
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsPlateRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisticsAreaRespVO;
|
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisticsAreaRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisticsReqVO;
|
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisticsReqVO;
|
||||||
@@ -49,44 +47,41 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
@Resource
|
@Resource
|
||||||
private OrderPlateStatisticsMapper orderPlateStatisticsMapper;
|
private OrderPlateStatisticsMapper orderPlateStatisticsMapper;
|
||||||
|
|
||||||
|
// 常用的字段key
|
||||||
|
private static final String DATELIST_FIELD_NAME = "dateList";
|
||||||
|
private static final String SERIES_FIELD_NAME = "series";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OrganIgnore
|
|
||||||
public Integer orderCount(OrderStatisticsReqVO reqVO) {
|
public Integer orderCount(OrderStatisticsReqVO reqVO) {
|
||||||
return orderStatisticsMapper.selectOrderCount(getOrganIdParam(reqVO));
|
return orderStatisticsMapper.selectOrderCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OrganIgnore
|
|
||||||
public Integer orderCountToday(OrderStatisticsReqVO reqVO) {
|
public Integer orderCountToday(OrderStatisticsReqVO reqVO) {
|
||||||
return orderStatisticsMapper.selectOrderCountToday(getOrganIdParam(reqVO));
|
return orderStatisticsMapper.selectOrderCountToday();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OrganIgnore
|
|
||||||
public Integer orderCountTodayFinish(OrderStatisticsReqVO reqVO) {
|
public Integer orderCountTodayFinish(OrderStatisticsReqVO reqVO) {
|
||||||
return orderStatisticsMapper.selectOrderCountTodayFinish(getOrganIdParam(reqVO));
|
return orderStatisticsMapper.selectOrderCountTodayFinish();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OrganIgnore
|
|
||||||
public Integer orderCountProduce(OrderStatisticsReqVO reqVO) {
|
public Integer orderCountProduce(OrderStatisticsReqVO reqVO) {
|
||||||
return orderStatisticsMapper.selectOrderCountProduce(getOrganIdParam(reqVO));
|
return orderStatisticsMapper.selectOrderCountProduce();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OrganIgnore
|
|
||||||
public Integer orderSquareProduce(OrderStatisticsReqVO reqVO) {
|
public Integer orderSquareProduce(OrderStatisticsReqVO reqVO) {
|
||||||
return orderStatisticsMapper.selectOrderSquareProduce(getOrganIdParam(reqVO));
|
return orderStatisticsMapper.selectOrderSquareProduce();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OrganIgnore
|
|
||||||
public Map<String, Object> getOrderStatusCount(OrderStatisticsReqVO reqVO) {
|
public Map<String, Object> getOrderStatusCount(OrderStatisticsReqVO reqVO) {
|
||||||
Map<String, Object> resultMap = new HashMap<>();
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
|
||||||
// 所有的日期集合
|
// 所有的日期集合
|
||||||
List<String> dateList = getDateList(reqVO);
|
List<String> dateList = getDateList(reqVO);
|
||||||
resultMap.put("dateList", dateList);
|
|
||||||
|
|
||||||
// 查询订单状态统计数据
|
// 查询订单状态统计数据
|
||||||
List<OrderStatisticsStatusRespVO> orderStatusRespVOS = orderStatisticsMapper.selectOrderStatusCountGroupBy(reqVO);
|
List<OrderStatisticsStatusRespVO> orderStatusRespVOS = orderStatisticsMapper.selectOrderStatusCountGroupBy(reqVO);
|
||||||
@@ -122,14 +117,13 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
seriesItem.put("name", orderStatusEnum.getDescription());
|
seriesItem.put("name", orderStatusEnum.getDescription());
|
||||||
series.add(seriesItem);
|
series.add(seriesItem);
|
||||||
}
|
}
|
||||||
|
resultMap.put(DATELIST_FIELD_NAME, dateList.stream().map(date -> generateDateRangeAxis(date, reqVO.getUnit())).toList());
|
||||||
resultMap.put("series", series);
|
resultMap.put(SERIES_FIELD_NAME, series);
|
||||||
|
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OrganIgnore
|
|
||||||
public Map<String, Object> getOrderAndPlanCountGroup(OrderStatisticsReqVO reqVO) {
|
public Map<String, Object> getOrderAndPlanCountGroup(OrderStatisticsReqVO reqVO) {
|
||||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||||
|
|
||||||
@@ -144,8 +138,7 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
.collect(Collectors.groupingBy(OrderPlanStatisticsCountRespVO::getDate, LinkedHashMap::new, Collectors.toList()));
|
.collect(Collectors.groupingBy(OrderPlanStatisticsCountRespVO::getDate, LinkedHashMap::new, Collectors.toList()));
|
||||||
|
|
||||||
// 遍历时间跨度列表,匹配数量存入数组,没有补0存入数组
|
// 遍历时间跨度列表,匹配数量存入数组,没有补0存入数组
|
||||||
for (int i = 0; i < dateList.size(); i++) {
|
for (String dateStr : dateList) {
|
||||||
String dateStr = dateList.get(i);
|
|
||||||
int[] countArr = new int[2];
|
int[] countArr = new int[2];
|
||||||
// 存入生产单数量
|
// 存入生产单数量
|
||||||
Integer orderCount = Optional.ofNullable(orderRespMap.get(dateStr))
|
Integer orderCount = Optional.ofNullable(orderRespMap.get(dateStr))
|
||||||
@@ -161,14 +154,13 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
.orElse(0);
|
.orElse(0);
|
||||||
countArr[1] = planCount;
|
countArr[1] = planCount;
|
||||||
|
|
||||||
resultMap.put(dateStr, countArr);
|
resultMap.put(generateDateRangeAxis(dateStr, reqVO.getUnit()), countArr);
|
||||||
}
|
}
|
||||||
|
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OrganIgnore
|
|
||||||
public Map<String, Object> getOrderAndPlanAreaSumGroup(OrderStatisticsReqVO reqVO) {
|
public Map<String, Object> getOrderAndPlanAreaSumGroup(OrderStatisticsReqVO reqVO) {
|
||||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||||
|
|
||||||
@@ -194,7 +186,7 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
List<OrderPlanStatisticsAreaRespVO> planCountRespVOS = planRespMap.get(dateStr);
|
List<OrderPlanStatisticsAreaRespVO> planCountRespVOS = planRespMap.get(dateStr);
|
||||||
areaArr[1] = planCountRespVOS != null && !planCountRespVOS.isEmpty() ? planCountRespVOS.get(0).getAreaSum() : BigDecimal.ZERO;
|
areaArr[1] = planCountRespVOS != null && !planCountRespVOS.isEmpty() ? planCountRespVOS.get(0).getAreaSum() : BigDecimal.ZERO;
|
||||||
|
|
||||||
resultMap.put(dateStr, areaArr);
|
resultMap.put(generateDateRangeAxis(dateStr, reqVO.getUnit()), areaArr);
|
||||||
}
|
}
|
||||||
|
|
||||||
return resultMap;
|
return resultMap;
|
||||||
@@ -207,7 +199,6 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
|
|
||||||
// 所有的日期集合
|
// 所有的日期集合
|
||||||
List<String> dateList = getDateList(reqVO);
|
List<String> dateList = getDateList(reqVO);
|
||||||
resultMap.put("dateList", dateList);
|
|
||||||
|
|
||||||
List<OrderGoodsPlateRespVO> orderGoodsPlateRespVOList = orderPlateStatisticsMapper.selectPlateAnalysisListByCount(reqVO);
|
List<OrderGoodsPlateRespVO> orderGoodsPlateRespVOList = orderPlateStatisticsMapper.selectPlateAnalysisListByCount(reqVO);
|
||||||
// 基于相同的orderDate分组
|
// 基于相同的orderDate分组
|
||||||
@@ -250,7 +241,8 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
seriesItem.put("name", entry.getValue());
|
seriesItem.put("name", entry.getValue());
|
||||||
series.add(seriesItem);
|
series.add(seriesItem);
|
||||||
}
|
}
|
||||||
resultMap.put("series", series);
|
resultMap.put(DATELIST_FIELD_NAME, dateList.stream().map(date -> generateDateRangeAxis(date, reqVO.getUnit())).toList());
|
||||||
|
resultMap.put(SERIES_FIELD_NAME, series);
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,7 +252,6 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
|
|
||||||
// 所有的日期集合
|
// 所有的日期集合
|
||||||
List<String> dateList = getDateList(reqVO);
|
List<String> dateList = getDateList(reqVO);
|
||||||
resultMap.put("dateList", dateList);
|
|
||||||
|
|
||||||
List<OrderGoodsPlateRespVO> orderGoodsPlateRespVOList = orderPlateStatisticsMapper.selectPlateAnalysisListByArea(reqVO);
|
List<OrderGoodsPlateRespVO> orderGoodsPlateRespVOList = orderPlateStatisticsMapper.selectPlateAnalysisListByArea(reqVO);
|
||||||
// 基于相同的orderDate分组
|
// 基于相同的orderDate分组
|
||||||
@@ -303,7 +294,8 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
seriesItem.put("name", entry.getValue());
|
seriesItem.put("name", entry.getValue());
|
||||||
series.add(seriesItem);
|
series.add(seriesItem);
|
||||||
}
|
}
|
||||||
resultMap.put("series", series);
|
resultMap.put(DATELIST_FIELD_NAME, dateList.stream().map(date -> generateDateRangeAxis(date, reqVO.getUnit())).toList());
|
||||||
|
resultMap.put(SERIES_FIELD_NAME, series);
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -316,9 +308,6 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private List<String> getDateList(OrderStatisticsReqVO reqVO) {
|
private List<String> getDateList(OrderStatisticsReqVO reqVO) {
|
||||||
// 获取机构id
|
|
||||||
reqVO.setOrganId(getOrganIdParam(reqVO));
|
|
||||||
|
|
||||||
// 计算时间跨度
|
// 计算时间跨度
|
||||||
getTimeSpan(reqVO);
|
getTimeSpan(reqVO);
|
||||||
|
|
||||||
@@ -416,16 +405,33 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 前端传组织否则查当前用户所在的组织
|
* 构建日期格式到图标横轴可用格式
|
||||||
*
|
* 2024-1 -> 2024年第1季度
|
||||||
* @param reqVO
|
* 2024-1-1 -> 2024年1月
|
||||||
|
* ...
|
||||||
|
* @param unit
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Long getOrganIdParam(OrderStatisticsReqVO reqVO) {
|
private String generateDateRangeAxis(String date, Integer unit) {
|
||||||
if (reqVO != null && reqVO.getOrganId() != null) {
|
OrderStatisticsUnit orderStatisticsUnit = OrderStatisticsUnit.fromValue(unit);
|
||||||
return reqVO.getOrganId();
|
StringBuffer newDateStrBuffer = new StringBuffer();
|
||||||
} else {
|
String[] dateSplit = date.split("-");
|
||||||
return SecurityFrameworkUtils.getUserOrganId();
|
switch (orderStatisticsUnit) {
|
||||||
|
case QUARTER:
|
||||||
|
newDateStrBuffer.append(dateSplit[0]).append("年第").append(dateSplit[1]).append("季度");
|
||||||
|
break;
|
||||||
|
case MONTH:
|
||||||
|
newDateStrBuffer.append(dateSplit[0]).append("年").append(dateSplit[1]).append("月");
|
||||||
|
break;
|
||||||
|
case WEEK:
|
||||||
|
newDateStrBuffer.append(dateSplit[0]).append("年").append(dateSplit[1]).append("月").append("第").append(dateSplit[2]).append("周");
|
||||||
|
break;
|
||||||
|
case DAY:
|
||||||
|
newDateStrBuffer.append(dateSplit[0]).append("年").append(dateSplit[1]).append("月").append(dateSplit[2]).append("日");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
}
|
}
|
||||||
|
return newDateStrBuffer.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-10
@@ -5,9 +5,6 @@
|
|||||||
SELECT SUM(op.area) as area FROM orders o
|
SELECT SUM(op.area) as area FROM orders o
|
||||||
LEFT JOIN order_plate op on op.order_id = o.id
|
LEFT JOIN order_plate op on op.order_id = o.id
|
||||||
WHERE o.deleted = 0
|
WHERE o.deleted = 0
|
||||||
<if test="organId != null">
|
|
||||||
AND o.organ_id = #{organId}
|
|
||||||
</if>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectOrderStatusCountGroupBy"
|
<select id="selectOrderStatusCountGroupBy"
|
||||||
@@ -28,8 +25,7 @@
|
|||||||
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as date
|
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as date
|
||||||
</if>
|
</if>
|
||||||
from orders o
|
from orders o
|
||||||
where o.organ_id = #{req.organId}
|
where o.order_date between #{req.createTime[0]} and #{req.createTime[1]}
|
||||||
and o.order_date between #{req.createTime[0]} and #{req.createTime[1]}
|
|
||||||
and o.deleted = 0
|
and o.deleted = 0
|
||||||
group by orderStatus, date;
|
group by orderStatus, date;
|
||||||
</select>
|
</select>
|
||||||
@@ -50,8 +46,7 @@
|
|||||||
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as date
|
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as date
|
||||||
</if>
|
</if>
|
||||||
from orders o
|
from orders o
|
||||||
where o.organ_id = #{req.organId}
|
where o.order_date between #{req.createTime[0]} and #{req.createTime[1]}
|
||||||
and o.order_date between #{req.createTime[0]} and #{req.createTime[1]}
|
|
||||||
and o.deleted = 0
|
and o.deleted = 0
|
||||||
group by date;
|
group by date;
|
||||||
</select>
|
</select>
|
||||||
@@ -72,9 +67,8 @@
|
|||||||
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as date
|
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as date
|
||||||
</if>
|
</if>
|
||||||
from orders o
|
from orders o
|
||||||
join order_plate op on op.order_id = o.id and op.organ_id = #{req.organId}
|
join order_plate op on op.order_id = o.id
|
||||||
where o.organ_id = #{req.organId}
|
where o.order_date between #{req.createTime[0]} and #{req.createTime[1]}
|
||||||
and o.order_date between #{req.createTime[0]} and #{req.createTime[1]}
|
|
||||||
and o.deleted = 0
|
and o.deleted = 0
|
||||||
group by date;
|
group by date;
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
+4
-6
@@ -26,11 +26,10 @@
|
|||||||
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as orderDate
|
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as orderDate
|
||||||
</if>
|
</if>
|
||||||
FROM order_goods g
|
FROM order_goods g
|
||||||
LEFT JOIN order_plate a ON g.id = a.goods_id AND g.organ_id = #{req.organId}
|
LEFT JOIN order_plate a ON g.id = a.goods_id
|
||||||
LEFT JOIN orders o ON o.id = a.order_id AND o.organ_id = #{req.organId}
|
LEFT JOIN orders o ON o.id = a.order_id
|
||||||
WHERE a.deleted = 0
|
WHERE a.deleted = 0
|
||||||
AND o.order_date BETWEEN #{req.createTime[0]} AND #{req.createTime[1]}
|
AND o.order_date BETWEEN #{req.createTime[0]} AND #{req.createTime[1]}
|
||||||
AND g.organ_id = #{req.organId}
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
g.goods_id,orderDate
|
g.goods_id,orderDate
|
||||||
HAVING
|
HAVING
|
||||||
@@ -65,11 +64,10 @@
|
|||||||
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as orderDate
|
,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as orderDate
|
||||||
</if>
|
</if>
|
||||||
FROM order_goods g
|
FROM order_goods g
|
||||||
LEFT JOIN order_plate a ON g.id = a.goods_id AND g.organ_id = #{req.organId}
|
LEFT JOIN order_plate a ON g.id = a.goods_id
|
||||||
LEFT JOIN orders o ON o.id = a.order_id AND o.organ_id = #{req.organId}
|
LEFT JOIN orders o ON o.id = a.order_id
|
||||||
WHERE a.deleted = 0
|
WHERE a.deleted = 0
|
||||||
AND o.order_date BETWEEN #{req.createTime[0]} AND #{req.createTime[1]}
|
AND o.order_date BETWEEN #{req.createTime[0]} AND #{req.createTime[1]}
|
||||||
AND g.organ_id = #{req.organId}
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
g.goods_id,orderDate
|
g.goods_id,orderDate
|
||||||
HAVING
|
HAVING
|
||||||
|
|||||||
Reference in New Issue
Block a user