From 186a75cfa05364b04f2c25b85d2124b8d6217a8b Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Wed, 22 Jan 2025 17:11:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/contraller/DeviceController.java | 17 ++++++---- .../contraller/FeedbackController.java | 17 ++++++---- .../contraller/MaintenanceController.java | 32 +++++++++++++------ .../contraller/WorkBenchesController.java | 32 ++++++++++++------- .../contraller/WorkOrderController.java | 7 ++-- .../modules/business/mapper/DeviceMapper.java | 4 +-- .../modules/business/mapper/DeviceMapper.xml | 14 +++++--- .../business/mapper/InvoiceApplyMapper.xml | 2 +- .../business/service/IDeviceService.java | 4 +-- .../service/impl/DeviceServiceImpl.java | 8 ++--- .../impl/MaintenancePlanServiceImpl.java | 3 +- .../service/impl/WorkOrderServiceImpl.java | 20 ++++++------ 12 files changed, 100 insertions(+), 60 deletions(-) diff --git a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java b/src/main/java/org/springblade/modules/business/contraller/DeviceController.java index 8aff288..0c6e0c2 100644 --- a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/DeviceController.java @@ -96,13 +96,18 @@ public class DeviceController extends BladeController { BladeUser user = AuthUtil.getUser(); if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) { - List deptIds = null; - String deptId = user.getDeptId(); - List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); - if(CollectionUtil.isNotEmpty(deptList)){ - deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + if(user.getRoleName().equals("客服") || user.getRoleName().equals("维修负责人")){ + List deptIds = null; + String deptId = user.getDeptId(); + List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); + if(CollectionUtil.isNotEmpty(deptList)){ + deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + } + wrapper.in(Device::getLimsId,deptIds); + }else{ + wrapper.eq(Device::getLimsId,user.getDeptId()); } - wrapper.in(Device::getLimsId,deptIds); + } diff --git a/src/main/java/org/springblade/modules/business/contraller/FeedbackController.java b/src/main/java/org/springblade/modules/business/contraller/FeedbackController.java index 02bcd7b..d334e0d 100644 --- a/src/main/java/org/springblade/modules/business/contraller/FeedbackController.java +++ b/src/main/java/org/springblade/modules/business/contraller/FeedbackController.java @@ -80,13 +80,18 @@ public class FeedbackController extends BladeController { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(feedback); BladeUser user = AuthUtil.getUser(); if(!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")){ - List deptIds = null; - String deptId = user.getDeptId(); - List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); - if(CollectionUtil.isNotEmpty(deptList)){ - deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + if(user.getRoleName().equals("客服")){ + List deptIds = null; + String deptId = user.getDeptId(); + List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); + if(CollectionUtil.isNotEmpty(deptList)){ + deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + } + wrapper.in(BaseEntity::getCreateDept,deptIds); + }else{ + wrapper.eq(BaseEntity::getCreateDept,user.getDeptId()); } - wrapper.in(BaseEntity::getCreateDept,deptIds); + } wrapper.like(StringUtils.isNotBlank(feedback.getUnitName()), Feedback::getUnitName, feedback.getUnitName()); diff --git a/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java b/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java index 5d39156..6599a7d 100644 --- a/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java @@ -70,11 +70,10 @@ public class MaintenanceController extends BladeController { @GetMapping("/plan-page") @Operation(summary = "维保计划列表", description = "维保计划列表") public R> planPage(MaintenancePlan plan, Query query) { - BladeUser bladeUser = AuthUtil.getUser(); - User user = userService.getById(AuthUtil.getUserId()); + BladeUser user = AuthUtil.getUser(); LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(plan).orderByDesc(MaintenancePlan::getCreateTime); - if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin") && !user.getRoleId().equals("1839536982874193922")) { - wrapper.eq(MaintenancePlan::getCreateDept, bladeUser.getDeptId()); + if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) { + wrapper.eq(MaintenancePlan::getCreateDept,user.getDeptId()); } IPage pages = this.planService.page(Condition.getPage(query), wrapper); return R.data(pages); @@ -118,7 +117,7 @@ public class MaintenanceController extends BladeController { @Operation(summary = "定时任务-根据维保计划生成维保任务", description = "定时任务-根据维保计划生成维保任务") public R taskCreate() { // 提前五天生成 - LocalDate now = LocalDate.now().minusDays(-5); + LocalDate now = LocalDate.now(); // 注意要查询上一次巡检计划中发现但未维修的 return R.status(planService.createTask(now)); } @@ -150,6 +149,9 @@ public class MaintenanceController extends BladeController { } wrapper.in(MaintenanceTask::getDeptId,deptIds); } + if(user.getRoleName().equals("客户")){ + wrapper.in(MaintenanceTask::getDeptId,Arrays.asList(user.getDeptId().split(","))); + } wrapper.like(StringUtils.isNotBlank(task.getDeptName()), MaintenanceTask::getDeptName, task.getDeptName()); IPage pages = taskService.page(Condition.getPage(query), wrapper); return R.data(pages); @@ -296,14 +298,22 @@ public class MaintenanceController extends BladeController { wrapper.eq(MaintenanceTask::getTaskStatus, task.getTaskStatus()); } BladeUser user = AuthUtil.getUser(); + if(user.getRoleName().equals("维修人员")){ + wrapper.eq(MaintenanceTask::getServicemanId,user.getUserId()); + } if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) { List deptIds = null; - String deptId = user.getDeptId(); - List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); - if(CollectionUtil.isNotEmpty(deptList)){ - deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + if(user.getRoleName().equals("客服") || user.getRoleName().equals("维修负责人") || user.getRoleName().equals("维修人员")){ + String deptId = user.getDeptId(); + List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); + if(CollectionUtil.isNotEmpty(deptList)){ + deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + } + wrapper.in(MaintenanceTask::getDeptId,deptIds); + }else{ + wrapper.in(MaintenanceTask::getDeptId,Arrays.asList(user.getDeptId().split(","))); } - wrapper.in(MaintenanceTask::getDeptId,deptIds); + } IPage pages = taskService.page(Condition.getPage(query), wrapper); @@ -437,6 +447,7 @@ public class MaintenanceController extends BladeController { public R repairServicemanFinish(@RequestBody MaintenanceTask task) { MaintenanceTask taskOld = taskService.getById(task.getId()); taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_REPAIR_FINISH.getValue()); + taskOld.setCompleteImgList(task.getCompleteImgList()); taskService.updateById(taskOld); return R.success(); @@ -453,6 +464,7 @@ public class MaintenanceController extends BladeController { taskOld.setIsOkValidity(task.getIsOkValidity()); taskOld.setIsOkQuality(task.getIsOkQuality()); taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_EVALUATE_FINISH.getValue()); + taskOld.setApproveResult(task.getApproveResult()); taskService.updateById(taskOld); return R.success(); diff --git a/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java b/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java index ed5b1bc..cc85bf9 100644 --- a/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java +++ b/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java @@ -190,15 +190,19 @@ public class WorkBenchesController extends BladeController { */ @GetMapping("/pieStat") public R> pieStat(String startTime, String endTime) { - BladeUser bladeUser = AuthUtil.getUser(); + BladeUser user = AuthUtil.getUser(); Map map = new HashMap<>(); - Long limsId = null; - if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { - limsId = Long.parseLong(bladeUser.getDeptId()); + List deptIds = null; + if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) { + String deptId = user.getDeptId(); + List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); + if(CollectionUtil.isNotEmpty(deptList)){ + deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + } } - List fault = deviceService.selectTypeCount(startTime, endTime,limsId); + List fault = deviceService.selectTypeCount(startTime, endTime,deptIds); map.put("fault", fault); - List device = deviceService.selectStatusCount(startTime, endTime,limsId); + List device = deviceService.selectStatusCount(startTime, endTime,deptIds); map.put("device", device); return R.data(map); } @@ -348,15 +352,19 @@ public class WorkBenchesController extends BladeController { */ @GetMapping("/faultRatio") public R> faultRatio(String startTime, String endTime, String perType) { - BladeUser bladeUser = AuthUtil.getUser(); + BladeUser user = AuthUtil.getUser(); Map map = new HashMap<>(); - Long limsId = null; - if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { - limsId = Long.parseLong(bladeUser.getDeptId()); + List deptIds = null; + if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) { + String deptId = user.getDeptId(); + List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); + if(CollectionUtil.isNotEmpty(deptList)){ + deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + } } - List fault = deviceService.selectTypeCount(startTime, endTime,limsId); + List fault = deviceService.selectTypeCount(startTime, endTime,deptIds); map.put("fault", fault); - List device = deviceService.selectStatusCount(startTime, endTime,limsId); + List device = deviceService.selectStatusCount(startTime, endTime,deptIds); map.put("rate", device); return R.data(map); } diff --git a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java index bfea128..07ec1d5 100644 --- a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java +++ b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java @@ -25,6 +25,7 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.modules.business.enums.WorkOrderStatusEnum; import org.springblade.modules.business.pojo.dto.workorder.WorkOrderDTO; +import org.springblade.modules.business.pojo.entity.maintenance.MaintenancePlan; import org.springblade.modules.business.pojo.entity.workorder.WorkOrder; import org.springblade.modules.business.pojo.entity.workorder.WorkOrderApproval; import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO; @@ -106,11 +107,13 @@ public class WorkOrderController extends BladeController { // eq.in(WorkOrder::getCreateDept, Func.toLongList(AuthUtil.getDeptId())); wrapper.ne(WorkOrder::getStatus, WorkOrderStatusEnum.KH_ORDER_DRAFT.getValue()); wrapper.in(WorkOrder::getReportUnit,deptIds); + wrapper.or().eq(WorkOrder::getReportUnit,user.getDeptId()); break; case "3": // 维修负责人 - wrapper.ge(WorkOrder::getStatus, WorkOrderStatusEnum.WX_ORDER_ACCEPT.getValue()); + wrapper.ne(WorkOrder::getStatus, WorkOrderStatusEnum.KH_ORDER_DRAFT.getValue()); wrapper.in(WorkOrder::getReportUnit,deptIds); + wrapper.or().eq(WorkOrder::getReportUnit,user.getDeptId()); break; case "4": // 维修人员 @@ -294,7 +297,7 @@ public class WorkOrderController extends BladeController { } // todo 审核通过 User user = userService.getById(workOrder.getRepairPerson()); - LogUtil.saveLog(workOrderOld.getRequirementCode(), WorkOrderStatusEnum.KF_ORDER_ALLOT.getName() + ":" + user.getName()); + LogUtil.saveLog(workOrderOld.getRequirementCode(), WorkOrderStatusEnum.KF_ORDER_ALLOT.getName() + ":" + user.getRealName()); return R.success(""); } diff --git a/src/main/java/org/springblade/modules/business/mapper/DeviceMapper.java b/src/main/java/org/springblade/modules/business/mapper/DeviceMapper.java index 64eb822..849c546 100644 --- a/src/main/java/org/springblade/modules/business/mapper/DeviceMapper.java +++ b/src/main/java/org/springblade/modules/business/mapper/DeviceMapper.java @@ -38,7 +38,7 @@ public interface DeviceMapper extends BaseMapper { */ List exportDevice(@Param("ew") Wrapper queryWrapper); - List selectTypeCount(String startTime, String endTime, Long limsId); + List selectTypeCount(String startTime, String endTime, List deptIds); - List selectStatusCount(String startTime, String endTime, Long limsId); + List selectStatusCount(String startTime, String endTime, List deptIds); } diff --git a/src/main/java/org/springblade/modules/business/mapper/DeviceMapper.xml b/src/main/java/org/springblade/modules/business/mapper/DeviceMapper.xml index b4dba4e..8746e40 100644 --- a/src/main/java/org/springblade/modules/business/mapper/DeviceMapper.xml +++ b/src/main/java/org/springblade/modules/business/mapper/DeviceMapper.xml @@ -22,8 +22,11 @@ FROM `lab_device` WHERE is_deleted = 0 and type is not null - - and lims_id = #{limsId} + + and lims_id in + + #{deptId} + GROUP BY type @@ -39,8 +42,11 @@ `lab_device` WHERE is_deleted = 0 and run_status is not null - - and lims_id = #{limsId} + + and lims_id in + + #{deptId} + GROUP BY run_status diff --git a/src/main/java/org/springblade/modules/business/mapper/InvoiceApplyMapper.xml b/src/main/java/org/springblade/modules/business/mapper/InvoiceApplyMapper.xml index c6a4fb5..b5aedaf 100644 --- a/src/main/java/org/springblade/modules/business/mapper/InvoiceApplyMapper.xml +++ b/src/main/java/org/springblade/modules/business/mapper/InvoiceApplyMapper.xml @@ -9,7 +9,7 @@ from ( SELECT 1 as business_type, wo.id as business_id, wo.requirement_code as business_code, u.`name` as serviceman, IFNULL(wo.discount_price,0) as price from lab_work_order wo left join blade_user u on wo.repair_person = u.id - WHERE wo.is_deleted= 0 AND wo.`status` = 8 + WHERE wo.is_deleted= 0 AND wo.`status` = 203 and wo.report_unit in diff --git a/src/main/java/org/springblade/modules/business/service/IDeviceService.java b/src/main/java/org/springblade/modules/business/service/IDeviceService.java index 943b63a..9ed7110 100644 --- a/src/main/java/org/springblade/modules/business/service/IDeviceService.java +++ b/src/main/java/org/springblade/modules/business/service/IDeviceService.java @@ -43,9 +43,9 @@ public interface IDeviceService extends BaseService { boolean qrcode(Device device); - List selectTypeCount(String startTime, String endTime, Long limsId); + List selectTypeCount(String startTime, String endTime, List deptIds); - List selectStatusCount(String startTime, String endTime, Long limsId); + List selectStatusCount(String startTime, String endTime, List deptIds); void importDevice(List data); diff --git a/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java index 2924860..05e25e5 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java @@ -151,13 +151,13 @@ public class DeviceServiceImpl extends BaseServiceImpl imp } @Override - public List selectTypeCount(String startTime, String endTime, Long limsId) { - return baseMapper.selectTypeCount(startTime, endTime,limsId); + public List selectTypeCount(String startTime, String endTime, List deptIds) { + return baseMapper.selectTypeCount(startTime, endTime,deptIds); } @Override - public List selectStatusCount(String startTime, String endTime, Long limsId) { - return baseMapper.selectStatusCount(startTime, endTime,limsId); + public List selectStatusCount(String startTime, String endTime, List deptIds) { + return baseMapper.selectStatusCount(startTime, endTime,deptIds); } /*@Override diff --git a/src/main/java/org/springblade/modules/business/service/impl/MaintenancePlanServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/MaintenancePlanServiceImpl.java index 7015b41..ff7325a 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/MaintenancePlanServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/MaintenancePlanServiceImpl.java @@ -11,6 +11,7 @@ import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; import org.springblade.common.cache.UserCache; import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseServiceImpl; @@ -63,7 +64,7 @@ public class MaintenancePlanServiceImpl extends BaseServiceImpl deptChild = deptService.getDeptChild(Long.parseLong(deptId)); - Dept requiredDept = new Dept(); - for (Dept dept : deptChild) { - if (dept.getDeptCategory() == 4) { - requiredDept = dept; - break; - } - } - List maintenancePersonnelList = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getDeptId, requiredDept.getId())); + + Role role = roleService.getOne(Wrappers.lambdaQuery(Role.class).eq(Role::getRoleAlias,"维修人员").eq(Role::getIsDeleted,0).eq(Role::getStatus,1)); + long roleId = role.getId(); + + List maintenancePersonnelList = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getDeptId, deptId).eq(User::getRoleId,roleId)); List list = new ArrayList<>(); //查询每个维修人员的工单数量及满意度 for (User user : maintenancePersonnelList) {