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 ee816ff..cd4fbf2 100644 --- a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/DeviceController.java @@ -31,6 +31,8 @@ import org.springblade.modules.business.pojo.dto.DeviceDTO; import org.springblade.modules.business.pojo.entity.Device; import org.springblade.modules.business.pojo.entity.DeviceAttach; import org.springblade.modules.business.pojo.entity.DeviceMaintenance; +import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; +import org.springblade.modules.business.pojo.entity.supplies.Apply; import org.springblade.modules.business.pojo.vo.DeviceVO; import org.springblade.modules.business.service.IDeviceAttachService; import org.springblade.modules.business.service.IDeviceMaintenanceService; @@ -225,7 +227,23 @@ public class DeviceController extends BladeController { @GetMapping("/export-device") @Operation(summary = "导出设备", description = "传入") public void exportDevice(@Parameter(hidden = true) @RequestParam Map device, HttpServletResponse response) { + BladeUser user = AuthUtil.getUser(); + QueryWrapper queryWrapper = Condition.getQueryWrapper(device, Device.class); + if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) { + List deptIds = null; + 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()); + } + queryWrapper.in("lims_id",deptIds); + }else{ + queryWrapper.in("lims_id",user.getDeptId()); + } + + } List list = deviceService.exportDevice(queryWrapper); ExcelUtil.export(response, "设备数据" + DateUtil.time(), "设备数据表", list, DeviceExcel.class); } 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 0ff8c3f..1ea1e70 100644 --- a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java +++ b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java @@ -297,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.getRealName()); + LogUtil.saveLog(workOrderOld.getRequirementCode(), WorkOrderStatusEnum.KF_ORDER_ALLOT.getName() + ":" + user.getRealName() + ",并完善故障信息"); return R.success(""); } @@ -520,7 +520,9 @@ public class WorkOrderController extends BladeController { workOrderOld.setStatus(WorkOrderStatusEnum.KF_REPAIR_FINISH.getValue()); workOrderService.updateById(workOrderOld); User customer = userService.getById(workOrder.getInformant()); - messageService.saveMessage(workOrder.getRequirementCode(), "请注意维修单评价", customer.getId(), 2); + if(customer != null){ + messageService.saveMessage(workOrder.getRequirementCode(), "请注意维修单评价", customer.getId(), 2); + } LogUtil.saveLog(workOrderOld.getRequirementCode(), WorkOrderStatusEnum.KF_REPAIR_FINISH.getName()); return R.success(""); } diff --git a/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml b/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml index 30a634d..682e13c 100644 --- a/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml +++ b/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml @@ -92,7 +92,7 @@ FROM lab_work_order WHERE is_deleted = 0 - AND DATE_FORMAT( create_time, '%Y-%m' ) = DATE_FORMAT( NOW(), '%Y-%m' ) + AND DATE_FORMAT( create_time, '%Y' ) = DATE_FORMAT( NOW(), '%Y' ) AND device_id = #{deviceId} diff --git a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java index 3d701ce..52ce76c 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java @@ -352,12 +352,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl selectEquipRepairCountByMonth(String deviceId) { String startDate = DateFormatUtils.format(CommonDateUtil.getCurrentYearStartTime(), "yyyy-MM-dd HH:mm:ss"); String endDate = DateFormatUtils.format(CommonDateUtil.getCurrentYearEndTime(), "yyyy-MM-dd HH:mm:ss"); - List monthList = CommonDateUtil.getMonthList(startDate, endDate, "yyyy-MM"); + List monthList = CommonDateUtil.getMonthList(startDate, endDate, "MM"); List> list = baseMapper.selectEquipRepairCountByMonth(deviceId); List dataList = new ArrayList<>(); Map dataMap = new HashMap<>(); for (Map map1 : list) { - dataMap.put(map1.get("month").toString(), map1.get("duration").toString()); + dataMap.put(map1.get("month").toString(), map1.get("count").toString()); } for (String month : monthList) { if (null != dataMap.get(month)) { @@ -489,7 +489,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl userList = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, role)); @@ -551,7 +551,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl finishTime = Optional.ofNullable(workOrder.getFinishTime()); @@ -662,7 +664,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl limsId = Optional.ofNullable(device.get().getLimsId()); if (limsId.isPresent()) { - map.put("in", total + (workOrder.getLaborCost() == null ? 0 : workOrder.getLaborCost())); + map.put("in", String.format("%.2f",workOrder.getDiscountPrice() + (workOrder.getLaborCost() == null ? 0 : workOrder.getLaborCost()))); map.put("out", "--"); map.put("sel1", "√"); map.put("sel2", null); @@ -670,7 +672,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl finishTime = Optional.ofNullable(workOrder.getFinishTime()); @@ -778,21 +782,21 @@ public class WorkOrderServiceImpl extends BaseServiceImpl limsId = Optional.ofNullable(device.get().getLimsId()); if (limsId.isPresent()) { - map.put("in", total + workOrder.getLaborCost()); + map.put("in", String.format("%.2f",workOrder.getDiscountPrice() + (workOrder.getLaborCost() != null ? workOrder.getLaborCost() : 0))); map.put("out", "--"); map.put("sel1", "√"); map.put("sel2", null); map.put("inTravel", workOrder.getTravelExpense()); } else { map.put("in", "--"); - map.put("out", total + workOrder.getLaborCost()); + map.put("out", String.format("%.2f",total + (workOrder.getLaborCost() != null ? workOrder.getLaborCost() : 0))); map.put("sel2", "√"); map.put("sel1", null); map.put("outTravel", workOrder.getTravelExpense()); } } else { map.put("in", "--"); - map.put("out", total + workOrder.getLaborCost()); + map.put("out", String.format("%.2f",total + (workOrder.getLaborCost() != null ? workOrder.getLaborCost() : 0))); map.put("sel2", "√"); map.put("sel1", null); map.put("outTravel", workOrder.getTravelExpense()); diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java index ba659ba..6460324 100644 --- a/src/main/java/org/springblade/modules/system/controller/UserController.java +++ b/src/main/java/org/springblade/modules/system/controller/UserController.java @@ -363,7 +363,9 @@ public class UserController { if(user.getRoleName().equals("客服") || user.getRoleName().equals("维修负责人") || user.getRoleName().equals("维修人员")){ users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, "1839552581620793346").eq(User::getDeptId,user.getDeptId())); }else{ - users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, "1839552581620793346").eq(User::getParentDeptId,user.getDeptId())); + //客户需要查询所属运维中心下的维修人员 + User user1 = userService.getById(user.getUserId()); + users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, "1839552581620793346").eq(User::getDeptId,user1.getParentDeptId())); } }else{ users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, "1839552581620793346")); diff --git a/src/main/resources/excel/WorkOrderServiceSheet.xlsx b/src/main/resources/excel/WorkOrderServiceSheet.xlsx index 9d59238..d1532c9 100644 Binary files a/src/main/resources/excel/WorkOrderServiceSheet.xlsx and b/src/main/resources/excel/WorkOrderServiceSheet.xlsx differ