From 6c05b30c1caa80240c09f400e02d75e16bcdd2cc Mon Sep 17 00:00:00 2001 From: xuyuncong <3422692813@qq.com> Date: Fri, 24 Oct 2025 17:02:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/RepairStatisticsController.java | 12 +++++++ .../base/entity/StaffStatisticsResp.java | 33 +++++++++++++++++ .../base/mapper/RepairStatisticsMapper.java | 10 ++++++ .../base/service/RepairStatisticsService.java | 10 ++++++ .../impl/RepairStatisticsServiceImpl.java | 19 +++++++--- .../stockOperate/mapper/DlRepairSoMapper.java | 9 ++--- .../service/DlRepairSoService.java | 7 ++-- .../service/impl/DlRepairSoServiceImpl.java | 4 +-- .../impl/DlRepairTicketsServiceImpl.java | 5 +-- .../mapper/base/RepairStatisticsMapper.xml | 35 +++++++++++++++++++ .../mapper/stockOperate/DlRepairSoMapper.xml | 6 ++-- .../mapper/tickets/DlRepairTicketsMapper.xml | 2 +- 12 files changed, 133 insertions(+), 19 deletions(-) create mode 100644 dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/entity/StaffStatisticsResp.java diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/controller/admin/RepairStatisticsController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/controller/admin/RepairStatisticsController.java index ff959b44..dca6b30c 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/controller/admin/RepairStatisticsController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/controller/admin/RepairStatisticsController.java @@ -171,4 +171,16 @@ public class RepairStatisticsController { return CommonResult.success(statisticsService.pageByCustomerOrCar(reqVO,page)); } + /** + * @description :员工统计 + * @author xyc + * @date 16:40 2025/10/23 + * @param reqVO {@link QueryBusinessReqVO} + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + **/ + @GetMapping("/staffStatistics") + public CommonResult staffStatistics(QueryBusinessReqVO reqVO) { + return CommonResult.success(statisticsService.staffStatistics(reqVO)); + } + } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/entity/StaffStatisticsResp.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/entity/StaffStatisticsResp.java new file mode 100644 index 00000000..98d97d4a --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/entity/StaffStatisticsResp.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.base.entity; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @ClassName StaffStatisticsResp + * @Description : 员工统计返回 + * @Author 许 + * @Date 2025/10/23 16:42 + * @Version 1.0.0 + */ +@Data +public class StaffStatisticsResp { + /** 用户id*/ + private Long userId; + + /** 用户名称 */ + private String nickname; + + /** 工单数量 */ + private Long totalTasks; + + /** 工单金额 */ + private BigDecimal totalMoney; + + /** 工单利润 */ + private BigDecimal totalProfit; + + /** 工单利润率 */ + private BigDecimal totalProfitRate; +} diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/mapper/RepairStatisticsMapper.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/mapper/RepairStatisticsMapper.java index 874584f9..ee59c323 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/mapper/RepairStatisticsMapper.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/mapper/RepairStatisticsMapper.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.base.mapper; +import cn.iocoder.yudao.module.base.entity.StaffStatisticsResp; import cn.iocoder.yudao.module.base.vo.*; import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -124,4 +125,13 @@ public interface RepairStatisticsMapper { * @return com.baomidou.mybatisplus.core.metadata.IPage **/ IPage pageByCustomerOrCar(@Param("reqVO") QueryBusinessReqVO reqVO,@Param("page") Page page); + + /** + * @description : 员工统计 + * @author xyc + * @date 16:45 2025/10/23 + * @param reqVO {@link QueryBusinessReqVO} + * @return java.util.List + **/ + List staffStatistics(QueryBusinessReqVO reqVO); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/RepairStatisticsService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/RepairStatisticsService.java index fa40ee7a..9783f038 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/RepairStatisticsService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/RepairStatisticsService.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.base.service; +import cn.iocoder.yudao.module.base.entity.StaffStatisticsResp; import cn.iocoder.yudao.module.base.vo.*; import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -100,4 +101,13 @@ public interface RepairStatisticsService { * @return com.baomidou.mybatisplus.core.metadata.IPage **/ IPage pageByCustomerOrCar(QueryBusinessReqVO reqVO, Page page); + + /** + * @description : 员工统计 + * @author xyc + * @date 16:44 2025/10/23 + * @param reqVO {@link QueryBusinessReqVO} + * @return java.util.List + **/ + List staffStatistics(QueryBusinessReqVO reqVO); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/impl/RepairStatisticsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/impl/RepairStatisticsServiceImpl.java index d918c354..d5876aba 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/impl/RepairStatisticsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/impl/RepairStatisticsServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.base.service.impl; +import cn.iocoder.yudao.module.base.entity.StaffStatisticsResp; import cn.iocoder.yudao.module.base.mapper.RepairStatisticsMapper; import cn.iocoder.yudao.module.base.service.RepairStatisticsService; import cn.iocoder.yudao.module.base.vo.*; @@ -10,10 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -161,4 +159,17 @@ public class RepairStatisticsServiceImpl implements RepairStatisticsService { IPage queryTableResps = statisticsMapper.pageByCustomerOrCar(reqVO,page); return queryTableResps; } + + /** + * @param reqVO {@link QueryBusinessReqVO} + * @return java.util.List + * @description : 员工统计 + * @author xyc + * @date 16:44 2025/10/23 + **/ + @Override + public List staffStatistics(QueryBusinessReqVO reqVO) { + List staffStatisticsResps = statisticsMapper.staffStatistics(reqVO); + return staffStatisticsResps; + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/mapper/DlRepairSoMapper.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/mapper/DlRepairSoMapper.java index 30730e96..a15e939d 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/mapper/DlRepairSoMapper.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/mapper/DlRepairSoMapper.java @@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; +import java.util.Map; /** * 针对表【dl_repair_so(采购单领料单)】的数据库操作Mapper @@ -29,7 +30,7 @@ public interface DlRepairSoMapper extends BaseMapper { * @param repairSoReqVO 查询条件 * @return 采购总金额 **/ - BigDecimal getPurchaseAmount(DlRepairSoReqVO repairSoReqVO); + Map getPurchaseAmount(DlRepairSoReqVO repairSoReqVO); /** * 根据条件查询指定数量:待确认的领料单 待确认的退料单 @@ -50,14 +51,14 @@ public interface DlRepairSoMapper extends BaseMapper { * @return java.util.List **/ List selectByIdGroup(@Param("id")String id); - + /** * 根据ID查询主表及子表数据 * @param id 主表ID * @return DlRepairSo 主表及子表数据 */ DlRepairSo selectWithItemsById(@Param("id") String id); - + /** * 分页查询主表及子表数据 * @param repairSoReqVO 查询条件 @@ -65,4 +66,4 @@ public interface DlRepairSoMapper extends BaseMapper { * @return IPage 分页结果 */ IPage getRepairSoPageWithItems(@Param("map") DlRepairSoReqVO repairSoReqVO, Page page); -} \ No newline at end of file +} diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoService.java index 67db020d..1bd63d99 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoService.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import java.math.BigDecimal; +import java.util.Map; /** * 针对表【dl_repair_so(采购单领料单)】的数据库操作Service @@ -34,7 +35,7 @@ public interface DlRepairSoService extends IService { * @date 18:14 2024/9/14 **/ IPage getRepairSoPage(DlRepairSoReqVO repairSoReqVO, Page page); - + /** * 采购单/领料单新增分页(包含子表数据) * @@ -45,7 +46,7 @@ public interface DlRepairSoService extends IService { * @date 18:14 2024/9/14 **/ IPage getRepairSoPageWithItems(DlRepairSoReqVO repairSoReqVO, Page page); - + /** * 统计采购金额 * @@ -54,7 +55,7 @@ public interface DlRepairSoService extends IService { * @author 系统管理员 * @date 2024/12/10 **/ - BigDecimal getPurchaseAmount(DlRepairSoReqVO repairSoReqVO); + Map getPurchaseAmount(DlRepairSoReqVO repairSoReqVO); /** * 采购单/领料单 作废 diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java index 37dc18b2..ce78ccb8 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java @@ -183,7 +183,7 @@ public class DlRepairSoServiceImpl extends ServiceImpl getRepairSoPage(DlRepairSoReqVO repairSoReqVO, Page page) { return baseMapper.getRepairSoPage(repairSoReqVO, page); } - + /** * 采购单/领料单新增分页(包含子表数据) * @param repairSoReqVO 查询对象 @@ -198,7 +198,7 @@ public class DlRepairSoServiceImpl extends ServiceImpl getPurchaseAmount(DlRepairSoReqVO repairSoReqVO) { return dlRepairSoMapper.getPurchaseAmount(repairSoReqVO); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index c7c9f80d..f6cec916 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -948,6 +948,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl newOrderStats = ticketsInRange.stream() +// .filter(item -> TicketsStatusEnum.NO_WORK.getCode().equals(item.getTicketsStatus())) .collect(Collectors.groupingBy(DlRepairTickets::getRepairType, Collectors.counting())); statsList.add(createStatsNode("newOrderNum", "订单(进厂数)", newOrderStats, "jinchang")); @@ -1694,7 +1695,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl + diff --git a/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml b/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml index 53577f88..2cf7a899 100644 --- a/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml @@ -375,15 +375,15 @@ - SELECT - COALESCE(SUM(so.total_price), 0) + COALESCE(SUM(so.total_price), 0) AS purchaseAmount, + SUM(so.item_count) AS purchaseCount FROM dl_repair_so so LEFT JOIN dl_ticket_wares dtw ON so.tw_id = dtw.id WHERE so.deleted = '0' - AND so.so_type = '01' and so.so_type = #{soType} diff --git a/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml b/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml index e2c329ed..5ac0c08d 100644 --- a/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml @@ -726,7 +726,7 @@ select drr.other_data as otherData, drt.pay_status as payType FROM dl_repair_tickets drt JOIN dl_repair_records drr ON drt.id = drr.ticket_id - drt.deleted = 0 and drr.deleted = 0 and drr.type = 'jssp' + drt.deleted = 0 and drr.deleted = 0 and drr.type = 'jssp' and drt.pay_status != '04' AND ${ew.sqlSegment}