From 6cb4cf7acac22024508b1abe1553db6721c02997 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Wed, 14 Aug 2024 18:36:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=9E=90=E9=A1=B5=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=EF=BC=9A1=E3=80=81x=E8=BD=B4=E9=95=BF=E5=BA=A6=E7=BC=A9?= =?UTF-8?q?=E7=9F=AD=EF=BC=9B2=E3=80=81=E5=B0=8F=E6=9D=BF=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E8=BF=94=E5=9B=9Ename=E6=8B=BC=E6=8E=A5=E6=9D=BF?= =?UTF-8?q?=E5=90=84=E7=A7=8D=E5=B1=9E=E6=80=A7=EF=BC=9B3=E3=80=81?= =?UTF-8?q?=E5=B0=8F=E6=9D=BF=E7=BB=9F=E8=AE=A1=E9=99=90=E5=88=B6=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=89=8D=E5=8D=81=E6=9D=A1=EF=BC=9B=20=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E7=AE=A1=E7=90=86=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=EF=BC=9A=E6=8E=92=E5=BA=8F=E5=AD=97=E6=AE=B5sort=E6=94=B9id?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=88=86=E9=A1=B5=E5=A4=B1=E6=95=88?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/OrderStatisticsController.java | 2 - .../order/OrderStatisticsServiceImpl.java | 48 +++++++++++-------- .../mapper/order/OrderStatisticsMapper.xml | 41 +++++----------- .../main/resources/mapper/plan/PlanMapper.xml | 17 ++++--- .../plate/OrderPlateStatisticsMapper.xml | 10 ++-- .../dal/mysql/permission/RoleMapper.java | 9 ++-- 6 files changed, 56 insertions(+), 71 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderStatisticsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderStatisticsController.java index ebf418895..2ba56866e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderStatisticsController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderStatisticsController.java @@ -5,7 +5,6 @@ import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisti import com.cf.imes.module.executor.service.order.OrderStatisticsService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -24,7 +23,6 @@ import static com.cf.imes.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 生产单统计管理") @RestController @RequestMapping("/executor/order/statistics") -@Validated public class OrderStatisticsController { @Resource private OrderStatisticsService orderStatisticsService; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderStatisticsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderStatisticsServiceImpl.java index e20d48a54..a1151d625 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderStatisticsServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderStatisticsServiceImpl.java @@ -207,17 +207,17 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService { .collect(Collectors.groupingBy(OrderGoodsPlateRespVO::getOrderDate, LinkedHashMap::new, Collectors.toList())); // 获取所有商品map - Map goodsMap = orderGoodsPlateRespMap.values().stream() + Map goodsMap = orderGoodsPlateRespMap.values().stream() .flatMap(List::stream) .collect(Collectors.toMap( OrderGoodsPlateRespVO::getGoodsId, - OrderGoodsPlateRespVO::getMaterial, - (oldValue, newValue) -> newValue + vo -> vo, + (oldValue, newValue) -> oldValue )); // 遍历订单状态所有枚举值 List> series = new ArrayList<>(); - for (Map.Entry entry : goodsMap.entrySet()) { + for (Map.Entry entry : goodsMap.entrySet()) { Map seriesItem = new HashMap<>(); int[] sumArr = new int[dateList.size()]; @@ -238,7 +238,11 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService { seriesItem.put("data", sumArr); seriesItem.put("id", entry.getKey()); - seriesItem.put("name", entry.getValue()); + // 材质-商品名称-颜色-纹理-宽-高-厚-品牌 + OrderGoodsPlateRespVO orderGoodsPlateRespVO = entry.getValue(); + seriesItem.put("name", orderGoodsPlateRespVO.getMaterial() + "-" + orderGoodsPlateRespVO.getGoodsName() + + "-" + orderGoodsPlateRespVO.getColor() + "-" + orderGoodsPlateRespVO.getTexture() + "-" + orderGoodsPlateRespVO.getWidth() + + "-" + orderGoodsPlateRespVO.getHeight() + "-" + orderGoodsPlateRespVO.getThickness() + "-" + orderGoodsPlateRespVO.getBrand()); series.add(seriesItem); } resultMap.put(DATELIST_FIELD_NAME, dateList.stream().map(date -> generateDateRangeAxis(date, reqVO.getUnit())).toList()); @@ -260,17 +264,17 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService { .collect(Collectors.groupingBy(OrderGoodsPlateRespVO::getOrderDate, LinkedHashMap::new, Collectors.toList())); // 获取所有商品map - Map goodsMap = orderGoodsPlateRespMap.values().stream() + Map goodsMap = orderGoodsPlateRespMap.values().stream() .flatMap(List::stream) .collect(Collectors.toMap( OrderGoodsPlateRespVO::getGoodsId, - OrderGoodsPlateRespVO::getMaterial, + vo -> vo, (oldValue, newValue) -> newValue )); // 遍历订单状态所有枚举值 List> series = new ArrayList<>(); - for (Map.Entry entry : goodsMap.entrySet()) { + for (Map.Entry entry : goodsMap.entrySet()) { Map seriesItem = new HashMap<>(); BigDecimal[] areaArr = new BigDecimal[dateList.size()]; @@ -291,7 +295,11 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService { seriesItem.put("data", areaArr); seriesItem.put("id", entry.getKey()); - seriesItem.put("name", entry.getValue()); + // 材质-商品名称-颜色-纹理-宽-高-厚-品牌 + OrderGoodsPlateRespVO orderGoodsPlateRespVO = entry.getValue(); + seriesItem.put("name", orderGoodsPlateRespVO.getMaterial() + "-" + orderGoodsPlateRespVO.getGoodsName() + + "-" + orderGoodsPlateRespVO.getColor() + "-" + orderGoodsPlateRespVO.getTexture() + "-" + orderGoodsPlateRespVO.getWidth() + + "-" + orderGoodsPlateRespVO.getHeight() + "-" + orderGoodsPlateRespVO.getThickness() + "-" + orderGoodsPlateRespVO.getBrand()); series.add(seriesItem); } resultMap.put(DATELIST_FIELD_NAME, dateList.stream().map(date -> generateDateRangeAxis(date, reqVO.getUnit())).toList()); @@ -334,16 +342,16 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService { startTime = now.minusYears(2); break; case MONTH: - // 从now往前的12个月 - startTime = now.minusMonths(12); + // 包含now往前的12个月 + startTime = now.minusMonths(11); break; case WEEK: - // 从now往前的12周 - startTime = now.minusWeeks(12); + // 包含now往前的12周 + startTime = now.minusWeeks(11); break; case DAY: - // 从now往前的15天 - startTime = now.minusDays(15); + // 包含now往前的15天 + startTime = now.minusDays(14); break; default: break; @@ -414,20 +422,20 @@ public class OrderStatisticsServiceImpl implements OrderStatisticsService { */ private String generateDateRangeAxis(String date, Integer unit) { OrderStatisticsUnit orderStatisticsUnit = OrderStatisticsUnit.fromValue(unit); - StringBuffer newDateStrBuffer = new StringBuffer(); + StringBuilder newDateStrBuffer = new StringBuilder(); String[] dateSplit = date.split("-"); switch (orderStatisticsUnit) { case QUARTER: - newDateStrBuffer.append(dateSplit[0]).append("年第").append(dateSplit[1]).append("季度"); + newDateStrBuffer.append("第").append(dateSplit[1]).append("季度"); break; case MONTH: - newDateStrBuffer.append(dateSplit[0]).append("年").append(dateSplit[1]).append("月"); + newDateStrBuffer.append(dateSplit[1]).append("月"); break; case WEEK: - newDateStrBuffer.append(dateSplit[0]).append("年").append(dateSplit[1]).append("月").append("第").append(dateSplit[2]).append("周"); + newDateStrBuffer.append("第").append(dateSplit[2]).append("周"); break; case DAY: - newDateStrBuffer.append(dateSplit[0]).append("年").append(dateSplit[1]).append("月").append(dateSplit[2]).append("日"); + newDateStrBuffer.append(dateSplit[2]).append("日"); break; default: } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderStatisticsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderStatisticsMapper.xml index 6cebf9238..565163bf0 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderStatisticsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderStatisticsMapper.xml @@ -7,10 +7,7 @@ WHERE o.deleted = 0 - + select o.status as orderStatus, + count(o.id) as orderCount + from orders o where o.order_date between #{req.createTime[0]} and #{req.createTime[1]} and o.deleted = 0 @@ -33,18 +36,7 @@ select sum(op.area) as areaSum - - ,CONCAT(YEAR(o.order_date), '-', QUARTER(o.order_date)) as date - - - ,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date)) as date - - - ,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', FLOOR((DayOfMonth(o.order_date)-1)/7)+1) AS date - - - ,CONCAT(YEAR(o.order_date), '-', MONTH(o.order_date), '-', DAY(o.order_date)) as date - + from orders o join order_plate op on op.order_id = o.id where o.order_date between #{req.createTime[0]} and #{req.createTime[1]} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml index 1b442cca4..d25b0150d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml @@ -128,16 +128,16 @@ select count(p.id) as count - ,CONCAT(YEAR(p.create_time), '-', QUARTER(p.create_time)) as date + ,QUARTER(p.create_time) as date - ,CONCAT(YEAR(p.create_time), '-', MONTH(p.create_time)) as date + ,MONTH(p.create_time) as date - ,CONCAT(YEAR(p.create_time), '-', MONTH(p.create_time), '-', FLOOR((DayOfMonth(p.create_time)-1)/7)+1) AS date + ,FLOOR((DayOfMonth(p.create_time)-1)/7)+1 AS date - ,CONCAT(YEAR(p.create_time), '-', MONTH(p.create_time), '-', DAY(p.create_time)) as date + ,DAY(p.create_time) as date from order_plan p where p.organ_id = #{req.organId} @@ -150,17 +150,16 @@ resultType="com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsAreaRespVO"> select sum(op.area) areaSum - ,CONCAT(YEAR(p.create_time), '-', QUARTER(p.create_time)) as date + ,QUARTER(p.create_time) as date - ,CONCAT(YEAR(p.create_time), '-', MONTH(p.create_time)) as date + ,MONTH(p.create_time) as date - ,CONCAT(YEAR(p.create_time), '-', MONTH(p.create_time), '-', FLOOR((DayOfMonth(p.create_time)-1)/7)+1) AS - date + ,FLOOR((DayOfMonth(p.create_time)-1)/7)+1 AS date - ,CONCAT(YEAR(p.create_time), '-', MONTH(p.create_time), '-', DAY(p.create_time)) as date + ,DAY(p.create_time) as date from order_plan p join order_plan_item opi on p.id = opi.plan_id and opi.organ_id = #{req.organId} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/OrderPlateStatisticsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/OrderPlateStatisticsMapper.xml index 9b13f989a..3da18362c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/OrderPlateStatisticsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/OrderPlateStatisticsMapper.xml @@ -33,9 +33,10 @@ GROUP BY g.goods_id,orderDate HAVING - SUM (a.area) > 0 + orderCount > 0 ORDER BY - orderCount DESC; + orderCount DESC + LIMIT 10; \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/permission/RoleMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/permission/RoleMapper.java index 89b9d48bf..3e7a757c4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/permission/RoleMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/permission/RoleMapper.java @@ -18,14 +18,11 @@ import java.util.List; public interface RoleMapper extends BaseMapperX { default PageResult selectPage(RolePageReqVO reqVO) { - LambdaQueryWrapperX lambdaQueryWrapperX = new LambdaQueryWrapperX(); + LambdaQueryWrapperX lambdaQueryWrapperX = new LambdaQueryWrapperX<>(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); assert loginUser != null; Boolean isSupAdmin = loginUser.getIsSupAdmin(); - /*if(isSupAdmin && Objects.isNull(reqVO.getOrganId())) { - //如果是超级管理员并且未传organId,就查看自己的的 - lambdaQueryWrapperX.inIfPresent(RoleDO::getOrganId,0L,loginUser.getOrganId()); - }*/ + if(isSupAdmin && ObjectUtil.isNotNull(reqVO.getOrganId())) { //如果是超级管理员并且传入organId,就查看组织id为0(内置角色)和传入的组织 lambdaQueryWrapperX.inIfPresent(RoleDO::getOrganId, 0L, reqVO.getOrganId()); @@ -39,7 +36,7 @@ public interface RoleMapper extends BaseMapperX { .eqIfPresent(RoleDO::getStatus, reqVO.getStatus()) .betweenIfPresent(RoleDO::getCreateTime, reqVO.getCreateTime()) .ne(RoleDO::getId, 1) - .orderByAsc(RoleDO::getSort); + .orderByAsc(RoleDO::getId); return selectPage(reqVO, lambdaQueryWrapperX); }