From cf9b1f9234f9589af8b4bb4cde71798ae7305019 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Mon, 4 Aug 2025 16:14:04 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=9B=B4=E6=96=B00804?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AppInspectionPartnerServiceImpl.java | 3 + .../impl/InspectionFileServiceImpl.java | 44 +++--- .../admin/RepairStaffController.java | 65 ++++++++- .../module/base/entity/RepairStaffSaveVo.java | 21 +++ .../base/service/RepairStaffService.java | 19 +++ .../service/impl/RepairStaffServiceImpl.java | 133 ++++++++++++++++++ .../service/permission/RoleServiceImpl.java | 2 +- .../main/resources/mapper/UserRoleMapper.xml | 2 +- 8 files changed, 261 insertions(+), 28 deletions(-) create mode 100644 dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/entity/RepairStaffSaveVo.java create mode 100644 dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/RepairStaffService.java create mode 100644 dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/impl/RepairStaffServiceImpl.java diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java index e92bfec1..269bb851 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java @@ -2602,14 +2602,17 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl { List> children = (List>) staff.get("children"); if (children != null) { + children.removeIf(child -> ((Long) child.getOrDefault("count", 0L)) == 0L); children.sort(Comparator.comparingLong( (Map child) -> (Long) child.getOrDefault("count", 0L) ).reversed()); } }); + return staffCount; } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionFileServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionFileServiceImpl.java index b13b3801..6e4b74e7 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionFileServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionFileServiceImpl.java @@ -200,27 +200,7 @@ public class InspectionFileServiceImpl extends ServiceImpl tenantAdmin = roleApi.selectUserListByRoleCode(SecurityFrameworkUtils.getLoginUser().getTenantId(), "tenant_admin"); String content = String.join(",", keys); if (CollUtil.isNotEmpty(tenantAdmin)) { - // 判断是服务套餐是检测还是驾校 - switch (inspectionFile.getServicePackageId()) { - case "jiance": - for (UserDTO userDTO : tenantAdmin) { - noticeService.sentMessage(userDTO.getId(), content); - } - break; - case "jiaxiao": - for (UserDTO userDTO : tenantAdmin) { - // 准备发送参数 - Map templateParams = new HashMap<>(); - // 发送模版内容 - templateParams.put("text", content); - commonNotifyMessageSendService.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO() - .setUserId(userDTO.getId()) - .setTemplateCode(TICKET_EMPLOY) - .setSystemCode(SystemEnum.SCHOOL.getCode()) - .setTemplateParams(templateParams)); - } - break; - } + this.sendMessage(tenantAdmin.stream().map(UserDTO::getId).collect(Collectors.toList()), content, inspectionFile.getServicePackageId()); } } catch (IllegalAccessException e) { throw new RuntimeException(e); @@ -759,4 +739,26 @@ public class InspectionFileServiceImpl extends ServiceImpl userIdS, String text, String code) { + // 准备发送参数 + Map templateParams = new HashMap<>(); + // 发送模版内容 + templateParams.put("text", text); + // 发送站内信 + userIdS.forEach(userId -> { + commonNotifyMessageSendService.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO() + .setUserId(userId) + .setTemplateCode(TICKET_EMPLOY) + .setSystemCode(code) + .setTemplateParams(templateParams)); + }); + + } + } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/controller/admin/RepairStaffController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/controller/admin/RepairStaffController.java index 9a914b5a..364e02fa 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/controller/admin/RepairStaffController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/controller/admin/RepairStaffController.java @@ -2,22 +2,42 @@ package cn.iocoder.yudao.module.base.controller.admin; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.iocoder.yudao.common.CommonErrorCodeConstants; +import cn.iocoder.yudao.common.SystemEnum; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.base.entity.RepairStaff; +import cn.iocoder.yudao.module.base.entity.RepairStaffSaveVo; +import cn.iocoder.yudao.module.base.service.RepairStaffService; +import cn.iocoder.yudao.module.staff.entity.CompanyStaff; +import cn.iocoder.yudao.module.staff.service.CompanyStaffService; +import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; +import cn.iocoder.yudao.module.system.api.user.dto.UserDTO; +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.UserRoleDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; +import cn.iocoder.yudao.module.system.service.permission.PermissionService; import cn.iocoder.yudao.module.system.service.permission.RoleService; import cn.iocoder.yudao.module.system.service.user.AdminUserService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.Collections; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + @RestController @RequestMapping("/base/repair-staff") @RequiredArgsConstructor @@ -25,6 +45,8 @@ public class RepairStaffController { private final AdminUserService userService; private final RoleService roleService; + private final RepairStaffService repairStaffService; + /** * 获取维修员工信息 * @@ -36,7 +58,7 @@ public class RepairStaffController { // 查询信息 AdminUserDO user = userService.getUser(id); if (user == null) { - return CommonResult.error(400,"用户不存在"); + return CommonResult.error(400, "用户不存在"); } // 查询对应角色 @@ -53,7 +75,40 @@ public class RepairStaffController { .collect(Collectors.toList()); repairStaff.setRoles(weixiuRoleDOS); - return CommonResult.success(repairStaff); + return success(repairStaff); + } + + /** + * 新增员工 + * + * @param repairStaff 员工信息 + * @return + */ + @PostMapping + public CommonResult addStaff(@RequestBody RepairStaffSaveVo repairStaff) { + repairStaffService.addStaff(repairStaff); + return CommonResult.ok(); + } + + @GetMapping("/listSelectUser") + public CommonResult listSelectUser(@Valid UserPageReqVO pageReqVO){ + // 查询目前所有的userId + RolePageReqVO role = new RolePageReqVO(); + role.setPageNo(1); + role.setPageSize(1000000); + IPage userDTOIPage = roleService.selectListByRoleIdRepair(role); + // 获取所有的userId + List ids = userDTOIPage.getRecords().stream().map(UserDTO::getId).collect(Collectors.toList()); + pageReqVO.setUserIds(ids); + // 获得用户分页列表 + PageResult pageResult = userService.getUserPage(pageReqVO); + return success(new PageResult<>(pageResult.getList(), pageResult.getTotal())); + } + + @DeleteMapping("/deleteStaff") + public CommonResult deleteStaff(Long id) { + repairStaffService.deleteStaff(id); + return CommonResult.ok(); } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/entity/RepairStaffSaveVo.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/entity/RepairStaffSaveVo.java new file mode 100644 index 00000000..b689d532 --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/entity/RepairStaffSaveVo.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.base.entity; + + +import cn.iocoder.yudao.module.system.api.user.dto.UserDTO; +import lombok.Data; + +import java.util.Collections; +import java.util.List; +import java.util.Set; + +@Data +public class RepairStaffSaveVo { + /** + * 选择的员工 + */ + public List repairStaffs; + /** + * 角色id + */ + private Set roleIds = Collections.emptySet(); +} diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/RepairStaffService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/RepairStaffService.java new file mode 100644 index 00000000..37e1f472 --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/RepairStaffService.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.base.service; + + +import cn.iocoder.yudao.module.base.entity.RepairStaffSaveVo; + +public interface RepairStaffService { + /** + * 新增员工 + * + * @param repairStaff + */ + public void addStaff(RepairStaffSaveVo repairStaff); + + /** + * 删除员工 + * @param id + */ + void deleteStaff(Long id); +} diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/impl/RepairStaffServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/impl/RepairStaffServiceImpl.java new file mode 100644 index 00000000..1d65993e --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/base/service/impl/RepairStaffServiceImpl.java @@ -0,0 +1,133 @@ +package cn.iocoder.yudao.module.base.service.impl; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.iocoder.yudao.common.CommonErrorCodeConstants; +import cn.iocoder.yudao.common.SystemEnum; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.base.entity.RepairStaffSaveVo; +import cn.iocoder.yudao.module.base.service.RepairStaffService; +import cn.iocoder.yudao.module.staff.entity.CompanyStaff; +import cn.iocoder.yudao.module.staff.service.CompanyStaffService; +import cn.iocoder.yudao.module.staff.service.UniqueCodeService; +import cn.iocoder.yudao.module.system.api.dept.DeptApi; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; +import cn.iocoder.yudao.module.system.api.user.dto.UserDTO; +import cn.iocoder.yudao.module.system.service.permission.PermissionService; +import cn.iocoder.yudao.module.system.service.permission.RoleService; +import cn.iocoder.yudao.module.system.service.user.AdminUserService; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; + +@Service +@RequiredArgsConstructor +public class RepairStaffServiceImpl implements RepairStaffService { + + private final AdminUserService userService; + + private final RoleService roleService; + + private final PermissionService permissionService; + + private final CompanyStaffService companyStaffService; + + private final DeptApi deptApi; + + private final AdminUserApi adminUserApi; + + private final UniqueCodeService uniqueCodeService; + + public void addStaff(RepairStaffSaveVo repairStaff) { + // 获取当前登录用户的详细信息 + AdminUserRespDTO loginUser = getLoginUser(); + // 1. 分配角色 + repairStaff.getRepairStaffs().forEach(item -> { + permissionService.assignUserRoleByServicePackageId(item.getId(), repairStaff.getRoleIds(), SystemEnum.REPAIR.getCode()); + }); + // 2. 查看员工表中是否存在 + List oldIds = repairStaff.getRepairStaffs().stream().map(UserDTO::getId).collect(Collectors.toList()); + List staffList = companyStaffService.list(Wrappers.lambdaQuery() + .in(CompanyStaff::getUserId, oldIds)); + + // 获取员工表中已有的用户ID集合 + Set existUserIds = staffList.stream() + .map(CompanyStaff::getUserId) + .collect(Collectors.toSet()); + + // 找出不存在于员工表中的用户ID + List notExistUsers = repairStaff.getRepairStaffs().stream() + .filter(user -> !existUserIds.contains(user.getId())) + .collect(Collectors.toList()); + + /* 插入员工库 */ + DeptRespDTO loginDept = getLoginDept(loginUser.getDeptId()); + + // 添加员工 + if (CollectionUtil.isNotEmpty(notExistUsers)) { + List companyStaffs = new ArrayList<>(); + for (UserDTO notExistUser : notExistUsers) { + CompanyStaff companyStaff = new CompanyStaff(); + + // 1 获取当前登录用户的企业信息给添加的员工 + // 2 生成唯一推广码 + String uniqueCode = uniqueCodeService.createUniqueCode(); + if (!ObjectUtil.isNotEmpty(uniqueCode)) { + throw exception(CommonErrorCodeConstants.UNIQUE_CODE_CREATE_REPEAT); + } + companyStaff.setCorpId(loginDept.getCorpId()); + companyStaff.setUserId(notExistUser.getId()); + companyStaff.setName(notExistUser.getNickname()); + companyStaff.setTel(notExistUser.getUsername()); + companyStaff.setUniqueCode(uniqueCode); + + companyStaffs.add(companyStaff); + } + companyStaffService.saveBatch(companyStaffs); + } + } + + /** + * 删除员工 + * + * @param id + */ + @Override + public void deleteStaff(Long id) { + boolean remove = companyStaffService.remove(Wrappers.lambdaQuery() + .eq(CompanyStaff::getUserId, id)); + } + + /** + * 获取当前登录用户的部门详细信息 + * + * @param deptId 部门ID + * @author 小李 + * @date 17:28 2024/8/9 + **/ + private DeptRespDTO getLoginDept(Long deptId) { + return deptApi.getDept(deptId); + } + + /** + * 获取当前登录用户的详细信息 + * + * @author 小李 + * @date 17:27 2024/8/9 + **/ + private AdminUserRespDTO getLoginUser() { + Long userId = SecurityFrameworkUtils.getLoginUserId(); + return adminUserApi.getUser(userId); + } +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java index cc601948..5dd1a110 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java @@ -393,7 +393,7 @@ public class RoleServiceImpl implements RoleService { * * @param roleId * @return - */ + */ @Override public List getListByUserId(Integer roleId) { List userDTOS = userRoleMapper.selectByRoleId(roleId); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/UserRoleMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/UserRoleMapper.xml index d6f9d417..2bdf6635 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/UserRoleMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/UserRoleMapper.xml @@ -97,7 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from system_users su left join system_user_role sr on su.id = sr.user_id and sr.deleted = 0 left join system_role sr2 on sr.role_id = sr2.id --- INNER JOIN dl_repair_worker dsc ON dsc.user_id = su.id + INNER JOIN company_staff dsc ON dsc.user_id = su.id su.deleted = 0 and sr2.service_package_id = 'weixiu' From 1ef058fb1604b493d92d098b2f3d3255ff497b99 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Tue, 5 Aug 2025 14:40:25 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=9B=B4=E6=96=B00805?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PartnerOwnController.java | 11 ++ .../admin/StatisticsController.java | 50 ++++++ .../entity/DlInspectionProject.java | 6 + .../mapper/InspectionWorkNodeMapper.java | 20 +++ .../service/AppInspectionPartnerService.java | 8 + .../service/IInspectionWorkNodeService.java | 26 +++ .../inspection/service/StatisticsService.java | 26 +++ .../impl/AppInspectionPartnerServiceImpl.java | 99 ++++++++++++ .../impl/InspectionWorkNodeServiceImpl.java | 79 +++++++++ .../service/impl/StatisticsServiceImpl.java | 152 ++++++++++++++++++ .../mapper/InspectionWorkNodeMapper.xml | 82 ++++++++++ 11 files changed, 559 insertions(+) create mode 100644 dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/admin/StatisticsController.java create mode 100644 dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/StatisticsService.java create mode 100644 dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/StatisticsServiceImpl.java diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/PartnerOwnController.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/PartnerOwnController.java index efe89a57..fbf36dd4 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/PartnerOwnController.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/PartnerOwnController.java @@ -930,6 +930,17 @@ public class PartnerOwnController extends BaseController { return success(partnerList.getStaffCount(dlInspectionProject)); } + /** + * 获取员工统计 + * + * @param dlInspectionProject 项目 + * @return 结果 + */ + @PostMapping("/getStaffCountByUserId") + public CommonResult getStaffCountByUserId(@RequestBody DlInspectionProject dlInspectionProject) { + return success(partnerList.getStaffCountByUserId(dlInspectionProject)); + } + /** * 文件统计 * diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/admin/StatisticsController.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/admin/StatisticsController.java new file mode 100644 index 00000000..1410d7c5 --- /dev/null +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/admin/StatisticsController.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.inspection.controller.admin; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.inspection.entity.DlInspectionProject; +import cn.iocoder.yudao.module.inspection.service.StatisticsService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @BelongsProject: lanan-system + * @BelongsPackage: cn.iocoder.yudao.module.inspection.controller.admin + * @Author: 许 + * @CreateTime: 2025-08-05 11:16 + * @Description: 数据统计接口 + * @Version: 1.0 + */ +@RestController +@RequestMapping("/inspection/statistics") +@RequiredArgsConstructor +public class StatisticsController { + + private final StatisticsService statisticsService; + + /** + * @description: 获取员工项目统计信息 + * @author: 许 + * @date: 2025/8/5 11:21 + * @param: [dlInspectionProject] + * @return: cn.iocoder.yudao.framework.common.pojo.CommonResult + **/ + @PostMapping("/queryStaffStatisticsInfo") + public CommonResult queryStaffStatisticsInfo(@RequestBody DlInspectionProject dlInspectionProject) { + return CommonResult.success(statisticsService.queryStaffStatisticsInfo(dlInspectionProject)); + } + + /** + * @description: 获取员工检测项目统计 (根据车型) + * @author: 许 + * @date: 2025/8/5 14:28 + * @param: [dlInspectionProject] + * @return: cn.iocoder.yudao.framework.common.pojo.CommonResult + **/ + @PostMapping("/queryStaffStatisticsGroupByGoods") + public CommonResult queryStaffStatisticsGroupByGoods(@RequestBody DlInspectionProject dlInspectionProject) { + return CommonResult.success(statisticsService.queryStaffCountGroupByGoods(dlInspectionProject)); + } +} diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/DlInspectionProject.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/DlInspectionProject.java index b8ea98ea..50738fee 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/DlInspectionProject.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/DlInspectionProject.java @@ -51,4 +51,10 @@ public class DlInspectionProject extends TenantBaseDO { @TableField(exist = false) private List datetimeRange; + + @TableField(exist = false) + private Long userId; + + @TableField(exist = false) + private String goodsTitle ; } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionWorkNodeMapper.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionWorkNodeMapper.java index 11147d46..fa42e004 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionWorkNodeMapper.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionWorkNodeMapper.java @@ -44,6 +44,8 @@ public interface InspectionWorkNodeMapper extends BaseMapper List getStaffCount(DlInspectionProject dlInspectionProject); + List getStaffCountByUserId(DlInspectionProject dlInspectionProject); + /** * 根据检测id获取异常节点 * @param idList @@ -52,4 +54,22 @@ public interface InspectionWorkNodeMapper extends BaseMapper List> selectExceptionNodesByInspectionIds(@Param("ids") List idList); IPage> selectStaffProjectByUserId(@Param("page")Page> page, @Param("query") InspectionListQuery query); + + /** + * @description: 查询员工项目统计根据车型 + * @author: 许 + * @date: 2025/8/5 13:13 + * @param: [dlInspectionProject] + * @return: java.util.List> + **/ + List> queryStaffCountGroupByGoods(DlInspectionProject dlInspectionProject); + + /** + * @description: 查询员工项目统计 + * @author: 许 + * @date: 2025/8/5 14:07 + * @param: [dlInspectionProject] + * @return: java.util.Map + **/ + Map queryStaffInspectionCount(DlInspectionProject dlInspectionProject); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/AppInspectionPartnerService.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/AppInspectionPartnerService.java index cf663790..37d7eb04 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/AppInspectionPartnerService.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/AppInspectionPartnerService.java @@ -249,6 +249,14 @@ public interface AppInspectionPartnerService extends IService */ List> getStaffCount(DlInspectionProject dlInspectionProject); + /** + * 查询员工统计 + * + * @param dlInspectionProject 项目信息 + * @return 结果 + */ + Map getStaffCountByUserId(DlInspectionProject dlInspectionProject); + /** * 文件统计 * diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionWorkNodeService.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionWorkNodeService.java index 3759a91c..89b9759a 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionWorkNodeService.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionWorkNodeService.java @@ -76,6 +76,14 @@ public interface IInspectionWorkNodeService extends IService */ List> getStaffCount(DlInspectionProject dlInspectionProject); + /** + * 获取员工统计排序 + * + * @param dlInspectionProject + * @return + */ + Map getStaffCountByUserId(DlInspectionProject dlInspectionProject); + /** * 根据检测id获取异常节点 * @@ -89,4 +97,22 @@ public interface IInspectionWorkNodeService extends IService * @param idList */ void updateException(Long inspectionInfoId,List idList); + + /** + * @description: 员工统计根据车型 + * @author: 许 + * @date: 2025/8/5 11:41 + * @param: [dlInspectionProject] + * @return: java.util.List> + **/ + List> queryStaffCountGroupByGoods(DlInspectionProject dlInspectionProject); + + /** + * @description: 员工统计初检数量和复检数量 + * @author: 许 + * @date: 2025/8/5 14:04 + * @param: [dlInspectionProject] + * @return: java.util.Map + **/ + Map queryStaffInspectionCount(DlInspectionProject dlInspectionProject); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/StatisticsService.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/StatisticsService.java new file mode 100644 index 00000000..79e46c7a --- /dev/null +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/StatisticsService.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.inspection.service; + +import cn.iocoder.yudao.module.inspection.entity.DlInspectionProject; + +import java.util.Map; + +public interface StatisticsService { + + /** + * @description: 获取员工统计信息 + * @author: 许 + * @date: 2025/8/5 11:25 + * @param: [dlInspectionProject] + * @return: java.util.Map + **/ + Map queryStaffStatisticsInfo(DlInspectionProject dlInspectionProject); + + /** + * @description: 获取员工统计信息 + * @author: 许 + * @date: 2025/8/5 14:30 + * @param: [dlInspectionProject] + * @return: java.util.Map + **/ + Map queryStaffCountGroupByGoods(DlInspectionProject dlInspectionProject); +} diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java index 269bb851..13c8a101 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java @@ -2616,6 +2616,105 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl getStaffCountByUserId(DlInspectionProject dlInspectionProject) { + Map staffCount = inspectionWorkNodeService.getStaffCountByUserId(dlInspectionProject); + if (staffCount == null || staffCount.isEmpty()) { + return Collections.emptyMap(); + } + + Long userId = (Long) staffCount.get("userId"); + + Set inspectionInfoIds = new HashSet<>(); + + List> children = (List>) staffCount.get("children"); + if (children == null) { + children = new ArrayList<>(); + staffCount.put("children", children); + } + + // 收集已有项目中的 inspectionInfoId + inspectionInfoIds.addAll( + children.stream() + .map(map -> (String) map.get("inspectionInfoId")) + .flatMap(idsStr -> Arrays.stream(idsStr.split(","))) + .map(String::trim) + .filter(idStr -> !idStr.isEmpty()) + .map(Long::valueOf) + .collect(Collectors.toSet()) + ); + + // 查询接车信息 + List meetCarList = inspectionInfoService.selectMeetCarList(dlInspectionProject.getDatetimeRange()); + List userMeetCarList = meetCarList.stream() + .filter(i -> userId.equals(i.getMeetManId())) + .collect(Collectors.toList()); + + long meetCount = userMeetCarList.stream().filter(i -> Integer.valueOf(0).equals(i.getMeetType())).count(); + long meetGoCount = userMeetCarList.stream().filter(i -> Integer.valueOf(1).equals(i.getMeetType())).count(); + inspectionInfoIds.addAll(userMeetCarList.stream().map(InspectionInfo::getId).collect(Collectors.toList())); + + Map meetPhotoMap = new HashMap<>(); + meetPhotoMap.put("projectName", "接车拍照"); + meetPhotoMap.put("count", meetCount); + children.add(meetPhotoMap); + + Map meetGoMap = new HashMap<>(); + meetGoMap.put("projectName", "上门接车"); + meetGoMap.put("count", meetGoCount); + children.add(meetGoMap); + + + // 查询还车信息 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(InspectionInfo::getIsReturnCar, 1); + + List datetimeRange = dlInspectionProject.getDatetimeRange(); + if (CollUtil.isNotEmpty(datetimeRange) && datetimeRange.size() == 2) { + wrapper.between(InspectionInfo::getEndTime, datetimeRange.get(0), datetimeRange.get(1)); + } + + List returnCarList = inspectionInfoService.list(wrapper); + + + List userReturnCarList = returnCarList.stream() + .filter(i -> userId.equals(i.getReturnCarUserId())) + .collect(Collectors.toList()); + + long returnCount = userReturnCarList.stream().filter(i -> Integer.valueOf(0).equals(i.getReturnType())).count(); + long returnGoCount = userReturnCarList.stream().filter(i -> Integer.valueOf(1).equals(i.getReturnType())).count(); + inspectionInfoIds.addAll(userReturnCarList.stream().map(InspectionInfo::getId).collect(Collectors.toList())); + + Map returnPhotoMap = new HashMap<>(); + returnPhotoMap.put("projectName", "还车拍照"); + returnPhotoMap.put("count", returnCount); + children.add(returnPhotoMap); + + Map returnGoMap = new HashMap<>(); + returnGoMap.put("projectName", "上门还车"); + returnGoMap.put("count", returnGoCount); + children.add(returnGoMap); + + + // 重新设置总数 + staffCount.put("totalCount", (long) inspectionInfoIds.size()); + + // 移除 count == 0 的 children + children.removeIf(c -> ((Long) c.getOrDefault("count", 0L)) == 0L); + // 按 count 降序排序 + children.sort(Comparator.comparingLong(c -> (Long) c.getOrDefault("count", 0L))); + Collections.reverse(children); + + return staffCount; + } + + /** * 文件统计 * diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionWorkNodeServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionWorkNodeServiceImpl.java index 2b1454e6..fd6eea59 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionWorkNodeServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionWorkNodeServiceImpl.java @@ -495,6 +495,61 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl getStaffCountByUserId(DlInspectionProject dlInspectionProject) { + Map> tempMap = new LinkedHashMap<>(); + List staffCount = baseMapper.getStaffCountByUserId(dlInspectionProject); + + for (StaffProjectCountVO vo : staffCount) { + Map userEntry = tempMap.computeIfAbsent(vo.getUserId(), k -> { + Map m = new HashMap<>(); + m.put("userId", vo.getUserId()); + m.put("nickname", vo.getNickname()); + m.put("totalCount", 0L); // 初始总数 + m.put("children", new ArrayList>()); + return m; + }); + + // 添加项目 + List> children = (List>) userEntry.get("children"); + vo.setCount(vo.getCount() == null ? 0 : vo.getCount()); + if (vo.getCount() == 0) { + continue; + } + Map project = new HashMap<>(); + project.put("projectName", vo.getProjectName()); + project.put("count", vo.getCount()); + project.put("id", vo.getId()); + project.put("inspectionInfoId", vo.getInspectionInfoIds()); + children.add(project); + + // 累加总数 + Long currentTotal = (Long) userEntry.get("totalCount"); + userEntry.put("totalCount", currentTotal + vo.getCount()); + } + + // 如果查出来的用户为空,返回空对象 + if (tempMap.isEmpty()) { + return Collections.emptyMap(); + } + + // 只取一个用户数据(因为你保证只有一个用户) + Map result = tempMap.values().iterator().next(); + + // 排序该用户下的项目 children + List> children = (List>) result.get("children"); + children.sort((a, b) -> Long.compare((Long) b.get("count"), (Long) a.get("count"))); + + return result; + } + + /** * 根据检测id获取异常节点 * @@ -535,6 +590,30 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl> + */ + @Override + public List> queryStaffCountGroupByGoods(DlInspectionProject dlInspectionProject) { + return baseMapper.queryStaffCountGroupByGoods(dlInspectionProject); + } + + /** + * @description: 员工统计初检数量和复检数量 + * @author: 许 + * @date: 2025/8/5 14:04 + * @param: [dlInspectionProject] + * @return: java.util.Map + */ + @Override + public Map queryStaffInspectionCount(DlInspectionProject dlInspectionProject) { + return baseMapper.queryStaffInspectionCount(dlInspectionProject); + } + /** * 判断传入的 InspectionWorkNode 对象是否在集合中有后续项目 * diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/StatisticsServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/StatisticsServiceImpl.java new file mode 100644 index 00000000..6817381e --- /dev/null +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/StatisticsServiceImpl.java @@ -0,0 +1,152 @@ +package cn.iocoder.yudao.module.inspection.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.inspection.entity.DlInspectionProject; +import cn.iocoder.yudao.module.inspection.entity.InspectionInfo; +import cn.iocoder.yudao.module.inspection.service.IInspectionInfoService; +import cn.iocoder.yudao.module.inspection.service.IInspectionWorkNodeService; +import cn.iocoder.yudao.module.inspection.service.StatisticsService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @BelongsProject: lanan-system + * @BelongsPackage: cn.iocoder.yudao.module.inspection.service.impl + * @Author: 许 + * @CreateTime: 2025-08-05 11:24 + * @Description: 数据统计实现类 + * @Version: 1.0 + */ +@Service +@RequiredArgsConstructor +public class StatisticsServiceImpl implements StatisticsService { + + private final IInspectionWorkNodeService inspectionWorkNodeService; + + private final IInspectionInfoService inspectionInfoService; + /** + * @description: 获取员工统计信息 + * @author: 许 + * @date: 2025/8/5 11:25 + * @param: [dlInspectionProject] + * @return: java.util.Map + */ + @Override + public Map queryStaffStatisticsInfo(DlInspectionProject dlInspectionProject) { + Map result = new HashMap<>(); + /*车型数量统计*/ + //1.根据userId查询完成的车型数量 + List> goodsStatistics = inspectionWorkNodeService.queryStaffCountGroupByGoods(dlInspectionProject); + result.put("goodsStatistics", goodsStatistics); + + /*初检数量统计 复检数量统计*/ + //1.根据userId查询 + Map inspectionStatistics =inspectionWorkNodeService.queryStaffInspectionCount(dlInspectionProject); + result.put("inspectionStatistics", inspectionStatistics); + return result; + } + + /** + * @description: 获取员工统计信息 + * @author: 许 + * @date: 2025/8/5 14:30 + * @param: [dlInspectionProject] + * @return: java.util.Map + */ + @Override + public Map queryStaffCountGroupByGoods(DlInspectionProject dlInspectionProject) { + Map staffCount = inspectionWorkNodeService.getStaffCountByUserId(dlInspectionProject); + if (staffCount == null || staffCount.isEmpty()) { + return Collections.emptyMap(); + } + + Long userId = (Long) staffCount.get("userId"); + + Set inspectionInfoIds = new HashSet<>(); + + List> children = (List>) staffCount.get("children"); + if (children == null) { + children = new ArrayList<>(); + staffCount.put("children", children); + } + + // 收集已有项目中的 inspectionInfoId + inspectionInfoIds.addAll( + children.stream() + .map(map -> (String) map.get("inspectionInfoId")) + .flatMap(idsStr -> Arrays.stream(idsStr.split(","))) + .map(String::trim) + .filter(idStr -> !idStr.isEmpty()) + .map(Long::valueOf) + .collect(Collectors.toSet()) + ); + + // 查询接车信息 + List meetCarList = inspectionInfoService.selectMeetCarList(dlInspectionProject.getDatetimeRange()); + List userMeetCarList = meetCarList.stream() + .filter(i -> userId.equals(i.getMeetManId())) + .collect(Collectors.toList()); + + long meetCount = userMeetCarList.stream().filter(i -> Integer.valueOf(0).equals(i.getMeetType())).count(); + long meetGoCount = userMeetCarList.stream().filter(i -> Integer.valueOf(1).equals(i.getMeetType())).count(); + inspectionInfoIds.addAll(userMeetCarList.stream().map(InspectionInfo::getId).collect(Collectors.toList())); + + Map meetPhotoMap = new HashMap<>(); + meetPhotoMap.put("projectName", "接车拍照"); + meetPhotoMap.put("count", meetCount); + children.add(meetPhotoMap); + + Map meetGoMap = new HashMap<>(); + meetGoMap.put("projectName", "上门接车"); + meetGoMap.put("count", meetGoCount); + children.add(meetGoMap); + + + // 查询还车信息 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(InspectionInfo::getIsReturnCar, 1); + + List datetimeRange = dlInspectionProject.getDatetimeRange(); + if (CollUtil.isNotEmpty(datetimeRange) && datetimeRange.size() == 2) { + wrapper.between(InspectionInfo::getEndTime, datetimeRange.get(0), datetimeRange.get(1)); + } + + List returnCarList = inspectionInfoService.list(wrapper); + + + List userReturnCarList = returnCarList.stream() + .filter(i -> userId.equals(i.getReturnCarUserId())) + .collect(Collectors.toList()); + + long returnCount = userReturnCarList.stream().filter(i -> Integer.valueOf(0).equals(i.getReturnType())).count(); + long returnGoCount = userReturnCarList.stream().filter(i -> Integer.valueOf(1).equals(i.getReturnType())).count(); + inspectionInfoIds.addAll(userReturnCarList.stream().map(InspectionInfo::getId).collect(Collectors.toList())); + + Map returnPhotoMap = new HashMap<>(); + returnPhotoMap.put("projectName", "还车拍照"); + returnPhotoMap.put("count", returnCount); + children.add(returnPhotoMap); + + Map returnGoMap = new HashMap<>(); + returnGoMap.put("projectName", "上门还车"); + returnGoMap.put("count", returnGoCount); + children.add(returnGoMap); + + + // 重新设置总数 + staffCount.put("totalCount", (long) inspectionInfoIds.size()); + + // 移除 count == 0 的 children + children.removeIf(c -> ((Long) c.getOrDefault("count", 0L)) == 0L); + // 按 count 降序排序 + children.sort(Comparator.comparingLong(c -> (Long) c.getOrDefault("count", 0L))); + Collections.reverse(children); + + return staffCount; + } +} diff --git a/dl-module-inspection/src/main/resources/mapper/InspectionWorkNodeMapper.xml b/dl-module-inspection/src/main/resources/mapper/InspectionWorkNodeMapper.xml index 44202f4c..bead7ec7 100644 --- a/dl-module-inspection/src/main/resources/mapper/InspectionWorkNodeMapper.xml +++ b/dl-module-inspection/src/main/resources/mapper/InspectionWorkNodeMapper.xml @@ -267,6 +267,9 @@ staff.deleted = 0 AND su.deleted = 0 AND (valid_roles.user_id IS NOT NULL) -- 只保留有合格角色的用户 + + AND staff.user_id = #{userId} + GROUP BY staff.user_id ,ip.id @@ -376,4 +379,83 @@ GROUP BY ii.id ORDER BY ii.start_time DESC; + + + From 4052053d4b9942b97c5389c8c561088b21cc5b48 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Fri, 8 Aug 2025 10:40:48 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=9B=B4=E6=96=B00808?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/inspection/mapper/InspectionInfoMapper.java | 2 +- .../inspection/service/IInspectionInfoService.java | 2 +- .../service/impl/AppInspectionPartnerServiceImpl.java | 4 ++-- .../service/impl/InspectionInfoServiceImpl.java | 4 ++-- .../inspection/service/impl/StatisticsServiceImpl.java | 10 +++++++++- .../main/resources/mapper/InspectionWorkNodeMapper.xml | 2 +- .../mapper/inspection/AppInspectionPartnerMapper.xml | 1 + .../mapper/inspection/InspectionInfoMapper.xml | 4 ++++ 8 files changed, 21 insertions(+), 8 deletions(-) diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionInfoMapper.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionInfoMapper.java index a0c3d7a8..561df16a 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionInfoMapper.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionInfoMapper.java @@ -101,7 +101,7 @@ public interface InspectionInfoMapper extends BaseMapper IPage geStelectInspectionByBusiness(@Param("page") Page page,@Param("info") InspectionInfo inspectionInfo); - List selectMeetCarList(@Param("datetimeRange") List datetimeRange); + List selectMeetCarList(@Param("datetimeRange") List datetimeRange,@Param("goodsTitle") String goodsTitle); Map workOrderDataNew(@Param("query") OrderTableQuery query); diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionInfoService.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionInfoService.java index deda7d8c..1008cc8d 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionInfoService.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionInfoService.java @@ -181,7 +181,7 @@ public interface IInspectionInfoService extends IService Map getBusinessCountByType(Integer partnerId); - List selectMeetCarList(List datetimeRange); + List selectMeetCarList(List datetimeRange, String goodsTitle); List selectLatestByCarNums(Collection carNos); diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java index 13c8a101..b5be9015 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java @@ -2517,7 +2517,7 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl> getStaffCount(DlInspectionProject dlInspectionProject) { List> staffCount = inspectionWorkNodeService.getStaffCount(dlInspectionProject); // 根据userId查询检测工单表 接车人 - List list = inspectionInfoService.selectMeetCarList(dlInspectionProject.getDatetimeRange()); + List list = inspectionInfoService.selectMeetCarList(dlInspectionProject.getDatetimeRange(),null); // 统计每个 meetManId 的数量,避免 null key 异常 Map> meetManIdCountMap = list.stream() .filter(info -> info.getMeetManId() != null) // 过滤 null 值 @@ -2651,7 +2651,7 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl meetCarList = inspectionInfoService.selectMeetCarList(dlInspectionProject.getDatetimeRange()); + List meetCarList = inspectionInfoService.selectMeetCarList(dlInspectionProject.getDatetimeRange(), dlInspectionProject.getGoodsTitle()); List userMeetCarList = meetCarList.stream() .filter(i -> userId.equals(i.getMeetManId())) .collect(Collectors.toList()); diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionInfoServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionInfoServiceImpl.java index 2680ad01..e528eafd 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionInfoServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionInfoServiceImpl.java @@ -1091,8 +1091,8 @@ public class InspectionInfoServiceImpl extends ServiceImpl selectMeetCarList(List datetimeRange) { - return baseMapper.selectMeetCarList(datetimeRange); + public List selectMeetCarList(List datetimeRange, String goodsTitle) { + return baseMapper.selectMeetCarList(datetimeRange,goodsTitle); } /** diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/StatisticsServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/StatisticsServiceImpl.java index 6817381e..b022e672 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/StatisticsServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/StatisticsServiceImpl.java @@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.inspection.entity.InspectionInfo; import cn.iocoder.yudao.module.inspection.service.IInspectionInfoService; import cn.iocoder.yudao.module.inspection.service.IInspectionWorkNodeService; import cn.iocoder.yudao.module.inspection.service.StatisticsService; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; @@ -29,6 +31,8 @@ public class StatisticsServiceImpl implements StatisticsService { private final IInspectionWorkNodeService inspectionWorkNodeService; private final IInspectionInfoService inspectionInfoService; + + private final AdminUserApi adminUserApi; /** * @description: 获取员工统计信息 * @author: 许 @@ -48,6 +52,10 @@ public class StatisticsServiceImpl implements StatisticsService { //1.根据userId查询 Map inspectionStatistics =inspectionWorkNodeService.queryStaffInspectionCount(dlInspectionProject); result.put("inspectionStatistics", inspectionStatistics); + + /*获取员工信息*/ + AdminUserRespDTO user = adminUserApi.getUser(dlInspectionProject.getUserId()); + result.put("staffInfo", user); return result; } @@ -87,7 +95,7 @@ public class StatisticsServiceImpl implements StatisticsService { ); // 查询接车信息 - List meetCarList = inspectionInfoService.selectMeetCarList(dlInspectionProject.getDatetimeRange()); + List meetCarList = inspectionInfoService.selectMeetCarList(dlInspectionProject.getDatetimeRange(), dlInspectionProject.getGoodsTitle()); List userMeetCarList = meetCarList.stream() .filter(i -> userId.equals(i.getMeetManId())) .collect(Collectors.toList()); diff --git a/dl-module-inspection/src/main/resources/mapper/InspectionWorkNodeMapper.xml b/dl-module-inspection/src/main/resources/mapper/InspectionWorkNodeMapper.xml index bead7ec7..1598d61d 100644 --- a/dl-module-inspection/src/main/resources/mapper/InspectionWorkNodeMapper.xml +++ b/dl-module-inspection/src/main/resources/mapper/InspectionWorkNodeMapper.xml @@ -382,7 +382,7 @@