diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionInfoController.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionInfoController.java index 9ad5362a..8febb148 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionInfoController.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionInfoController.java @@ -276,7 +276,7 @@ public class InspectionInfoController extends BaseController { */ @GetMapping("isExamine") public CommonResult isExamine() { - return success(inspectionInfoService.isExamine()); + return success(inspectionInfoService.isExamine("jcsfdl")); } /** @@ -389,12 +389,24 @@ public class InspectionInfoController extends BaseController { /** * 修改异常工单 + * * @param inspectionWorkNode * @return */ @PostMapping("/updateException") - public CommonResult updateException(@RequestBody InspectionWorkNode inspectionWorkNode){ + public CommonResult updateException(@RequestBody InspectionWorkNode inspectionWorkNode) { inspectionWorkNodeService.updateException(inspectionWorkNode.getInspectionInfoId(), inspectionWorkNode.getIdList()); return success("操作成功"); } + + /** + * 员工 引车接单 + * + * @return + */ + @PostMapping("/leadCar") + public CommonResult leadCar(@RequestBody InspectionInfo inspectionInfo) { + inspectionInfoService.leadCar(inspectionInfo); + return success("操作成功"); + } } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionStaffController.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionStaffController.java index c0e0c13f..ca5179e4 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionStaffController.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionStaffController.java @@ -179,6 +179,19 @@ public class InspectionStaffController extends BaseController { return success(inspectionStaffService.addFolder(userId)); } + /** + * 获取已完成项目 + * @param userId 用户id + * @return + */ + @GetMapping("/getFinishProjectByUserId") + public CommonResult getFinishProjectByUserId(@RequestParam("userId") Long userId, + @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) { + Page> page = new Page<>(pageNo, pageSize); + return success(inspectionStaffService.getFinishProjectByUserId(page, userId)); + } + /** * 校验信息 * diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionInfo.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionInfo.java index e120966e..6b86b13d 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionInfo.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionInfo.java @@ -65,8 +65,10 @@ public class InspectionInfo extends TenantBaseDO //是否重审 private String isRetrial; private String remark; - /** 检测次数 */ - private Integer infoCount; + /** 复检次数 */ + private Integer recheckCount; + /** 重检次数 */ + private Integer reinspectCount; /** 0进行中1已结束 */ @Excel(name = "0进行中1已结束") 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 048b80ba..ecd723fa 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 @@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.inspection.entity.InspectionWorkNode; import cn.iocoder.yudao.module.inspection.vo.StaffProjectCountVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -48,4 +49,6 @@ public interface InspectionWorkNodeMapper extends BaseMapper * @return */ List> selectExceptionNodesByInspectionIds(@Param("ids") List idList); + + IPage> selectStaffProjectByUserId(@Param("page")Page> page, @Param("userId") Long userId); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/query/OrderTableQuery.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/query/OrderTableQuery.java index 244d52e4..118ba3cb 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/query/OrderTableQuery.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/query/OrderTableQuery.java @@ -34,4 +34,7 @@ public class OrderTableQuery { /** 车龄 */ private Integer carYear; + + /** 检测类型*/ + private String skuName; } 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 28849d25..daf3184c 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 @@ -111,7 +111,7 @@ public interface IInspectionInfoService extends IService * 判断app当前检测人是否有审核权限 * @return */ - Boolean isExamine(); + Boolean isExamine(String code); /** * 获取某个工单针对当前操作用户,某个状态的项目们 @@ -153,4 +153,10 @@ public interface IInspectionInfoService extends IService * @param inspectionWorkNode */ Boolean meetCarPhoto(InspectionWorkNode inspectionWorkNode); + + /** + * 引车 + * @param inspectionInfo + */ + void leadCar(InspectionInfo inspectionInfo); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/InspectionStaffService.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/InspectionStaffService.java index c7d2cd66..a6b480c4 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/InspectionStaffService.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/InspectionStaffService.java @@ -75,5 +75,12 @@ public interface InspectionStaffService extends IService { * @return 文件夹id */ Long addFolder(Long userId); + + /** + * 获取已完成项目 + * @param userId + * @return + */ + IPage> getFinishProjectByUserId(Page> page, Long userId); } 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 7c0ada58..86d316e8 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 @@ -47,6 +47,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; @@ -1576,7 +1577,8 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl map = baseMapper.staticsTable2(partnerId, startTime, endTime); + + // 查询未完成 所有时间 + Map stringIntegerMap = baseMapper.staticsTable2(partnerId, null, null); + map.put("allJxzNum", stringIntegerMap.get("jxzNum")); return map; } @@ -2215,6 +2221,25 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl> getStaffCount(DlInspectionProject dlInspectionProject) { - return inspectionWorkNodeService.getStaffCount(dlInspectionProject); + List> staffCount = inspectionWorkNodeService.getStaffCount(dlInspectionProject); + // 根据userId查询检测工单表 接车人 + List list = inspectionInfoService.list(Wrappers.lambdaQuery() + .eq(InspectionInfo::getIsMeetCar, 1)); + // 统计每个 meetManId 的数量,避免 null key 异常 + Map meetManIdCountMap = list.stream() + .filter(info -> info.getMeetManId() != null) // 过滤 null 值 + .collect(Collectors.groupingBy(InspectionInfo::getMeetManId, Collectors.counting())); + + + for (Map stringObjectMap : staffCount) { + Long userId = (Long) stringObjectMap.get("userId"); + List> children = (List>) stringObjectMap.get("children"); + stringObjectMap.put("meetCarCount", meetManIdCountMap.get(userId)); + HashMap objectObjectHashMap = new HashMap<>(); + objectObjectHashMap.put("count", meetManIdCountMap.get(userId) == null ? 0 : meetManIdCountMap.get(userId)); + objectObjectHashMap.put("projectName", "接车"); + children.add(objectObjectHashMap); + } + return staffCount; } } 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 a982a4cf..ef888a60 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 @@ -656,7 +656,7 @@ public class InspectionInfoServiceImpl extends ServiceImpl userRoles = roleService.getByUserId(loginUser.getId()); @@ -666,7 +666,7 @@ public class InspectionInfoServiceImpl extends ServiceImpl filteredRoleList = roleList.stream() - .filter(role -> role.getCode().contains("jcsfdl")) + .filter(role -> role.getCode().contains(code)) .collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(filteredRoleList)) { return true; @@ -829,9 +829,9 @@ public class InspectionInfoServiceImpl extends ServiceImpl result = new ConcurrentHashMap<>(); // 线程安全 // 这里 `5` 而不是 `6`,因为 i 从 `0` 开始 - CompletableFuture[] futures = new CompletableFuture[8]; + CompletableFuture[] futures = new CompletableFuture[9]; - for (int i = 0; i < 8; i++) { // 改为 `0~4` + for (int i = 0; i < 9; i++) { // 改为 `0~4` final String status = String.valueOf(i + 1); // 深拷贝对象,防止多线程修改冲突 @@ -906,4 +906,18 @@ public class InspectionInfoServiceImpl extends ServiceImpllambdaUpdate().eq(InspectionStaff::getUserId, userId).set(InspectionStaff::getFolderId, folderId)); } return folderId; - }else { + } else { log.error("用户不存在"); return null; } } + /** + * 获取已完成项目 + * + * @param userId + * @return + */ + @Override + public IPage> getFinishProjectByUserId(Page> page, Long userId) { + return inspectionWorkNodeMapper.selectStaffProjectByUserId(page,userId); + } + /** * 保存检测员工 * 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 441f664f..64d6c40a 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 @@ -373,10 +373,10 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl + diff --git a/dl-module-inspection/src/main/resources/mapper/inspection/AppInspectionPartnerMapper.xml b/dl-module-inspection/src/main/resources/mapper/inspection/AppInspectionPartnerMapper.xml index 9d33cf9c..a1baaf04 100644 --- a/dl-module-inspection/src/main/resources/mapper/inspection/AppInspectionPartnerMapper.xml +++ b/dl-module-inspection/src/main/resources/mapper/inspection/AppInspectionPartnerMapper.xml @@ -472,19 +472,26 @@ FROM and ii.create_time BETWEEN #{startTime} and #{endTime}